:root{
  --bg:#F1F3EF; --surface:#FFFFFF; --surface-2:#E7EBE5; --ink:#0F1C17; --ink-2:#3B4A43; --muted:#5B6A63; --line:#D3D9D2; --line-2:#BFC8BF;
  --on-ink:#FFFFFF; --amber:#EFD800; --amber-soft:#F7F2C0; --amber-ink:#6B6000; --pos:#1E7A50; --pos-soft:#DDF0E5; --neg:#B4441B; --neg-soft:#FBE3D9; --focus:#2F6FEB;
  --dark:#0F1C17; --dark-2:#182821; --dark-line:#2A3C34; --on-dark:#EAF0EC; --on-dark-2:#A9B8B0;
  --shadow:0 24px 60px -28px rgba(15,28,23,.35);
  --display:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;
  --sans:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --r:14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1411; --surface:#131F1A; --surface-2:#1A2923; --ink:#E6EEE9; --ink-2:#B9C8C0; --muted:#8E9F97; --line:#24352D; --line-2:#344A40;
    --on-ink:#0B1411; --amber-soft:#3A3400; --amber-ink:#EFD800; --pos:#4CC38A; --pos-soft:#15362A; --neg:#F08A62; --neg-soft:#3B1F14; --focus:#7AA7FF;
    --dark:#060D0A; --dark-2:#101C17; --dark-line:#22342C; --shadow:0 24px 60px -28px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --bg:#0B1411; --surface:#131F1A; --surface-2:#1A2923; --ink:#E6EEE9; --ink-2:#B9C8C0; --muted:#8E9F97; --line:#24352D; --line-2:#344A40;
  --on-ink:#0B1411; --amber-soft:#3A3400; --amber-ink:#EFD800; --pos:#4CC38A; --pos-soft:#15362A; --neg:#F08A62; --neg-soft:#3B1F14; --focus:#7AA7FF;
  --dark:#060D0A; --dark-2:#101C17; --dark-line:#22342C; --shadow:0 24px 60px -28px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;margin:0;text-wrap:balance}
p{margin:0}
.eyebrow{font:500 12px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--amber);border-radius:2px}
.dark .eyebrow{color:var(--amber)}
.h-xl{font-size:clamp(40px,5vw,70px);line-height:1}
.h-l{font-size:clamp(32px,4.4vw,56px);line-height:1.02}
.h-m{font-size:clamp(26px,3vw,36px);line-height:1.1}
.h-s{font-size:21px;line-height:1.25;letter-spacing:-.015em}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--ink-2);max-width:60ch}
.body{color:var(--ink-2);max-width:62ch}
.small{font-size:14px;color:var(--muted);line-height:1.5}
.mono{font-family:var(--mono)}
.dark{background:var(--dark);color:var(--on-dark)}
.dark .lead,.dark .body{color:var(--on-dark-2)}
.dark .small{color:var(--on-dark-2)}
section.block{padding-block:clamp(64px,9vw,120px)}
.stack{display:flex;flex-direction:column}
.g8{gap:8px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}.g24{gap:24px}.g32{gap:32px}.g48{gap:48px}
.row{display:flex;flex-wrap:wrap;align-items:center}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head > .stack{max-width:760px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:12px;border:1.5px solid transparent;font:600 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ink);color:var(--on-ink)}
.btn-primary:hover{background:var(--ink-2)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--on-ink)}
.btn-amber{background:var(--amber);color:#1A1206}
.btn-amber:hover{background:#FFEB33}
.btn-line-dark{border-color:rgba(234,240,236,.45);color:var(--on-dark);background:transparent}
.btn-line-dark:hover{border-color:var(--on-dark);background:rgba(234,240,236,.08)}
.btn[disabled]{opacity:.7;cursor:progress}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
.link{font-weight:600;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;display:inline-flex;gap:8px;align-items:center}
.link:hover{color:var(--amber-ink)}
.dark .link:hover{color:var(--amber)}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

/* header */
.topbar{background:var(--dark);color:var(--on-dark);font-size:14px}
.topbar .wrap{display:flex;justify-content:center;align-items:center;gap:12px;min-height:40px;flex-wrap:wrap;padding-block:6px;text-align:center}
.topbar .tag{font:500 11px var(--mono);letter-spacing:.1em;color:var(--amber);border:1px solid rgba(233,162,59,.5);border-radius:99px;padding:2px 8px}
.topbar a{color:var(--on-dark);font-weight:600}
.topbar a:hover{color:var(--amber)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.brand svg{display:block;height:38px;width:auto}
.brand:hover .lg-plate{opacity:.9}
nav.primary{display:flex;gap:2px;align-items:center}
.nav-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;background:transparent;border-radius:10px;font:500 15px var(--sans);color:var(--ink);cursor:pointer;text-decoration:none;position:relative}
.nav-btn:hover,.nav-btn[aria-expanded="true"]{background:var(--surface-2)}
.nav-btn svg{transition:transform .2s}
.nav-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-btn.active::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;background:var(--amber);border-radius:2px}
.actions{display:flex;align-items:center;gap:6px}
.actions .btn{min-height:44px;padding:0 18px;font-size:15px}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.mega{position:absolute;left:0;right:0;top:100%;padding:0 clamp(16px,4vw,40px) 16px;animation:drop .18s ease-out;z-index:60}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mega-inner{max-width:1240px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px;display:flex;gap:16px;align-items:stretch}
.mega-list{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;align-content:start}
.mega a.mi{display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:12px;text-decoration:none;color:var(--ink);border:1px solid transparent;min-width:0}
.mega a.mi:hover{background:var(--bg);border-color:var(--line)}
.mega a.mi strong{font:600 16px var(--sans);display:block;text-wrap:balance}
.mega a.mi span{font-size:14px;color:var(--muted);line-height:1.45}
.mega .feature{flex:0 0 300px;background:var(--dark);color:var(--on-dark);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.mega .feature p{font-size:15px;line-height:1.5;color:var(--on-dark-2)}
.mega .feature a{color:var(--amber);font-weight:600;text-decoration:none}
.mega .feature a:hover{text-decoration:underline}

/* ticker tape */
.tape{background:var(--dark-2);color:var(--on-dark);overflow:hidden;border-bottom:1px solid var(--dark-line)}
.tape-track{display:flex;width:max-content;animation:tape 60s linear infinite}
.tape:hover .tape-track{animation-play-state:paused}
.tape-item{display:flex;align-items:center;gap:10px;padding:10px 22px;font:400 13px var(--mono);white-space:nowrap;border-right:1px solid var(--dark-line)}
.tape-item .raw{color:var(--on-dark-2)}
.tape-item .tk{color:var(--amber);font-weight:500}
@keyframes tape{to{transform:translateX(-50%)}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);animation:fade .2s ease-out}
.drawer-head{display:flex;justify-content:space-between;align-items:center;height:64px;padding-inline:16px;border-bottom:1px solid var(--line)}
.drawer nav{flex:1;overflow-y:auto;padding:8px 16px}
.acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:60px;background:none;border:0;border-bottom:1px solid var(--line);font:600 18px var(--sans);color:var(--ink);cursor:pointer;text-align:left;padding:0}
.acc-btn svg{transition:transform .2s}
.acc-btn[aria-expanded="true"] svg{transform:rotate(45deg)}
.drawer .sub{display:flex;flex-direction:column;padding:8px 0 16px 14px;border-left:2px solid var(--amber);margin:8px 0 8px}
.drawer .sub a{display:flex;flex-direction:column;padding:10px 0;min-height:48px;text-decoration:none;color:var(--ink)}
.drawer .sub a span{font-size:14px;color:var(--muted)}
.drawer-foot{padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.drawer-foot .btn:first-child{grid-column:1/-1}

/* pages */
.page{animation:fade .35s ease-out}
@keyframes fade{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}

/* hero */
.hero{padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,104px)}
.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.resolver{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.resolver-top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);font:500 12px var(--mono);color:var(--muted);gap:12px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:99px;font:500 12px var(--sans);white-space:nowrap}
.pill.ok{background:var(--pos-soft);color:var(--pos)}
.pill.warn{background:var(--amber-soft);color:var(--amber-ink)}
.pill.mute{background:var(--surface-2);color:var(--ink-2)}
.pill.live::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.resolve-stage{padding:28px 24px;display:grid;gap:14px}
.rs-step{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center}
.rs-lbl{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rs-val{min-height:52px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);transition:background .3s,border-color .3s}
.rs-val.on{background:var(--surface);border-color:var(--ink)}
.rs-val.raw{font:500 15px var(--mono)}
.rs-val.tick{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.rs-val.tick b{font:600 26px var(--mono);color:var(--amber);letter-spacing:.02em}
.caret{display:inline-block;width:9px;height:18px;background:var(--amber);vertical-align:middle;margin-left:2px;animation:blink 1s infinite}
.rs-conn{height:18px;margin-left:106px;border-left:2px dashed var(--line-2)}
.rf{display:flex;flex-direction:column;gap:6px;min-width:0}
.rf-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rs-out{min-height:126px;border:1px dashed var(--line-2);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:10px}
.rs-out.filled{border-style:solid;border-color:transparent;padding:0;display:block}
.rs-res{border-radius:12px;overflow:hidden;animation:pop .35s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
#fBtn{opacity:.4;transition:opacity .25s;cursor:default}
#fBtn.on{opacity:1}

.resolver-foot{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.resolver-foot div{padding:14px 20px;border-right:1px solid var(--line)}
.resolver-foot div:last-child{border-right:0}
.resolver-foot b{display:block;font:600 20px var(--mono);font-variant-numeric:tabular-nums}
.resolver-foot span{font-size:12px;color:var(--muted)}

/* logos */
.logos{border-block:1px solid var(--line)}
.logos .wrap{display:flex;align-items:center;gap:24px 48px;padding-block:28px;flex-wrap:wrap}
.logos ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 40px;flex:1;justify-content:space-between}
.logos li{font:700 19px var(--display);letter-spacing:-.02em;color:var(--muted)}

/* audience switch */
.switch{display:inline-flex;background:var(--surface-2);border-radius:14px;padding:5px;gap:4px;flex-wrap:wrap}
.switch button{min-height:44px;padding:0 20px;border:0;border-radius:10px;background:transparent;font:600 15px var(--sans);color:var(--ink-2);cursor:pointer}
.switch button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px rgba(15,28,23,.12)}
.aud{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;margin-top:36px}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks svg{flex-shrink:0;margin-top:3px;color:var(--pos)}
.dark .checks svg{color:var(--amber)}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,32px)}
a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s,box-shadow .2s}
a.card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:s;border-top:2px solid var(--ink)}
.step{padding:28px 28px 8px 0;display:flex;flex-direction:column;gap:14px;position:relative}
.step + .step{padding-left:28px;border-left:1px solid var(--line)}
.step .n{font:500 13px var(--mono);color:var(--amber-ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:99px;border:1px solid var(--line-2);font:500 13px var(--mono);color:var(--ink-2);background:var(--surface)}
.dark .chip{background:transparent;border-color:var(--dark-line);color:var(--on-dark-2)}

/* tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:28px}
.tab{min-height:48px;padding:0 18px;border:0;background:none;font:600 15px var(--sans);color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--amber)}
.panel{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;animation:fade .3s ease-out}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.stat{border-top:1px solid var(--dark-line);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.stat b{font:600 clamp(44px,5vw,68px)/1 var(--display);letter-spacing:-.03em;color:var(--on-dark)}
.stat:first-child b{color:var(--amber)}
.light .stat{border-top-color:var(--line)}
.light .stat b{color:var(--ink)}
.light .stat:first-child b{color:var(--amber-ink)}

/* quotes */
.quotes{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.quote{scroll-snap-align:start;flex:0 0 min(520px,85%);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.quote blockquote{margin:0;font:500 clamp(19px,2vw,23px)/1.4 var(--display);letter-spacing:-.01em}
.who{display:flex;gap:14px;align-items:center}
.av{width:44px;height:44px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font:600 14px var(--sans);flex-shrink:0}
.qnav{display:flex;gap:8px}
.icon-btn{width:48px;height:48px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.icon-btn:hover{border-color:var(--ink)}

/* faq */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 0;background:none;border:0;text-align:left;font:600 18px/1.35 var(--sans);color:var(--ink);cursor:pointer}
.faq-q:hover{color:var(--amber-ink)}
.faq-q svg{flex-shrink:0;transition:transform .2s}
.faq-q[aria-expanded="true"] svg{transform:rotate(45deg)}
.faq-a{padding:0 48px 24px 0;color:var(--ink-2);max-width:70ch}

/* cta band */
.cta-band{text-align:center}
.cta-band .stack{align-items:center}

/* footer */
footer.site{background:var(--dark);color:var(--on-dark);padding-block:72px 32px}
.foot-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:40px}
footer h4{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
footer ul a{display:inline-flex;min-height:36px;align-items:center;color:var(--on-dark);text-decoration:none;font-size:15px;opacity:.85}
footer ul a:hover{opacity:1;color:var(--amber)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--dark-line);margin-top:56px;padding-top:24px;font-size:14px;color:var(--on-dark-2)}
.foot-bottom a{color:var(--on-dark-2);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.foot-bottom a:hover{color:var(--on-dark)}
.theme-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--dark-line);background:transparent;color:var(--on-dark);font:500 14px var(--sans);cursor:pointer}

/* forms */
.field{display:flex;flex-direction:column;gap:8px}
.field label,.legend{font:600 14px var(--sans);color:var(--ink)}
.opt{font-weight:400;color:var(--muted)}
.input{width:100%;min-height:52px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);padding:12px 16px;font:400 16px var(--sans);color:var(--ink);transition:border-color .15s}
.input:hover{border-color:var(--muted)}
.input:focus{outline:3px solid var(--focus);outline-offset:0;border-color:var(--focus)}
.input::placeholder{color:var(--muted);opacity:.8}
.input[aria-invalid="true"]{border-color:var(--neg);background:var(--neg-soft)}
textarea.input{min-height:120px;resize:vertical;line-height:1.5}
.err{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--neg)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg label{position:relative;min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface);font:600 15px var(--sans);cursor:pointer}
.seg label:hover{border-color:var(--muted)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg input:checked + span{color:var(--on-ink)}
.seg label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.alert{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 16px;font-size:15px}
.alert.bad{background:var(--neg-soft);color:var(--neg)}
.alert.good{background:var(--pos-soft);color:var(--pos)}
.alert.info{background:var(--amber-soft);color:var(--amber-ink)}

.step-n{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--amber);color:#1A1206;display:flex;align-items:center;justify-content:center;font:600 13px var(--mono)}
.ex{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:15px}
.ex span{color:var(--muted)}
.cb{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:15px}
.cb input{width:20px;height:20px;accent-color:var(--amber-ink)}
.tgl{position:relative;display:inline-flex;cursor:pointer;padding:10px 0}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl-t{width:52px;height:30px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line-2);position:relative;transition:background .2s}
.tgl-t::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}
.tgl input:checked + .tgl-t{background:var(--amber);border-color:var(--amber)}
.tgl input:checked + .tgl-t::after{transform:translateX(22px);background:#1A1206}
.tgl input:focus-visible + .tgl-t{outline:3px solid var(--focus);outline-offset:2px}
.out{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);animation:fade .3s ease-out}
.out-head{background:var(--dark);color:var(--on-dark);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.out-head b{font:600 26px var(--display);letter-spacing:-.02em}
.out-tk{font:600 22px var(--mono);color:var(--amber)}
.out-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.out-row{padding:14px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:15px}
.out-row span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}
.out-row b{font-weight:600;text-align:right}
.out-foot{padding:14px 22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;background:var(--bg)}
.g10{gap:10px}.g18{gap:18px}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
table.map{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
table.map th{text-align:left;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg)}
table.map td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
table.map tr:last-child td{border-bottom:0}
table.map td.raw{font:400 13px var(--mono);color:var(--ink-2)}
table.map td.tk{font:600 15px var(--mono)}
table.map tr.new{animation:rowin .45s ease-out both}
@keyframes rowin{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

/* charts */
.chart-card{background:var(--dark);color:var(--on-dark);border-radius:20px;padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}
.chart-card svg text{fill:var(--on-dark-2);font:400 11px var(--mono)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kpi{background:var(--dark-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kpi span{font-size:12px;color:var(--on-dark-2)}
.kpi b{font:500 21px var(--mono);font-variant-numeric:tabular-nums}
.seg-dark{display:inline-flex;background:var(--dark-2);border-radius:10px;padding:4px;gap:2px}
.seg-dark button{min-height:36px;min-width:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--on-dark-2);font:500 13px var(--mono);cursor:pointer}
.seg-dark button[aria-pressed="true"]{background:var(--on-dark);color:var(--dark)}
.legend-row{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--on-dark-2)}
.legend-row i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.tip{position:absolute;pointer-events:none;background:var(--on-dark);color:var(--dark);font:500 12px var(--mono);padding:6px 9px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-120%)}

.article{display:flex;flex-direction:column;gap:22px;font-size:18px;line-height:1.7;color:var(--ink-2)}
.article p{max-width:70ch}
.article h2{margin-top:18px;color:var(--ink);font-size:clamp(22px,2.4vw,30px)}
.article blockquote{margin:8px 0;padding:20px 24px;border-left:3px solid var(--amber);background:var(--surface);border-radius:0 12px 12px 0;font-family:var(--display);font-size:clamp(20px,2.2vw,25px);line-height:1.35;color:var(--ink);letter-spacing:-.01em}
.art-end{margin-top:18px;padding-top:26px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.byline{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--ink)}

/* breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 24px;padding:0;font-size:14px;color:var(--muted)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* misc */
.problem{border-top:2px solid var(--neg);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.problem .n{font:500 12px var(--mono);color:var(--neg)}
.icon-sq{width:48px;height:48px;border-radius:12px;background:var(--dark);color:var(--amber);display:flex;align-items:center;justify-content:center}
.team-photo{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,var(--surface-2),var(--line));display:flex;align-items:center;justify-content:center;font:700 56px var(--display);color:var(--muted);max-width:100%}
.res-card{gap:10px}
.res-card .cover{aspect-ratio:16/9;border-radius:10px;background:var(--dark);position:relative;overflow:hidden;max-width:100%}
.res-card .cover span{position:absolute;left:14px;bottom:12px;font:500 12px var(--mono);color:var(--amber)}
.res-card .cover svg{position:absolute;inset:0;width:100%;height:100%}
.filter{min-height:44px;padding:0 16px;border-radius:99px;border:1.5px solid var(--line-2);background:var(--surface);font:600 14px var(--sans);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.filter .c{font:500 12px var(--mono);opacity:.7}
.modal-bg{position:fixed;inset:0;z-index:90;background:rgba(6,13,10,.6);display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .2s}
.modal{background:var(--surface);border-radius:20px;max-width:620px;width:100%;max-height:90vh;overflow:auto;padding:clamp(22px,4vw,36px);display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}
.empty{border:1.5px dashed var(--line-2);border-radius:16px;padding:40px 24px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.demo-box{display:grid;grid-template-columns:.9fr 1.3fr;gap:24px;align-items:start}
.note{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}

[hidden]{display:none!important}
.card.dark,figure.card.dark{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}
.card.dark .small,.card.dark .body,.card.dark .lead,.card.dark figcaption{color:var(--on-dark-2)}
.card.dark blockquote,.card.dark b,.card.dark strong{color:var(--on-dark)}
.chart-card .small,.chart-card .lead{color:var(--on-dark-2)}
[tabindex="-1"]:focus{outline:none}
[id]{scroll-margin-top:84px}
@media (max-width: 980px){
  nav.primary,.actions .signin{display:none}
  .menu-toggle{display:inline-flex}
  .hero-grid,.aud,.panel,.demo-box{grid-template-columns:1fr}
  .out-body{grid-template-columns:1fr}
  .grid-4,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid > div:first-child{grid-column:1/-1}
  .mega{display:none}
}
@media (max-width: 680px){
  .actions .btn{min-height:44px;padding:0 14px;font-size:14px}
  .topbar .wrap span:nth-child(2){display:none}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step,.step + .step{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .cta-row .btn{flex:1 1 100%}
  .seg{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .rs-step{grid-template-columns:1fr;gap:6px}
  .rf-row{grid-template-columns:1fr}
  .rs-conn{margin-left:18px;height:12px}
  .resolver-foot div{padding:12px 14px}
  .faq-a{padding-right:0}
  .h-xl{font-size:clamp(38px,11vw,52px)}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .tape{overflow-x:auto}
}
