/* Stay180 — passport navy, stamp violet, cool paper. */
@font-face{font-family:"Schibsted Grotesk";src:url(/fonts/schibsted-latin.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";src:url(/fonts/schibsted-latin-ext.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";src:url(/fonts/schibsted-italic-latin.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}

:root{
  --navy:#15204A; --navy-2:#1F2C63; --violet:#5A3FD0; --violet-ink:#4A31B8; --green:#1D7A55; --marigold:#E9A23B;
  --ink:#0F1530; --muted:#4A5272; --line:#D5D9E4; --paper:#F2F4F7; --white:#FFFFFF;
  --violet-wash:color-mix(in oklch, var(--violet) 9%, white);
  --radius-s:6px; --radius-m:14px; --radius-l:22px;
  --step--1:clamp(.85rem,.82rem + .15vw,.93rem); --step-0:clamp(1rem,.96rem + .2vw,1.1rem); --step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);
  --step-2:clamp(1.5rem,1.3rem + 1vw,2.1rem); --step-3:clamp(2rem,1.6rem + 2vw,3.2rem); --step-4:clamp(2.6rem,1.8rem + 4vw,5.1rem);
  --wrap:min(1180px, 100% - 2.5rem);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.6 "Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--violet-ink);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
/* Focus: navy ring (>13:1 on paper/white/violet-wash), white ring on dark surfaces (>15:1 on navy/ink). */
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:4px}
.band-navy :focus-visible,.plan.featured :focus-visible,.cta-box :focus-visible,.site-footer :focus-visible,.skip:focus-visible{outline-color:#fff}
h1,h2,h3{color:var(--navy);line-height:1.08;letter-spacing:-.022em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--step-4);font-weight:820}
h2{font-size:var(--step-3);font-weight:780}
h3{font-size:var(--step-1);font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:68ch;text-wrap:pretty}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.site-header{position:sticky;top:0;z-index:5;background:rgba(242,244,247,.86);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:68px}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.2rem;color:var(--navy);text-decoration:none;letter-spacing:-.02em}
.brand svg{width:30px;height:30px}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.97rem}
.nav a:hover{color:var(--violet-ink)}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-toggle{display:none;align-items:center;gap:.45rem;min-height:44px;min-width:44px;padding:.4rem .8rem;border:0;border-radius:999px;background:transparent;color:var(--navy);font:inherit;font-weight:600;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--navy)}
.nav-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-toggle .i-close,.nav-toggle[aria-expanded="true"] .i-open{display:none}
.nav-toggle[aria-expanded="true"] .i-close{display:inline}
@media (max-width:820px){
  .nav{gap:.6rem}
  .nav-toggle{display:inline-flex}
  /* Disclosure panel floats under the sticky header, so opening it never shifts the page. */
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.25rem max(1.25rem,calc((100% - 1180px)/2)) 1rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -24px rgba(21,32,74,.45)}
  .nav-links.open{display:flex}
  .nav-links a{padding:.85rem .25rem;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .nav-links a:last-child{border-bottom:0}
}
@media (max-width:480px){.nav-toggle{padding:.4rem .7rem}.nav-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nav .btn-small{padding:.5rem .85rem}}

/* Buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.35rem;border-radius:999px;border:0;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;transition:transform .15s ease, background-color .15s ease, box-shadow .15s ease}
.btn-primary{background:var(--violet);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 20px -10px color-mix(in oklch,var(--violet) 70%, black)}
.btn-primary:hover{background:var(--violet-ink);transform:translateY(-1px)}
.btn-quiet{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn-quiet:hover{background:var(--navy);color:#fff}
.btn-small{min-height:40px;padding:.5rem 1rem;font-size:.95rem}
.btn[disabled]{opacity:.6;cursor:progress}

/* Hero */
.hero{padding:clamp(2.5rem,6vw,5.5rem) 0 clamp(3rem,6vw,5rem)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{max-width:12ch}
.lede{font-size:var(--step-1);color:var(--muted);max-width:40ch;line-height:1.5}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.4rem}
.checked{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:var(--step--1);margin:0}
.checked svg{flex:none;width:20px;height:20px;color:var(--green)}
.news{display:inline-flex;gap:.6rem;align-items:center;margin-bottom:1.4rem;padding:.35rem .8rem .35rem .4rem;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--step--1);color:var(--ink);text-decoration:none}
.news b{background:var(--navy);color:#fff;border-radius:999px;padding:.12rem .6rem;font-weight:600}

/* Passport checker */
.passport{position:relative;background:var(--white);border-radius:var(--radius-l);padding:clamp(1.3rem,3vw,2rem);box-shadow:0 0 0 1px var(--line),0 30px 60px -35px rgba(21,32,74,.45);
  background-image:repeating-radial-gradient(circle at 115% -10%, transparent 0 13px, color-mix(in oklch,var(--violet) 7%, transparent) 13px 14px), linear-gradient(var(--white),var(--white));overflow:hidden}
.passport::before{content:"";position:absolute;inset:0 auto 0 0;width:10px;background:var(--navy)}
.passport header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .6rem .4rem}
.passport header span{display:block;margin-top:.15rem}
.passport header h2{font-size:var(--step-1);margin:0}
.passport header span{font-size:var(--step--1);color:var(--muted)}
.q{border:0;margin:0 0 .9rem .4rem;padding:0}
.q legend{font-weight:600;color:var(--navy);margin-bottom:.45rem;font-size:.98rem;line-height:1.35}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:inline-block;padding:.42rem .85rem;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);font-size:.93rem;cursor:pointer;transition:background-color .12s, box-shadow .12s, color .12s}
.chips input:checked + span{background:var(--navy);color:#fff;box-shadow:none}
.chips input:focus-visible + span{outline:3px solid var(--navy);outline-offset:2px}
.q[hidden]{display:none}
.chips input,.q legend{scroll-margin-block:6rem} /* focus moved here is not hidden under the sticky header */
.q[disabled] legend{color:var(--muted)}
.q-placeholder{margin:0;padding:.42rem 0;font-size:.93rem;color:var(--muted);font-style:italic}
.check-row{margin:.2rem 0 0 .4rem}
#readiness-msg{margin:.6rem 0 0 .4rem}
.result{margin:.6rem 0 0 .4rem;min-height:3rem}
.result ul{margin:.4rem 0 .8rem;padding-left:1.1rem}
.result li{margin:.25rem 0}
.result .btn{margin-top:.3rem}
.stamp{position:relative;flex:none;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--violet);
  border:4px solid currentColor;box-shadow:inset 0 0 0 4px var(--white),inset 0 0 0 6px currentColor;font-weight:800;line-height:1;transform:rotate(-12deg);opacity:.85;mix-blend-mode:multiply;pointer-events:none}
.stamp b{display:block;font-size:1.9rem;letter-spacing:-.04em}
.stamp small{display:block;font-size:.55rem;letter-spacing:.06em;margin-top:.2rem;max-width:84px}
.stamp.ok{color:var(--green)} .stamp.fix{color:#B4511E}
.stamp.land{animation:thunk .55s cubic-bezier(.2,.9,.3,1.25) both}
.stamp.first{animation-delay:.35s}
.passport.shake{animation:shake .32s ease-out}
@keyframes thunk{0%{transform:scale(1.9) rotate(-28deg);opacity:0}60%{opacity:.95}100%{transform:scale(1) rotate(-12deg);opacity:.85}}
@keyframes shake{0%,100%{transform:none}35%{transform:translateY(2px)}70%{transform:translateY(-1px)}}
@media (max-width:520px){.stamp{width:88px;height:88px}.stamp b{font-size:1.5rem}.stamp small{font-size:.52rem}}

/* Sections */
section{padding:clamp(3.5rem,7vw,6rem) 0}
.section-intro{max-width:60ch;margin-bottom:2.4rem}
.section-intro p{color:var(--muted);font-size:var(--step-1);line-height:1.5}
.band-navy{background:var(--navy);color:#E7E9F3}
.band-navy h2,.band-navy h3{color:#fff}
.band-navy a{color:#CFC4FF}
.band-white{background:var(--white)}

/* Timeline (a real sequence) */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid color-mix(in oklch,#fff 30%, transparent);max-width:860px}
.timeline li{position:relative;padding:0 0 2.2rem 2rem}
.timeline li::before{content:"";position:absolute;left:-8px;top:.35rem;width:14px;height:14px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 3px #CFC4FF}
.timeline time{display:block;font-weight:700;color:#CFC4FF;margin-bottom:.2rem}
.timeline h3{margin:0 0 .3rem}
.timeline p{color:#C9CDE0;margin:0}

/* Kit contents as a document index */
.kit{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:900px){.kit{grid-template-columns:1fr}}
.index{list-style:none;margin:0;padding:0;background:var(--white);border-radius:var(--radius-m);box-shadow:0 0 0 1px var(--line)}
.index li{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:baseline;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.index li:last-child{border-bottom:0}
.index .ico{width:22px;height:22px;color:var(--violet);align-self:center}
.index strong{color:var(--navy);display:block}
.index span{color:var(--muted);font-size:.93rem}
.index em{font-style:normal;color:var(--muted);font-size:.85rem;white-space:nowrap}

/* Comparison */
.compare{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius-m);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.compare th,.compare td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{color:var(--navy);font-size:.95rem}
.compare tbody th{font-weight:600;color:var(--ink);width:28%}
.compare td.us{background:var(--violet-wash);font-weight:600;color:var(--navy)}
.compare tr:last-child>*{border-bottom:0}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* Below 640px each row becomes a card with labelled cells, so the Stay180 column is never off-screen. */
@media (max-width:640px){
  .compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:auto}
  .compare{background:none;box-shadow:none;border-radius:0;overflow:visible}
  .compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .compare tbody{display:grid;gap:.85rem}
  .compare tr{background:var(--white);border-radius:var(--radius-m);box-shadow:0 0 0 1px var(--line);overflow:hidden}
  .compare tbody th{width:auto;padding:.95rem 1rem .5rem;border:0;color:var(--navy);font-size:1.02rem}
  .compare td{display:grid;grid-template-columns:minmax(7rem,38%) 1fr;gap:.75rem;padding:.65rem 1rem;border:0;border-top:1px solid var(--line)}
  .compare td::before{content:attr(data-label);font-weight:600;font-size:.85rem;color:var(--muted)}
  .compare td.us::before{color:var(--violet-ink)}
}

/* Pricing */
/* One plan (or more), centred; each card up to 30rem wide, full width on small screens. */
.pricing{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;align-items:stretch}
.pricing>.plan{flex:0 1 30rem;min-width:0}
.plan{background:var(--white);border-radius:var(--radius-l);padding:2rem;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}
.plan.featured{background:var(--navy);color:#E7E9F3;box-shadow:0 30px 60px -30px rgba(21,32,74,.6)}
.plan.featured h3,.plan.featured .price{color:#fff}
.plan .price{font-size:var(--step-3);font-weight:800;color:var(--navy);letter-spacing:-.03em;margin:.2rem 0 .1rem}
.plan .price small{font-size:1rem;font-weight:500;opacity:.75;letter-spacing:0}
.plan ul{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;gap:.55rem}
.plan li{display:grid;grid-template-columns:20px 1fr;gap:.6rem;align-items:start}
.plan li svg{width:18px;height:18px;margin-top:.25rem;color:var(--green)}
.plan.featured li svg{color:#8FE3BC}
.plan .btn{margin-top:auto}
.plan.featured .btn-primary{background:#fff;color:var(--navy)}
.plan.featured .btn-primary:hover{background:#E9E5FF}
.plan .note{font-size:var(--step--1);opacity:.8;margin:.8rem 0 0}
.plan.featured a:not(.btn){color:#CFC4FF}
.guarantee{display:flex;gap:1rem;align-items:flex-start;margin-top:2rem;max-width:760px}
.guarantee svg{flex:none;width:36px;height:36px;color:var(--green)}

/* Lead magnet */
.lead{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
@media (max-width:860px){.lead{grid-template-columns:1fr}}
.field{display:flex;gap:.6rem;flex-wrap:wrap}
.field input{flex:1 1 220px;min-height:50px;border-radius:999px;border:1.5px solid var(--line);padding:.7rem 1.1rem;font:inherit;background:#fff;color:var(--ink)}
.field input:focus{border-color:var(--violet);outline:3px solid var(--navy);outline-offset:2px}
.form-msg{min-height:1.5em;margin-top:.6rem;font-size:var(--step--1)}
.form-msg.err{color:#B3261E}.form-msg.ok{color:var(--green)}
.form-msg.lead-ready{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:var(--step-0);font-weight:600}
.field[hidden]{display:none}
.consent{margin:.55rem 0 0;font-size:var(--step--1);color:var(--muted);max-width:46ch}
.consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq summary{cursor:pointer;font-weight:650;color:var(--navy);font-size:var(--step-1);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:1.6rem;line-height:1;color:var(--violet);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:.7rem 0 0;color:var(--muted)}

/* Article / prose pages */
.prose{max-width:720px;padding:clamp(2.5rem,6vw,4.5rem) 0}
.prose h1{font-size:var(--step-3)}
.prose h2{font-size:var(--step-2);margin-top:2.2rem}
.prose li{margin:.35rem 0}
.prose table{border-collapse:collapse;width:100%;margin:1rem 0;background:#fff;font-size:.95rem}
.prose th,.prose td{padding:.6rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.crumbs{font-size:var(--step--1);color:var(--muted);margin-bottom:1rem}
.crumbs a{color:var(--muted)}
.callout{background:var(--violet-wash);border-left:4px solid var(--violet);padding:1rem 1.2rem;border-radius:0 var(--radius-s) var(--radius-s) 0;margin:1.4rem 0}
.cta-box{background:var(--navy);color:#E7E9F3;border-radius:var(--radius-l);padding:1.8rem;margin:2.5rem 0}
.cta-box h2{color:#fff;margin-top:0;font-size:var(--step-2)}
.guide-list{list-style:none;padding:0;display:grid;gap:1rem}
.guide-list a{display:block;padding:1.3rem 1.4rem;background:#fff;border-radius:var(--radius-m);box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink)}
.guide-list a:hover{box-shadow:0 0 0 2px var(--violet)}
.guide-list strong{display:block;color:var(--navy);font-size:var(--step-1);margin-bottom:.2rem}

/* Checkout */
.checkout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);padding:clamp(2rem,5vw,4rem) 0;align-items:start}
@media (max-width:880px){.checkout{grid-template-columns:1fr}}
.summary,.payform{background:#fff;border-radius:var(--radius-l);padding:clamp(1.4rem,3vw,2rem);box-shadow:0 0 0 1px var(--line)}
.summary .price{font-size:var(--step-3);font-weight:800;color:var(--navy);letter-spacing:-.03em}
.methods{display:grid;gap:.7rem;margin:1rem 0 1.4rem;border:0;padding:0}
.method{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:1rem 1.1rem;border-radius:var(--radius-m);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer}
.method[hidden]{display:none}
.method:has(input:checked){box-shadow:inset 0 0 0 2px var(--violet);background:var(--violet-wash)}
.method input{margin-top:.3rem;accent-color:var(--violet);width:18px;height:18px}
.method strong{display:block;color:var(--navy)}
.method span{color:var(--muted);font-size:.93rem}
.label{display:block;font-weight:600;color:var(--navy);margin-bottom:.4rem}
.input{width:100%;min-height:50px;border-radius:var(--radius-m);border:1.5px solid var(--line);padding:.7rem 1rem;font:inherit;background:#fff;color:var(--ink)}
.input:focus{border-color:var(--violet);outline:3px solid var(--navy);outline-offset:2px}
.testbar{background:#FFF4D6;color:#5C4300;border-bottom:1px solid #F0D58A;font-size:.92rem;text-align:center;padding:.5rem 1rem}
.secure{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:var(--step--1);margin-top:1rem}
.secure svg{width:16px;height:16px}
.mock-card{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.mock-card .full{grid-column:1/-1}
.addr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:var(--paper);padding:.8rem 1rem;border-radius:var(--radius-s);font-size:.92rem}
.status{display:flex;gap:.8rem;align-items:center;font-weight:600;color:var(--navy)}
.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--violet);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.steps{padding-left:1.2rem}.steps li{margin:.5rem 0}

/* Footer */
.site-footer{background:var(--ink);color:#B9BED3;padding:3.5rem 0 2.5rem;font-size:.95rem}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.site-footer .wrap{grid-template-columns:1fr}}
.site-footer a{color:#E2E4EF;text-decoration:none}.site-footer a:hover{text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.site-footer .brand{color:#fff;margin-bottom:.8rem}
.site-footer .disclaimer{font-size:.85rem;color:#9298B3;max-width:52ch}
.site-footer h3{color:#fff;font-size:1rem;margin-bottom:.8rem}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Utilities (moved from inline styles for a strict CSP) */
.u-03ab67{margin:0 !important;color:var(--muted) !important}
.u-102753{margin-top:.8rem !important}
.u-356750{margin-top:1.6rem !important}
.u-3dff7f{max-width:560px !important;padding:3rem 0 !important}
.u-508e8f{grid-template-columns:minmax(0,520px) !important}
.u-534621{font-size:var(--step-2) !important}
.u-5ac1b0{margin:0 0 .6rem !important}
.u-6d5673{width:100% !important}
.u-7e269c{background:#fff !important;color:var(--navy) !important}
.u-8a8c8c{max-width:14ch !important}
.u-8d86ce{width:100% !important;margin-top:1.2rem !important}
.u-94931e{margin-left:.4rem !important;font-size:.95rem !important;line-height:1.7 !important}
.u-9638d1{width:100% !important;margin-top:.7rem !important}
.u-9dae1d{margin-top:1rem !important}
.u-c1b209{max-width:620px !important;padding:3rem 0 !important}
.u-c802d7{color:#C9CDE0 !important}
.u-d13e16{width:100% !important;margin-top:1rem !important}
.u-d7554e{font-size:var(--step-3) !important}
.u-d826a9{width:100% !important;margin-top:.6rem !important}
.u-e3249b{max-width:720px !important;padding:3.5rem 0 !important}
.u-ea25ec{font-size:var(--step-3) !important;font-weight:800 !important;color:var(--navy) !important}
.u-ecd3d6{font-size:var(--step-2) !important;margin-top:2rem !important}
.result .btn,.plan .btn,.cta-box .btn{white-space:normal;text-align:center}
.nav a.btn-primary{color:#fff}.nav a.btn-primary:hover{color:#fff}

/* Buyer download page and admin stats */
.dl-page .kit-version{margin-top:1.2rem}
.admin-stats{max-width:1100px}
.admin-stats.admin-wide{max-width:none}
.admin-stats td,.admin-stats tfoot th{font-variant-numeric:tabular-nums}
.admin-stats tfoot td,.admin-stats tfoot th{font-weight:700;border-top:2px solid var(--line)}
/* admin nav + customers */
.admin-nav{display:flex;gap:1.25rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:.25rem;font-weight:600}
.admin-search{margin-bottom:1rem}
.admin-nav a{padding:.35rem 0;text-decoration:none;border-bottom:2px solid transparent}
.admin-nav a[aria-current="page"]{border-bottom-color:currentColor}
.admin-search-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.admin-search-row .input{flex:1 1 16rem;max-width:28rem}
/* Admin pages use the full window width. The Customers tables never scroll sideways: fixed layout, combined columns,
   long values wrap; under 760px each row becomes a labelled card. */
.admin-wide{width:calc(100% - 2.5rem);max-width:none}
.admin-customers table.customers{table-layout:fixed;width:100%;font-size:.88rem;line-height:1.35}
.admin-customers table.customers th,.admin-customers table.customers td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:.55rem .6rem;text-align:left}
.admin-customers table.customers thead th{font-size:.8rem;color:var(--navy);overflow-wrap:normal;hyphens:auto}
.admin-customers table.customers tbody th[scope="row"]{font-weight:500}
.admin-customers .cell-main{display:block}
.admin-customers .cell-sub{display:block;color:var(--muted);margin-top:.15rem}
.admin-customers tbody th .cell-main{font-weight:600;color:var(--ink)}
.admin-customers .email{overflow-wrap:anywhere}
.admin-customers .muted{color:var(--muted)}
table.buyers .col-buyer{width:19%}
table.buyers .col-when{width:12%}
table.buyers .col-status{width:7%}
table.buyers .col-pay{width:11%}
table.buyers .col-kit{width:13%}
table.buyers .col-expires{width:9%}
table.buyers .col-tag{width:13%}
table.buyers .col-actions{width:16%}
.cell-actions .btn{white-space:normal;text-align:center;line-height:1.2}
.reissue-form{margin:0}
.order-history{margin-top:.4rem;font-size:.82rem}
.order-history summary{cursor:pointer;color:var(--navy);font-weight:600}
.order-history ul{margin:.3rem 0 0;padding-left:1rem}
.order-history li{margin:.15rem 0}
table.signups{max-width:900px}
.admin-newlink .newlink-copy{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.admin-newlink .newlink-copy .input{flex:1 1 20rem;max-width:44rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}
.admin-newlink .copy-status{min-height:1.4em;color:var(--green);font-weight:600;margin:.4rem 0 1rem}
.email-link-form{margin:1.4rem 0}
@media (max-width:760px){
  .admin-wide{width:calc(100% - 1.5rem)}
  .admin-customers table.customers,.admin-customers table.customers tbody,.admin-customers table.customers tr,.admin-customers table.customers th,.admin-customers table.customers td{display:block;width:auto}
  .admin-customers table.customers{font-size:.92rem;background:none;table-layout:auto}
  .admin-customers table.customers colgroup{display:none}
  .admin-customers table.customers thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .admin-customers table.customers tbody{display:grid;gap:.75rem}
  .admin-customers table.customers tr{background:var(--white);border-radius:var(--radius-m);box-shadow:0 0 0 1px var(--line);overflow:hidden}
  .admin-customers table.customers tbody th,.admin-customers table.customers tbody td{display:grid;grid-template-columns:minmax(6.5rem,34%) 1fr;gap:.6rem;padding:.55rem .9rem;border:0;border-top:1px solid var(--line)}
  .admin-customers table.customers tbody th[scope="row"]{border-top:0;background:var(--paper)}
  .admin-customers table.customers tbody [data-label]::before{content:attr(data-label);font-weight:600;font-size:.8rem;color:var(--muted)}
  .admin-customers table.customers tbody td[colspan]{display:block}
  .admin-customers table.customers tbody td > *,.admin-customers table.customers tbody th > *{grid-column:2}
}
.admin-customers .count{font-weight:400;font-size:.8em}
.mode{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.8rem;font-weight:700;letter-spacing:.04em}
.mode-test{background:#FFF1D6;color:#7A4B00;border:1px solid #E9A23B}
.mode-live{background:#DDF3E8;color:#14583D;border:1px solid #1D7A55}
/* Admin Settings (local only) and the orders filters */
.admin-settings .settings-form{max-width:44rem;margin:1rem 0 2rem}
.admin-settings .setting{margin:0 0 1.1rem}
.admin-settings .setting .input{max-width:44rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}
.admin-settings .setting .input-price{max-width:12rem}
.admin-settings .setting .crumbs{margin:.3rem 0 0}
.key-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:var(--muted);font-weight:400;margin-left:.35rem}
.setting-state{margin:.1rem 0 .35rem}
.state{display:inline-block;font-size:.82rem;font-weight:700;padding:.1rem .55rem;border-radius:999px;border:1.5px solid var(--line)}
.state-set{color:var(--green);border-color:var(--green)}
.state-unset{color:var(--muted)}
.clear-key{white-space:nowrap;margin-left:.5rem}
.check{display:flex;gap:.55rem;align-items:center;font-weight:700}
.check input{width:1.2rem;height:1.2rem}
.callout-error{border-left-color:#b3261e;background:#fdecea}
.admin-filter{flex:0 1 13rem;max-width:16rem}
@media (max-width:760px){.admin-filter{flex:1 1 100%;max-width:none}.clear-key{display:block;margin:.3rem 0 0}}
.env-note{margin:.2rem 0 .45rem;padding:.45rem .7rem;border-left:4px solid var(--marigold);background:#fff7e0;border-radius:0 var(--radius-s) var(--radius-s) 0;font-size:.88rem}
.callout-warn{border-left-color:var(--marigold);background:#fff7e0}
.state-env{color:var(--ink);border-color:var(--marigold);margin-left:.35rem}
