/* Trinity — ternary reference blocks. Dark "ternary instrument" theme.
   Three states carry the visual language: +1 mint, 0 graphite, -1 coral. */
@font-face{font-family:"Geist";src:url("fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  color-scheme:dark;
  --bg:#03080a; --bg2:#071114; --panel:#0a161a; --panel2:#0d1d22;
  --ink:#e9f3ef; --ink2:#b5c7c1; --muted:#9aada7; --line:rgba(190,240,222,.12); --line2:rgba(190,240,222,.2);
  --pos:#5fe0b4; --pos-soft:rgba(95,224,180,.14);
  --zero:#8a9a96; --zero-soft:rgba(138,154,150,.14);
  --neg:#ff8f7f; --neg-soft:rgba(255,143,127,.14);
  --gold:#d1ad72;
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(16px,4vw,48px); --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:120px}
@media(max-width:980px){html{scroll-padding-top:120px}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:rgba(95,224,180,.3);color:#fff}
a{color:var(--pos);text-underline-offset:3px}
a:hover{color:#9ff0d2}
:focus-visible{outline:2px solid var(--pos);outline-offset:3px;border-radius:4px}
img,svg{display:block;max-width:100%}
.mono{font-family:var(--mono)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Skip link */
.skip{position:absolute;left:8px;top:-80px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:8px;color:var(--bg)}
main:focus{outline:none}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}

body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(1000px 600px at 85% -10%,rgba(95,224,180,.10),transparent 60%),
             radial-gradient(900px 600px at -10% 40%,rgba(209,173,114,.06),transparent 60%),
             radial-gradient(700px 500px at 60% 110%,rgba(255,143,127,.05),transparent 60%)}

/* Draft banner */
.draft{position:relative;z-index:70;background:repeating-linear-gradient(135deg,#1b1408 0 14px,#211a0b 14px 28px);color:#f3d9a8;
  font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-align:center;padding:8px var(--gut);border-bottom:1px solid rgba(209,173,114,.35)}

.draft.expired{background:repeating-linear-gradient(135deg,#2a0f0b 0 14px,#331410 14px 28px);color:#ffd2c9;border-bottom-color:rgba(255,143,127,.45)}

/* Progress */
.progress{position:fixed;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:80;
  background:linear-gradient(90deg,var(--neg),var(--zero) 50%,var(--pos));pointer-events:none}

/* Header */
.top{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:20px;padding:14px var(--gut);
  background:rgba(3,8,10,.55);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s}
.top.sc{border-bottom-color:var(--line)}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none;font:800 15px/1 var(--sans);letter-spacing:.03em;white-space:nowrap;min-width:0}
.brand svg{width:34px;height:24.7px;flex:none}
.brand small{font:500 11px/1 var(--mono);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-left:2px}
.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.nav a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink2);text-decoration:none;font-size:14px;padding:7px 11px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.lang{display:flex;border:1px solid var(--line2);border-radius:999px;overflow:hidden;flex:none}
.lang a{display:inline-flex;align-items:center;min-height:40px;font:600 12px/1 var(--mono);padding:10px 12px;color:var(--muted);text-decoration:none;letter-spacing:.08em}
.lang a:focus-visible{outline-offset:-3px;border-radius:999px}
.lang a[aria-current]{background:var(--ink);color:var(--bg)}
@media(max-width:980px){
  .top{flex-wrap:wrap;row-gap:6px;padding-bottom:8px}
  .lang{margin-left:auto}
  .nav{display:flex;order:3;flex:0 0 calc(100% + 2*var(--gut));flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(-1*var(--gut));padding:0 var(--gut);gap:2px}
  .nav::-webkit-scrollbar{display:none}
  .nav a{flex:none}
}
@media(max-width:360px){.brand small{display:none}}

/* Hero */
.hero{position:relative;min-height:min(100svh,980px);display:flex;align-items:flex-end;padding:100px 0 64px;overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
@media(max-width:860px){.hero canvas{-webkit-mask-image:linear-gradient(90deg,transparent 0 40%,#000 80%);mask-image:linear-gradient(90deg,transparent 0 40%,#000 80%)}}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,var(--bg))}
.kicker{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--pos);margin:0 0 22px}
.kicker::before{content:"";width:36px;height:1px;background:currentColor}
.hero h1{margin:0;font:650 clamp(44px,7.6vw,118px)/.92 var(--sans);letter-spacing:-.055em}
.hero h1 .ln.sub{font-size:.46em;line-height:1.05;letter-spacing:-.04em;margin-top:.25em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln span{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--ease);transition-delay:var(--d,0s);
  background:linear-gradient(180deg,#fff 20%,#bdeedc 70%,#5fe0b4 130%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .ln:nth-child(2) span{background:linear-gradient(90deg,#ff8f7f,#c9d3cf 45%,#5fe0b4);-webkit-background-clip:text;background-clip:text}
.ready .hero h1 .ln span{transform:none}
.lede{max-width:62ch;font-size:clamp(17px,1.6vw,21px);color:var(--ink2);margin:28px 0 0}
.plate{margin:30px 0 0;display:grid;gap:8px;max-width:820px;padding:16px 18px;border:1px solid var(--line2);border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));font:500 13px/1.55 var(--mono);color:var(--ink2)}
.plate p{margin:0;display:flex;gap:10px}
.plate p::before{content:"//";color:var(--pos);flex:none}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{background:transparent;font-family:inherit;color:inherit;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:999px;font:600 15px/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn.p{background:var(--pos);color:#03120c;box-shadow:0 14px 40px -14px rgba(95,224,180,.6)}
.btn.p:hover{background:#86ebc6;color:#03120c}
.btn.o{border-color:var(--line2);color:var(--ink)}
.btn.o:hover{background:rgba(255,255,255,.06);color:#fff}
.scrollcue{position:absolute;right:var(--gut);bottom:34px;width:24px;height:40px;border:1px solid var(--line2);border-radius:14px}
.scrollcue::after{content:"";position:absolute;left:50%;top:8px;width:2px;height:8px;margin-left:-1px;border-radius:2px;background:var(--pos);animation:cue 1.8s infinite}
@media(max-width:860px){.scrollcue{display:none}}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* Facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0}
.facts div{background:var(--bg2);padding:22px 22px 20px}
.facts b{display:block;font:650 clamp(26px,3vw,38px)/1 var(--sans);letter-spacing:-.03em;color:#fff;margin-bottom:10px}
.facts span{font-size:14px;color:var(--ink2)}
.facts small{display:block;margin-top:8px;font:500 11px/1.4 var(--mono);color:var(--muted);letter-spacing:.04em}

/* Sections */
section.sec{padding:clamp(80px,11vw,150px) 0 0}
.sh{max-width:900px;margin-bottom:44px}
.sh h2{margin:0;font:650 clamp(32px,5vw,64px)/1.02 var(--sans);letter-spacing:-.045em}
.sh h2 em{font-style:normal;color:var(--pos)}
.sh p{color:var(--ink2);font-size:18px;max-width:66ch;margin:18px 0 0}
.sh .kicker{font:500 12px/1.3 var(--mono);color:var(--pos);margin:0 0 22px;max-width:none}

/* Ladder */
.ladder{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ladder::before{content:"";position:absolute;left:4%;right:4%;top:31px;height:2px;background:var(--line2)}
.ladder .fill{position:absolute;left:4%;top:31px;height:2px;width:0;background:linear-gradient(90deg,var(--pos),#bdeedc);box-shadow:0 0 18px rgba(95,224,180,.7);transition:width 1.6s var(--ease)}
.step{position:relative;padding-top:78px}
.step i{position:absolute;top:12px;left:0;width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--bg2);display:grid;place-items:center;font:600 12px/1 var(--mono);color:var(--muted);transition:all .6s var(--ease)}
.step.on i{background:var(--pos);border-color:var(--pos);color:#03120c;box-shadow:0 0 30px -4px rgba(95,224,180,.7)}
.no-js .ladder .fill{width:var(--fw,0)}
.no-js .step[data-done="1"] i{background:var(--pos);border-color:var(--pos);color:#03120c}
.step.empty i{border-style:dashed;border-color:rgba(255,143,127,.5);color:var(--neg);background:transparent}
.step h3{margin:0 0 8px;font:600 18px/1.2 var(--sans);letter-spacing:-.01em}
.step p{margin:0;font-size:14px;color:var(--ink2)}
.ladder-cap{margin-top:24px;padding:14px 16px;border-left:3px solid var(--zero);background:var(--zero-soft);border-radius:0 12px 12px 0;color:var(--ink2);font-size:15px;max-width:820px}
.silicon-note{margin-top:28px;padding:16px 18px;border:1px dashed rgba(255,143,127,.4);border-radius:14px;color:#ffc4ba;font-size:15px;max-width:820px}
@media(max-width:860px){.ladder{grid-template-columns:1fr;gap:0}.ladder::before,.ladder .fill{display:none}.step{padding:0 0 22px 60px;min-height:62px}.step i{top:0}}

/* Blocks */
.blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px}
.card{position:relative;border:1px solid var(--line);border-radius:22px;background:radial-gradient(420px circle at var(--mx,-500px) var(--my,-500px),rgba(95,224,180,.10),transparent 60%),linear-gradient(180deg,var(--panel),var(--bg2));padding:22px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s,transform .5s var(--ease)}
.card:hover{border-color:rgba(95,224,180,.35);transform:translateY(-4px)}
.die{position:relative;margin:0;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#050c0e}
.die .art{aspect-ratio:16/10}
.die svg{width:100%;height:100%}
.die .wm{position:static;padding:7px 10px 8px;border-top:1px solid var(--line);font:500 10px/1.35 var(--mono);color:rgba(233,243,239,.62);letter-spacing:.04em}
.card .tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;font:600 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border-radius:999px;border:1px solid}
.chip::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.chip.simulated{color:#9fd8ff;border-color:rgba(159,216,255,.35);background:rgba(159,216,255,.08)}
.chip.fpga{color:var(--pos);border-color:rgba(95,224,180,.35);background:var(--pos-soft);text-transform:none;letter-spacing:0;line-height:1.35;border-radius:12px;overflow-wrap:anywhere;word-break:break-all;min-width:0}
.chip.gds{color:var(--gold);border-color:rgba(209,173,114,.4);background:rgba(209,173,114,.08)}
.chip.spec,.chip.concept{color:var(--zero);border-color:rgba(138,154,150,.35);background:var(--zero-soft)}
.card .id{font:600 12px/1 var(--mono);color:var(--muted);letter-spacing:.12em}
.card h3{margin:0;font:650 24px/1.15 var(--sans);letter-spacing:-.02em}
@media(max-width:360px){.card h3{font-size:21px}}
.card .tl{margin:-6px 0 0;color:var(--ink2)}
.card .what{margin:0;color:var(--ink2);font-size:15px}
.minil{display:flex;gap:6px;align-items:center;font:500 11px/1 var(--mono);color:var(--muted)}
.minil b{width:22px;height:6px;border-radius:3px;background:rgba(190,240,222,.38)}
.minil b.on{background:var(--pos)}
.minil b.empty{background:transparent;border:1px dashed rgba(255,143,127,.55)}
.notshown{margin:0;font-size:14px;color:#ffc4ba;line-height:1.5}
.notshown b{font:600 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffc4ba;margin-right:4px}
.card details{border-top:1px solid var(--line);padding-top:4px}
.card summary{display:flex;align-items:center;min-height:36px;padding:8px 0;cursor:pointer;font:600 13px/1.4 var(--mono);color:var(--ink2);letter-spacing:.04em;list-style:none}
.card summary::-webkit-details-marker{display:none}
.card summary::after{content:" +";color:var(--pos)}
.card details[open] summary::after{content:" −"}
.card ul{margin:10px 0 0;padding-left:18px;color:var(--ink2);font-size:14px}
.card li{margin:4px 0}
.card .lbl{font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.card .ev a{display:block;font-size:14px;margin:0;padding:7px 0;min-height:32px;overflow-wrap:anywhere}
.card .ev code{font:500 11px/1.4 var(--mono);color:var(--muted);overflow-wrap:anywhere}
.nm{margin:auto 0 0;font:500 12px/1.4 var(--mono);color:#ffc4ba;border-top:1px dashed rgba(255,143,127,.3);padding-top:12px}

/* Bench */
.bench{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:stretch}
@media(max-width:980px){.bench{grid-template-columns:1fr}}
.rig{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:22px;overflow:hidden}
.rig .row{margin-bottom:18px}
.rig .row .lbl{display:block;font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.trits{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.t{appearance:none;border:1px solid var(--line2);background:var(--zero-soft);color:var(--zero);border-radius:6px;min-height:44px;padding:2px 0;font:700 14px/1 var(--mono);cursor:pointer;display:grid;place-items:center;align-content:center;gap:2px;transition:transform .15s,background .2s,color .2s,border-color .2s}
.t .tv{font:700 15px/1 var(--mono)}
.t .tc{font:500 10px/1 var(--mono);opacity:.75;letter-spacing:.04em}
.t:hover{transform:translateY(-2px)}
.t[data-v="1"]{background:var(--pos-soft);color:var(--pos);border-color:rgba(95,224,180,.45)}
.t[data-v="-1"]{background:var(--neg-soft);color:var(--neg);border-color:rgba(255,143,127,.45)}
.prods{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin:-6px 0 18px}
.prods span{height:8px;border-radius:4px;background:var(--line);transition:background .25s,transform .25s}
.prods span.p{background:var(--pos);transform:scaleY(1)}
.prods span.n{background:var(--neg)}
@media(max-width:400px){.rig{padding:12px}.trits,.prods{gap:3px}}
.no-js .rig .row,.no-js .prods,.no-js .sum,.no-js .rig .acts,.no-js [data-verify],.no-js .verify .grid200{display:none}
.nojs-note{margin:0;font-size:14px;color:var(--ink2)}
.nojs-note a{display:inline-block;padding:7px 0;min-height:32px}
.sum{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.sum output{font:700 clamp(46px,7vw,84px)/1 var(--mono);letter-spacing:-.04em;color:#fff;min-width:3ch}
.sum span{color:var(--muted);font:500 13px/1.4 var(--mono)}
.rig .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.verify{border:1px solid var(--line);border-radius:22px;background:var(--bg2);padding:22px;display:flex;flex-direction:column;gap:14px}
.verify .grid200{display:grid;grid-template-columns:repeat(20,1fr);gap:3px}
.verify .grid200 i{aspect-ratio:1;border-radius:2px;background:var(--line);transition:background .2s}
.verify .grid200 i.ok{background:var(--pos)}
.verify .grid200 i.bad{background:var(--neg)}
.verify .res{font:600 15px/1.4 var(--mono);color:var(--ink)}
.verify .cap{font:500 12px/1.5 var(--mono);color:#ffc4ba}
.verify .note{font-size:14px;color:var(--ink2)}

/* Bytes */
.bytes{border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:24px}
.bytes .ctl{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px}
.bytes input[type=range]{flex:1;min-width:200px;height:32px;accent-color:var(--pos)}
.bytes .pv{font:700 28px/1 var(--mono);color:#fff;min-width:7ch}
.bars{display:grid;gap:12px}
.bar{display:grid;grid-template-columns:minmax(120px,190px) 1fr minmax(84px,auto);gap:14px;align-items:center}
.bar .n{font:600 13px/1.3 var(--mono);color:var(--ink2)}
.bar .n small{display:block;color:var(--muted);font-weight:500}
.bar .tr{height:14px;border-radius:7px;background:rgba(255,255,255,.04);overflow:hidden}
.bar .tr span{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#2a8f6e,var(--pos));transform-origin:0 50%;transition:width .7s var(--ease)}
.bar.big .tr span{background:linear-gradient(90deg,#6b5a3d,var(--gold))}
.bar .v{font:600 14px/1 var(--mono);text-align:right;color:#fff}
.bytes .note{margin:18px 0 0;font-size:14px;color:var(--muted)}

/* Prior art */
.prior{border:1px solid var(--line);border-radius:22px;overflow:hidden}
.prior .disc{padding:16px 20px;background:rgba(209,173,114,.07);border-bottom:1px solid var(--line);color:#ead3a8;font-size:14px}
.pa{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,2.4fr) minmax(90px,.6fr) minmax(70px,.4fr);gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:start}
.pa:last-child{border-bottom:0}
.pa.hd{font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.02)}
.pa b{font-weight:600}
.pa small{display:block;color:var(--muted);font-size:12px}
.pa small a{display:inline-block;padding:8px 0;min-height:32px}
.pa p{margin:0;color:var(--ink2);font-size:14px}
.lv{font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.lv.silicon,.lv.product{color:var(--gold)}
.lv.FPGA{color:var(--pos)}
@media(max-width:760px){.pa{grid-template-columns:1fr;gap:6px}.pa.hd{display:none}}

/* Path */
.path{position:relative;display:grid;gap:14px;padding-left:28px}
.path::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--pos),var(--line2) 40%,var(--line2))}
.pstep{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--bg2);padding:16px 18px}
.pstep::before{content:"";position:absolute;left:-26px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--line2)}
.pstep.done::before{background:var(--pos);border-color:var(--pos)}
.pstep.next::before{border-color:var(--gold);box-shadow:0 0 0 4px rgba(209,173,114,.15)}
.pstep h3{margin:0 0 6px;font:600 17px/1.3 var(--sans)}
.pstep p{margin:0;color:var(--ink2);font-size:14px}
.shuttles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:22px}
.sh-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--panel)}
.sh-card b{font:700 16px/1.2 var(--mono)}
.sh-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;font-size:13px}
.sh-card dt{color:var(--muted)}
.sh-card dd{margin:0;font-family:var(--mono)}
.sh-card .tt-note{margin:10px 0 0;font-size:13px;color:var(--ink2)}
.est{margin-top:14px;font:500 12px/1.4 var(--mono);color:var(--gold)}
.est a{display:inline-block;padding:8px 0;min-height:32px}

/* Owner-only sections */
.owner-flag{display:inline-block;font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f3d9a8;border:1px solid rgba(209,173,114,.45);border-radius:999px;padding:7px 11px;margin-bottom:18px}
.nopart{padding:14px 16px;border-left:3px solid var(--gold);background:rgba(209,173,114,.07);border-radius:0 12px 12px 0;color:#f0dcb6;margin:0 0 26px;font-weight:500}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:860px){.two{grid-template-columns:1fr}}
.box{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:20px}
.box h3{margin:0 0 12px;font:600 18px/1.2 var(--sans)}
.box ul{margin:0;padding-left:18px;color:var(--ink2);font-size:15px}
.box li{margin:6px 0}
.fit{display:grid;gap:10px;margin-top:18px}
.fitrow{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,2fr) minmax(0,1.3fr);gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--bg2)}
.fitrow b{font:600 13px/1.3 var(--mono);color:var(--gold)}
.fitrow p{margin:0;font-size:14px;color:var(--ink2)}
.fitrow small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.src-host{color:var(--muted)}
.mt18{margin-top:18px}
.nopart.first-step{margin-top:18px;border-left-color:var(--pos);background:var(--pos-soft);color:#cff5e6}
.fitrow>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.fitrow{grid-template-columns:minmax(0,1fr)}}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}
.opt{border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,var(--panel),var(--bg2));padding:22px}
.opt .no{font:700 13px/1 var(--mono);color:var(--pos);letter-spacing:.12em}
.opt h3{margin:10px 0 8px;font:650 21px/1.2 var(--sans);letter-spacing:-.02em}
.opt dl{margin:12px 0 0;display:grid;gap:8px}
.opt dt{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.opt dd{margin:2px 0 0;font-size:14px;color:var(--ink2)}

/* Team + footer */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.person{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--panel)}
.person b{display:block;font:650 22px/1.2 var(--sans);letter-spacing:-.02em}
.person span{color:var(--ink2)}
.team-note{margin-top:16px;color:var(--muted);font-size:14px}
footer{margin-top:clamp(80px,10vw,140px);border-top:1px solid var(--line);padding:34px 0 54px;color:var(--muted);font-size:14px}
footer .fr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer p{margin:0 0 6px}
footer a{display:inline-block;padding:7px 0;min-height:32px}
.footer-status{font-size:12px}

/* Reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
.no-js .hero h1 .ln span{transform:none}

/* Curtain */
.curtain{position:fixed;inset:0;z-index:100;pointer-events:none;display:grid;place-items:center}
.curtain i{position:absolute;left:0;right:0;height:50.5%;background:var(--bg);transition:transform 1.1s var(--ease) .2s}
.curtain i:nth-of-type(1){top:0}.curtain i:nth-of-type(2){bottom:0}
.curtain b{position:relative;font:600 14px/1 var(--mono);letter-spacing:.4em;color:var(--pos);transition:opacity .4s}
.curtain.go i:nth-of-type(1){transform:translateY(-101%)}
.curtain.go i:nth-of-type(2){transform:translateY(101%)}
.no-js .curtain{display:none}
.curtain.go b{opacity:0}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.hero h1 .ln span,.ladder .fill,.bar .tr span{transition:none!important;transform:none!important;opacity:1!important}
  .curtain{display:none}.scrollcue::after{animation:none}
  .btn,.t,.card{transition:none!important;transform:none!important}
}
@media(max-width:620px){
  .bar{grid-template-columns:1fr auto;gap:6px 12px}
  .bar .n{grid-column:1}.bar .v{grid-column:2;grid-row:1}
  .bar .tr{grid-column:1 / -1}
}
.nav a.tolink{color:var(--pos);border:1px solid rgba(95,224,180,.35)}
.nav a.tolink:hover{background:var(--pos-soft);color:#9ff0d2}

/* way back to the front page */
.backbtn{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border-radius:999px;background:var(--pos);color:#03120c;font:600 13px/1 var(--sans);text-decoration:none;white-space:nowrap}
.backbtn:hover{background:#86ebc6;color:#03120c}
.crumbs{display:flex;gap:10px;align-items:center;padding:10px var(--gut);font:500 13px/1.3 var(--sans);color:var(--muted);border-bottom:1px solid var(--line);background:rgba(3,8,10,.6)}
.crumbs a{color:var(--pos);text-decoration:none}.crumbs b{color:var(--ink2);font-weight:500}
.backfab{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--pos);color:#03120c;font:700 22px/1 var(--sans);text-decoration:none;box-shadow:0 12px 30px -8px rgba(95,224,180,.6)}
@media(min-width:981px){.backfab{display:none}}
@media(max-width:600px){.top .brand small{display:none}.backbtn{padding:8px 11px}}
