@font-face{font-family:"Oxanium";src:url("../fonts/Oxanium-latin.woff2") format("woff2");font-weight:200 800;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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oxanium";src:url("../fonts/Oxanium-latin-ext.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/JetBrainsMono-500-latin.woff2") format("woff2");font-weight:500;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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/JetBrainsMono-500-latin-ext.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";src:url("../fonts/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Display";src:url("../fonts/InterDisplay-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --intro-d:.6s;
  --bg:#081320;
  --bg-alt:#0b1828;
  --surface:#0f1e31;
  --surface-2:#132539;
  --line:#1d3049;
  --line-strong:#2a4161;
  --text:#e9eef5;
  --muted:#9aaabf;
  --faint:#6f8199;
  --accent:#4d8dff;
  --accent-strong:#2f6fe4;
  --accent-hover:#4a84f0;
  --accent-soft:rgba(77,141,255,.15);
  --accent-ink:#ffffff;
  --azure:#7cc8f2;
  --blue:#1e4fc2;
  --blue-deep:#173a8a;
  --logo-grad:linear-gradient(90deg,#4f9fd3 0%,#6fd3f5 55%,#8ae4fa 100%);
  --danger:#ff8f8f;

  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Oxanium","Inter",ui-sans-serif,system-ui,sans-serif;
  --font-brand:"Inter Display","Inter",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--s9:7rem;
  --r-sm:6px;--r-md:10px;--r-lg:16px;
  --container:72rem;
  --header-h:4.25rem;
  --ease:cubic-bezier(.2,.7,.2,1);
  --focus:0 0 0 2px var(--bg),0 0 0 4px var(--accent);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.6;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;font-weight:600;line-height:1.15;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}
::selection{background:var(--accent-strong);color:var(--accent-ink)}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s4);top:-3rem;z-index:100;background:var(--accent-strong);color:var(--accent-ink);padding:var(--s2) var(--s4);border-radius:var(--r-sm);font-weight:600;text-decoration:none;transition:top .2s var(--ease)}
.skip-link:focus{top:var(--s4)}
main:focus{outline:none}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:max(1rem,env(safe-area-inset-left))}
@media (min-width:48rem){.container{padding-inline:2rem}}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","cv11"}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:2.75rem;padding:0 1.25rem;border-radius:var(--r-sm);border:1px solid transparent;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent-strong);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary:hover{box-shadow:0 8px 28px -8px rgba(47,111,228,.7)}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--muted);background:rgba(255,255,255,.03)}
.btn-line{background:transparent;border-color:var(--line-strong);color:var(--text);width:100%}
.btn-line:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{min-height:2.25rem;padding:0 1rem;font-size:.875rem}
.btn-lg{min-height:3.25rem;padding:0 1.75rem;font-size:1rem}
.btn[disabled]{opacity:.6;cursor:progress}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,19,32,.78);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s var(--ease)}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:var(--s5)}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-mark{width:26px;height:30px;flex:none}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:-.015em;color:#fff}
.brand-accent{background:var(--logo-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.site-nav{display:flex;align-items:center;gap:var(--s5)}
.nav-list{display:flex;gap:var(--s1)}
.nav-list a{display:block;padding:.45rem .7rem;border-radius:var(--r-sm);color:var(--muted);text-decoration:none;font-size:.925rem;font-weight:500;transition:color .15s var(--ease)}
.nav-list a:hover,.nav-list a[aria-current="true"]{color:var(--text)}
.nav-list a[aria-current="true"]{box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
.lang-switch{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:2px}
.lang-switch button{min-width:2.25rem;min-height:1.9rem;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer}
.lang-switch button[aria-pressed="true"]{background:var(--surface-2);color:var(--text)}

.nav-toggle{display:none;position:relative;width:2.75rem;height:2.75rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:transparent;cursor:pointer}
.nav-toggle-bar,.nav-toggle-bar::before,.nav-toggle-bar::after{position:absolute;left:50%;width:18px;height:2px;margin-left:-9px;background:var(--text);border-radius:2px;transition:transform .25s var(--ease),opacity .2s}
.nav-toggle-bar{top:50%;margin-top:-1px}
.nav-toggle-bar::before,.nav-toggle-bar::after{content:"";left:0;margin-left:0}
.nav-toggle-bar::before{transform:translateY(-6px)}
.nav-toggle-bar::after{transform:translateY(6px)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::before{transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar::after{transform:rotate(-45deg)}

@media (max-width:60rem){
  .js .nav-toggle{display:block}
  .js .site-nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:var(--s4);padding:var(--s5) 1rem var(--s6);background:var(--bg);border-bottom:1px solid var(--line);transform:translateY(-.5rem);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
  .js .site-nav.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
  .js .nav-list{flex-direction:column}
  .js .nav-list a{padding:.8rem .25rem;font-size:1.05rem;border-bottom:1px solid var(--line);border-radius:0}
  .js .nav-list a[aria-current="true"]{box-shadow:inset 3px 0 0 var(--accent);padding-left:.75rem}
  .js .lang-switch{align-self:flex-start}
  .js .site-nav .btn{min-height:2.75rem}
  html:not(.js) .header-inner{height:auto;flex-wrap:wrap;padding-block:var(--s3)}
  html:not(.js) .site-nav{flex-wrap:wrap}
  html:not(.js) .nav-list{flex-wrap:wrap}
}

/* Hero */
.hero{position:relative;padding-block:var(--s7) var(--s8);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 70%)}
.hero-grid{display:grid;gap:var(--s7);align-items:center}
@media (min-width:60rem){.hero{padding-block:var(--s8) var(--s8)}.hero-grid{grid-template-columns:1.05fr .95fr;gap:var(--s8)}}

.status-pill{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .85rem .35rem .7rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.85rem;color:var(--muted);background:rgba(15,30,49,.6)}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.6}80%,100%{transform:scale(2.8);opacity:0}}

.display{margin-top:var(--s5);font-family:var(--font-display);font-size:clamp(2.4rem,1.4rem + 4.4vw,4.25rem);letter-spacing:-.035em;line-height:1.02;max-width:14ch}
.lead{margin-top:var(--s5);max-width:36rem;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.6;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.hero-facts{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-top:var(--s6);font-size:.9rem;color:var(--muted)}
.hero-facts li{display:inline-flex;align-items:center;gap:.5rem}
.hero-facts li::before{content:"";width:14px;height:14px;flex:none;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Report figure */
.report{margin:0;padding:var(--s5);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:0 40px 80px -40px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.02) inset}
@media (min-width:36rem){.report{padding:var(--s6)}}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);padding-bottom:var(--s5);border-bottom:1px solid var(--line)}
.report-kicker{font-size:.8rem;color:var(--faint)}
.report-title{margin-top:.15rem;font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.01em}
.report-meta{margin-top:.15rem;font-size:.875rem;color:var(--muted)}
.badge{flex:none;display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}
.badge-done{color:var(--accent);background:var(--accent-soft)}
.badge-done::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

.report-kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);padding-block:var(--s5);border-bottom:1px solid var(--line)}
.kpi-label{font-size:.8rem;color:var(--muted)}
.kpi-value{display:flex;align-items:baseline;gap:.4rem;margin-top:.35rem;font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.kpi-unit{font-family:var(--font);font-size:.85rem;font-weight:500;color:var(--muted);letter-spacing:0}
.risk-tag{align-self:center;padding:.1rem .45rem;border-radius:4px;font-family:var(--font);font-size:.72rem;font-weight:600;letter-spacing:.01em;color:var(--accent-ink);background:var(--accent-strong)}
.meter{position:relative;height:6px;margin-top:.6rem;border-radius:3px;background:linear-gradient(90deg,#173a5c 0 40%,var(--blue-deep) 40% 70%,var(--blue) 70%);opacity:.9;overflow:hidden}
.meter-fill{position:absolute;left:78%;top:-3px;width:3px;height:12px;border-radius:2px;background:var(--text);box-shadow:0 0 0 2px var(--surface-2)}

.dist{padding-top:var(--s5)}
.dist-chart{width:100%;height:auto;margin-top:var(--s3);overflow:visible}
.dist-chart .axis{stroke:var(--line-strong);stroke-width:1}
.dist-chart .stop-a{stop-color:var(--accent);stop-opacity:.32}
.dist-chart .stop-b{stop-color:var(--accent);stop-opacity:0}
.dist-area{fill:url(#distFill)}
.dist-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.mark line{stroke:var(--faint);stroke-width:1;stroke-dasharray:2 3}
.mark circle{fill:var(--surface);stroke:var(--accent);stroke-width:1.5}
.mark text{fill:var(--muted);font-family:var(--font);font-size:10px;font-weight:500;text-anchor:middle}
.mark-median line{stroke:var(--accent);stroke-dasharray:none;opacity:.55}
.mark-median text{fill:var(--text);font-weight:600}
.mark-tail circle{stroke:var(--text)}
.mark-tail text{fill:var(--text)}

.pct-table{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);margin-top:var(--s4)}
.pct-table>div{padding:.55rem .6rem;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(8,19,32,.4)}
.pct-table dt{font-size:.72rem;font-weight:600;color:var(--faint)}
.pct-table dd{margin-top:.1rem;font-size:.95rem;font-weight:600;white-space:nowrap}
.pct-table .is-median{border-color:rgba(77,141,255,.45);background:var(--accent-soft)}
.pct-table .is-median dt{color:var(--accent)}
.pct-table .is-tail dt{color:var(--text)}
@media (max-width:26rem){.pct-table{grid-template-columns:repeat(2,1fr)}}

.report-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2) var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.report-run{color:var(--faint)}
.report-caption{margin-top:var(--s3);font-size:.78rem;color:var(--faint);font-style:italic}

/* Hero orchestrated reveal */
.dist-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s var(--ease) calc(.3s + var(--intro-d)) forwards}
.dist-area,.mark,.pct-table>div{opacity:0}
.dist-area{animation:fade .8s var(--ease) calc(1.1s + var(--intro-d)) forwards}
.mark{animation:fade .45s var(--ease) forwards}
.mark:nth-child(1){animation-delay:calc(1.2s + var(--intro-d))}
.mark:nth-child(2){animation-delay:calc(1.35s + var(--intro-d))}
.mark:nth-child(3){animation-delay:calc(1.5s + var(--intro-d))}
.mark:nth-child(4){animation-delay:calc(1.65s + var(--intro-d))}
.pct-table>div{animation:rise .5s var(--ease) forwards}
.pct-table>div:nth-child(1){animation-delay:calc(1.25s + var(--intro-d))}
.pct-table>div:nth-child(2){animation-delay:calc(1.4s + var(--intro-d))}
.pct-table>div:nth-child(3){animation-delay:calc(1.55s + var(--intro-d))}
.pct-table>div:nth-child(4){animation-delay:calc(1.7s + var(--intro-d))}
.meter-fill{animation:meter 1.2s var(--ease) calc(.4s + var(--intro-d)) backwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes meter{from{left:0}}

/* Proof strip */
.proof{display:grid;grid-template-columns:repeat(2,1fr);margin-top:var(--s8);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof>div{padding:var(--s5) var(--s4) var(--s5) 0}
.proof>div+div{padding-left:var(--s4)}
.proof>div:nth-child(3){padding-left:0}
.proof>div:nth-child(n+3){border-top:1px solid var(--line)}
.proof>div:nth-child(even){border-left:1px solid var(--line)}
.proof dt{font-family:var(--font-display);font-size:clamp(1.75rem,1.3rem + 1.6vw,2.4rem);font-weight:600;letter-spacing:-.03em;line-height:1}
.proof dd{margin-top:.5rem;font-size:.9rem;color:var(--muted);max-width:18ch}
@media (min-width:48rem){
  .proof{grid-template-columns:repeat(4,1fr)}
  .proof>div,.proof>div+div,.proof>div:nth-child(3){padding:var(--s6) var(--s5)}
  .proof>div:first-child{padding-left:0}
  .proof>div:nth-child(n+3){border-top:0}
  .proof>div+div{border-left:1px solid var(--line)}
}

/* Sections */
.section{padding-block:var(--s8)}
@media (min-width:60rem){.section{padding-block:var(--s9)}}
.section-alt{background:var(--bg-alt);border-block:1px solid var(--line)}
.section-head{max-width:44rem;margin-bottom:var(--s7)}
.kicker{font-size:.9rem;font-weight:600;color:var(--accent)}
.section-head h2,.apply-intro h2{margin-top:var(--s3);font-family:var(--font-display);font-size:clamp(1.85rem,1.3rem + 2.2vw,2.85rem);letter-spacing:-.03em;line-height:1.08}
.section-lead{margin-top:var(--s4);font-size:1.075rem;color:var(--muted);max-width:40rem}

/* Flow */
.flow{display:grid;gap:var(--s4);counter-reset:flow}
@media (min-width:56rem){.flow{grid-template-columns:repeat(3,1fr);gap:0}}
.flow-step{position:relative;padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
@media (min-width:56rem){
  .flow-step{border-radius:0}
  .flow-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
  .flow-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0}
  .flow-step+.flow-step{border-left:0}
  .flow-step:not(:last-child)::after{content:"";position:absolute;z-index:1;top:var(--s6);right:-9px;width:16px;height:16px;background:var(--surface);border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);transform:translateY(.55rem) rotate(45deg)}
}
.flow-step-out{background:linear-gradient(180deg,rgba(77,141,255,.08),var(--surface) 60%);border-color:rgba(77,141,255,.35)}
@media (min-width:56rem){.flow-step-out{border-left:1px solid rgba(77,141,255,.35)!important}}
.flow-num{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--line-strong);font-size:.875rem;font-weight:600;color:var(--muted)}
.flow-step-out .flow-num{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink)}
.flow-step h3{margin-top:var(--s5);font-size:1.2rem;letter-spacing:-.01em}
.flow-step p{margin-top:var(--s3);color:var(--muted);font-size:.975rem}

.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--s5)}
.chips li{padding:.2rem .6rem;border-radius:999px;border:1px solid var(--line-strong);font-size:.8rem;color:var(--muted);white-space:nowrap}

/* Outputs */
.split{display:grid;gap:var(--s6)}
@media (min-width:60rem){
  .split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s8)}
  .section-head-sticky{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start;margin-bottom:0}
}
.output-list{display:grid;border-top:1px solid var(--line)}
@media (min-width:40rem){.output-list{grid-template-columns:1fr 1fr;column-gap:var(--s6)}}
.output-list>div{padding-block:var(--s5);border-bottom:1px solid var(--line)}
.output-list dt{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:1.02rem}
.output-list dt::before{content:"";width:6px;height:6px;flex:none;border-radius:1px;background:var(--accent);transform:rotate(45deg)}
.output-list dd{margin-top:.35rem;padding-left:calc(6px + .6rem);color:var(--muted);font-size:.95rem}

/* Stack */
.stack{display:grid;gap:var(--s4)}
@media (min-width:40rem){.stack{grid-template-columns:repeat(2,1fr)}}
@media (min-width:60rem){.stack{grid-template-columns:repeat(3,1fr)}}
.layer{display:flex;flex-direction:column;padding:var(--s5) var(--s5) var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color .2s var(--ease)}
.layer:hover{border-color:var(--line-strong)}
.layer h3{font-size:1.1rem}
.layer p{margin-top:var(--s2);color:var(--muted);font-size:.95rem;flex:1}
.layer-core{border-color:rgba(77,141,255,.4);background:linear-gradient(160deg,rgba(77,141,255,.09),var(--surface) 55%)}
.tech{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:var(--s4)}
.tech li,.tech-inline{padding:.15rem .5rem;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);font-size:.78rem;font-weight:500;color:var(--text)}
.infra{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:var(--s5);font-size:.9rem;color:var(--muted)}
.infra>span:first-child{margin-right:.25rem}

/* Method */
.method-grid{display:grid;gap:var(--s6)}
@media (min-width:60rem){.method-grid{grid-template-columns:1.1fr .9fr;gap:var(--s8)}}
.principles{display:grid;gap:0;align-content:start;border-top:1px solid var(--line)}
@media (min-width:40rem){.principles{grid-template-columns:1fr 1fr;column-gap:var(--s6)}}
.principles li{padding-block:var(--s5);border-bottom:1px solid var(--line)}
.principles h3{font-size:1.05rem}
.principles p{margin-top:.4rem;color:var(--muted);font-size:.95rem}
.calib{padding:var(--s6);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface)}
.calib-title{font-weight:600}
.calib-bars{display:grid;gap:var(--s3);margin-top:var(--s4)}
.calib-row{display:grid;grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:var(--s3);font-size:.875rem;color:var(--muted)}
.calib-row .num{text-align:right;color:var(--text);font-weight:600}
.calib-track{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.calib-fill{display:block;height:100%;border-radius:5px;transform-origin:left;transition:transform 1s var(--ease)}
.calib-obs{width:81%;background:var(--accent)}
.calib-exp{width:80%;background:var(--line-strong)}
.js .calib-fill{transform:scaleX(0)}
.js .calib.is-visible .calib-fill{transform:none}
.js .calib.is-visible .calib-exp{transition-delay:.15s}
.limits{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line)}
.limits h3{font-size:1.05rem}
.limits p{margin-top:.4rem;color:var(--muted);font-size:.95rem}
.limits ul{display:grid;gap:.4rem;margin-top:var(--s4)}
.limits li{display:flex;align-items:center;gap:.6rem;font-size:.9rem}
.limits li::before{content:"";width:10px;height:2px;flex:none;background:var(--blue);border-radius:1px}

/* Team */
.team-grid{display:grid;gap:var(--s6)}
@media (min-width:60rem){.team-grid{grid-template-columns:1fr 1fr;gap:var(--s8);align-items:start}}
.founder{padding:var(--s6);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface)}
.founder-id{display:flex;align-items:center;gap:var(--s4)}
.avatar{display:grid;place-items:center;width:3.25rem;height:3.25rem;flex:none;border-radius:50%;background:var(--accent-strong);color:var(--accent-ink);font-family:var(--font-display);font-weight:600;font-size:1.05rem}
.founder h3{font-size:1.15rem}
.founder-role{font-size:.9rem;color:var(--muted)}
.quote{margin:var(--s5) 0 0;padding-left:var(--s4);border-left:2px solid var(--accent)}
.quote p{font-size:1.08rem;line-height:1.65}
.link-ext{display:inline-flex;align-items:center;gap:.5rem;margin-top:var(--s5);font-weight:600;font-size:.925rem;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:border-color .15s,color .15s}
.link-ext:hover{color:var(--accent);border-color:var(--accent)}
.link-ext svg{width:16px;height:16px;fill:currentColor}
.terms{display:grid;gap:0;border-top:1px solid var(--line)}
.terms li{position:relative;padding:var(--s5) 0 var(--s5) var(--s6);border-bottom:1px solid var(--line)}
.terms li::before{content:"";position:absolute;left:.35rem;top:calc(var(--s5) + .45rem);width:9px;height:9px;border-radius:50%;border:2px solid var(--line-strong)}
.terms .terms-now::before{border-color:var(--accent);background:var(--accent)}
.terms h3{font-size:1.05rem}
.terms p{margin-top:.35rem;color:var(--muted);font-size:.95rem}

/* Roles */
.roles{display:grid;gap:var(--s4);align-items:start}
@media (min-width:48rem){.roles{grid-template-columns:repeat(2,1fr)}}
.role{display:flex;flex-direction:column;padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color .2s var(--ease),transform .2s var(--ease)}
.role:hover{border-color:var(--line-strong)}
.role:focus-within{border-color:var(--accent)}
.role-area{display:flex;justify-content:space-between;gap:var(--s3);font-size:.85rem;font-weight:600;color:var(--accent)}
.role-loc{font-weight:500;color:var(--muted)}
.role h3{margin-top:var(--s3);font-size:1.3rem;letter-spacing:-.01em}
.role>p:not(.role-area){margin-top:var(--s3);color:var(--muted);font-size:.975rem;flex:1}
.role .chips{margin-top:var(--s4)}
.role .btn{margin-top:var(--s5)}

/* Apply */
.apply{position:relative}
.apply-grid{display:grid;gap:var(--s7)}
@media (min-width:60rem){.apply-grid{grid-template-columns:.85fr 1.15fr;gap:var(--s8);align-items:start}.apply-intro{position:sticky;top:calc(var(--header-h) + 2rem)}}
.steps{display:grid;gap:var(--s4);margin-top:var(--s6);counter-reset:step}
.steps li{position:relative;padding-left:2.75rem;counter-increment:step;color:var(--muted)}
.steps li::before{content:counter(step);position:absolute;left:0;top:-.1rem;display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:50%;border:1px solid var(--line-strong);font-size:.85rem;font-weight:600;color:var(--text)}
.apply-alt{margin-top:var(--s6);font-size:.925rem;color:var(--muted)}
.apply-alt a{color:var(--text);text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.apply-alt a:hover{color:var(--accent);text-decoration-color:var(--accent)}

.form{position:relative;display:grid;gap:var(--s5);padding:var(--s5);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface)}
@media (min-width:40rem){.form{grid-template-columns:1fr 1fr;padding:var(--s6);column-gap:var(--s4)}.field-full{grid-column:1/-1}}
.field{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin:0;padding:0;border:0}
.field label,.field legend{font-size:.9rem;font-weight:500}
.field legend{padding:0;margin-bottom:.4rem}
.optional{font-weight:400;color:var(--faint);font-size:.8rem}
.field input[type=text],.field input[type=email],.field input[type=url],.field select,.field textarea{width:100%;min-height:2.875rem;padding:.65rem .85rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:1rem;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.field textarea{resize:vertical;min-height:9rem;line-height:1.55}
.field select{appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%239aaabf' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--faint)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,141,255,.18)}
.field input::placeholder{color:var(--faint)}
.field [aria-invalid="true"]{border-color:var(--danger)}
.field [aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(255,143,143,.2)}
.field-error{min-height:0;font-size:.825rem;color:var(--danger)}
.field-error:empty{display:none}
.field-meta{display:flex;justify-content:space-between;gap:var(--s3)}
.counter{margin-left:auto;font-size:.8rem;color:var(--faint)}
.counter.is-near{color:var(--accent)}

.segmented{display:flex;flex-wrap:wrap;gap:.5rem}
.segmented label{flex:1 1 auto}
.segmented label{position:relative;display:flex;align-items:center;gap:.6rem;min-height:2.875rem;padding:.6rem .85rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s,background-color .15s}
.segmented label:hover{border-color:var(--faint)}
.segmented input{appearance:none;width:16px;height:16px;flex:none;margin:0;border:1.5px solid var(--faint);border-radius:50%;display:grid;place-items:center}
.segmented input::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .15s var(--ease)}
.segmented input:checked{border-color:var(--accent)}
.segmented input:checked::after{transform:scale(1)}
.segmented label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.segmented input:focus-visible{box-shadow:var(--focus)}
fieldset[aria-invalid="true"] .segmented label{border-color:rgba(255,143,143,.6)}

.check{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;font-weight:400!important;color:var(--muted);cursor:pointer}
.check input{appearance:none;width:20px;height:20px;flex:none;margin:.1rem 0 0;border:1.5px solid var(--faint);border-radius:5px;background:var(--bg);display:grid;place-items:center;cursor:pointer;transition:background-color .15s,border-color .15s}
.check input::after{content:"";width:10px;height:6px;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .15s var(--ease)}
.check input:checked{background:var(--accent-strong);border-color:var(--accent-strong)}
.check input:checked::after{transform:translateY(-1px) rotate(-45deg) scale(1)}
.check input[aria-invalid="true"]{border-color:var(--danger)}
.check a{color:var(--text);text-underline-offset:3px}
.check a:hover{color:var(--accent)}

.form-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.form-note{font-size:.825rem;color:var(--faint)}

.form-done{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);padding:var(--s6);text-align:center;border-radius:inherit;background:var(--surface)}
.form-done[hidden]{display:none}
.form-done:focus{outline:none}
.form-done h3{font-size:1.35rem;max-width:22ch}
.form-done>p{max-width:34rem;color:var(--muted)}
.done-addr a{font-weight:600;color:var(--text)}
.done-icon{width:56px;height:56px}
.done-icon circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5}
.done-icon path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:check .5s var(--ease) .15s forwards}
@keyframes check{to{stroke-dashoffset:0}}
.done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin-top:var(--s3)}
.done-status{min-height:1.25rem;font-size:.875rem;color:var(--accent)}
.form.is-done>:not(.form-done){visibility:hidden}

/* Footer */
.site-footer{padding-block:var(--s7) var(--s6);border-top:1px solid var(--line);background:var(--bg)}
.footer-inner{display:grid;gap:var(--s6)}
@media (min-width:48rem){.footer-inner{grid-template-columns:1fr auto;align-items:start}}
.footer-brand p{margin-top:var(--s3);max-width:30rem;font-size:.9rem;color:var(--muted)}
.footer-nav{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);font-size:.9rem}
@media (min-width:48rem){.footer-nav{flex-direction:column;align-items:flex-end;gap:var(--s2)}}
.footer-nav a{color:var(--muted);text-decoration:none}
.footer-nav a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.copyright{grid-column:1/-1;padding-top:var(--s5);border-top:1px solid var(--line);font-size:.825rem;color:var(--faint)}

/* Privacy page */
.legal{padding-block:var(--s7) var(--s8)}
.legal .container{max-width:46rem}
.legal h1{font-family:var(--font-display);font-size:clamp(1.9rem,1.4rem + 2vw,2.6rem);letter-spacing:-.03em}
.legal .legal-sub{margin-top:var(--s3);color:var(--muted)}
.legal h2{margin-top:var(--s7);padding-top:var(--s6);border-top:1px solid var(--line);font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.02em}
.legal h3{margin-top:var(--s6);font-size:1.075rem}
.legal p,.legal li{margin-top:var(--s2);color:var(--muted)}
.legal ul{list-style:disc;padding-left:1.25rem}
.legal a{color:var(--text);text-underline-offset:3px}
.legal a:hover{color:var(--accent)}
.legal .updated{margin-top:var(--s6);font-size:.875rem;color:var(--faint)}
.back-link{display:inline-flex;margin-bottom:var(--s6);font-size:.9rem;font-weight:500;color:var(--muted);text-decoration:none}
.back-link:hover{color:var(--text)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
@media (forced-colors:active){
  .btn,.lang-switch button[aria-pressed="true"]{border:1px solid ButtonText}
  .dist-line{stroke:CanvasText}
  .brand-accent{color:CanvasText;background:none}
}
@media print{
  .site-header,.hero::before,.form,.apply-alt{display:none}
  body{background:#fff;color:#000}
}

/* Scroll reveal (enabled by JS only) */
.reveal-on .reveal{opacity:0;translate:0 18px;transition:opacity .7s var(--ease),translate .7s var(--ease)}
.reveal-on .reveal.is-in{opacity:1;translate:0 0}
.reveal-on .reveal:nth-child(2){transition-delay:.08s}
.reveal-on .reveal:nth-child(3){transition-delay:.16s}
.reveal-on .reveal:nth-child(4){transition-delay:.24s}
.reveal-on .reveal:nth-child(5){transition-delay:.32s}
.reveal-on .reveal:nth-child(6){transition-delay:.4s}

.inline-link{color:var(--text);text-underline-offset:3px;text-decoration-color:var(--line-strong)}
.inline-link:hover{color:var(--accent);text-decoration-color:var(--accent)}

/* Attack chain */
.chain{margin:var(--s7) 0 0;padding:var(--s6);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.chain-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--s4)}
.chain-title{font-weight:600;font-size:1.1rem}
.chain-sub{margin-top:.25rem;color:var(--muted);font-size:.95rem;max-width:38rem}
.chain-track{--p:0;position:relative;display:grid;gap:var(--s5);margin-top:var(--s6);padding-left:2rem}
.chain-track::before,.chain-track::after{content:"";position:absolute;left:.55rem;top:.5rem;width:2px;border-radius:2px}
.chain-track::before{bottom:.5rem;background:var(--line-strong)}
.chain-track::after{height:calc((100% - 1rem) * var(--p));background:linear-gradient(180deg,var(--blue),var(--accent));transition:height .6s var(--ease),width .6s var(--ease)}
.chain-node{position:relative}
.chain-dot{position:absolute;left:-2rem;top:.15rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong);transition:border-color .35s var(--ease),background-color .35s var(--ease),box-shadow .35s var(--ease)}
.chain-step{font-weight:600;color:var(--muted);transition:color .35s var(--ease)}
.chain-detail{margin-top:.2rem;font-size:.9rem;color:var(--faint);transition:color .35s var(--ease)}
.chain-node.is-on .chain-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 6px rgba(77,141,255,.15)}
.chain-node.is-on .chain-step{color:var(--text)}
.chain-node.is-on .chain-detail{color:var(--muted)}
.chain-node.is-current .chain-dot{animation:ping 1.2s var(--ease) infinite}
.chain-money{font-weight:600;color:var(--text);font-size:1.05rem}
.chain-node-impact.is-on .chain-money{color:var(--accent)}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(77,141,255,.45)}100%{box-shadow:0 0 0 12px rgba(77,141,255,0)}}
@media (min-width:56rem){
  .chain-track{grid-template-columns:repeat(5,1fr);gap:var(--s4);padding-left:0;padding-top:2.25rem}
  .chain-track::before,.chain-track::after{left:.55rem;top:.55rem;height:2px;width:auto}
  .chain-track::before{right:calc(20% - .55rem);bottom:auto}
  .chain-track::after{height:2px;width:calc((80% - .55rem) * var(--p) + 0px)}
  .chain-dot{left:0;top:-2.25rem}
}
.chain .report-caption{margin-top:var(--s5)}

/* Monte Carlo */
.sim{display:grid;gap:var(--s6);margin:var(--s7) 0 0;padding:var(--s6);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface)}
@media (min-width:56rem){.sim{grid-template-columns:.9fr 1.1fr;align-items:center;gap:var(--s7)}}
.sim-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.sim-title{font-weight:600;font-size:1.15rem}
.sim-text{color:var(--muted);font-size:.975rem}
.sim-stats{display:grid;grid-template-columns:repeat(3,auto);gap:var(--s5);padding-block:var(--s2)}
.sim-stats dt{font-size:.78rem;color:var(--faint)}
.sim-stats dd{margin-top:.15rem;font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:-.01em}
.sim-stats div:first-child dd{color:var(--accent)}
.sim-canvas-wrap{min-width:0}
.sim-canvas{width:100%;height:auto;aspect-ratio:640/300;max-width:100%}
.sim-axis{display:flex;justify-content:space-between;margin-top:.4rem;padding-inline:2px;font-size:.75rem;color:var(--faint)}
.sim-axis span:nth-child(2){transform:translateX(-12%)}

/* Why now */
.regs{display:grid;gap:var(--s4)}
@media (min-width:56rem){.regs{grid-template-columns:repeat(3,1fr)}}
.reg{display:flex;flex-direction:column;padding:var(--s6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color .2s var(--ease),transform .25s var(--ease)}
.reg:hover{border-color:rgba(77,141,255,.45);transform:translateY(-2px)}
.reg-name{display:inline-flex;align-self:flex-start;padding:.15rem .55rem;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.85rem}
.reg-fig{margin-top:var(--s4);font-size:.9rem;color:var(--muted)}
.reg-fig .num{display:block;margin-top:.1rem;font-family:var(--font-display);font-size:clamp(1.9rem,1.5rem + 1.4vw,2.5rem);font-weight:600;letter-spacing:-.03em;color:var(--text);line-height:1.1}
.reg-sub{margin-top:.35rem;font-size:.9rem;color:var(--muted)}
.reg-text{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line);font-size:.925rem;color:var(--muted)}
.why-note{margin-top:var(--s5);font-size:.875rem;color:var(--faint);max-width:44rem}

/* Roadmap */
.timeline{position:relative;display:grid;gap:var(--s5);padding-left:2rem}
.timeline::before{content:"";position:absolute;left:.5rem;top:.6rem;bottom:.6rem;width:2px;background:linear-gradient(180deg,var(--accent) 0 38%,var(--line-strong) 38%)}
.tl-item{position:relative}
.tl-item::before{content:"";position:absolute;left:-2rem;top:.35rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--bg);border:2px solid var(--line-strong)}
.tl-item.is-done::before{background:var(--accent);border-color:var(--accent)}
.tl-item.is-now::before{background:var(--bg);border-color:var(--accent);animation:ping 1.6s var(--ease) infinite}
.tl-state{font-size:.8rem;font-weight:600;color:var(--faint)}
.tl-item.is-done .tl-state,.tl-item.is-now .tl-state{color:var(--accent)}
.tl-item h3{margin-top:.2rem;font-size:1.1rem}
.tl-item p:last-child{margin-top:.35rem;color:var(--muted);font-size:.95rem}
@media (min-width:56rem){
  .timeline{grid-template-columns:repeat(4,1fr);gap:var(--s5);padding-left:0;padding-top:2.25rem}
  .timeline::before{left:.5rem;right:calc(25% - .5rem);top:.5rem;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--accent) 0 36%,var(--line-strong) 36%)}
  .tl-item::before{left:0;top:-2.25rem}
}

/* Role details */
.role-more{margin-top:var(--s5);border-top:1px solid var(--line)}
.role-more summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-block:var(--s3);font-weight:600;font-size:.925rem;cursor:pointer;list-style:none;border-radius:var(--r-sm)}
.role-more summary::-webkit-details-marker{display:none}
.role-more summary::after,.faq summary::after{content:"";width:9px;height:9px;flex:none;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.role-more[open] summary::after,.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.role-more summary:hover{color:var(--accent)}
.role-more-body{display:grid;gap:var(--s4);padding-bottom:var(--s2);animation:rise .35s var(--ease)}
@media (min-width:36rem){.role-more-body{grid-template-columns:1fr 1fr}}
.role-more-t{font-size:.8rem;font-weight:600;color:var(--accent)}
.role-more ul{display:grid;gap:.4rem;margin-top:.5rem}
.role-more li{position:relative;padding-left:1rem;font-size:.9rem;color:var(--muted)}
.role-more li::before{content:"";position:absolute;left:0;top:.6rem;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.role .btn{margin-top:var(--s4)}

/* Offer */
.offer{display:grid;gap:var(--s5)}
@media (min-width:40rem){.offer{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.offer{grid-template-columns:repeat(4,1fr)}}
.offer li{padding-top:var(--s5);border-top:2px solid var(--line)}
.offer li:hover{border-top-color:var(--accent)}
.offer-icon{width:28px;height:28px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.offer h3{margin-top:var(--s4);font-size:1.1rem}
.offer p{margin-top:.4rem;color:var(--muted);font-size:.95rem}

/* FAQ */
.faq-grid{display:grid;gap:var(--s6)}
@media (min-width:60rem){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:var(--s8)}.faq-grid .section-head{margin-bottom:0}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-block:var(--s5);font-weight:600;font-size:1.02rem;cursor:pointer;list-style:none;border-radius:var(--r-sm);transition:color .15s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq details p{padding-bottom:var(--s5);color:var(--muted);max-width:40rem;animation:rise .35s var(--ease)}

/* Scroll progress */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--blue),var(--accent));transform:scaleX(var(--sp,0));transform-origin:left;pointer-events:none}

.hero::after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:30%;background:linear-gradient(transparent,var(--bg));pointer-events:none}

/* Headline word reveal */
.words .w{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(8px);animation:wordIn .9s var(--ease) forwards;animation-delay:calc(var(--i) * 75ms + 120ms)}
.hero .words .w{background:linear-gradient(110deg,var(--text) 40%,#a9c8ff 50%,var(--text) 60%) 100% 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.08em;animation:wordIn .9s var(--ease) forwards,shine 1.6s var(--ease) forwards;animation-delay:calc(var(--i) * 75ms + 120ms + var(--intro-d)),calc(var(--i) * 90ms + 1.3s + var(--intro-d))}
@keyframes shine{from{background-position:100% 0}to{background-position:0 0}}
@keyframes wordIn{to{opacity:1;transform:none;filter:blur(0)}}
.hero-copy>:not(h1){animation:rise .8s var(--ease) both}
.hero-copy>.status-pill{animation-delay:var(--intro-d)}
.hero-copy>.lead{animation-delay:calc(.55s + var(--intro-d))}
.hero-copy>.hero-actions{animation-delay:calc(.7s + var(--intro-d))}
.hero-copy>.hero-facts{animation-delay:calc(.85s + var(--intro-d))}
.report{animation:riseT .9s var(--ease) calc(.2s + var(--intro-d)) both}
@keyframes riseT{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}

/* Report tilt + glare */
.report{position:relative;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.report.is-tilting{transition:transform .12s linear;will-change:transform}
.report::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(120,170,255,.10),transparent 60%);opacity:0;transition:opacity .4s var(--ease)}
.report.is-tilting::after{opacity:1}
.report.is-tilting{box-shadow:0 50px 90px -40px rgba(0,0,0,.8),0 0 0 1px rgba(77,141,255,.18)}

/* Cursor spotlight border */
.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:-1px;z-index:1;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(240px circle at var(--mx,-999px) var(--my,-999px),rgba(77,141,255,.85),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s var(--ease)}
.spot:hover::before{opacity:1}
.spot>*{position:relative;z-index:2}
.spot{background-image:radial-gradient(360px circle at var(--mx,-999px) var(--my,-999px),rgba(77,141,255,.06),transparent 60%)}
.layer-core.spot,.flow-step-out.spot{background-image:radial-gradient(360px circle at var(--mx,-999px) var(--my,-999px),rgba(77,141,255,.08),transparent 60%),linear-gradient(160deg,rgba(77,141,255,.09),var(--surface) 55%)}

/* Primary button shine */
.btn-primary{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-primary:hover{box-shadow:0 8px 28px -8px rgba(77,141,255,.6)}

/* Ticker */
.ticker{margin-top:var(--s6);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ticker-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker ul{display:flex;gap:var(--s3);padding-right:var(--s3)}
.ticker li{padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:500;color:var(--muted);white-space:nowrap;background:rgba(15,30,49,.5)}
.ticker li:nth-child(3n+1){color:var(--accent);border-color:rgba(77,141,255,.3)}
@keyframes marquee{to{transform:translateX(-50%)}}

@media (prefers-reduced-motion:reduce){
  .words .w{opacity:1;transform:none;filter:none}
  .report{transform:none}
  .ticker-track{animation:none;flex-wrap:wrap;width:auto}
  .ticker ul[aria-hidden]{display:none}
}

/* Cursor glow */
.cursor-glow{position:fixed;left:0;top:0;z-index:60;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(77,141,255,.075),transparent 62%);opacity:0;transform:translate3d(var(--cx,-999px),var(--cy,-999px),0);transition:opacity .4s var(--ease);will-change:transform}
.cursor-glow.is-on{opacity:1}

/* Section headings */
.reveal-on .section-head .words .w{animation-play-state:paused}
.reveal-on .section-head.is-in .words .w{animation-play-state:running}
.kicker.is-scrambling{font-variant-numeric:tabular-nums;color:var(--blue)}

/* Line draws */
.output-list>div,.principles li{position:relative}
.reveal-on .output-list>div.reveal::after,.reveal-on .principles li.reveal::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) .15s,opacity 1.2s var(--ease) 1s}
.reveal-on .output-list>div.reveal.is-in::after,.reveal-on .principles li.reveal.is-in::after{transform:scaleX(1);opacity:.35}
.reveal-on .timeline::before{transform:scaleY(0);transform-origin:top;transition:transform 1.4s var(--ease) .2s}
.reveal-on .timeline.is-in::before{transform:none}
@media (min-width:56rem){.reveal-on .timeline::before{transform:scaleX(0);transform-origin:left}.reveal-on .timeline.is-in::before{transform:none}}

/* Magnetic buttons */
.btn-primary{translate:var(--tx,0) var(--ty,0);transition:background-color .18s var(--ease),box-shadow .25s var(--ease),transform .18s var(--ease),translate .35s var(--ease)}
.btn-primary.is-magnet{transition:background-color .18s var(--ease),box-shadow .25s var(--ease),translate .08s linear}

/* Form: animated border on focus */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.form::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--ang),transparent 0 55%,var(--blue) 70%,var(--accent) 80%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .4s var(--ease)}
.form:focus-within::before{opacity:1;animation:spin 4s linear infinite}
@keyframes spin{to{--ang:360deg}}

/* Submit burst */
.spark{position:absolute;left:50%;top:var(--sy,30%);width:8px;height:8px;margin:-4px 0 0 -4px;box-shadow:0 0 10px var(--c,var(--accent));border-radius:2px;background:var(--c,var(--accent));pointer-events:none;animation:spark 1s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes spark{0%{transform:translate(0,0) rotate(0) scale(1);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.3);opacity:0}}
.done-icon{animation:pop .6s cubic-bezier(.3,1.6,.5,1) both}
@keyframes pop{from{transform:scale(.4);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .cursor-glow{display:none}
  .btn-primary{translate:none}
  .form:focus-within::before{animation:none}
}

/* Global animated background (CSS only, compositor-friendly) */
.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}
.bg-fx>span{position:absolute;display:block;will-change:transform}
.bg-aurora{width:70vmax;height:70vmax;border-radius:50%}
.a1{left:-20vmax;top:-25vmax;background:radial-gradient(circle,rgba(47,111,228,.24),transparent 62%);animation:drift1 32s ease-in-out infinite alternate}
.a2{right:-25vmax;top:10vh;background:radial-gradient(circle,rgba(77,141,255,.13),transparent 60%);animation:drift2 38s ease-in-out infinite alternate}
.a3{left:20vw;bottom:-40vmax;background:radial-gradient(circle,rgba(30,64,175,.28),transparent 62%);animation:drift3 44s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate3d(18vw,12vh,0) scale(1.15)}}
@keyframes drift2{to{transform:translate3d(-16vw,22vh,0) scale(.9)}}
@keyframes drift3{to{transform:translate3d(-12vw,-18vh,0) scale(1.2)}}
.bg-gridwrap{inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 15%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 15%,transparent 75%)}
.bg-grid{position:absolute;inset:-56px;background-image:linear-gradient(rgba(42,65,97,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(42,65,97,.32) 1px,transparent 1px);background-size:56px 56px;animation:gridMove 9s linear infinite;will-change:transform}
@keyframes gridMove{to{transform:translate3d(56px,56px,0)}}
.bg-stars{left:0;right:0;top:0;bottom:-300px}
.s1{background-image:radial-gradient(1px 1px at 20px 30px,rgba(150,190,255,.55),transparent),radial-gradient(1px 1px at 120px 90px,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 70px 150px,rgba(150,190,255,.4),transparent),radial-gradient(1px 1px at 160px 170px,rgba(255,255,255,.25),transparent);background-size:190px 190px;animation:stars1 24s linear infinite}
.s2{background-image:radial-gradient(1.5px 1.5px at 60px 80px,rgba(77,141,255,.6),transparent),radial-gradient(1.5px 1.5px at 210px 230px,rgba(77,141,255,.4),transparent);background-size:300px 300px;animation:stars2 22s linear infinite;opacity:.8}
@keyframes stars1{to{transform:translate3d(0,-190px,0)}}
@keyframes stars2{to{transform:translate3d(0,-300px,0)}}
@supports (animation-timeline:scroll()){
  .a1,.a2,.a3{animation-name:var(--dn),aurScroll;animation-duration:var(--dd),auto;animation-timing-function:ease-in-out,linear;animation-iteration-count:infinite,1;animation-direction:alternate,normal;animation-fill-mode:none,both;animation-timeline:auto,scroll(root)}
  .a1{--dn:drift1;--dd:32s}.a2{--dn:drift2;--dd:38s}.a3{--dn:drift3;--dd:44s}
  @keyframes aurScroll{to{translate:0 -35vh;opacity:.7}}
}

/* Sections let the background through */
.hero::before,.hero::after{display:none}
.section-alt{position:relative;overflow-x:clip;background:rgba(11,24,40,.55)}
.site-footer{background:rgba(8,19,32,.75)}
.section-alt::before{content:"";position:absolute;top:-1px;left:0;width:28%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:sweep 7s linear infinite;pointer-events:none}
@keyframes sweep{from{transform:translateX(-100%)}to{transform:translateX(460%)}}

@media (prefers-reduced-motion:reduce){
  .bg-fx>span,.bg-grid,.section-alt::before{animation:none!important}
  .section-alt::before{display:none}
}

.bg-canvas{position:absolute;inset:0;width:100%;height:100%}
.bg-js>span{display:none}
.bg-js .bg-grid{animation:none;will-change:auto}
.bg-lite .bg-grid,.bg-lite .bg-stars,.bg-lite .a3{animation:none!important;will-change:auto}
.bg-lite .s2{display:none}

/* Intro (once per session) */
.intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--bg);pointer-events:none;animation:introOut .45s var(--ease) .75s forwards}
.intro-inner{display:flex;align-items:center;gap:.9rem}
.intro-shield{width:44px;height:50px}
.intro-shield path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .7s var(--ease) .05s forwards}
.intro-word{font-family:var(--font-display);font-weight:600;font-size:1.9rem;letter-spacing:-.02em;color:#fff;opacity:0;translate:-8px 0;animation:introWord .5s var(--ease) .3s forwards}
@keyframes introWord{to{opacity:1;translate:0 0}}
@keyframes introOut{to{opacity:0;visibility:hidden}}
.no-intro .intro{display:none}


/* Generic tilt */
.role[data-tilt]{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:border-color .2s var(--ease),transform .5s var(--ease)}
.role[data-tilt].is-tilting{transition:border-color .2s var(--ease),transform .12s linear}

/* Component pipeline packets */
.stack .layer::after{content:"";position:absolute;left:14px;right:14px;top:-1px;height:1px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent),transparent) no-repeat;background-size:35% 100%;background-position:-60% 0;animation:packet 7.2s linear infinite}
.stack .layer:nth-child(2)::after{animation-delay:1.2s}
.stack .layer:nth-child(3)::after{animation-delay:2.4s}
.stack .layer:nth-child(4)::after{animation-delay:3.6s}
.stack .layer:nth-child(5)::after{animation-delay:4.8s}
.stack .layer:nth-child(6)::after{animation-delay:6s}
@keyframes packet{0%{background-position:-60% 0}16%,100%{background-position:160% 0}}

/* Smooth accordions where supported */
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .faq details::details-content,.role-more::details-content{height:0;overflow:clip;transition:height .4s var(--ease),content-visibility .4s allow-discrete}
  .faq details[open]::details-content,.role-more[open]::details-content{height:auto}
}

/* Back to top */
.to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:40;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:rgba(15,30,49,.85);color:var(--text);cursor:pointer;opacity:0;visibility:hidden;translate:0 12px;transition:opacity .3s var(--ease),translate .3s var(--ease),visibility 0s .3s,background-color .2s}
.to-top.is-on{opacity:1;visibility:visible;translate:0 0;transition-delay:0s}
.to-top:hover{background:var(--surface-2)}
.to-top svg{width:100%;height:100%;fill:none}
.to-top-track{stroke:var(--line-strong);stroke-width:2}
.to-top-ring{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--sp,0));transform:rotate(-90deg);transform-origin:center}
.to-top path{stroke:var(--text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media (prefers-reduced-motion:reduce){
  .intro{display:none}
  .stack .layer::after{animation:none;display:none}
  .role[data-tilt]{transform:none}
}

/* Hero light beam (one-shot) */
.hero-beam{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(77,141,255,.14) 50%,transparent 62%);translate:-100% 0;animation:beam 2.2s var(--ease) calc(1.4s + var(--intro-d)) forwards}
@keyframes beam{to{translate:100% 0}}

/* Click ripple */
.btn{position:relative;overflow:hidden;isolation:isolate}
.ripple{position:absolute;z-index:-1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none;animation:ripple .6s var(--ease) forwards}
.btn-ghost .ripple,.btn-line .ripple{background:rgba(77,141,255,.35)}
@keyframes ripple{to{transform:scale(var(--rsz,30));opacity:0}}

/* Section scan (one-shot when a section enters) */
.section{position:relative;overflow:clip}
.reveal-on .section::after{content:"";position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;background:linear-gradient(180deg,transparent calc(100% - 140px),rgba(47,111,228,.07) calc(100% - 2px),rgba(77,141,255,.55) calc(100% - 1px),transparent 100%);translate:0 -100%;opacity:0}
.reveal-on .section.is-scanned::after{animation:scan 1.6s cubic-bezier(.4,0,.2,1) forwards}
@keyframes scan{0%{translate:0 -100%;opacity:1}85%{opacity:1}100%{translate:0 0;opacity:0}}

/* Nav underline */
.nav-list a{position:relative}
.nav-list a::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.2rem;height:1.5px;border-radius:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.nav-list a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-list a[aria-current="true"]::after{display:none}

/* Chips hover */
.chips li,.tech li,.ticker li{transition:border-color .2s var(--ease),color .2s var(--ease),translate .2s var(--ease),background-color .2s}
.chips li:hover,.tech li:hover,.ticker li:hover{translate:0 -2px;border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
.pct-table dd,.proof dt{cursor:default}

@media (prefers-reduced-motion:reduce){
  .hero-beam,.reveal-on .section::after{display:none}
  .ripple{display:none}
}

/* Cyber typography */
.brand-name,.intro-word{font-family:var(--font-brand)}
.display{font-weight:700;letter-spacing:-.015em;line-height:1.04;font-size:clamp(2.2rem,1.2rem + 3.8vw,3.7rem);max-width:17ch}
.section-head h2,.apply-intro h2{font-weight:700;letter-spacing:-.01em}
.flow-step h3,.layer h3,.role h3,.principles h3,.terms h3,.offer h3,.tl-item h3,.limits h3,.founder h3,.report-title,.chain-title,.sim-title,.calib-title,.form-done h3{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.proof dt,.kpi-value,.reg-fig .num,.sim-stats dd,.legal h1,.legal h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}
.kicker,.report-kicker,.role-area,.tl-state,.reg-name,.risk-tag,.chips li,.tech li,.tech-inline,.ticker li,.report-run,.report-foot,.counter,.pct-table,.chain-money,.role-more-t,.sim-axis,.badge,.lang-switch button,.flow-num,.steps li::before,.kpi-label,.sim-stats dt{font-family:var(--font-mono);font-weight:500;letter-spacing:0}
.kicker{font-size:.82rem}
.kicker::before{content:"// " / "";color:var(--blue);opacity:.9}
.chips li,.tech li,.ticker li{font-size:.76rem}
.kpi-label,.sim-stats dt{font-size:.74rem}
.pct-table dd{font-size:.9rem}

.bg-lite .bg-grid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' fill='none' stroke='rgba(77,141,255,0.16)' stroke-width='1' stroke-linejoin='round'%3E%3Cpath d='M0 48h48l24 24h72'/%3E%3Cpath d='M96 0v24l24 24v48l-24 24v72'/%3E%3Cpath d='M192 144h-48l-24-24'/%3E%3Cpath d='M0 168h24l24-24v-48'/%3E%3Ccircle cx='144' cy='72' r='3'/%3E%3Ccircle cx='48' cy='96' r='3'/%3E%3Ccircle cx='120' cy='120' r='3'/%3E%3Cpath d='M168 0v40l-24 24'/%3E%3C/svg%3E");background-size:192px 192px;opacity:.9}

/* Legal pages */
.legal-nav{display:flex;align-items:center;gap:var(--s4)}
.legal-nav>a:not(.btn){color:var(--muted);text-decoration:none;font-size:.925rem;font-weight:500}
.legal-nav>a:not(.btn):hover,.legal-nav>a[aria-current="page"]{color:var(--text)}
.legal-nav>a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.legal h1{margin-top:var(--s2)}
.legal .legal-sub a{color:var(--accent)}
.legal-summary{margin-top:var(--s5);padding:var(--s4) var(--s5);border:1px solid rgba(77,141,255,.35);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text)!important}
.toc{margin-top:var(--s6);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-md);background:rgba(15,30,49,.6)}
.toc ol{display:grid;gap:.35rem;padding-left:1.4rem;list-style:decimal;color:var(--faint);font-family:var(--font-mono);font-size:.85rem}
@media (min-width:40rem){.toc ol{grid-template-columns:1fr 1fr;column-gap:var(--s6)}}
.toc li{margin:0}
.toc a{font-family:var(--font);font-size:.925rem;color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--accent)}
.legal-sec{scroll-margin-top:calc(var(--header-h) + 1rem)}
.legal .legal-sec h2{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line);font-size:1.35rem}
.legal-en{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line-strong)}
.legal-en h1{scroll-margin-top:calc(var(--header-h) + 1rem)}
.table-wrap{margin-top:var(--s4);overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(15,30,49,.6)}
.legal table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9rem}
.legal caption{padding:var(--s3) var(--s4);text-align:left;font-family:var(--font-mono);font-size:.78rem;color:var(--faint)}
.legal th,.legal td{padding:.75rem var(--s4);text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.legal thead th{font-family:var(--font-mono);font-weight:500;font-size:.78rem;color:var(--accent);background:rgba(8,19,32,.5)}
.legal tbody th{font-weight:600;color:var(--text)}
.legal td{color:var(--muted)}
.legal-footer-nav{flex-direction:row!important;align-items:center!important;flex-wrap:wrap}
@media (max-width:40rem){.legal-nav>a:not(.btn){display:none}}

/* Form submission */
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{font-size:.9rem;color:var(--danger)}
.form-status:empty{display:none}
.btn[aria-busy="true"]{cursor:progress;opacity:.85}
.btn[aria-busy="true"]::before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin360 .8s linear infinite}
@keyframes spin360{to{transform:rotate(360deg)}}
.done-sent,.done-mailto{display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.done-sent[hidden],.done-mailto[hidden]{display:none}
.done-sent p,.done-mailto>p{max-width:34rem;color:var(--muted)}

/* Product screenshot */
.shot{margin:0 0 var(--s7)}
.shot-frame{border:1px solid var(--line-strong);border-radius:var(--r-lg);overflow:hidden;background:#05080f;box-shadow:0 40px 100px -40px rgba(47,111,228,.55),0 0 0 1px rgba(77,141,255,.08)}
.reveal-on .shot .shot-frame{transform:perspective(1600px) rotateX(14deg) scale(.95);transform-origin:50% 0;transition:transform 1.3s var(--ease) .1s}
.reveal-on .shot.is-in .shot-frame{transform:none}
.shot-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:var(--surface)}
.shot-bar span{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.shot-bar p{margin-left:.6rem;font-family:var(--font-mono);font-size:.75rem;color:var(--faint)}
.shot-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.shot-zoom img{display:block;width:100%;height:auto;transition:filter .3s var(--ease)}
.shot-zoom:hover img{filter:brightness(1.08)}
.shot-zoom:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none}
.shot figcaption{margin-top:var(--s3);font-size:.85rem;color:var(--faint)}
.lightbox{width:min(96vw,1880px);max-width:none;max-height:94vh;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-md);background:#05080f;overflow:auto}
.lightbox::backdrop{background:rgba(3,7,14,.85);backdrop-filter:blur(4px)}
.lightbox[open]{animation:lbIn .3s var(--ease)}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}}
.lightbox-img{display:block;width:100%;height:auto}
.lightbox-close{position:sticky;top:.5rem;float:right;margin:.5rem;z-index:1;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;background:rgba(15,30,49,.9);color:var(--text);cursor:pointer}
.lightbox-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){.reveal-on .shot .shot-frame{transform:none}}
