/* ============================================================
   Slotbox Casino Canada — design system
   Tokens → primitives → shell → content → responsive
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  /* base */
  --night:#0A1330;
  --night-2:#0D1839;
  --surface:#141F45;
  --surface-2:#1B2A57;
  --line:#26386E;
  --line-soft:#1E2C58;

  /* action = yellow, structure = blue */
  --gold:#FFD22E;
  --gold-2:#FFA800;
  --gold-ink:#2A1D00;
  --electric:#2F6BFF;
  --electric-soft:#1B47B8;

  /* text */
  --ink:#E9F0FF;
  --ink-2:#C2D0EE;
  --mut:#8FA5D4;
  --mut-2:#6E82AE;

  /* signals */
  --ok:#25C98E;
  --warn:#FFC24A;
  --bad:#FF5F4E;
  --ok-bg:rgba(37,201,142,.12);
  --warn-bg:rgba(255,194,74,.12);
  --bad-bg:rgba(255,95,78,.12);
  --info-bg:rgba(47,107,255,.14);

  /* type */
  --f-display:"Unbounded","Trebuchet MS",system-ui,sans-serif;
  --f-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Fira Code",ui-monospace,Menlo,monospace;

  --t-xs:.75rem; --t-sm:.85rem; --t-base:1rem; --t-md:1.06rem;
  --t-lg:1.25rem; --t-xl:1.55rem; --t-2xl:2rem; --t-3xl:2.6rem;

  /* space scale — 4px base */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem;
  --s6:2rem; --s7:2.75rem; --s8:3.5rem; --s9:5rem;

  --r-sm:6px; --r:12px; --r-lg:18px;
  --wrap:1180px; --col:760px;
  --shadow:0 18px 40px -18px rgba(0,0,0,.75);
  --shadow-gold:0 6px 0 0 #B87A00, 0 16px 28px -12px rgba(255,168,0,.55);
  --bar-h:76px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;overflow-x:clip;background:var(--night);color:var(--ink);
  font:400 var(--t-base)/1.7 var(--f-body);
  background-image:
    radial-gradient(1100px 520px at 78% -8%,rgba(47,107,255,.22),transparent 62%),
    radial-gradient(760px 420px at 6% 2%,rgba(255,210,46,.10),transparent 64%);
  background-repeat:no-repeat;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-underline-offset:.18em}
a:hover{color:#fff}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.14;letter-spacing:-.015em;margin:0}
h1,h2,h3,h4,p,li,td,th,summary,caption,dt,dd{overflow-wrap:break-word;word-break:normal}
p{margin:0 0 var(--s4)}
table{border-collapse:collapse}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}

/* ---------- LAYOUT PRIMITIVES ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--s4);min-width:0}
.col{width:100%;max-width:var(--col);margin-inline:auto;min-width:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--gold);color:var(--gold-ink);
  padding:var(--s3) var(--s4);font-family:var(--f-display);font-weight:700;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}

/* ---------- HEADER / NAV / BURGER ---------- */
.site-head{
  position:sticky;top:0;z-index:120;
  background:rgba(10,19,48,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.head-in{display:flex;align-items:center;gap:var(--s4);min-height:64px;min-width:0}
.brand{display:flex;align-items:center;gap:var(--s2);font-family:var(--f-display);font-weight:800;
  font-size:1.02rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex:none}
.brand .dot{width:12px;height:12px;border-radius:3px;background:linear-gradient(160deg,var(--gold),var(--gold-2));
  box-shadow:0 0 0 3px rgba(255,210,46,.18)}
.brand span{color:var(--gold)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.burger{display:none;margin-left:auto;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);cursor:pointer;flex:none}
.burger i{display:block;width:18px;height:2px;background:var(--ink);position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink)}
.burger i::before{top:-6px}.burger i::after{top:6px}
.nav-toggle:focus-visible + .burger{outline:3px solid var(--gold);outline-offset:3px}
.site-nav{margin-left:auto;min-width:0}
.site-nav ul{display:flex;flex-wrap:wrap;gap:var(--s1);list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:var(--s2) var(--s3);border-radius:var(--r-sm);
  font-size:var(--t-sm);font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.site-nav a:hover{background:var(--surface);color:#fff}
.site-nav a[aria-current="page"]{color:var(--gold-ink);background:linear-gradient(160deg,var(--gold),var(--gold-2))}

/* ---------- BREADCRUMBS ---------- */
.crumbs{border-bottom:1px solid var(--line-soft);background:rgba(13,24,57,.6)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:var(--s3) 0;
  font-size:var(--t-xs);color:var(--mut);font-family:var(--f-mono)}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.crumbs li+li::before{content:"/";margin-right:var(--s2);color:var(--mut-2)}

/* ---------- HERO ---------- */
.hero{padding:var(--s7) 0 var(--s6);position:relative}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line-soft)}
.kicker{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center;
  font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-bottom:var(--s4)}
.kicker b{color:var(--gold);font-weight:500}
.kicker .age{border:1px solid var(--bad);color:var(--bad);border-radius:100px;padding:1px var(--s2)}
.hero h1{font-size:clamp(1.9rem,5.4vw,var(--t-3xl));font-weight:800;margin-bottom:var(--s4)}
.hero .lede{font-size:var(--t-md);color:var(--ink-2);max-width:62ch;margin-bottom:var(--s6)}

/* ---------- CTA: MAIN ---------- */
.cta-main{
  display:block;text-decoration:none;color:inherit;position:relative;
  background:linear-gradient(150deg,var(--surface-2),var(--surface) 62%);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);
  box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease;
  overflow:hidden;
}
.cta-main::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px 190px at 88% 0%,rgba(255,210,46,.14),transparent 70%)}
.cta-main:hover{transform:translateY(-3px);border-color:var(--gold)}
.cta-main:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.cta-tag{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--f-mono);
  font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:var(--s3)}
.cta-tag .ext{width:14px;height:14px;border:1px solid var(--mut);border-radius:3px;position:relative;flex:none}
.cta-tag .ext::after{content:"";position:absolute;inset:3px 3px auto auto;width:6px;height:6px;
  border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold)}
.cta-main h2{font-size:clamp(1.3rem,3.6vw,1.75rem);color:#fff;margin-bottom:var(--s3);position:relative}
.cta-main .sub{color:var(--ink-2);font-size:var(--t-sm);margin-bottom:var(--s5);position:relative}
.btn{
  display:flex;align-items:center;justify-content:center;gap:var(--s2);
  width:100%;min-height:56px;padding:var(--s3) var(--s4);
  font-family:var(--f-display);font-weight:800;font-size:1.15rem;letter-spacing:.02em;text-transform:uppercase;
  color:var(--gold-ink);background:linear-gradient(160deg,var(--gold),var(--gold-2));
  border:0;border-radius:var(--r);box-shadow:var(--shadow-gold);
  transition:transform .12s ease,box-shadow .12s ease;position:relative;text-align:center;
}
.cta-main:hover .btn{box-shadow:0 8px 0 0 #B87A00,0 20px 32px -12px rgba(255,168,0,.6)}
.cta-main:active .btn{transform:translateY(5px);box-shadow:0 1px 0 0 #B87A00}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));
  gap:1px;margin-top:var(--s5);background:var(--line);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;position:relative}
.facts div{background:var(--night-2);padding:var(--s3);min-width:0}
.facts b{display:block;font-family:var(--f-mono);font-size:1.02rem;color:var(--gold);font-weight:500}
.facts span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}

/* ---------- CTA: SECONDARY TILES ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:var(--s4);margin-top:var(--s4)}
.tile{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;
  background:var(--night-2);border:1px solid var(--line-soft);border-radius:var(--r);
  padding:var(--s4);transition:transform .18s ease,border-color .18s ease}
.tile:hover{transform:translateY(-2px);border-color:var(--electric)}
.tile:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.tile .lbl{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--electric);margin-bottom:var(--s2)}
.tile h3{font-size:var(--t-base);color:#fff;margin-bottom:var(--s2)}
.tile p{flex:1;font-size:var(--t-sm);color:var(--mut);margin-bottom:var(--s4)}
.btn-sm{display:flex;align-items:center;justify-content:center;min-height:44px;
  font-family:var(--f-display);font-weight:700;font-size:.92rem;text-transform:uppercase;letter-spacing:.03em;
  color:var(--gold-ink);background:linear-gradient(160deg,var(--gold),var(--gold-2));
  border-radius:var(--r-sm);box-shadow:0 4px 0 0 #B87A00}
.tile:active .btn-sm{transform:translateY(3px);box-shadow:0 1px 0 0 #B87A00}
.aff-note{margin-top:var(--s4);font-size:var(--t-xs);color:var(--mut-2);max-width:70ch}
.aff-note a{color:var(--mut)}

/* ---------- STICKY MOBILE CTA BAR ---------- */
.cta-bar{display:none}
/* ---------- AUTHOR ---------- */
.author-card{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;min-width:0;
  background:var(--night-2);border:1px solid var(--line-soft);border-left:3px solid var(--gold);
  border-radius:var(--r);padding:var(--s3) var(--s4);margin-bottom:var(--s6)}
.author-card img,.author-bio img{border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--line);background:var(--surface)}
.author-card img{width:52px;height:52px}
.author-card .who{min-width:0}
.author-card .nm{font-family:var(--f-display);font-weight:700;font-size:.98rem;color:#fff}
.author-card .rl{font-size:var(--t-xs);color:var(--mut)}
.author-card .dt{margin-left:auto;font-family:var(--f-mono);font-size:var(--t-xs);color:var(--mut-2);text-align:right}
.author-bio{display:flex;gap:var(--s5);flex-wrap:wrap;min-width:0;
  background:linear-gradient(150deg,var(--surface),var(--night-2));border:1px solid var(--line);
  border-radius:var(--r-lg);padding:var(--s5);margin:var(--s7) 0}
.author-bio img{width:96px;height:96px}
.author-bio .txt{flex:1 1 260px;min-width:0}
.author-bio h2{font-size:var(--t-lg);margin-bottom:var(--s1)}
.author-bio .rl{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold);margin-bottom:var(--s4)}
.author-bio p{font-size:var(--t-sm);color:var(--ink-2)}
.author-bio p:last-child{margin-bottom:0}

/* ---------- ARTICLE BASE ---------- */
.article{padding:var(--s7) 0 var(--s8)}
.article h2{font-size:clamp(1.35rem,3.8vw,var(--t-xl));margin:var(--s8) 0 var(--s4);padding-top:var(--s5);
  border-top:2px solid var(--line);position:relative}
.article h2::before{content:"";position:absolute;top:-2px;left:0;width:64px;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.article > .col > h2:first-of-type{margin-top:var(--s5)}
.article h3{font-size:var(--t-lg);margin:var(--s6) 0 var(--s3);color:#fff}
.article h4{font-size:var(--t-base);margin:var(--s4) 0 var(--s2);color:#fff}
.article p{color:var(--ink-2)}
.article .lede{font-size:var(--t-md);color:var(--ink)}
.article ul,.article ol{padding-left:1.15rem;margin:0 0 var(--s4)}
.article li{margin-bottom:var(--s2);color:var(--ink-2)}
.article strong,.article b{color:#fff}
.muted{color:var(--mut)}
.code,code{font-family:var(--f-mono);font-size:.92em;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:1px .4em;color:var(--gold)}

/* ---------- FIGURE ---------- */
figure{margin:var(--s5) 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--night-2)}
figure img{width:100%;height:auto}
figcaption{padding:var(--s3) var(--s4);font-size:var(--t-xs);color:var(--mut);border-top:1px solid var(--line-soft)}

/* ---------- STAT ROW ---------- */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;margin:var(--s5) 0}
.stat-row div{background:var(--night-2);padding:var(--s3) var(--s4);min-width:0}
.stat-row b{display:block;font-family:var(--f-mono);font-size:1.15rem;color:var(--gold);font-weight:500;letter-spacing:-.02em}
.stat-row span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}

/* ---------- RATING BLOCK WITH SCALES ---------- */
.rating{background:var(--night-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--s5);margin:var(--s5) 0}
.rating .rt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--s4)}
.rating .r{min-width:0}
.rating .r b{display:block;font-family:var(--f-mono);font-size:1.5rem;color:var(--gold);font-weight:500;line-height:1}
.rating .r span{display:block;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin:var(--s2) 0}
.scale{height:8px;border-radius:100px;background:var(--surface);overflow:hidden}
.scale i{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,var(--electric),var(--gold))}

/* ---------- NOTES / CALLOUTS ---------- */
.note{border:1px solid var(--line);border-left:4px solid var(--electric);background:var(--info-bg);
  border-radius:0 var(--r) var(--r) 0;padding:var(--s4);margin:var(--s5) 0;font-size:var(--t-sm)}
.note p{margin-bottom:var(--s2)}.note p:last-child{margin-bottom:0}
.note.warn{border-left-color:var(--warn);background:var(--warn-bg)}
.note.stop{border-left-color:var(--bad);background:var(--bad-bg)}
.note.ok{border-left-color:var(--ok);background:var(--ok-bg)}
.note b{color:#fff}

/* ---------- CARDS / PROS & CONS ---------- */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--s4);margin:var(--s5) 0}
.card{background:var(--night-2);border:1px solid var(--line-soft);border-radius:var(--r);padding:var(--s4);min-width:0}
.card h4{margin-top:0}
.card ul{margin-bottom:0}
.card p:last-child{margin-bottom:0}
.proscons .card:first-child{border-top:3px solid var(--ok)}
.proscons .card:last-child{border-top:3px solid var(--bad)}
.proscons .card:first-child h4::before{content:"+ ";color:var(--ok);font-family:var(--f-mono)}
.proscons .card:last-child h4::before{content:"− ";color:var(--bad);font-family:var(--f-mono)}

/* ---------- TABLES ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);
  background:var(--night-2);margin:var(--s5) 0;-webkit-overflow-scrolling:touch}
.tablewrap table{width:100%;min-width:0;font-size:var(--t-sm)}
caption{caption-side:top;text-align:left;padding:var(--s3) var(--s4);font-size:var(--t-xs);
  color:var(--mut);border-bottom:1px solid var(--line-soft)}
th{background:var(--surface);color:#fff;text-align:left;padding:var(--s3);font-family:var(--f-display);
  font-weight:700;font-size:var(--t-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
td{padding:var(--s3);border-top:1px solid var(--line-soft);vertical-align:top;color:var(--ink-2);min-width:0}
tbody tr:nth-child(even) td{background:rgba(27,42,87,.35)}
tbody th{background:var(--night-2);white-space:normal;font-size:var(--t-xs);color:var(--mut);
  border-top:1px solid var(--line-soft);text-transform:none;letter-spacing:0;font-family:var(--f-body)}
.row-flag td,.row-flag th{background:var(--bad-bg)!important}
.yes{color:var(--ok);font-weight:700}.no{color:var(--bad);font-weight:700}

/* ---------- STEPS / TIMELINE ---------- */
ol.steps{counter-reset:st;list-style:none;padding:0;margin:var(--s5) 0;position:relative}
ol.steps::before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:2px;
  background:linear-gradient(180deg,var(--gold),var(--electric))}
ol.steps li{counter-increment:st;position:relative;padding:var(--s4) var(--s4) var(--s4) 3.25rem;
  margin-bottom:var(--s3);background:var(--night-2);border:1px solid var(--line-soft);
  border-radius:var(--r);color:var(--ink-2);font-size:var(--t-sm)}
ol.steps li::before{content:counter(st);position:absolute;left:6px;top:var(--s4);
  width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:.72rem;font-weight:500;
  background:linear-gradient(160deg,var(--gold),var(--gold-2));color:var(--gold-ink)}
ol.steps b{display:block;color:#fff;font-family:var(--f-display);font-size:var(--t-base);margin-bottom:var(--s2)}

/* ---------- PROVIDER CHIPS ---------- */
.provider-grid{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}
.provider-grid span{border:1px solid var(--line);background:var(--night-2);border-radius:100px;
  padding:var(--s1) var(--s3);font-size:var(--t-xs);color:var(--ink-2);font-family:var(--f-mono)}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:var(--s5) 0;background:var(--night-2)}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;list-style:none;padding:var(--s4);font-family:var(--f-display);
  font-weight:700;font-size:.98rem;color:#fff;display:flex;gap:var(--s3);align-items:flex-start;min-width:0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";flex:none;font-family:var(--f-mono);color:var(--gold);font-size:1.1rem;line-height:1.3}
.faq details[open] summary::before{content:"−"}
.faq summary:hover{background:var(--surface)}
.faq details[open] summary{background:var(--surface);border-bottom:1px solid var(--line-soft)}
.faq p{padding:var(--s4);margin:0;font-size:var(--t-sm);color:var(--ink-2)}

/* ---------- DISCLAIMER PLATE ---------- */
.verified,.disclaimer{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--mut);
  border:1px dashed var(--line);border-radius:var(--r);padding:var(--s4);margin:var(--s6) 0 0;line-height:1.7}
.disclaimer strong{color:var(--warn)}

/* ---------- READ NEXT ---------- */
.readnext{margin:var(--s7) 0 0;padding-top:var(--s5);border-top:2px solid var(--line)}
.readnext h2{font-size:var(--t-lg);border:0;padding:0;margin:0 0 var(--s4)}
.readnext h2::before{display:none}
.readnext .rn{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s4)}
.readnext article{background:var(--night-2);border:1px solid var(--line-soft);border-radius:var(--r);padding:var(--s4);min-width:0}
.readnext a{font-family:var(--f-display);font-weight:700;font-size:.98rem;text-decoration:none;color:#fff;display:block;margin-bottom:var(--s2)}
.readnext a:hover{color:var(--gold)}
.readnext p{font-size:var(--t-xs);color:var(--mut);margin:0}

/* ---------- FOOTER ---------- */
.site-foot{border-top:1px solid var(--line);background:var(--night-2);padding:var(--s7) 0 var(--s6);margin-top:var(--s8)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--s5)}
.foot-cols h2{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-bottom:var(--s3);font-weight:500}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:var(--s2)}
.foot-cols a{font-size:var(--t-sm);color:var(--ink-2);text-decoration:none}
.foot-cols a:hover{color:var(--gold)}
.foot-cols p{font-size:var(--t-sm);color:var(--mut)}
.foot-legal{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line-soft);
  font-size:var(--t-xs);color:var(--mut-2);line-height:1.75}
.foot-legal .age-badges{display:flex;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}
.foot-legal .age-badges span{border:1px solid var(--line);border-radius:100px;padding:var(--s1) var(--s3);
  font-family:var(--f-mono);color:var(--ink-2)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .site-nav{position:fixed;inset:64px 0 auto;background:var(--night-2);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .25s ease;margin:0}
  .nav-toggle:checked ~ .site-nav{max-height:70vh;overflow-y:auto}
  .site-nav ul{flex-direction:column;padding:var(--s3) var(--s4);gap:0}
  .site-nav a{padding:var(--s3);border-radius:var(--r-sm)}
  .burger{display:flex}
}
@media (max-width:700px){
  body{padding-bottom:calc(var(--bar-h) + 8px)}
  .cta-bar{
    display:flex;align-items:center;gap:var(--s3);position:fixed;left:0;right:0;bottom:0;z-index:110;
    min-height:var(--bar-h);padding:var(--s3) var(--s4);text-decoration:none;color:inherit;
    background:rgba(13,24,57,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);
    box-shadow:0 -12px 28px -12px rgba(0,0,0,.8);
  }
  .cta-bar .cap{flex:1;min-width:0;font-size:var(--t-xs);line-height:1.35;color:var(--ink-2)}
  .cta-bar .cap b{display:block;color:#fff;font-family:var(--f-display);font-size:.86rem}
  .cta-bar .btn-sm{flex:none;min-height:44px;padding:0 var(--s4);font-size:.86rem}
  .cta-bar:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
  .author-card .dt{margin-left:0;width:100%;text-align:left}
  .article h2{margin-top:var(--s7)}
  /* key–value tables stack */
  .tablewrap.stack table,.tablewrap.stack thead,.tablewrap.stack tbody,
  .tablewrap.stack tr,.tablewrap.stack td{display:block;width:100%}
  .tablewrap.stack thead{display:none}
  .tablewrap.stack tr{border-top:1px solid var(--line);padding:var(--s2) 0}
  .tablewrap.stack td{border:0;padding:var(--s2) var(--s4)}
  .tablewrap.stack td::before{content:attr(data-label);display:block;
    font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
}
@media (max-width:400px){
  :root{--bar-h:66px;--t-base:.95rem;--s5:1.15rem;--s6:1.6rem;--s7:2.1rem;--s8:2.6rem}
  .wrap{padding-inline:var(--s3)}
  .cta-main{padding:var(--s4)}
  .btn{font-size:1.02rem;min-height:56px}
  .cta-bar{gap:var(--s2);padding:var(--s2) var(--s3)}
  .cta-bar .cap{font-size:.68rem}
  .cta-bar .cap b{font-size:.78rem}
  .cta-bar .btn-sm{padding:0 var(--s3);font-size:.78rem}
  .brand{font-size:.9rem}
  .facts b,.stat-row b{font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .cta-main:hover,.tile:hover{transform:none}
  .cta-main:active .btn,.tile:active .btn-sm{transform:none}
  html{scroll-behavior:auto}
}
