:root{
  --navy:#0b2545;--navy-2:#153a66;
  --bg:#f3f6fb;--surface:#fff;--ink:#0c1f3a;--muted:#475a78;--line:#d8e0ee;
  --soft:#dff5f1;--accent-ink:#0b6f63;--shadow:0 12px 32px rgba(0,53,84,.12);
  --pad:clamp(16px,5vw,28px);
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}

:root[data-theme="dark"]{--bg:#0d1830;--surface:#15233f;--ink:#eaf0fa;--muted:#aab8d2;--line:#2a3d62;--soft:#143a47;--accent-ink:#5eead4;--shadow:0 12px 32px rgba(0,0,0,.5)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.65;text-align:left;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--navy);z-index:60}
h1,h2,h3{line-height:1.2;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{text-wrap:pretty;margin:0}
a{color:inherit}
img{max-width:100%;height:auto}
.container{width:100%;max-width:1080px;margin:0 auto;padding-inline:var(--pad)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #ffb703;outline-offset:2px}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;text-decoration:none;letter-spacing:-.01em}
.desktop-nav{display:none}
.desktop-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.link{display:block;padding:10px 14px;border-radius:10px;text-decoration:none;color:#cfe2ee;font-weight:500;font-size:.95rem}
.link:hover,.link.on{background:rgba(255,255,255,.12);color:#fff}
.menu{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;width:46px;height:46px;font-size:1.3rem;cursor:pointer}
.mobile{display:none;background:var(--navy);padding-bottom:10px}
.mobile.open{display:block}
.mobile a{display:block;padding:15px 2px;text-decoration:none;color:#e1eef6;font-weight:500;border-top:1px solid rgba(255,255,255,.12)}

/* hero */
.hero{background:var(--navy);color:#fff;overflow:hidden}
.hero-grid{display:grid;gap:20px;padding-top:40px;align-items:center}
.hero h1{font-size:clamp(2rem,7vw,3.4rem);font-weight:800;margin-bottom:16px}
.hero p{color:#cfe2ee;font-size:clamp(1rem,2.6vw,1.12rem);max-width:50ch;margin-bottom:26px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:12px;background:#ffb703;color:#2b1a00;font-weight:700;text-decoration:none;width:100%}
.cta:hover{background:#ffc933}
.facts{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:24px 0 0;color:#cfe2ee;font-size:.92rem}
.facts li::before{content:"✓";color:#ffb703;font-weight:700;margin-right:8px}
.hero img{display:block;width:100%;max-width:640px;margin:0 auto}

/* sections */
.s{padding:clamp(44px,8vw,80px) 0}
.s h2{font-size:clamp(1.5rem,4.5vw,2.2rem);font-weight:800;margin-bottom:10px}
.sub{color:var(--muted);max-width:60ch;margin-bottom:26px}
.alt{background:var(--surface);border-block:1px solid var(--line)}
.prose{max-width:760px}
.prose p{color:var(--muted);margin-top:14px}

/* checker */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(18px,4vw,32px);box-shadow:var(--shadow)}
label{display:block;font-weight:600;margin-bottom:8px}
select{width:100%;font:inherit;font-size:16px;padding:14px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);min-height:52px}
.hint{color:var(--muted);font-size:.95rem;margin:20px 0 12px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile{position:relative;overflow:hidden;aspect-ratio:1.586;border:0;border-radius:14px;padding:12px;color:#fff;text-align:left;cursor:pointer;font:inherit;display:flex;flex-direction:column;justify-content:space-between;outline:3px solid transparent;outline-offset:3px;transition:transform .15s,outline-color .15s;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.tile:hover{transform:translateY(-2px)}
.tile[aria-pressed="true"]{outline-color:#ffb703}
.tile-name{position:relative;font-weight:700;font-size:1rem;line-height:1.2}
.tile-foot{position:relative;font-size:.78rem;opacity:.92}
.ring{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.r1{width:120px;height:120px;right:-34px;top:-40px}
.r2{width:70px;height:70px;right:24px;top:34px;background:rgba(255,255,255,.1)}
.anchor{scroll-margin-top:90px;margin-top:24px}
.empty{border:1px dashed var(--line);border-radius:14px;padding:18px;color:var(--muted);text-align:center}
.result{border-top:1px solid var(--line);padding-top:24px}
.rhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.rhead h3{font-size:1.3rem}
.rhead p{color:var(--muted);font-size:.95rem}
.mini{width:64px;aspect-ratio:1.586;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.72rem;letter-spacing:.04em}
.need-label{font-weight:600;font-size:.95rem;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 20px}
.chips li{background:var(--soft);color:var(--accent-ink);border-radius:999px;padding:5px 12px;font-size:.88rem;font-weight:600}
.steps{padding:0;margin:0 0 22px;list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0}
.steps li::before{content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:var(--soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:.92rem}
.actions{display:grid;gap:10px}
.btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border-radius:12px;font:inherit;font-weight:700;text-decoration:none;text-align:center;cursor:pointer;overflow-wrap:anywhere}
.btn.primary{background:var(--navy);color:#fff;border:1px solid transparent}
.btn.primary:hover{background:var(--navy-2)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--bg)}
.note{background:var(--soft);color:var(--ink);border-radius:12px;padding:14px 16px;font-size:.92rem;margin-top:18px}

/* tips */
.grid{display:grid;gap:14px}
.tip{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:20px}
.tip h3{font-size:1.05rem;margin-bottom:6px}
.tip p{color:var(--muted);font-size:.97rem}

/* footer */
footer{background:var(--navy);color:#cfe2ee;padding:30px 0;font-size:.92rem}
.foot{display:grid;gap:14px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 20px}
.foot-links a{text-decoration:none;color:#e1eef6;padding:6px 0}

@media (min-width:560px){
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta{width:auto}
  .actions{grid-template-columns:auto auto;justify-content:start}
}
@media (min-width:860px){
  .desktop-nav{display:block}
  .menu,.mobile{display:none!important}
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:32px;padding-top:56px}
  .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot{grid-template-columns:1fr auto;align-items:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* added: hero actions, services, buy panel, contact */
.hero-actions{display:grid;gap:10px}
.cta.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}
.cta.outline:hover{background:rgba(255,255,255,.12)}
.svc{border-left:4px solid #ffb703}
.buy{display:grid;gap:20px;margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(16px,4vw,28px);box-shadow:var(--shadow);align-items:center}
.buy-img{background:#f2f2f2;border-radius:14px;padding:10px}
.buy-img img{display:block;width:100%;max-width:440px;margin:0 auto}
.buy-copy h3{font-size:1.4rem;margin-bottom:8px}
.buy-copy p{color:var(--muted);margin-bottom:18px;max-width:46ch}
.buy-copy .cta{width:100%}
.buy-copy p.small,.small{font-size:.88rem;margin:12px 0 0;color:var(--muted)}
.small a{color:var(--accent-ink);font-weight:600}
.contact{display:grid;gap:24px;align-items:start}
.form .field{margin-bottom:16px}
input,textarea{width:100%;font:inherit;font-size:16px;padding:13px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);min-height:52px}
textarea{min-height:130px;resize:vertical}
input:focus-visible,textarea:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.form .btn{width:100%}
@media (min-width:560px){.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.buy-copy .cta{width:auto}.form .btn{width:auto}}
@media (min-width:860px){.buy{grid-template-columns:1.1fr 1fr}.contact{grid-template-columns:1fr 1.1fr;gap:40px}}
@media (max-width:1000px) and (min-width:860px){.link{padding:10px 9px;font-size:.88rem}}

/* link dialog + snapshot */
.alt .panel{background:var(--bg)}
.alt .panel input,.alt .panel select,.alt .panel textarea{background:var(--surface)}
body:has(dialog[open]){overflow:hidden}
.dlg{border:0;border-radius:20px;padding:0;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--surface);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.4);overflow:auto}
.dlg::backdrop{background:rgba(8,20,46,.55)}
.dlg-in{padding:clamp(18px,4vw,28px)}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.dlg-head h3{font-size:1.3rem}
.dlg h4{font-size:1rem;margin:18px 0 10px}
.dlg p{color:var(--muted)}
.dlg .small{margin:12px 0 18px}
.x{flex:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:1.1rem;cursor:pointer}
.linkbox{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:14px;font-size:.9rem;font-weight:600}
.linkbox code{display:block;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--accent-ink);margin:4px 0 6px}
.linkbox span{display:block;font-weight:400;color:var(--muted)}
.shot{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;color:#1c2b36}
.shot-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#e9eef2}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:#b8c4cd}
.shot-bar span{margin-left:8px;flex:1;min-width:0;background:#fff;border-radius:999px;padding:3px 12px;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shot-body{padding:12px;display:grid;gap:10px}
.shot-head{color:#fff;font-weight:700;border-radius:8px;padding:10px 12px}
.skel{height:10px;border-radius:5px;background:#e3e9ee}
.w80{width:80%}.w60{width:60%}.w40{width:40%}
.shot-focus{position:relative;border:2px dashed #0f9d8c;border-radius:10px;padding:12px 14px;background:#effaf8;display:grid;gap:2px}
.shot-focus small{font-size:.8rem;color:#44596a}
.shot-focus strong{font-size:1.5rem;letter-spacing:.08em}
.shot-focus em{position:absolute;right:10px;top:-11px;background:#0f9d8c;color:#fff;font-style:normal;font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:999px}

.dlg .step{margin:0 0 14px;font-weight:600}
.dlg h3:focus{outline:none}
.dlg .linkbox{margin-bottom:18px}

/* on-screen modal with blurred page */
body.modal-open{overflow:hidden}
.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow-y:auto;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));background:rgba(8,20,46,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadein .18s ease-out}
.dlg{outline:none;animation:popin .2s ease-out}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes popin{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.overlay,.dlg{animation:none}}

/* palette + desktop refinements */
.container{max-width:1200px}
.hero{background:radial-gradient(900px 420px at 88% 0%,rgba(255,183,3,.17),transparent 60%),linear-gradient(135deg,#0b2545 0%,#12406e 55%,#0d6b7a 100%)}
.hero-grid{padding-bottom:clamp(36px,6vw,64px)}
.hero img{border-radius:22px;border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 60px rgba(0,0,0,.35)}
footer{background:linear-gradient(135deg,#0b2545,#0e3b5e)}
.svc{border-left-color:#ffb703}
.btn:disabled{opacity:.55;cursor:wait}
@media (min-width:860px){
  .hero-grid{gap:56px;padding-top:64px}
  .hero h1{font-size:clamp(2.6rem,4.4vw,3.6rem)}
  .about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:48px;align-items:start}
  .about h2{margin:0}
  .about .prose{max-width:none}
  .about .prose p:first-child{margin-top:0}
}
@media (min-width:980px){
  .panel.checker{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:start}
  .checker .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .checker .anchor{margin-top:0;border-left:1px solid var(--line);padding-left:36px;min-height:260px}
  .checker .result{border-top:0;padding-top:0}
  .grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* light theme: soft light base mixed with faded blue-grey */
:root{--alt:#e8eef7}
body::before{background:#fff}
header{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);border-bottom:1px solid var(--line)}
.logo{color:var(--navy)}
.link{color:var(--muted)}
.link:hover,.link.on{background:#e8eef7;color:var(--navy)}
.menu{border-color:var(--line);color:var(--ink)}
.mobile{background:#fff;border-bottom:1px solid var(--line)}
.mobile a{color:var(--ink);border-top-color:var(--line)}
.hero{color:var(--ink);background:radial-gradient(800px 380px at 90% 0%,rgba(255,183,3,.2),transparent 60%),linear-gradient(120deg,#f7faff 0%,#e5ecf7 50%,#c9d6ea 100%)}
.hero h1{color:var(--navy)}
.hero p,.facts{color:var(--muted)}
.facts li::before{color:#0b6f63}
.cta.outline{color:var(--navy);border:1px solid #9fb1cc}
.cta.outline:hover{background:rgba(11,37,69,.07)}
.hero img{box-shadow:0 22px 50px rgba(11,37,69,.28);border-color:rgba(11,37,69,.12)}
.alt{background:var(--alt)}
.tip,.alt .tip{background:var(--surface)}
.alt .panel{background:var(--surface)}
.alt .panel input,.alt .panel select,.alt .panel textarea{background:var(--bg)}
footer{background:linear-gradient(135deg,#2b3c61,#43587f);color:#e4ebf6}
.foot-links a{color:#fff}

/* prominent action buttons */
.btn.primary{background:#ffb703;color:#2b1a00;border:0;font-size:1.05rem;box-shadow:0 8px 18px rgba(255,183,3,.4)}
.btn.primary:hover{background:#ffc933}
.result .btn.primary{min-height:56px}
.result .actions{grid-template-columns:1fr}
@media (min-width:560px){.result .actions{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}

/* compact popup */
.overlay{background:rgba(24,44,84,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}
.dlg{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;scrollbar-width:none;border-radius:18px;box-shadow:0 20px 50px rgba(11,37,69,.28)}
.dlg::-webkit-scrollbar{display:none}
.dlg-in{padding:20px}
.dlg-head{margin-bottom:4px}
.dlg-head h3{font-size:1.1rem}
.dlg p{font-size:.95rem}
.dlg .step{margin:0 0 12px;font-size:.85rem}
.dlg .small{margin:10px 0 14px;font-size:.88rem}
.dlg .actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.dlg .btn{min-height:50px;font-size:.98rem}
.dlg .linkbox{margin:10px 0 12px}
.shot-body{padding:10px;gap:8px}
.shot-head{padding:8px 10px}
.shot-focus{padding:10px 12px}
.shot-focus strong{font-size:1.3rem}

/* theme toggle */
.bar-right{display:flex;align-items:center;gap:8px}
.theme{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.theme:hover{background:#e8eef7}
.theme b{font-size:1.05rem;line-height:1}
.theme span{display:none}
@media (min-width:420px){.theme span{display:inline}}

/* dark mode (toggle) */
:root[data-theme="dark"]{--alt:#101d38;color-scheme:dark}
:root[data-theme="dark"] body::before{background:#0d1830}
:root[data-theme="dark"] header{background:rgba(13,24,48,.92)}
:root[data-theme="dark"] .logo{color:#fff}
:root[data-theme="dark"] .link:hover,:root[data-theme="dark"] .link.on,:root[data-theme="dark"] .theme:hover{background:#1d2f52;color:#fff}
:root[data-theme="dark"] .mobile{background:#0d1830}
:root[data-theme="dark"] .hero{background:radial-gradient(800px 380px at 90% 0%,rgba(255,183,3,.14),transparent 60%),linear-gradient(120deg,#0e1b36 0%,#14264a 55%,#1c3a5e 100%)}
:root[data-theme="dark"] .hero h1{color:#fff}
:root[data-theme="dark"] .facts li::before{color:#5fd3c8}
:root[data-theme="dark"] .cta.outline{color:#fff;border-color:rgba(255,255,255,.4)}
:root[data-theme="dark"] .cta.outline:hover{background:rgba(255,255,255,.1)}
:root[data-theme="dark"] .hero img{box-shadow:0 22px 50px rgba(0,0,0,.5);border-color:rgba(255,255,255,.16)}
:root[data-theme="dark"] footer{background:linear-gradient(135deg,#0a1428,#14264a)}
:root[data-theme="dark"] .overlay{background:rgba(3,10,25,.5)}
:root[data-theme="dark"] .btn.ghost:hover{background:#1d2f52}

/* centred headings, justified body text in sections */
.s h2,.s .sub{text-align:center}
.s .sub{margin-inline:auto}
.tip h3,.buy-copy h3{text-align:center}
.tip p,.prose p,.buy-copy p:not(.small){text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.buy-copy{text-align:center}
.buy-copy p{margin-inline:auto}
.buy-copy p.small{text-align:center}
.contact > div:first-child{text-align:center}
.contact .sub{margin-inline:auto}
@media (min-width:860px){
  .about{display:block;max-width:800px;margin-inline:auto}
  .about h2{margin-bottom:10px}
  .about .prose{max-width:none}
  .about .prose p:first-child{margin-top:14px}
}

/* hidden page scrollbar (page still scrolls) */
html,body,.dlg,.cards{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.dlg::-webkit-scrollbar{display:none;width:0;height:0}

/* footer */
footer{padding:clamp(36px,6vw,56px) 0 22px;border-top:3px solid #ffb703;text-align:left}
.foot-grid{display:grid;gap:30px}
.foot-brand .logo{color:#fff}
.foot-brand p{margin-top:12px;max-width:36ch;color:#cfdaee}
footer h4{margin:0 0 10px;font-size:1rem;color:#fff}
footer ul{list-style:none;margin:0;padding:0}
footer li a{display:inline-block;padding:5px 0;color:#cfdaee;text-decoration:none;overflow-wrap:anywhere}
footer li a:hover{color:#fff;text-decoration:underline}
.foot-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:6px;font-size:.88rem;color:#b8c6e0}
@media (min-width:760px){
  .foot-grid{grid-template-columns:1.5fr 1fr 1fr;gap:48px}
  .foot-bottom{grid-template-columns:auto auto;justify-content:space-between}
}

/* scroll to top */
.to-top{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:48px;height:48px;border-radius:50%;border:0;background:#ffb703;color:#2b1a00;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(11,37,69,.3);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s,background .15s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:#ffc933}

/* checker: result card is always visible; responsive layout */
.anchor{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:clamp(16px,4vw,24px);margin-top:22px}
.anchor .result{border-top:0;padding-top:0}
.idle-mini{background:linear-gradient(135deg,#9fb1cc,#c9d6ea)}
.idle .rhead h3{color:var(--muted)}
.idle .btn:disabled{background:var(--line);color:var(--muted);opacity:1;box-shadow:none;cursor:not-allowed}
@media (max-width:559px){
  .panel.checker{padding:16px}
  .tiles{gap:10px}
  .tile{aspect-ratio:1.9;padding:10px}
  .tile-name{font-size:.92rem}
  .r1{width:90px;height:90px}.r2{display:none}
}
@media (min-width:560px) and (max-width:979px){
  .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tile{aspect-ratio:1.25}
  .tile-name{font-size:.85rem}
}
@media (min-width:980px){
  .panel.checker{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}
  .checker .anchor{margin-top:0;border:1px solid var(--line);padding:26px;min-height:0}
  .checker .tile:last-child:nth-child(3n+1){grid-column:1/-1;aspect-ratio:auto;min-height:76px}
}

.idle .actions{grid-template-columns:1fr!important}
@media (min-width:980px){.checker .result .actions{grid-template-columns:1fr}}

/* Blade version additions */
[hidden]{display:none!important}
.err{color:#c0392b;font-size:.88rem;margin:6px 0 0}
:root[data-theme="dark"] .err{color:#ff8f84}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* form: photo field */
.form input[type=file],
.card-entry-form input[type=file]{padding:10px 12px;min-height:0;cursor:pointer}
.form input[type=file]::file-selector-button,
.card-entry-form input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:8px;padding:8px 14px;background:#e8eef7;color:var(--navy);font:inherit;font-weight:600;cursor:pointer}
:root[data-theme="dark"] .form input[type=file]::file-selector-button,
:root[data-theme="dark"] .card-entry-form input[type=file]::file-selector-button{background:#1d2f52;color:#fff}
.field .small{margin:6px 0 0}

/* checker: one brand, single centred card */
.panel.checker{display:block;max-width:760px;margin-inline:auto}
.pick{margin-bottom:20px}
.checker .anchor{margin-top:0}
.checker .actions{grid-template-columns:1fr}
.checker .mini{width:88px;font-size:.85rem}
@media (max-width:559px){.checker .mini{width:72px}.panel.checker{padding:12px}.checker .anchor{padding:14px}}

/* Gift-card details form, styled to match the supplied reference */
.card-entry-panel{max-width:900px;margin-inline:auto;padding:clamp(18px,3vw,30px)}
.card-entry-form{display:grid;gap:14px}
.card-entry-form .field{margin:0;min-width:0}
.card-entry-form label{display:block;font-weight:600;margin:0 0 8px}
.card-entry-form input,
.card-entry-form select{display:block;width:100%;min-height:58px;box-sizing:border-box;padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem}
.card-entry-row{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:14px}
.card-code-guidance{min-height:58px;display:flex;align-items:center;padding:12px 18px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface)}
.card-entry-form .card-warning{margin:4px auto 0;padding:8px 12px;border-radius:9px;background:#d4cfbc;color:#292300;text-align:center;font-weight:700}
.card-entry-form .actions{display:grid;grid-template-columns:1fr}
.card-entry-form .small{margin:0 0 0 2px}
@media(max-width:560px){
 .card-entry-row{grid-template-columns:1fr;gap:14px}
 .card-entry-form input,.card-entry-form select,.card-code-guidance{min-height:54px}
}
