/* satwise.co.uk — editorial minimalism with an orbital accent */
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

@view-transition{navigation:auto}

:root{
  --paper:#f5f3ee;--paper-2:#ecE9e1;--card:#fbfaf7;
  --ink:#0d1015;--ink-2:#3a3f47;--muted:#6a6f78;
  --line:rgba(13,16,21,.11);--line-2:rgba(13,16,21,.2);
  --accent:#ff5a1f;--accent-ink:#c2410c;--accent-soft:rgba(255,90,31,.1);
  --space:#05070c;--space-2:#0b1019;--on-space:#eef0f4;--on-space-2:rgba(238,240,244,.66);
  --serif:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1240px;--gut:clamp(20px,4vw,48px);
  --r:18px;--ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#090b10;--paper-2:#10141b;--card:#0e1218;
    --ink:#eceae4;--ink-2:#c3c0b8;--muted:#8d929b;
    --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.18);
    --accent-ink:#ff8a5c;--accent-soft:rgba(255,90,31,.14);
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
em{font-style:italic}

/* ---------- progress ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#ffb347);transform-origin:0 50%;transform:scaleX(0)}
.is-home .progress{display:none}
@supports (animation-timeline:scroll()){
  .is-article .progress span{animation:grow linear both;animation-timeline:scroll(root)}
  @keyframes grow{to{transform:scaleX(1)}}
}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;transition:background .35s var(--ease),border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.site-header.is-scrolled{background:color-mix(in srgb,var(--paper) 78%,transparent);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-color:var(--line)}
.site-header.on-dark{position:fixed;inset:0 0 auto 0;color:var(--on-space)}
.site-header.on-dark.is-scrolled{background:rgba(5,7,12,.62);border-color:rgba(255,255,255,.08)}
.site-header.on-dark.is-past{color:var(--ink);background:color-mix(in srgb,var(--paper) 80%,transparent);border-color:var(--line)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 19px/1 var(--sans);letter-spacing:-.02em}
.logo-word span{color:var(--accent)}
.logo-mark{overflow:visible}
.lm-planet{fill:currentColor}
.lm-orbit{fill:none;stroke:currentColor;stroke-opacity:.45;stroke-width:1.2}
.lm-sat{fill:var(--accent)}
.nav-list{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav-list a{display:block;padding:8px 13px;border-radius:999px;text-decoration:none;font-size:14.5px;font-weight:500;opacity:.78;transition:opacity .2s,background .2s}
.nav-list a:hover{opacity:1;background:color-mix(in srgb,currentColor 8%,transparent)}
.nav-list a[aria-current]{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent)}
.nav-toggle{display:none;background:none;border:0;color:inherit;width:44px;height:44px;border-radius:12px;cursor:pointer;position:relative}
.burger,.burger::before{position:absolute;left:12px;right:12px;height:1.6px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger{top:18px}.burger::before{content:"";left:0;right:0;top:7px}
.nav-toggle[aria-expanded=true] .burger{top:21.5px;transform:rotate(45deg)}
.nav-toggle[aria-expanded=true] .burger::before{top:0;transform:rotate(-90deg)}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav-list{position:fixed;left:12px;right:12px;top:76px;flex-direction:column;gap:2px;padding:10px;border-radius:20px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 60px -20px rgba(0,0,0,.35);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .nav-list.is-open{opacity:1;transform:none;pointer-events:auto}
  .nav-list a{padding:14px 16px;font-size:17px;opacity:1}
}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:15.5px;border:0;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px -12px rgba(0,0,0,.45)}
.btn-light{background:var(--on-space);color:var(--space)}
.btn .arrow,.link-arrow .arrow,.card .arrow,.chapter .arrow,.pager .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow,.link-arrow:hover .arrow{transform:translateX(3px)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;text-decoration:none;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.link-arrow:hover{color:var(--accent-ink)}
.link-arrow.on-dark{color:var(--on-space)}
.link-arrow.on-dark:hover{color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,920px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(120% 80% at 70% 110%,#13203a 0%,var(--space-2) 38%,var(--space) 70%);color:var(--on-space);overflow:hidden;isolation:isolate}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-fade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,7,12,.85) 0%,rgba(5,7,12,.45) 45%,rgba(5,7,12,0) 75%);pointer-events:none}
.hero-inner{padding-top:110px;padding-bottom:150px}
.live{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--on-space-2);padding:9px 14px 9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.03);backdrop-filter:blur(6px)}
.live-dot{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:pulse 2.6s infinite}
.live-dot.is-off{background:var(--accent);box-shadow:none;animation:blink 1.6s steps(2) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,151,.55)}70%{box-shadow:0 0 0 9px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
@keyframes blink{50%{opacity:.25}}
.hero h1{margin-top:26px;font:400 clamp(2.9rem,6.6vw,6.4rem)/.98 var(--serif);letter-spacing:-.025em;max-width:14ch;text-wrap:balance}
.hero h1 em{color:transparent;background:linear-gradient(100deg,#fff 0%,#ffd2bd 35%,var(--accent) 80%);-webkit-background-clip:text;background-clip:text;padding-right:.06em}
.hero-sub{margin-top:28px;max-width:34rem;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.6;color:var(--on-space-2)}
.hero-cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px}
.hero-legend{position:absolute;left:0;right:0;bottom:26px;display:flex;flex-wrap:wrap;gap:8px 28px;font:500 11.5px/1.3 var(--mono);letter-spacing:.02em;color:rgba(238,240,244,.42);text-transform:uppercase}
.hero-legend span{display:inline-flex;align-items:center;gap:8px}
.hero-legend i{display:inline-block;width:6px;height:6px;border-radius:50%}
.lg-leo{background:#cfe3ff}.lg-home{background:var(--accent)}
.hero-404{min-height:100svh}
.hero-legend{animation:rise 1s .4s var(--ease) both}
.hero .hero-inner > *{animation:rise 1s var(--ease) both}
.hero .hero-inner > :nth-child(2){animation-delay:.08s}
.hero .hero-inner > :nth-child(3){animation-delay:.16s}
.hero .hero-inner > :nth-child(4){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- stats ---------- */
.stats{padding:clamp(56px,8vw,96px) 0 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:30px 28px 8px 0;border-right:1px solid var(--line);margin-right:28px}
.stat:last-child{border-right:0;margin-right:0}
.stat-v{font:400 clamp(2.6rem,4.6vw,4.2rem)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat-v small{font:500 .3em/1 var(--sans);letter-spacing:0;margin-left:4px;color:var(--muted);vertical-align:.95em}
.stat-v small:first-child{margin:0 2px 0 0}
.stat-l{margin-top:14px;font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:24ch}
.stats-note{margin-top:28px;font-size:12.5px;color:var(--muted)}
@media (max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0;margin-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:28px}}
@media (max-width:520px){.stat{padding-right:16px;margin-right:16px}.stat-l{font-size:13.5px}}

/* ---------- section headings ---------- */
.section-top{display:grid;grid-template-columns:1.1fr 1fr;gap:24px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.section-h{font:400 clamp(2.3rem,4.8vw,4rem)/1.02 var(--serif);letter-spacing:-.02em}
.section-h em{color:var(--accent-ink)}
.section-sub{color:var(--ink-2);font-size:16.5px;max-width:36rem}
.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:18px}
@media (max-width:820px){.section-top{grid-template-columns:1fr}}

/* ---------- chapters ---------- */
.chapters{padding:clamp(80px,11vw,150px) 0 clamp(60px,8vw,110px)}
.chapter-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.chapter{border-bottom:1px solid var(--line-2)}
.chapter a{position:relative;display:grid;grid-template-columns:72px 1fr 88px 110px;gap:28px;align-items:center;padding:34px 0;text-decoration:none;transition:padding .45s var(--ease)}
.chapter a::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--accent);transition:width .6s var(--ease)}
.chapter a:hover::before{width:100%}
.chapter a:hover{padding-left:14px}
.ch-n{font:500 13px/1 var(--mono);color:var(--muted);letter-spacing:.06em}
.ch-t{display:block;font:400 clamp(1.6rem,2.8vw,2.45rem)/1.08 var(--serif);letter-spacing:-.01em;transition:color .3s}
.chapter a:hover .ch-t{color:var(--accent-ink)}
.ch-d{display:block;margin-top:10px;color:var(--muted);font-size:15px;max-width:60ch;line-height:1.55}
.ch-glyph{justify-self:center;opacity:.9}
.ch-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.chapter a:hover .arrow{transform:translateX(4px);color:var(--accent-ink)}
@media (max-width:820px){.chapter a{grid-template-columns:44px 1fr;gap:6px 14px;padding:26px 0}.ch-glyph{display:none}.ch-meta{grid-column:2;justify-content:flex-start;margin-top:8px}.ch-n{align-self:start;padding-top:10px}}

/* ---------- glyph ---------- */
.glyph{overflow:visible}
.g-planet{fill:var(--ink)}
.g-orbit{fill:none;stroke:var(--ink);stroke-opacity:.35;stroke-width:1.1}
.g-orbit-2{stroke-dasharray:2 4;stroke-opacity:.28}
.g-sat{fill:var(--accent)}
a:hover .g-sat,.article-glyph .g-sat{animation:sat 2.4s var(--ease) infinite}
@keyframes sat{50%{transform:scale(1.5);transform-origin:center;transform-box:fill-box}}

/* ---------- decision ---------- */
.decide{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2);border-block:1px solid var(--line)}
.decide-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px 80px;align-items:start}
.decide-intro p{color:var(--ink-2);margin-top:22px;max-width:30rem}
.decide-intro a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}
.reset{margin-top:24px}
.decide-box{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,3vw,40px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 40px 80px -50px rgba(13,16,21,.35)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.step{padding:22px 0;border-bottom:1px solid var(--line);transition:opacity .4s var(--ease)}
.step:first-child{padding-top:0}
.step:last-child{border-bottom:0;padding-bottom:0}
.step-q{display:flex;gap:14px;align-items:baseline;font-size:18px;font-weight:500;line-height:1.4}
.step-n{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);font:600 12px/1 var(--mono);color:var(--muted);transform:translateY(-1px)}
.step-actions{display:flex;gap:10px;margin:16px 0 0 40px}
.btn-choice{font:600 14.5px/1 var(--sans);padding:11px 22px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn-choice:hover{border-color:var(--ink);transform:translateY(-1px)}
.btn-choice[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.step-result{margin:18px 0 0 40px;padding:20px 22px;border-radius:16px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);animation:rise .5s var(--ease) both}
.step-result p{color:var(--ink-2);font-size:15.5px}
.step-result .link-arrow{margin-top:12px;color:var(--accent-ink)}
.result-t{font:400 1.7rem/1.1 var(--serif)!important;color:var(--ink)!important;margin-bottom:8px}
.result-k{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:12px}
.step.is-later{opacity:.32;pointer-events:none}
.step.is-later .step-actions{display:none}
.step.is-hidden{display:none}
.decide-final{margin-top:26px;padding:28px;border-radius:20px;background:var(--space);color:var(--on-space);position:relative;overflow:hidden;animation:rise .6s var(--ease) both}
.decide-final::after{content:"";position:absolute;width:280px;height:280px;right:-90px;top:-120px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.02)}
.decide-final .result-t{color:#fff!important;font-size:2.2rem!important}
.decide-final p{color:var(--on-space-2);max-width:40rem}
.decide-final .result-k{color:#ff9c74}
.final-links{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin-top:22px}
.decide-final .btn{background:var(--on-space);color:var(--space)}
.decide-final .link-arrow{color:var(--on-space)}
.no-js .step-actions{display:none}
@media (max-width:900px){.decide-grid{grid-template-columns:1fr}}
@media (max-width:520px){.step-actions,.step-result{margin-left:0}}

/* ---------- timeline ---------- */
.next{padding:clamp(80px,10vw,140px) 0}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:linear-gradient(90deg,var(--accent),var(--line-2) 45%,var(--line-2))}
.timeline li{position:relative;padding:36px 28px 0 0}
.timeline li::before{content:"";position:absolute;left:0;top:2px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}
.timeline li:first-child::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}
.timeline time,.tl-date{font:500 12.5px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink)}
.tl-t{margin:14px 0 8px;font:400 1.55rem/1.12 var(--serif)}
.timeline li p:last-child{font-size:14.5px;color:var(--ink-2)}
.timeline a{color:var(--ink);text-decoration-color:var(--line-2);text-underline-offset:3px;white-space:nowrap}
.timeline a:hover{text-decoration-color:var(--accent)}
@media (max-width:900px){.timeline{grid-template-columns:1fr 1fr;row-gap:40px}.timeline::before{display:none}}
@media (max-width:520px){.timeline{grid-template-columns:1fr}}

/* ---------- trust ---------- */
.trust{padding:0 0 clamp(90px,11vw,150px)}
.trust-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px 80px;border-top:1px solid var(--line-2);padding-top:clamp(48px,6vw,72px)}
.trust-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.trust-t{font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.trust-t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.trust-list p:last-child{color:var(--ink-2);font-size:15px}
.trust-grid > .link-arrow{grid-column:2}
@media (max-width:900px){.trust-grid{grid-template-columns:1fr}.trust-list{grid-template-columns:1fr}.trust-grid > .link-arrow{grid-column:1}}

/* ---------- article ---------- */
.article-head{padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.article-head::before{content:"";position:absolute;right:-12vw;top:-30vw;width:60vw;height:60vw;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle,transparent 62%,color-mix(in srgb,var(--ink) 2.2%,transparent) 62.2%,transparent 75%);opacity:.9;pointer-events:none}
.article-head-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px}
.crumbs{grid-column:1/-1;display:flex;gap:10px;font-size:13.5px;color:var(--muted);margin-bottom:clamp(28px,4vw,48px)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--accent-ink)}
.article-glyph{grid-column:2;grid-row:2/span 2;align-self:start;margin-top:8px}
.article-head h1{grid-column:1;font:400 clamp(2.5rem,5.6vw,4.9rem)/1.02 var(--serif);letter-spacing:-.022em;max-width:17ch;text-wrap:balance}
.lead{grid-column:1;margin-top:28px;max-width:44rem}
.lead p{font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.62;color:var(--ink-2)}
.lead p+p{margin-top:14px}
.lead a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:3px}
.meta-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 44px;margin:40px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.meta-row div{display:flex;flex-direction:column;gap:4px}
.meta-row dt{font:500 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.meta-row dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:720px){.article-glyph{display:none}.article-head-inner{grid-template-columns:1fr}}

.article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(60px,8vw,110px)}
.article-grid-single{grid-template-columns:minmax(0,1fr)}
.article-grid-single .prose{margin:0 auto}
.toc{position:relative}
.toc-inner{position:sticky;top:100px;max-height:calc(100vh - 130px);overflow:auto;padding-right:8px;scrollbar-width:thin}
.toc-h{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:1.5px solid transparent;font-size:13.5px;line-height:1.4;color:var(--muted);text-decoration:none;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--ink)}
.toc a.is-active{color:var(--ink);border-left-color:var(--accent);font-weight:500}
@media (max-width:1060px){.article-grid{grid-template-columns:minmax(0,1fr)}.toc{display:none}}

.prose{max-width:720px;font-size:18px;line-height:1.75;color:var(--ink-2)}
.prose > section{margin-top:clamp(56px,7vw,84px)}
.prose > section:first-child{margin-top:0}
.prose h2{position:relative;font:400 clamp(2rem,3.4vw,2.7rem)/1.08 var(--serif);letter-spacing:-.015em;color:var(--ink);margin-bottom:24px;text-wrap:balance}
.prose h3{position:relative;font:600 1.2rem/1.35 var(--sans);letter-spacing:-.01em;color:var(--ink);margin:40px 0 14px}
.prose h4{font:600 1rem/1.4 var(--sans);color:var(--ink);margin:28px 0 10px}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose .table-wrap{margin:0 0 22px}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 65%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}
.prose a:hover{color:var(--accent-ink);text-decoration-color:var(--accent)}
.prose a.ext::after{content:"↗";font-size:.72em;margin-left:2px;vertical-align:.3em;opacity:.55;text-decoration:none;display:inline-block}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin:0 0 10px;padding-left:4px}
.prose ul li::marker{color:var(--accent)}
.prose ol li::marker{color:var(--muted);font:600 .85em var(--mono)}
.prose code{font:500 .88em var(--mono);background:var(--paper-2);padding:2px 6px;border-radius:6px}
.prose blockquote{border-left:2px solid var(--accent);padding-left:20px;font-style:italic}
.h-anchor{position:absolute;left:-1.1em;top:0;padding-right:.3em;color:var(--muted)!important;text-decoration:none!important;opacity:0;transition:opacity .2s;font:400 .7em/1.6 var(--sans)}
h2:hover>.h-anchor,h3:hover>.h-anchor,.h-anchor:focus{opacity:1}
.prose .note{display:flex;gap:12px;font-size:14px;line-height:1.6;color:var(--muted);margin-top:-6px}
.prose .note em{font-style:normal}
.note-mark{flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}

.takeaways{margin:0 0 8px!important;padding:clamp(24px,3vw,36px);border-radius:24px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.takeaways::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),#ffb347 40%,transparent 80%)}
.eyebrow-h{font:600 12px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)!important;margin:0 0 20px!important}
.tk{list-style:none;padding:0!important;margin:0!important}
.tk li{display:grid;grid-template-columns:34px 1fr;gap:6px;padding:14px 0!important;margin:0!important;border-top:1px solid var(--line);font-size:16.5px;line-height:1.6}
.tk li:first-child{border-top:0;padding-top:0!important}
.tk-n{font:500 12px/2.1 var(--mono);color:var(--muted)}

.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card);-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible{outline-offset:2px}
table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5;min-width:540px}
thead th{position:sticky;top:0;text-align:left;font:600 11.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:bottom}
td,tbody th{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
tbody td:first-child,tbody th{color:var(--ink);font-weight:600}
tbody tr{transition:background .2s}
tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
td:not(.num){min-width:9rem}
tbody td:first-child,tbody th{min-width:8.5rem}
td:last-child:not(.num){min-width:15rem}
@media (max-width:520px){.live{font-size:11.5px;letter-spacing:.03em}}
.prose table a{text-decoration-thickness:1px}

.faq .qa{border-top:1px solid var(--line)}
.faq .qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary h3{margin:0;font:500 1.08rem/1.4 var(--sans);transition:color .2s}
.qa summary:hover h3{color:var(--accent-ink)}
.qa-icon{flex:none;position:relative;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);transition:transform .35s var(--ease),background .25s,border-color .25s}
.qa-icon::before,.qa-icon::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);border-radius:2px}
.qa-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s var(--ease)}
.qa[open] .qa-icon{transform:rotate(180deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}
.qa[open] .qa-icon::after{transform:translate(-50%,-50%) rotate(0)}
.qa-a{padding:0 50px 10px 0;animation:rise .4s var(--ease) both}
.qa-a p{font-size:16.5px}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .qa::details-content{height:0;overflow:clip;transition:height .4s var(--ease),content-visibility .4s allow-discrete}
  .qa[open]::details-content{height:auto}
}

.sources h2{font-size:1.9rem!important}
.sources-intro{font-size:14.5px;color:var(--muted)}
.sources ol{counter-reset:src;list-style:none;padding:0!important}
.sources li{counter-increment:src;display:grid;grid-template-columns:34px 1fr;column-gap:4px;padding:10px 0!important;margin:0!important;border-top:1px solid var(--line);font-size:14.5px;line-height:1.5}
.sources li::before{content:counter(src,decimal-leading-zero);font:500 11.5px/2 var(--mono);color:var(--muted);grid-row:span 2}
.sources li a{text-decoration-thickness:1px}
.src-host{display:block;font:500 12px/1.6 var(--mono);color:var(--muted)}

.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(56px,7vw,84px)}
.pager a{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--line);border-radius:20px;text-decoration:none!important;color:var(--ink)!important;background:var(--card);position:relative;transition:border-color .3s,transform .3s var(--ease)}
.pager a:hover{border-color:var(--ink);transform:translateY(-2px)}
.pager-next{text-align:right;align-items:flex-end}
.pager-k{font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pager-t{font:400 1.35rem/1.15 var(--serif)}
.pager-next .arrow{margin-top:4px;color:var(--accent-ink)}
.pager-next:hover .arrow{transform:translateX(4px)}
@media (max-width:620px){.pager{grid-template-columns:1fr}.pager-prev{display:none!important}}

/* ---------- cards ---------- */
.more{padding:clamp(70px,9vw,120px) 0;background:var(--paper-2);border-top:1px solid var(--line)}
.more .section-h{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:36px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{position:relative;display:flex;flex-direction:column;gap:22px;padding:26px;border-radius:22px;background:var(--card);border:1px solid var(--line);text-decoration:none;min-height:250px;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.card:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 30px 60px -40px rgba(13,16,21,.5)}
.card-n{position:absolute;top:24px;right:26px;font:500 12px/1 var(--mono);color:var(--muted)}
.card-body{display:flex;flex-direction:column;gap:8px;flex:1}
.card-k{font:600 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.card-t{font:400 1.45rem/1.15 var(--serif);letter-spacing:-.005em}
.card-d{font-size:14.5px;color:var(--muted)}
.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.card:hover .arrow{transform:translateX(4px);color:var(--accent-ink)}

/* ---------- footer ---------- */
.site-footer{background:var(--space);color:var(--on-space-2);padding:clamp(64px,8vw,100px) 0 28px;font-size:15px}
.site-footer .logo{color:var(--on-space)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:48px}
.footer-brand p{margin-top:20px;max-width:28rem}
.footer-small{font-size:13px;color:rgba(238,240,244,.45)}
.footer-h{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(238,240,244,.45);margin-bottom:18px}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:10px}
.footer-links a{text-decoration:none;color:var(--on-space-2);transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(238,240,244,.42)}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr}}

/* ---------- reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
.js .chapter[data-reveal]:nth-child(2),.js .stat[data-reveal]:nth-child(2),.js .timeline [data-reveal]:nth-child(2),.js .trust-list [data-reveal]:nth-child(2){transition-delay:.08s}
.js .chapter[data-reveal]:nth-child(3),.js .stat[data-reveal]:nth-child(3),.js .timeline [data-reveal]:nth-child(3),.js .trust-list [data-reveal]:nth-child(3){transition-delay:.16s}
.js .chapter[data-reveal]:nth-child(4),.js .stat[data-reveal]:nth-child(4),.js .timeline [data-reveal]:nth-child(4){transition-delay:.24s}
.js .chapter[data-reveal]:nth-child(5){transition-delay:.32s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
  @view-transition{navigation:none}
}
@media print{
  .site-header,.toc,.progress,.more,.site-footer,.pager,.h-anchor{display:none!important}
  body{background:#fff;color:#000}
  .article-grid{display:block}
  .qa-a{display:block}
}
