/* ==========================================================================
   AlphaBridge Seed — styles
   Brand tokens are canonical. Frost glass tokens from the Ops Bay v5 frost.
   ========================================================================== */

:root{
  --bg:#050A14; --bg-2:#070E1B; --panel:#0A1426; --panel-2:#0D1A30; --panel-3:#102139;
  --line:#1C2D49; --line-soft:#13203A;
  --text:#EAF7FF; --text-2:#C4D6E8; --text-3:#8E9DB2;
  --cyan:#00D4FF; --cyan-2:#4FE0FF; --blue:#1E6BFF; --steel:#35507A;
  --green:#29D391; --red:#FF5C6C; --amber:#F5B544; --orange:#FF9F45; --violet:#9B7FFF; --teal:#3AD6C4;

  /* Frost — from the AlphaBridge frost design system (assets/frost/tokens) */
  --frost-canvas:radial-gradient(circle at 16% -5%, rgba(30,107,255,.13), transparent 35rem), radial-gradient(circle at 84% 18%, rgba(0,212,255,.075), transparent 30rem), linear-gradient(180deg,#050914 0%,#050A14 48%,#02050b 100%);
  --frost-glass:rgba(140,220,255,.035);
  --frost-glass-elevated:rgba(140,220,255,.07);
  --frost-glass-img:linear-gradient(145deg, rgba(140,220,255,.055), rgba(140,220,255,.018));
  --frost-glass-img-elevated:linear-gradient(145deg, rgba(140,220,255,.105), rgba(140,220,255,.035));
  --frost-hairline:rgba(0,212,255,.14);
  --frost-hairline-strong:rgba(0,212,255,.3);
  --frost-shadow:inset 0 1px 1px rgba(190,235,255,.12), inset 0 24px 48px rgba(140,220,255,.05), 0 24px 32px rgba(4,8,16,.7);
  --frost-shadow-elevated:inset 0 1px 1px rgba(210,244,255,.2), inset 0 24px 48px rgba(140,220,255,.07), 0 16px 32px rgba(0,0,0,.32), 0 38px 120px -38px rgba(0,0,0,.94), 0 0 90px -50px rgba(0,212,255,.42);
  --frost-terminal:rgba(3,10,20,.94);
  --frost-blur:12px; --frost-blur-elevated:22px; /* Frost budget: 9–12px on repeated glass, elevated only for the buy panel and the modal */
  --bronze:#b97842; --bronze-light:#d7a06a; --bronze-edge:rgba(215,160,106,.38); --bronze-muted:rgba(185,120,66,.13); /* Frost infrastructure accent — edges and markers only, never text */
  --blue-soft:#78a6ff;
  --cyan-soft:#82eaff; --text-inverse:#031018;
  --glass:var(--frost-glass-img);
  --glass-brd:var(--frost-hairline);
  --glass-hi:inset 0 1px 0 rgba(234,247,255,.12);
  --glow-cyan:0 0 0 1px rgba(0,212,255,.25), 0 8px 40px -8px rgba(0,212,255,.35);

  --radius:16px; --radius-sm:11px; --maxw:1180px;
  --font-display:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --pad:clamp(20px,5vw,56px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{margin:0; background-color:#050A14; background-image:var(--frost-canvas); background-attachment:fixed; color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative; isolation:isolate}
body::before{content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(rgba(0,212,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(0,212,255,.045) 1px, transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(ellipse 85% 72% at 50% 30%, #000 28%, transparent 84%); mask-image:radial-gradient(ellipse 85% 72% at 50% 30%, #000 28%, transparent 84%)}
body::after{content:""; position:fixed; z-index:-1; pointer-events:none; top:-18vh; left:50%; width:130vw; height:74vh; border-radius:50%; transform:translateX(-50%);
  background:conic-gradient(from 212deg at 50% 50%, transparent 0 28%, rgba(30,107,255,.11) 38%, rgba(0,212,255,.08) 46%, transparent 58% 100%); filter:blur(72px); opacity:.72}
@media (max-width:768px){body::before{background-size:64px 64px}}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:700; line-height:1.1; margin:0; letter-spacing:-.022em; text-wrap:balance}
h2{font-size:clamp(1.6rem,3.4vw,2.35rem)}
h3{font-weight:600}
.num,.fact b,.stat b,.curve-now b,.hero-live .row b{font-variant-numeric:tabular-nums}
p{margin:0 0 1em}
a{color:var(--cyan)}
strong{color:var(--text); font-weight:600}
button{font:inherit; cursor:pointer}
img,svg{max-width:100%}
[hidden]{display:none !important}

.wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad)}
.mono{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase}
.muted{color:var(--text-3)}
.measure{max-width:62ch}

/* ---------- chips ---------- */
.chip{display:inline-flex; align-items:center; gap:.5em; font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; padding:.42em .75em; border-radius:999px; line-height:1; white-space:nowrap;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 38%, transparent); background:color-mix(in srgb, currentColor 7%, transparent)}
.chip::before,.tag::before{content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none}
/* .tag — the same state vocabulary without the pill: mono text and a dot */
.tag{display:inline-flex; align-items:center; gap:.55em; font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; line-height:1; white-space:nowrap; color:var(--text-3)}
.chip--live,.tag--live{color:var(--green)}
.chip--live::before,.tag--live::before{box-shadow:0 0 8px var(--green); animation:pulse 1.8s ease-in-out infinite}
.chip--cyan,.tag--cyan{color:var(--cyan)}
.chip--next,.tag--next{color:var(--teal)}
.chip--locked,.tag--locked{color:var(--text-3)}
.chip--test,.tag--test{color:var(--teal)}
.chip--done,.tag--done{color:var(--cyan-soft)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- glass ---------- */
.glass{position:relative; isolation:isolate; overflow:hidden; border:0; border-radius:var(--radius);
  background-color:var(--frost-glass); background-image:var(--frost-glass-img);
  box-shadow:var(--frost-shadow), inset 0 0 0 1px var(--frost-hairline);
  -webkit-backdrop-filter:blur(var(--frost-blur)) saturate(118%); backdrop-filter:blur(var(--frost-blur)) saturate(118%)}
.glass::before{content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(circle at 16% 0%, rgba(234,247,255,.08), transparent 34%), linear-gradient(90deg, transparent, rgba(0,212,255,.035), transparent)}
.glass--elevated{background-color:var(--frost-glass-elevated); background-image:var(--frost-glass-img-elevated);
  box-shadow:var(--frost-shadow-elevated), inset 0 0 0 1px var(--frost-hairline-strong);
  -webkit-backdrop-filter:blur(var(--frost-blur-elevated)) saturate(122%); backdrop-filter:blur(var(--frost-blur-elevated)) saturate(122%)}
.glass--tight{border-radius:var(--radius-sm)}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6em; min-height:44px; padding:12px 22px; border-radius:999px; font-family:var(--font-mono); font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; border:1px solid transparent; transition:box-shadow .2s, background .2s, color .2s; white-space:nowrap}
.btn--primary{background:var(--cyan); color:var(--text-inverse); border-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 8px 22px -14px rgba(0,212,255,.65)}
.btn--primary:hover{background:var(--cyan-2); box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 10px 26px -12px rgba(0,212,255,.7)}
.btn--ghost{background:var(--frost-glass); color:var(--text); border-color:var(--frost-hairline); border-radius:999px; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px)}
.btn--ghost:hover{border-color:var(--cyan); color:var(--cyan)}
.btn--wide{width:100%}
.btn[disabled]{opacity:.45; cursor:not-allowed; transform:none; box-shadow:none}
.btn:focus-visible{outline:2px solid var(--cyan); outline-offset:3px}
.btn .spin{width:14px; height:14px; border:2px solid rgba(4,18,28,.35); border-top-color:#04121C; border-radius:50%; animation:rot .8s linear infinite}
.btn--ghost .spin{border-color:rgba(242,246,252,.25); border-top-color:var(--cyan)}
@keyframes rot{to{transform:rotate(360deg)}}

/* ---------- ribbon ---------- */
.ribbon{background:rgba(58,214,196,.05); box-shadow:inset 0 -1px 0 rgba(58,214,196,.2); color:var(--teal); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; text-align:center; padding:7px var(--pad)}
.ribbon b{font-weight:600}

/* ---------- nav ---------- */
.nav{position:sticky; top:0; z-index:30; background:rgba(5,10,20,.72); backdrop-filter:blur(14px) saturate(115%); -webkit-backdrop-filter:blur(14px) saturate(115%); box-shadow:inset 0 -1px 0 rgba(0,212,255,.1)}
.nav-in{display:flex; align-items:center; gap:22px; min-height:62px}
.nav .btn{min-height:38px; padding:9px 18px; font-size:.64rem}
.nav .tag{display:none}
@media (min-width:720px){.nav .tag{display:inline-flex}}
@media (max-width:420px){.nav .btn{padding:9px 13px; letter-spacing:.1em} .nav-in{gap:14px}} /* the CTA overran 390px by half a pixel */
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); font-family:var(--font-display); font-weight:800; font-size:1.05rem; letter-spacing:-.03em; margin-right:auto}
.brand .wm em{font-style:normal; color:var(--cyan)}
.brand svg{width:28px; height:28px}
.brand img{height:28px; width:auto; filter:drop-shadow(0 0 8px rgba(0,212,255,.4))}
.wallet-pill{display:inline-flex; align-items:center; gap:.6em; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; color:var(--text-2); padding:.55em .9em; border:1px solid var(--glass-brd); border-radius:999px; background:var(--glass)}
.wallet-pill i{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green)}
.wallet-pill.off i{background:var(--text-3); box-shadow:none}

/* ---------- progress strip (rides in the sticky header) ---------- */
.pstrip{box-shadow:inset 0 1px 0 rgba(0,212,255,.12); background:rgba(5,10,20,.55)}
.pstrip-in{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; min-height:38px; padding-top:6px; padding-bottom:6px}
.pstrip-label{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text); white-space:nowrap}
.pstrip-state{color:var(--green)}
.pdot{width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 1.8s ease-in-out infinite}
.pstrip-stats{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); white-space:nowrap; font-variant-numeric:tabular-nums; text-align:right}
.pstrip-stats b{color:var(--text); font-weight:500}
.pstrip-stats .sep{margin:0 8px; color:var(--steel)}
@media (max-width:900px){.pstrip-next{display:none}}
@media (max-width:640px){.pstrip-in{grid-template-columns:1fr; gap:6px; padding-bottom:9px} .pstrip-stats{white-space:normal; line-height:1.6; text-align:left}}

.hero-live .row--urgent b{color:var(--cyan-soft)}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; border-bottom:1px solid var(--line-soft); min-height:min(88vh, 820px); display:flex; align-items:center; padding:clamp(56px,8vw,110px) 0}
.hero-bg{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden}
#fieldCanvas{position:absolute; inset:0; width:100%; height:100%; display:block}
.hero-veil{position:absolute; inset:0; background:
  radial-gradient(900px 520px at 70% 45%, rgba(0,212,255,.10), transparent 62%),
  radial-gradient(700px 420px at 20% 20%, rgba(30,107,255,.14), transparent 65%),
  linear-gradient(180deg, rgba(5,10,20,.10), rgba(5,10,20,.70))}
.hero-in{position:relative; z-index:1; display:grid; gap:clamp(28px,5vw,64px); grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); align-items:center; width:100%}
.eyebrow{display:flex; align-items:center; gap:12px; margin-bottom:20px}
.eyebrow .mono{color:var(--cyan)}
.eyebrow::after{content:""; width:56px; height:1px; background:linear-gradient(90deg, rgba(0,212,255,.55), transparent)}
@media (max-width:640px){.eyebrow::after{display:none}}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem); margin-bottom:20px; letter-spacing:-.03em; max-width:12ch}
.hero h1 em{font-style:normal; color:var(--cyan)}
.hero .lede{font-size:clamp(1.02rem,1.8vw,1.2rem); color:var(--text-2); max-width:50ch; margin-bottom:28px; line-height:1.55}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:34px}
.hero-live{display:flex; flex-direction:column; gap:10px; max-width:520px}
.hero-live .row{display:flex; justify-content:space-between; gap:12px; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
.hero-live .row b{color:var(--text); font-weight:500}

/* ---------- coin ---------- */
.coin-stage{position:relative; display:grid; place-items:center; perspective:1100px; min-height:320px}
.coin-glow{position:absolute; width:min(66%,360px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(0,212,255,.34), rgba(0,212,255,.08) 45%, transparent 70%); filter:blur(18px); animation:breathe 6.5s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.75; transform:scale(.96)}50%{opacity:1; transform:scale(1.06)}}
.coin{position:relative; width:var(--coin, 272px); height:var(--coin, 272px); transform-style:preserve-3d; animation:coinspin 11s linear infinite}
@keyframes coinspin{from{transform:rotateX(-9deg) rotateY(0)} to{transform:rotateX(-9deg) rotateY(360deg)}}
.coin-face{position:absolute; inset:0; border-radius:50%; backface-visibility:hidden; display:grid; place-items:center; overflow:hidden;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.16), transparent 34%),
    radial-gradient(circle at 50% 50%, #0F1E38 0%, #0A1426 62%, #071022 100%);
  border:1px solid rgba(180,212,255,.28);
  box-shadow:inset 0 0 0 10px rgba(0,212,255,.05), inset 0 0 0 11px rgba(180,212,255,.12), inset 0 0 60px rgba(0,212,255,.10)}
.coin-face::before{content:""; position:absolute; inset:8%; border-radius:50%; border:1px solid rgba(0,212,255,.22)}
.coin-face::after{content:""; position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 210deg, transparent 0 60%, rgba(255,255,255,.10) 70%, transparent 80%); mix-blend-mode:screen}
.coin-front{transform:translateZ(var(--thick,14px))}
.coin-back{transform:rotateY(180deg) translateZ(var(--thick,14px))}
.coin-face svg{width:46%; height:46%; filter:drop-shadow(0 0 18px rgba(0,212,255,.45))}
.coin-face .coin-label{position:absolute; bottom:13%; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.3em; color:var(--cyan); opacity:.85}
.coin-face .coin-top{position:absolute; top:13%; font-family:var(--font-mono); font-size:.52rem; letter-spacing:.32em; color:var(--text-3)}
.coin-edge{position:absolute; inset:0; transform-style:preserve-3d}
.coin-edge i{position:absolute; left:50%; top:50%; width:var(--seg, 19px); height:calc(var(--thick,14px) * 2); margin-left:calc(var(--seg,19px) / -2); margin-top:calc(var(--thick,14px) * -1);
  background:linear-gradient(180deg, #4A6A9E, #24395F 45%, #1A2C4C); border-top:1px solid rgba(180,212,255,.35); border-bottom:1px solid rgba(0,0,0,.4);
  transform:rotateZ(var(--a)) translateY(calc(var(--coin,272px) / -2)) rotateX(90deg)}
@media (max-width:760px){.coin{--coin:200px} .coin-stage{min-height:250px}}
@media (max-width:480px){.panel-head .chip{white-space:normal; line-height:1.4}}

/* ---------- sections ---------- */
section{padding:clamp(52px,7vw,96px) 0; box-shadow:inset 0 -1px 0 rgba(140,220,255,.07)}
/* section header: kicker with a fading rule, headline, and a quiet right-hand note instead of a chip */
.sh{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 40px; align-items:end; margin-bottom:18px}
.sh .kicker,.kicker{display:flex; align-items:center; gap:12px; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cyan); margin-bottom:12px}
.kicker::after{content:""; width:44px; height:1px; background:linear-gradient(90deg, rgba(0,212,255,.55), transparent)}
.sh .note{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); text-align:right; padding-bottom:5px; max-width:22ch; line-height:1.6}
.sh h2{max-width:24ch}
@media (max-width:640px){.sh{grid-template-columns:1fr} .sh .note{text-align:left; padding-bottom:0; max-width:none}}
.sec-head{display:flex; align-items:baseline; gap:16px; margin-bottom:14px; flex-wrap:wrap}
.sec-num{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; color:var(--cyan)}
.sec-lede{color:var(--text-2); font-size:1.02rem; line-height:1.6; max-width:60ch; margin-bottom:30px}
.foot-note{margin:18px 0 0; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3)}

.cards{display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{padding:26px; position:relative; overflow:hidden}
.card h3{font-size:1.1rem; margin-bottom:10px}
.card p{color:var(--text-2); font-size:.95rem; margin:0}
.card .k{display:block; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px}


.agents{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px}
.agent{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-2); padding:.55em .9em; border:1px solid var(--glass-brd); border-radius:999px; background:var(--glass)}
.agent b{color:var(--cyan); font-weight:500; margin-right:.4em}

/* facts: one hairline strip, not a card grid */
.facts{display:grid; gap:0; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); margin-top:30px; border-radius:var(--radius-sm); overflow:hidden}
.fact{padding:20px 22px; box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.fact:first-child{box-shadow:none}
.fact b{display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(1.35rem,2.6vw,1.75rem); color:var(--text); letter-spacing:-.02em; margin-bottom:6px}
.fact b em{font-style:normal; color:var(--cyan)}
.fact span{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
@media (max-width:640px){.facts{grid-template-columns:1fr 1fr} .fact{box-shadow:inset 1px 0 0 rgba(140,220,255,.09), inset 0 1px 0 rgba(140,220,255,.09)} .fact:first-child,.fact:nth-child(2){box-shadow:inset 1px 0 0 rgba(140,220,255,.09)} .fact:first-child,.fact:nth-child(2n+1){box-shadow:inset 0 1px 0 rgba(140,220,255,.09)} .fact:first-child{box-shadow:none}}

/* ---------- progress ---------- */

/* ---- Lite vs Premium ---- */
.tiers{margin-top:38px; padding:0; overflow:hidden}
.tiers-head,.tier-row{display:grid; grid-template-columns:1.55fr .9fr 1fr 1.05fr; align-items:stretch}
.tiers-head{border-bottom:1px solid var(--frost-hairline-strong)}
.tiers-corner{padding:22px 26px 18px}
.tiers-corner .mono{font-size:.62rem; letter-spacing:.14em; color:var(--cyan)}
.tiers-corner b{display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(1.05rem,2vw,1.35rem); letter-spacing:-.01em; margin-top:6px}
.tier-col{padding:22px 18px 18px; display:flex; flex-direction:column; justify-content:center}
.tier-col .mono{font-size:.62rem; letter-spacing:.14em; color:var(--text-3)}
.tier-col b{display:block; font-family:var(--font-display); font-weight:600; font-size:1.3rem; letter-spacing:-.01em; margin:4px 0 2px; color:var(--text)}
.tier-col b small{font-size:.58em; font-weight:500; color:var(--text-2); margin-left:2px}
.tier-col > small{display:block; font-size:.7rem; color:var(--text-3)}
.tier-col b small{display:inline}
.tier-col--lite .mono{color:var(--green)}
.tier-col--prem,.tier-row .cell.prem{background:linear-gradient(180deg,rgba(0,212,255,.075),rgba(0,212,255,.035)); border-left:1px solid var(--frost-hairline); box-shadow:inset 1px 0 0 rgba(0,212,255,.08)}
.tier-col--prem .mono{color:var(--cyan)}
.tier-col--max,.tier-row .cell.max{background:linear-gradient(180deg,var(--bronze-muted),rgba(185,120,66,.05)); border-left:1px solid var(--bronze-edge); box-shadow:inset 1px 0 0 rgba(215,160,106,.12)}
.tier-col--max .mono{color:var(--cyan-soft)}
.tier-col--max b{font-size:1.05rem; line-height:1.25; text-wrap:balance}
.tier-row{border-bottom:1px solid rgba(140,220,255,.06)}
.tier-row:last-of-type{border-bottom:0}
.tier-row .tool{padding:10px 26px; display:flex; flex-direction:column; justify-content:center; min-height:46px}
.tier-row .tool b{font-weight:600; font-size:.86rem; color:var(--text)}
.tier-row .tool span{font-size:.7rem; color:var(--text-3); margin-top:1px}
.tier-row .cell{display:flex; align-items:center; gap:9px; padding:8px 18px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; color:var(--text-2)}
.tier-row .cell.prem,.tier-row .cell.max{color:var(--text)}
.tier-row .cell.no{color:var(--text-3)}
.tier-row .cell.no::before{content:"—"; opacity:.6}
.tick{flex:none; width:16px; height:16px; border-radius:50%; background:rgba(0,212,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.7 2.7L12.2 5.4' fill='none' stroke='%2300D4FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; box-shadow:0 0 0 1px rgba(0,212,255,.25)}
.tick--max{background-color:rgba(0,212,255,.12); box-shadow:0 0 0 1px var(--bronze-edge)}
.tick--lite{background-color:rgba(41,211,145,.1); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.7 2.7L12.2 5.4' fill='none' stroke='%2329D391' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); box-shadow:0 0 0 1px rgba(41,211,145,.22)}
.tiers-max{display:grid; grid-template-columns:1fr auto; gap:18px 28px; align-items:center; padding:20px 26px; border-top:1px solid var(--frost-hairline-strong); background:linear-gradient(90deg,rgba(0,212,255,.08),rgba(185,120,66,.06))}
.tiers-max .mono{font-size:.62rem; letter-spacing:.14em; color:var(--cyan-soft)}
.tiers-max b{display:block; font-family:var(--font-display); font-weight:600; font-size:1.05rem; margin:4px 0 6px}
.tiers-max p{margin:0; font-size:.8rem; line-height:1.5; color:var(--text-2); max-width:62ch}
.tiers-foot{margin:0; padding:12px 26px 15px; font-size:.58rem; letter-spacing:.09em; color:var(--text-3); text-transform:uppercase}
@media (max-width:720px){
  .tiers-head,.tier-row{grid-template-columns:1.15fr .85fr .95fr 1fr}
  .tiers-corner{grid-column:1/-1; padding:18px 16px 4px}
  .tier-col{padding:12px 8px}
  .tier-col--lite{grid-column:2}
  .tier-col b,.tier-col--max b{font-size:.92rem}
  .tier-col > small{font-size:.58rem}
  .tier-row .tool{padding:9px 12px}
  .tier-row .tool b{font-size:.78rem}
  .tier-row .tool span{display:none}
  .tier-row .cell{padding:6px 7px; font-size:.54rem; letter-spacing:.03em; gap:5px; flex-wrap:wrap}
  .tick{width:13px; height:13px; background-size:13px}
  .tiers-max{grid-template-columns:1fr; padding:18px 16px}
  .tiers-foot{padding:10px 16px 14px}
}

.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}

/* ---- rolling numbers (odometer) ---- */
[data-roll]{line-height:1; white-space:nowrap}
ab-vis{display:inline}
ab-od{display:inline-block; height:1em; line-height:1; overflow:hidden; vertical-align:top; text-align:center}
ab-strip{display:block; transition:transform 1.15s cubic-bezier(.18,.82,.22,1); will-change:transform}
ab-cell{display:block; height:1em; line-height:1}
@media (prefers-reduced-motion:reduce){ab-strip{transition:none}}

/* ---------- steps ---------- */
.steps{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); counter-reset:step}
.step{padding:24px; position:relative}
.step::before{counter-increment:step; content:"0" counter(step); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.2em; color:var(--cyan); display:block; margin-bottom:14px;
  position:static; inset:auto; z-index:auto; width:auto; height:auto; background:none; border-radius:0} /* .glass::before is the absolute frost layer — undo it here */
.step h3{font-size:1rem; margin-bottom:8px}
.step p{color:var(--text-2); font-size:.92rem; margin:0}

.addr{display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:26px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; color:var(--text-3)}
.addr a{color:var(--text-2); text-decoration:none; border-bottom:1px solid var(--line)}
.addr a:hover{color:var(--cyan); border-color:var(--cyan)}

/* ---------- seed page ---------- */
.seedhead{padding:clamp(36px,6vw,64px) 0 clamp(26px,4vw,40px); border-bottom:1px solid var(--line-soft); position:relative; overflow:hidden}
.seedhead .hero-bg{opacity:.7}
.seedhead-in{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr); align-items:center; gap:clamp(20px,4vw,48px)}
.seedhead .hero-logo-stage{min-height:0}
.seedhead .hero-logo{width:clamp(180px,22vw,300px)}
.seedhead .stats{margin-top:22px; padding:16px 20px; border-radius:var(--radius-sm)}
@media (max-width:760px){.seedhead-in{grid-template-columns:1fr}.seedhead .hero-logo-stage{order:-1}.seedhead .hero-logo{width:min(46vw,200px)}}
.seedhead h1{font-size:clamp(1.9rem,4.6vw,3rem)}
.seedhead h1 em{font-style:normal; color:var(--cyan)}
.seedhead .stats{display:flex; flex-wrap:wrap; gap:26px}
.stat b{display:block; font-family:var(--font-mono); font-weight:500; font-size:1.3rem; color:var(--text)}
.stat span{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3)}
.stat b span{font:inherit; letter-spacing:inherit; text-transform:none; color:inherit}

.deck{display:grid; gap:18px; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); padding:clamp(28px,4vw,44px) 0}
@media (max-width:860px){.deck{grid-template-columns:1fr}}
.panel{padding:clamp(20px,3vw,30px); min-width:0}
.deck > *{min-width:0}
.panel-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap}
.panel-head h2{font-size:1.15rem}

.field{margin-bottom:16px}
.field label{display:block; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); margin-bottom:8px}
.amount{display:flex; align-items:center; gap:10px; background:var(--frost-terminal); border:0; box-shadow:inset 0 0 0 1px var(--frost-hairline), inset 0 1px 0 rgba(234,247,255,.06); border-radius:12px; padding:6px 6px 6px 16px; transition:box-shadow .2s}
.amount:focus-within{box-shadow:inset 0 0 0 1px var(--frost-hairline-strong), 0 0 0 4px rgba(0,212,255,.08)}
.amount input{flex:1; min-width:0; background:transparent; border:0; color:var(--text); font-family:var(--font-mono); font-size:1.35rem; outline:none; padding:8px 0}
.amount input::placeholder{color:var(--text-3)}
.amount .unit{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; color:var(--cyan); padding:10px 12px; border-left:1px solid var(--line)}
.picks{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.picks button{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; padding:.55em .8em; border-radius:999px; border:1px solid var(--frost-hairline); background:var(--frost-glass); color:var(--text-2)}
.picks button:hover{border-color:var(--cyan); color:var(--cyan)}
.quote{display:flex; flex-direction:column; gap:8px; padding:16px 18px; background:var(--frost-terminal); box-shadow:inset 0 0 0 1px rgba(0,212,255,.07); border-radius:12px; margin-bottom:16px}
.quote .row{display:flex; justify-content:space-between; gap:12px; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; color:var(--text-3)}
.quote .row b{color:var(--text); font-weight:500}
.quote .row.total b{color:var(--cyan); font-size:1.05rem}
.hint{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.08em; color:var(--text-3); margin-top:8px; min-height:1.2em}
.hint.err{color:var(--red)}
.hint.ok{color:var(--green)}

.flow{display:grid; gap:10px}
.tx{display:flex; flex-direction:column; gap:8px; margin-top:16px}
.tx-row{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; color:var(--text-3); padding:10px 12px; box-shadow:inset 0 0 0 1px rgba(0,212,255,.07); border-radius:10px; background:var(--frost-terminal)}
.tx-row i{width:8px; height:8px; border-radius:50%; background:var(--text-3); flex:0 0 auto}
.tx-row.pending i{background:var(--teal); box-shadow:0 0 10px var(--teal); animation:pulse 1s ease-in-out infinite}
.tx-row.ok i{background:var(--green); box-shadow:0 0 10px var(--green)}
.tx-row.err i{background:var(--red)}
.tx-row a{color:var(--cyan); margin-left:auto; text-decoration:none}

.holding{grid-template-columns:repeat(2,minmax(0,1fr))}
.holding .fact{padding:14px 16px}
.holding .fact b{font-size:1.1rem}
.holding .fact:nth-child(2){box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.holding .fact:nth-child(n+3){box-shadow:inset 0 1px 0 rgba(140,220,255,.09)}
.holding .fact:nth-child(4){box-shadow:inset 1px 0 0 rgba(140,220,255,.09), inset 0 1px 0 rgba(140,220,255,.09)}


.faq{display:grid; gap:10px; max-width:820px}
.faq details{padding:16px 20px}
.faq summary{cursor:pointer; font-family:var(--font-display); font-weight:600; font-size:1rem; list-style:none; display:flex; justify-content:space-between; gap:12px}
.faq summary::after{content:"+"; color:var(--cyan); font-family:var(--font-mono)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--text-2); font-size:.94rem; margin:12px 0 0}

/* ---------- footer ---------- */
footer{padding:clamp(40px,6vw,64px) 0 36px; color:var(--text-3); font-size:.82rem}
.foot{display:grid; gap:28px 40px; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); align-items:start}
.foot .brand{margin:0 0 12px}
.foot p{margin:0; max-width:40ch; line-height:1.55}
.foot h4{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); font-weight:600; margin-bottom:12px}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.foot a{color:var(--text-2); text-decoration:none}
.foot a:hover{color:var(--cyan)}
.foot-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; margin-top:34px; padding-top:18px; box-shadow:inset 0 1px 0 rgba(140,220,255,.09); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase}
footer .addr{margin-top:0}
footer .fine{margin-top:20px; max-width:78ch; line-height:1.6; font-size:.78rem}
@media (max-width:760px){.foot{grid-template-columns:1fr}}

/* ---------- celebration ---------- */
#burst{position:fixed; inset:0; pointer-events:none; z-index:50}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .5s ease}
.reveal.in{opacity:1; transform:none}

/* ---------- narrow ---------- */
@media (max-width:760px){
  .hero-in{grid-template-columns:1fr}
  .coin-stage{order:-1}
  .hero{min-height:0}
  .hero-ctas .btn{flex:1 1 100%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
  .coin{transform:rotateX(-9deg) rotateY(28deg)}
  .reveal{opacity:1; transform:none}
}

/* ---------- hero logo (the real mark, with the landing page's glow) ---------- */
.hero-logo-stage{position:relative;display:grid;place-items:center;min-height:300px}
.hero-logo{width:clamp(220px,32vw,420px);height:auto;display:block;will-change:transform,filter;
  transform:translate(var(--bx,0px),var(--by,0px));
  filter:drop-shadow(0 0 44px rgba(0,212,255,.34));animation:bridgeGlow 6.5s ease-in-out infinite}
@keyframes bridgeGlow{0%,100%{filter:drop-shadow(0 0 30px rgba(0,212,255,.28))}50%{filter:drop-shadow(0 0 64px rgba(0,212,255,.52))}}
@media (max-width:760px){.hero-logo-stage{min-height:0;order:-1}.hero-logo{width:min(56vw,260px)}}

/* ---------- ALPHB section: coin + facts ---------- */
.alphb-wrap{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center}
@media (max-width:860px){.alphb-wrap{grid-template-columns:1fr}}
.coin-face .coin-logo{width:52%;height:auto;display:block;filter:drop-shadow(0 0 18px rgba(0,212,255,.45))}
.coin-face svg{display:none}

/* ==== What's happening — three products + roadmap ==== */
.products{display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px}
@media (max-width:980px){.products{grid-template-columns:1fr}}
.product{padding:24px 24px 22px; display:flex; flex-direction:column; gap:14px; min-height:100%}
.product .p-top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.product .p-name{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--cyan)}
.product .p-art{height:150px; display:grid; place-items:center; margin:2px 0 4px; border-radius:12px; background:var(--frost-terminal); box-shadow:inset 0 0 0 1px rgba(0,212,255,.07); overflow:hidden; position:relative}
.product .p-art svg{width:100%; height:100%; display:block}
.product h3{font-family:var(--font-display); font-size:clamp(1.25rem,2vw,1.55rem); letter-spacing:-.025em; line-height:1.15}
.product h3 em{font-style:normal; color:var(--cyan)}
.product p{margin:0; color:var(--text-2); font-size:.95rem; line-height:1.55}
.product .p-chips{display:flex; flex-wrap:wrap; gap:4px 0; margin-top:auto; padding-top:8px; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
.product .p-chips span + span::before{content:"·"; margin:0 8px; color:var(--steel)}
.product--ent .p-name{color:var(--blue-soft)}
.product--con .p-name{color:var(--green)}

/* product art — shared svg atoms */
.pa-line{stroke:rgba(0,212,255,.35); stroke-width:1.2; fill:none}
.pa-mono{font-family:var(--font-mono); font-size:8px; letter-spacing:.18em; text-transform:uppercase; fill:var(--text-3)}
.pa-hi{fill:var(--cyan)}
@keyframes paPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes paSpin{to{transform:rotate(360deg)}}
@keyframes paDash{to{stroke-dashoffset:-60}}
.pa-pulse{animation:paPulse 2.4s ease-in-out infinite}
.pa-spin{transform-box:fill-box; transform-origin:center; animation:paSpin 18s linear infinite}
.pa-flow{stroke-dasharray:4 8; animation:paDash 2.2s linear infinite}
.pa-seg{fill:none; stroke:rgba(41,211,145,.18); stroke-width:9}
.pa-seg.on{stroke:var(--green); filter:drop-shadow(0 0 6px rgba(41,211,145,.7))}
.pa-seg.on:nth-of-type(2n){animation:paPulse 3s ease-in-out infinite}

/* roadmap */
.roadmap{margin-top:34px; padding:26px 26px 22px}
.rm-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:22px}
.rm-head h3{font-size:1.15rem}
.rm{position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px}
.rm::before{content:""; position:absolute; left:2%; right:2%; top:7px; height:2px; border-radius:2px; background:linear-gradient(90deg, var(--green), var(--cyan) 30%, var(--blue) 70%, rgba(30,107,255,.25))}
.rm-stop{position:relative; padding-top:22px}
.rm-stop::before{content:""; position:absolute; left:0; top:1px; width:14px; height:14px; border-radius:50%; background:var(--panel); box-shadow:inset 0 0 0 2px var(--cyan)}
.rm-stop.now::before{background:var(--green); box-shadow:inset 0 0 0 2px var(--green), 0 0 12px rgba(41,211,145,.55)}
.rm-stop .when{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan); margin-bottom:6px}
.rm-stop.now .when{color:var(--green)}
.rm-stop b{display:block; font-family:var(--font-display); font-size:.98rem; letter-spacing:-.01em; margin-bottom:6px}
.rm-stop p{margin:0; color:var(--text-2); font-size:.84rem; line-height:1.5}
@media (max-width:900px){
  .rm{grid-template-columns:1fr; gap:18px; padding-left:26px}
  .rm::before{left:7px; right:auto; top:2%; bottom:2%; width:2px; height:auto; background:linear-gradient(180deg, var(--green), var(--cyan) 30%, var(--blue) 70%, rgba(30,107,255,.25))}
  .rm-stop{padding-top:0}
  .rm-stop::before{left:-26px; top:2px}
}

/* ==== Ops Bay embed ==== */
.opsbay-frame{padding:10px; border-radius:var(--radius)}
.opsbay-frame iframe{display:block; width:100%; height:900px; border:0; border-radius:12px; background:transparent; transition:height .4s ease}

/* ==== Three Pillars pop-out ==== */
.modal{position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:clamp(10px,3vw,32px)}
.modal-backdrop{position:absolute; inset:0; background:rgba(2,5,11,.78); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px)}
.modal-frame{position:relative; width:min(1280px,100%); height:min(86vh,900px); display:flex; flex-direction:column; overflow:hidden; border-radius:var(--radius); animation:rise .35s ease both}
@keyframes rise{from{opacity:0; transform:translateY(12px) scale(.985)} to{opacity:1; transform:none}}
.modal-bar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px 10px 18px; box-shadow:inset 0 -1px 0 var(--frost-hairline)}
.modal-actions{display:flex; align-items:center; gap:14px}
.modal-actions a{color:var(--text-3); text-decoration:none}
.modal-actions a:hover{color:var(--cyan)}
.modal-close{width:36px; height:36px; border-radius:50%; border:1px solid var(--frost-hairline); background:var(--frost-glass); color:var(--text); font-size:1.3rem; line-height:1; display:grid; place-items:center}
.modal-close:hover{border-color:var(--cyan); color:var(--cyan)}
.modal iframe{flex:1; width:100%; border:0; background:#050A14}
body.modal-open{overflow:hidden}

/* ---------- how safe is ALPHB · fold ---------- */
.safety-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px 32px; margin:6px 0 18px}
.safety-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--radius-sm); box-shadow:inset 0 0 0 1px var(--frost-hairline)}
.safety-table{width:100%; min-width:720px; border-collapse:collapse; font-size:.84rem; line-height:1.5}
.safety-table th{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); font-weight:500; text-align:left; padding:12px 14px; border-bottom:1px solid var(--frost-hairline-strong)}
.safety-table td{padding:12px 14px; vertical-align:top; color:var(--text-2); border-bottom:1px solid rgba(140,220,255,.08)}
.safety-table tr:last-child td{border-bottom:0}
.safety-table td:first-child{color:var(--text); font-weight:600; white-space:nowrap}
.safety-table td:nth-child(2),.safety-table td:nth-child(3){font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--text)}
.safety-table td:nth-child(4){min-width:26ch}
.safety-table .hex{font-size:.72rem}
@media (max-width:760px){.safety-grid{grid-template-columns:1fr}}

/* ---------- the gate · the opening page is one screen (index.html) ----------
   Top bar · [the invitation, the hook, the two offers as bars, the buttons | the mark, the ARB call
   with its live price] · "Advanced" at the foot. Lines arrive in sequence on load (.cue), once.
   Everything else lives in #more, hidden until opened. */
.hero--gate{min-height:100vh; min-height:100dvh; padding:0; align-items:stretch; border-bottom:0}
.gate{position:relative; z-index:1; display:flex; flex-direction:column; width:100%; min-height:100vh; min-height:100dvh}
.gate-top{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:clamp(16px,2.2vw,24px) 0 clamp(8px,1.4vw,14px)}
.gate-top .brand{margin-right:0}
.gate-in{flex:1; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); column-gap:clamp(28px,4vw,64px); align-items:center; padding:clamp(6px,1.2vw,14px) 0}
.gate-copy{min-width:0}
.gate-copy .eyebrow{margin-bottom:14px}
.gate-h{font-family:var(--font-display); font-size:clamp(2.2rem,3.7vw,3.1rem); font-weight:800; line-height:1.02; letter-spacing:-.04em; margin:0 0 14px; color:var(--text)}
.gate-h em{font-style:normal; color:var(--cyan-soft)}
.gate-lede{margin:0 0 10px; font-size:clamp(.98rem,1.3vw,1.08rem); line-height:1.5; color:var(--text-2); max-width:60ch}
.gate-lede b{color:var(--text); font-weight:600}
.gate-hook{margin:0 0 18px; font-family:var(--font-display); font-weight:600; font-size:clamp(1rem,1.4vw,1.14rem); line-height:1.4; letter-spacing:-.012em; color:var(--text); max-width:56ch}
.gate-hook .cy{color:var(--cyan)}
.gate-offers{display:grid; gap:10px; margin:0 0 16px}
.gate-offer{display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"n t" "n bar"; column-gap:14px; row-gap:5px; align-items:center}
.gate-offer .n{grid-area:n; font-family:var(--font-display); font-weight:800; font-size:clamp(1.9rem,2.8vw,2.4rem); line-height:1; letter-spacing:-.03em; color:var(--green); font-variant-numeric:tabular-nums; min-width:3.1ch; text-align:right; align-self:center}
.gate-offer .n.c{color:var(--cyan)}
.gate-offer .t{grid-area:t; margin:0; font-family:var(--font-display); font-weight:700; font-size:clamp(.92rem,1.2vw,1rem); letter-spacing:-.01em; line-height:1.35; color:var(--text)}
.gate-offer .t em{font-style:normal; color:var(--green)}
.gate-offer--premium .t em{color:var(--cyan)}
.gate-offer .t .s{font-family:var(--font-body); font-weight:500; color:var(--text-3)}
.gate-offer .meter{grid-area:bar}
.meter{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin:2px 0 8px}
.meter-track{display:block; height:6px; border-radius:999px; background:rgba(140,220,255,.1); overflow:hidden; box-shadow:inset 0 0 0 1px rgba(140,220,255,.12)}
.meter-fill{display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--green),var(--cyan)); transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.meter .mono{font-size:.62rem; color:var(--text-3); white-space:nowrap}
.meter .mono b{color:var(--green); font-weight:600}
.meter--big{margin:0; gap:16px}
.meter--big .meter-track{position:relative; height:12px; background:rgba(140,220,255,.08); box-shadow:inset 0 0 0 1px rgba(140,220,255,.16), inset 0 1px 0 rgba(234,247,255,.06)}
.meter--big .meter-fill{min-width:12px; transition:width 1.7s cubic-bezier(.2,.7,.2,1) .35s; box-shadow:0 0 18px rgba(41,211,145,.45)}
.meter--big .meter-track::after{content:""; position:absolute; top:0; bottom:0; left:-42%; width:40%; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(0,212,255,.26),transparent); animation:sweep 5.2s cubic-bezier(.45,0,.2,1) 2s infinite}
@keyframes sweep{to{left:104%}}
.gate-offer--premium .meter-fill{background:linear-gradient(90deg,var(--cyan),var(--cyan-2)); box-shadow:0 0 18px rgba(0,212,255,.45)}
.meter--big .mono{font-size:.68rem; color:var(--text-2); letter-spacing:.06em}
.meter--big .mono b{font-size:.95rem; font-weight:600}
.gate-offer--premium .meter--big .mono b{color:var(--cyan)}
.gate-ctas{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 12px}
.btn--big{min-height:52px; padding:13px 22px; font-size:.74rem}
.btn--glow{box-shadow:0 0 0 1px rgba(0,212,255,.55), 0 14px 44px -10px rgba(0,212,255,.65); animation:ctaGlow 3.2s ease-in-out infinite}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 1px rgba(0,212,255,.55), 0 14px 44px -10px rgba(0,212,255,.55)}50%{box-shadow:0 0 0 1px rgba(0,212,255,.8), 0 14px 54px -8px rgba(0,212,255,.9)}}
.gate-trust{margin:0; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text); font-weight:600; line-height:1.9}
.gate-trust .offer-count{display:block; color:var(--text-3); font-weight:500}
.offer-count{font-size:.58rem; color:var(--text-3)}
/* the visual column: the mark, then the call */
.gate-visual{display:grid; justify-items:center; align-content:center; gap:clamp(14px,2vw,24px); min-width:0}
.gate-mark{display:grid; place-items:center}
.gate-mark .hero-logo{width:clamp(190px,20vw,270px); aspect-ratio:560/486}
.proof{width:100%; max-width:520px; padding:16px 20px 14px; display:grid; gap:10px}
.proof-head{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.proof-eng{display:inline-flex; align-items:center; gap:4px; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
.proof-eng i{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(41,211,145,.7)}
.proof-eng b{margin-left:8px; color:var(--green); font-weight:600}
.proof-row{display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px}
.proof-row--now{padding-top:8px; border-top:1px solid var(--frost-hairline)}
.proof-move{display:inline-flex; align-items:baseline; gap:8px}
.proof-move .k{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.proof-tk{font-family:var(--font-display); font-weight:800; font-size:1.6rem; letter-spacing:-.03em; line-height:1; color:var(--text)}
.proof-dir{font-family:var(--font-mono); font-size:.66rem; font-weight:600; letter-spacing:.16em; color:var(--green); padding:.35em .6em; border-radius:6px; box-shadow:inset 0 0 0 1px rgba(41,211,145,.4); background:rgba(41,211,145,.08); align-self:center}
.proof-px{display:inline-flex; align-items:baseline; gap:8px}
.proof-px .k{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.proof-px b{font-family:var(--font-display); font-weight:700; font-size:1.25rem; letter-spacing:-.02em; color:var(--text); font-variant-numeric:tabular-nums}
.proof-arrow{color:var(--text-3); font-size:1.1rem}
.proof-move b{font-family:var(--font-display); font-weight:800; font-size:1.25rem; letter-spacing:-.02em; color:var(--green); font-variant-numeric:tabular-nums}
.proof-move[data-dir="down"] b{color:var(--red)}
.proof-src{margin:0; font-family:var(--font-mono); font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); line-height:1.7}
/* the foot: Advanced */
.gate-foot{display:flex; justify-content:center; padding:clamp(6px,1vw,12px) 0 clamp(12px,1.8vw,20px)}
.hero--cand .gate-foot{padding:4px 0 12px}
.hero--cand .gate-top{padding-bottom:6px}
.gate-more{appearance:none; background:none; border:0; cursor:pointer; display:inline-flex; align-items:center; gap:12px; color:var(--cyan); padding:8px 16px; border-radius:var(--radius-sm)}
.gate-more .mono{font-size:.7rem; font-weight:600; letter-spacing:.2em; color:var(--cyan)}
.gate-more-sub{font-family:var(--font-body); font-size:.82rem; color:var(--text-3)}
.gate-more i{font-style:normal; font-size:1.1rem; line-height:1; color:var(--cyan); animation:nudge 2.2s ease-in-out infinite}
.gate-more:hover .mono,.gate-more:hover i{color:var(--cyan-2)}
.gate-more:focus-visible{outline:2px solid var(--cyan); outline-offset:3px}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
#more[hidden]{display:none}
html.js .cue{opacity:0; transform:translateY(10px); animation:cue .7s cubic-bezier(.2,.7,.2,1) forwards}
html.js .cue-1{animation-delay:.05s} html.js .cue-2{animation-delay:.18s} html.js .cue-3{animation-delay:.32s} html.js .cue-4{animation-delay:.46s} html.js .cue-5{animation-delay:.62s} html.js .cue-6{animation-delay:.78s} html.js .cue-7{animation-delay:.94s} html.js .cue-8{animation-delay:1.08s}
@keyframes cue{to{opacity:1; transform:none}}
@media (max-width:900px){
  .hero--gate,.gate{min-height:0}
  /* one column, re-ordered: the mark, the invitation, the offers, the buttons, the call, the trust line */
  .gate-in{display:flex; flex-direction:column; align-items:stretch; padding-bottom:8px}
  .gate-copy,.gate-visual{display:contents}
  .gate-mark{order:0; margin:4px 0 18px}
  .gate-copy .eyebrow{order:1}
  .gate-h{order:2}
  .gate-lede{order:3}
  .gate-hook{order:4}
  .gate-offers{order:5}
  .gate-ctas{order:6}
  .proof{order:7; max-width:none; margin:4px 0 14px}
  .gate-trust{order:8}
  .gate-mark .hero-logo{width:min(44vw,180px)}
  .gate-ctas .btn{flex:1 1 100%}
}
@media (max-width:520px){.gate-top .wm{display:none}}
@media (max-width:520px){.gate-offer{grid-template-columns:1fr; grid-template-areas:"n" "t" "bar"} .gate-offer .n{text-align:left} .meter--big{grid-template-columns:1fr; gap:6px} .meter--big .mono{order:-1; justify-self:end}}
@media (prefers-reduced-motion:reduce){html.js .cue{animation:none; opacity:1; transform:none} .meter--big .meter-track::after{animation:none} .btn--glow{animation:none} .meter--big .meter-fill{transition:none} .gate-more i{animation:none}}

/* ---------- don't get trapped · the first section behind the gate (index.html) ----------
   The four beats on the left and the full liquidity-bait chart on the right run off one clock —
   .live on the section (app.js, while on screen, on a loop). .complete pins the final frame. */
.trap-in{display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr); gap:28px clamp(28px,4vw,56px); align-items:center}
.trap-copy h2{font-size:clamp(1.9rem,4vw,2.9rem); margin:14px 0 16px; max-width:12ch}
.beats{list-style:none; margin:0 0 14px; padding:0; display:grid; gap:4px}
.beat{font-family:var(--font-display); font-weight:600; font-size:clamp(.98rem,1.5vw,1.12rem); letter-spacing:-.01em; line-height:1.3; color:var(--text); opacity:0; transform:translateY(8px); transition:opacity .5s ease, transform .5s ease}
.beat--last{color:var(--cyan)}
.lede--tight{font-size:clamp(.92rem,1.4vw,1rem); color:var(--text-3); max-width:52ch; margin:0 0 18px; line-height:1.55}
.hero-trap{position:relative; margin:0; display:flex; flex-direction:column; gap:10px; width:100%; max-width:600px; justify-self:end}
.hero-trap::before{content:""; position:absolute; z-index:0; left:50%; top:40%; width:min(52%,300px); aspect-ratio:560/486; transform:translate(-50%,-50%); background:url("assets/alphabridge-logo.png") center/contain no-repeat; opacity:.06; filter:blur(1px); pointer-events:none}
.trap-panel{position:relative; z-index:1; border-radius:var(--radius); overflow:hidden; background:linear-gradient(180deg,rgba(8,17,29,.88),rgba(3,10,18,.96)); box-shadow:inset 0 0 0 1px var(--frost-hairline), inset 0 1px 0 rgba(234,247,255,.12), 0 38px 90px -40px rgba(0,0,0,.9), 0 0 60px -30px rgba(0,212,255,.35)}
.trap{display:block; width:100%; height:auto; font-family:var(--font-mono)}
.trap .t-cap{fill:var(--text-3); font-size:13.5px; letter-spacing:2px}
.trap .t-cap--cyan{fill:var(--cyan)}
.trap .t-lbl{fill:var(--text-3); font-size:15px; letter-spacing:1.4px}
.trap .t-lbl--sm{font-size:13px}
.trap .t-lbl--red{fill:#ff8995}
.trap .t-lbl--green{fill:var(--green); font-size:16px}
.trap .t-lbl--teal{fill:var(--teal)}
.trap .t-grid,.trap .t-base,.trap .t-trigger,.trap .t-breakout,.trap .t-volfail,.trap .t-sweep,.trap .t-return,.trap .t-under,.trap .t-liqpos,.trap .t-funding,.trap .t-event{opacity:0; transition:opacity .55s ease, transform .6s ease}
.trap .t-under{transform:translateY(-16px)}
.trap .t-current{stroke-dasharray:620; stroke-dashoffset:620}
.trap-index{display:grid; grid-template-columns:repeat(8,1fr); border-top:1px solid rgba(0,212,255,.14); opacity:0; transition:opacity .5s ease}
.trap-index span{min-height:48px; padding:9px 4px; border-right:1px solid rgba(157,176,201,.1); color:var(--text-3); font:600 7.5px/1.35 var(--font-mono); letter-spacing:.08em; text-align:center; text-transform:uppercase}
.trap-index span:last-child{border-right:0}
.trap-index i{display:block; width:4px; height:4px; margin:0 auto 7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px rgba(0,212,255,.65)}
.trap-verdict{position:relative; z-index:1; margin:0; font-family:var(--font-display); font-weight:700; font-size:clamp(1.15rem,2.2vw,1.6rem); letter-spacing:-.02em; line-height:1.15; color:var(--text); opacity:0; transform:translateY(6px); transition:opacity .55s ease, transform .55s ease}
.trap-verdict em{font-style:normal; color:var(--red)}
[data-trap].live .t-grid,[data-trap].live .t-base{opacity:1; transition-delay:.15s}
[data-trap].live .t-trigger{opacity:1; transition-delay:.7s}
[data-trap].live .t-breakout{opacity:1; transition-delay:1.2s}
[data-trap].live .beat[data-beat="1"]{opacity:1; transform:none; transition-delay:1.3s}
[data-trap].live .t-volfail{opacity:1; transition-delay:2.1s}
[data-trap].live .t-sweep{opacity:1; transition-delay:2.8s}
[data-trap].live .beat[data-beat="2"]{opacity:1; transform:none; transition-delay:2.9s}
[data-trap].live .t-return{opacity:1; transition-delay:3.5s}
[data-trap].live .t-under{opacity:1; transform:none; transition-delay:4.2s}
[data-trap].live .t-current{stroke-dashoffset:0; transition:stroke-dashoffset 1.5s ease 4.3s}
[data-trap].live .beat[data-beat="3"]{opacity:1; transform:none; transition-delay:4.4s}
[data-trap].live .t-liqpos{opacity:1; transition-delay:4.9s}
[data-trap].live .t-funding{opacity:1; transition-delay:5.3s}
[data-trap].live .t-event{opacity:1; transition-delay:5.7s}
[data-trap].live .trap-index{opacity:1; transition-delay:5.9s}
[data-trap].live .trap-verdict{opacity:1; transform:none; transition-delay:6.3s}
[data-trap].live .beat[data-beat="4"]{opacity:1; transform:none; transition-delay:6.4s}
[data-trap].complete .t-grid,[data-trap].complete .t-base,[data-trap].complete .t-trigger,[data-trap].complete .t-breakout,[data-trap].complete .t-volfail,[data-trap].complete .t-sweep,[data-trap].complete .t-return,[data-trap].complete .t-under,[data-trap].complete .t-liqpos,[data-trap].complete .t-funding,[data-trap].complete .t-event,[data-trap].complete .trap-index,[data-trap].complete .trap-verdict,[data-trap].complete .beat{opacity:1; transform:none; transition:none}
[data-trap].complete .t-current{stroke-dashoffset:0; transition:none}
@media (max-width:760px){.trap-in{grid-template-columns:1fr} .hero-trap{max-width:none; justify-self:stretch} .hero-trap::before{width:44%} .trap-index{grid-template-columns:repeat(4,1fr)} .trap-index span:nth-child(4){border-right:0} .trap-index span:nth-child(-n+4){border-bottom:1px solid rgba(157,176,201,.1)}}
@media (prefers-reduced-motion:reduce){.trap *,.trap-verdict,.beat,.trap-index{transition:none !important}}

/* ---------- founding beta · the strip on the landing + the tester's page (beta.html) ---------- */
.beta-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px}
.beta-card{display:flex; flex-direction:column; gap:12px; padding:24px 24px 22px; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease}
.beta-card:hover{transform:translateY(-2px)}
.beta-card:focus-visible{outline:2px solid var(--cyan); outline-offset:3px}
.beta-card h3{font-family:var(--font-display); font-size:clamp(1.2rem,1.9vw,1.45rem); letter-spacing:-.025em; line-height:1.15; color:var(--text)}
.beta-card p{margin:0; color:var(--text-2); font-size:.93rem; line-height:1.55; flex:1}
.beta-cta{display:inline-flex; align-items:center; gap:.5em; color:var(--cyan); font-family:var(--font-mono); font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-top:4px}
.beta-cta span{transition:transform .2s}
.beta-card:hover .beta-cta span{transform:translateX(3px)}
#beta .foot-note{margin-top:22px}
@media (max-width:900px){.beta-grid{grid-template-columns:1fr}}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
h2 em.cy,h3 em.cy,.cy{font-style:normal; color:var(--cyan)}
.hero--beta h1{max-width:10ch}
.hero--beta .lede b{color:var(--text)}
.offer{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:24px 40px; align-items:center; padding:clamp(22px,3.4vw,34px)}
.checks{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px}
.checks li{position:relative; padding-left:28px; font-weight:600; color:var(--text); font-size:.98rem; line-height:1.4}
.checks li::before{content:""; position:absolute; left:0; top:.28em; width:14px; height:8px; border-left:2px solid var(--green); border-bottom:2px solid var(--green); transform:rotate(-45deg)}
.offer-act{display:flex; flex-direction:column; gap:12px; align-items:flex-start}
.offer-act p{margin:0; font-size:.82rem; line-height:1.55}
.offer-act--row{margin-top:26px; flex-direction:row; align-items:center; gap:22px}
.offer-act--row p{max-width:52ch}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border-radius:var(--radius-sm); overflow:hidden; box-shadow:inset 0 0 0 1px var(--frost-hairline); background:var(--frost-glass)}
.steps li{padding:20px 18px 22px; display:flex; flex-direction:column; gap:6px; box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.steps li:first-child{box-shadow:none}
.step-n{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.2em; color:var(--cyan)}
.steps b{font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text)}
.steps p{margin:0; font-size:.84rem; line-height:1.5; color:var(--text-3)}
.refer-grid{display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:24px 40px; align-items:start}
.invites{display:grid; gap:12px}
.invite{padding:16px 18px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 14px; align-items:center}
.invite .code{font-family:var(--font-mono); font-weight:600; font-size:1rem; letter-spacing:.08em; color:var(--text-3)}
.invite .tag{grid-column:2; grid-row:1 / span 2; align-self:center; white-space:normal; text-align:right; max-width:11em; line-height:1.5}
.rules{list-style:none; margin:0; padding:0; display:grid; gap:14px}
.rules li{padding-left:18px; border-left:2px solid var(--frost-hairline-strong); color:var(--text-2); font-size:.93rem; line-height:1.55}
.rules b{color:var(--text)}
.accept{padding:clamp(26px,4vw,44px); text-align:center; max-width:760px; margin:0 auto}
.accept .kicker{justify-content:center}
.accept .kicker::after{display:none}
.accept h2{margin:10px 0 14px}
.accept-lede{color:var(--text-2); max-width:58ch; margin:0 auto 22px; line-height:1.6}
.accept-form{display:flex; gap:10px; max-width:560px; margin:0 auto 18px}
.accept-form input{flex:1; min-width:0; min-height:46px; padding:10px 16px; border-radius:999px; border:1px solid var(--frost-hairline-strong); background:rgba(3,10,20,.7); color:var(--text); font:inherit; font-size:.95rem}
.accept-form input::placeholder{color:var(--text-3)}
.accept-form input:focus{outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px rgba(0,212,255,.18)}
.accept-note{margin:0 auto 16px; max-width:56ch; font-size:.84rem; color:var(--teal)}
.accept-links{display:flex; flex-wrap:wrap; justify-content:center; gap:12px}
.accept-line{margin:18px 0 0; font-size:.62rem; line-height:1.8}
.accept-line a{color:var(--text-2)}
.accept-line a:hover{color:var(--cyan)}
@media (max-width:900px){.offer{grid-template-columns:1fr} .steps{grid-template-columns:1fr 1fr} .steps li{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)} .refer-grid{grid-template-columns:1fr}}
@media (max-width:640px){.checks{grid-template-columns:1fr} .offer-act--row{flex-direction:column; align-items:flex-start} .accept-form{flex-direction:column}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* ---------- the cross-section pop-out (xsec.js) ---------- */
.p-more,.xsec-link{appearance:none; background:none; border:0; padding:0; margin:0; align-self:flex-start; display:inline-flex; align-items:center; gap:.5em; color:var(--cyan); font-family:var(--font-mono); font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; text-decoration:none}
.p-more span,.xsec-link span{transition:transform .2s}
.p-more:hover span,.xsec-link:hover span{transform:translateX(3px)}
.p-more:focus-visible,.xsec-link:focus-visible{outline:2px solid var(--cyan); outline-offset:4px; border-radius:4px}
.xsec-link{display:flex; justify-content:center; width:100%; margin:14px auto 0}
.modal-body{flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch}
.xsec-body{padding:clamp(20px,3.4vw,40px)}
.xsec-fixture{color:var(--teal); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; font-family:var(--font-mono); margin:8px 0 0}
.modal-actions .xsec-fixture{margin:0}
.xsec-head{max-width:64ch; margin-bottom:22px}
.xsec-head h3,.xsec-markets h3,.rwa h3{font-weight:700; letter-spacing:-.025em; line-height:1.1}
.xsec-head h3{font-size:clamp(1.9rem,4.2vw,2.9rem); margin:12px 0 12px}
.xsec-head h3 em,.xsec-markets h3 em,.rwa h3 em{font-style:normal; color:var(--cyan)}
.xsec-head p,.xsec-lede,.rwa p{color:var(--text-2); font-size:.98rem; line-height:1.6; max-width:60ch; margin:0}
.xsec-stage{max-width:640px; margin:0 auto}
.xsec-stage #xsHost{display:block}
.xsec-caption{display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.xsec-caption span:last-child{color:var(--teal)}
.xsec-markets{margin-top:clamp(30px,5vw,48px); padding-top:clamp(22px,3vw,32px); border-top:1px solid var(--line-soft)}
.xsec-markets h3{font-size:clamp(1.45rem,2.8vw,2rem)}
.xsec-lede{margin:0 0 16px}
/* the instrument */
.xs{width:100%; height:auto; display:block; font-family:var(--font-mono)}
.xs .lbl{font-size:9.2px; letter-spacing:.14em; fill:var(--text-3); text-transform:uppercase; transition:fill .35s ease}
.xs .read{font-size:8.6px; letter-spacing:.1em; fill:var(--steel); text-transform:uppercase; transition:fill .35s ease}
.xs .band{fill:rgba(140,220,255,.03); stroke:rgba(53,80,122,.55); stroke-width:1; transition:fill .45s ease, stroke .45s ease}
.xs .chk{fill:none; stroke:var(--steel); stroke-width:1.2; transition:stroke .35s ease}
.xs .chkmark{opacity:0; stroke:var(--green); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; transition:opacity .35s ease}
.xs .mv{opacity:.55; transition:opacity .4s ease}
.xs g.lit .band{fill:rgba(41,211,145,.10); stroke:rgba(41,211,145,.55)}
.xs g.lit .lbl{fill:var(--text)}
.xs g.lit .read{fill:var(--green)}
.xs g.lit .chk{stroke:rgba(41,211,145,.7)}
.xs g.lit .chkmark{opacity:1}
.xs g.lit .mv{opacity:1}
.xs g.mixed .read{fill:var(--text-3)}
.xs .count{font-family:var(--font-display); font-weight:700; font-size:30px; fill:var(--text); letter-spacing:-.02em}
.xs .count-sub{font-size:9.5px; letter-spacing:.16em; fill:var(--text-3); text-transform:uppercase}
.xs .count-dir{font-size:9.5px; letter-spacing:.16em; fill:var(--green); text-transform:uppercase}
.xs .surface{stroke:var(--frost-hairline-strong); stroke-width:1}
.xs .surface-lbl{font-size:8.6px; letter-spacing:.2em; fill:var(--cyan); text-transform:uppercase}
.xs .candle{transition:opacity .3s ease}
.xs .last-candle{opacity:0; transition:opacity .5s ease}
.xs.printed .last-candle{opacity:1}
.xs .pulse{opacity:0; stroke:var(--cyan); stroke-width:1.2}
.xs .bar-track{stroke:rgba(53,80,122,.6); stroke-width:1}
.xs .bar-tick{stroke:rgba(53,80,122,.8); stroke-width:1}
.xs .bar-lbl{font-size:7.6px; letter-spacing:.12em; fill:var(--text-3); text-transform:uppercase}
.xs .bar-mark{fill:var(--cyan)}
.xs .bar-mark-lbl{font-size:7.8px; letter-spacing:.14em; fill:var(--cyan); text-transform:uppercase}
.xs.crossed .bar-mark{filter:drop-shadow(0 0 4px rgba(0,212,255,.9))}
/* the same object at card size, one per market */
.ustrip{display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 4px 14px; scrollbar-width:none}
.ustrip::-webkit-scrollbar{display:none}
.ucell{flex:0 0 150px; scroll-snap-align:start; padding:16px 14px 14px; display:flex; flex-direction:column; gap:10px; border-radius:var(--radius-sm)}
.ucell .tk{font-family:var(--font-display); font-weight:700; font-size:1.3rem; letter-spacing:-.02em; line-height:1; display:flex; justify-content:space-between; align-items:baseline}
.ucell .tk small{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.12em; color:var(--text-3); font-weight:400; text-transform:uppercase}
.mini{display:grid; gap:3px}
.mini i{display:block; height:4px; border-radius:1px; background:rgba(53,80,122,.55)}
.mini i.on{background:var(--green); box-shadow:0 0 6px rgba(41,211,145,.35)}
.ucell .cnt{display:flex; justify-content:space-between; align-items:baseline; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.ucell .cnt b{font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:-.02em; color:var(--text)}
.ucell .tag{font-size:.56rem}
/* the three sourced numbers */
.rwa{margin-top:clamp(26px,4vw,40px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(20px,4vw,48px); align-items:start; border-top:1px solid var(--line-soft); padding-top:clamp(22px,3vw,32px)}
.rwa h3{font-size:clamp(1.3rem,2.4vw,1.7rem); margin-bottom:12px}
.rwa-hook{font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:var(--text); margin-top:14px !important}
.rwa .nums{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid var(--line-soft); border-radius:var(--radius-sm); overflow:hidden}
.rwa .n{padding:18px 16px; border-right:1px solid var(--line-soft); background:rgba(5,10,20,.5)}
.rwa .n:last-child{border-right:0}
.rwa .n b{display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(1.3rem,2.4vw,1.8rem); letter-spacing:-.03em; line-height:1.1; color:var(--text); font-variant-numeric:tabular-nums}
.rwa .n span{display:block; margin-top:6px; font-family:var(--font-mono); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.rwa p.rwa-src{margin:10px 0 0; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
@media (max-width:900px){.rwa{grid-template-columns:1fr}}
@media (max-width:520px){.rwa .nums{grid-template-columns:1fr} .rwa .n{border-right:0; border-bottom:1px solid var(--line-soft)} .rwa .n:last-child{border-bottom:0}}
@media (prefers-reduced-motion:reduce){.xs *{transition:none !important}}
@media (max-width:640px){.modal{padding:0}.modal-frame{height:100dvh; border-radius:0}}

/* ==== The three pillars — compact tiles, the film does the talking ==== */
.pillars3{display:grid; gap:0; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:26px; border-radius:var(--radius); overflow:hidden; box-shadow:inset 0 0 0 1px var(--frost-hairline)}
.p3{display:block; padding:24px 24px 26px; text-decoration:none; color:inherit; box-shadow:inset 1px 0 0 rgba(140,220,255,.1); transition:background .2s}
.p3:first-child{box-shadow:none}
.p3:hover{background:rgba(140,220,255,.04)}
.p3-n{display:block; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.2em; color:var(--cyan); margin-bottom:14px}
.p3 b{display:block; font-family:var(--font-display); font-size:1.08rem; font-weight:600; letter-spacing:-.015em; margin-bottom:8px}
.p3 p{margin:0; color:var(--text-2); font-size:.9rem; line-height:1.55}
.pillars-play{display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:24px}
.pillars-play .mono{font-size:.6rem}
@media (max-width:820px){.pillars3{grid-template-columns:1fr} .p3{box-shadow:inset 0 1px 0 rgba(140,220,255,.1)} .p3:first-child{box-shadow:none}}

/* ==== Tokenomics & utility — fold-out under the coin ==== */
.fold{margin-top:34px; padding:0; overflow:hidden}
.fold-toggle{display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:18px; width:100%; padding:18px 22px; background:none; border:0; color:var(--text); text-align:left; cursor:pointer; transition:background .2s}
.fold-toggle:hover{background:rgba(140,220,255,.035)}
.fold-toggle:focus-visible{outline:2px solid var(--cyan); outline-offset:-4px; border-radius:var(--radius)}
.fold-kicker{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--cyan)}
.fold-title{font-family:var(--font-display); font-weight:600; font-size:1.1rem; letter-spacing:-.015em}
.fold-hint{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); white-space:nowrap}
.fold-chev{width:30px; height:30px; border-radius:50%; box-shadow:inset 0 0 0 1px var(--frost-hairline); position:relative; flex:none; transition:transform .35s ease, box-shadow .2s}
.fold-chev::before{content:""; position:absolute; left:50%; top:50%; width:8px; height:8px; border-right:1.5px solid var(--cyan); border-bottom:1.5px solid var(--cyan); transform:translate(-50%,-65%) rotate(45deg)}
.fold.open .fold-chev{transform:rotate(180deg); box-shadow:inset 0 0 0 1px var(--frost-hairline-strong)}
.fold-body{display:grid; grid-template-rows:0fr; visibility:hidden; transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1), visibility 0s .45s}
.fold.open .fold-body{grid-template-rows:1fr; visibility:visible; transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1), visibility 0s}
.fold-in{min-height:0; overflow:hidden}
.fold-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); box-shadow:inset 0 1px 0 var(--frost-hairline)}
.fold-pane{padding:24px 24px 26px; min-width:0}
.fold-pane + .fold-pane{box-shadow:inset 1px 0 0 rgba(140,220,255,.1)}
.pane-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin-bottom:14px}
.pane-head h3{font-size:1.05rem}
.pane-head .mono{font-size:.58rem}
@media (max-width:900px){.fold-grid{grid-template-columns:1fr} .fold-pane + .fold-pane{box-shadow:inset 0 1px 0 rgba(140,220,255,.1)} .fold-toggle{grid-template-columns:auto 1fr auto; gap:12px; padding:16px 18px} .fold-hint{display:none}}

/* utility rows */
.u-list{list-style:none; margin:0; padding:0}
.u-row{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; padding:12px 0; box-shadow:inset 0 1px 0 rgba(140,220,255,.08)}
.u-row:first-child{box-shadow:none; padding-top:2px}
.u-n{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; color:var(--cyan); padding-top:4px}
.u-row b{display:block; font-family:var(--font-display); font-weight:600; font-size:.94rem; letter-spacing:-.01em; margin-bottom:3px}
.u-row p{margin:0; font-size:.84rem; line-height:1.5; color:var(--text-2)}
.u-row .tag{padding-top:5px}
.u-rule{margin:16px 0 0; font-size:.8rem; line-height:1.5; color:var(--text-3)}

/* tokenomics */
.tk-top{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-bottom:18px; border-radius:var(--radius-sm); box-shadow:inset 0 0 0 1px rgba(140,220,255,.09)}
.tk-stat{padding:14px 16px; box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.tk-stat:first-child{box-shadow:none}
.tk-stat b{display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(1rem,1.6vw,1.25rem); letter-spacing:-.02em; margin-bottom:4px}
.tk-stat span{font-family:var(--font-mono); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); line-height:1.5; display:block}
@media (max-width:560px){.tk-top{grid-template-columns:1fr} .tk-stat{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)} .tk-stat:first-child{box-shadow:none}}
.alloc{margin:0 0 18px}
.alloc-bar{display:flex; gap:2px; height:22px; border-radius:6px; overflow:hidden}
.alloc-bar .seg{flex:var(--w) 0 0; background:var(--c); position:relative; display:grid; place-items:center; transition:filter .2s, opacity .2s; cursor:default; min-width:0}
.alloc-bar .seg i{font-style:normal; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.06em; color:#EAF7FF; text-shadow:0 1px 2px rgba(0,0,0,.6); overflow:hidden; white-space:nowrap; max-width:100%; padding:0 4px; font-variant-numeric:tabular-nums}
.alloc-bar .seg:first-child{border-radius:6px 0 0 6px}
.alloc-bar .seg:last-child{border-radius:0 6px 6px 0}
.alloc.has-hi .seg:not(.hi){opacity:.38}
.alloc-legend{width:100%; border-collapse:collapse; margin-top:12px; font-size:.78rem}
.alloc-legend td{padding:7px 8px 7px 0; vertical-align:top; box-shadow:inset 0 1px 0 rgba(140,220,255,.07); color:var(--text-2); line-height:1.4; transition:background .15s}
.alloc-legend tr:first-child td{box-shadow:none}
.alloc-legend td:first-child{color:var(--text); white-space:nowrap}
.alloc-legend td:last-child{color:var(--text-3); font-size:.72rem}
.alloc-legend td.num{font-family:var(--font-mono); font-size:.72rem; white-space:nowrap; text-align:right; padding-right:14px; font-variant-numeric:tabular-nums}
.alloc-legend td i{display:inline-block; width:10px; height:10px; border-radius:3px; background:var(--c); margin-right:9px; vertical-align:-1px}
.alloc-legend tr.hi td{background:rgba(140,220,255,.05)}
@media (max-width:560px){.alloc-legend td:last-child{display:none} .alloc-bar .seg i{display:none}}
.tk-cols{display:grid; grid-template-columns:1.1fr 1fr; gap:18px 24px}
@media (max-width:640px){.tk-cols{grid-template-columns:1fr}}
.tk-cols h4{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cyan); font-weight:600; margin:0 0 8px}
.tk-cols h4 + .tk-list, .tk-cols h4 + ul{margin-bottom:16px}
.tk-list{list-style:none; margin:0; padding:0}
.tk-list li{display:grid; grid-template-columns:auto 1fr; gap:2px 12px; padding:6px 0; font-size:.8rem; box-shadow:inset 0 1px 0 rgba(140,220,255,.07)}
.tk-list li:first-child{box-shadow:none; padding-top:0}
.tk-list li span{color:var(--text-3); font-family:var(--font-mono); font-size:.66rem; letter-spacing:.06em; padding-top:2px}
.tk-list li b{font-weight:500; color:var(--text); font-variant-numeric:tabular-nums}
.tk-list li small{grid-column:2; color:var(--text-3); font-size:.7rem}
.tk-list--plain li{display:block; color:var(--text-2); line-height:1.5}
.tk-not ul{list-style:none; margin:0 0 14px; padding:0}
.tk-not li{padding:6px 0 6px 16px; position:relative; font-size:.82rem; color:var(--text-2); box-shadow:inset 0 1px 0 rgba(140,220,255,.07)}
.tk-not li:first-child{box-shadow:none; padding-top:0}
.tk-not li::before{content:""; position:absolute; left:0; top:.85em; width:8px; height:1px; background:var(--red); opacity:.8}
.tk-not li:first-child::before{top:.45em}
.disclaimer{margin:0; padding:10px 12px; border-radius:8px; background:var(--frost-terminal); box-shadow:inset 0 0 0 1px rgba(0,212,255,.1); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.06em; line-height:1.5; color:var(--text-2)}

/* ==== The two tokens — ALPHB (cyan, the key) beside COMPUTE (blue, the fuel) ====
   Two cards of the same shape so they read as one system; the accent colour is the only
   thing that changes, and it never crosses over. Fold-outs are native <details>. */
.tokens-grid{display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:6px}
@media (max-width:860px){.tokens-grid{grid-template-columns:1fr}}
.token{padding:24px 24px 10px; --acc:var(--cyan); --acc-soft:var(--cyan-soft)}
.token--compute{--acc:var(--blue); --acc-soft:var(--blue-soft)}
.token::after{content:""; position:absolute; left:0; top:0; width:100%; height:2px; background:linear-gradient(90deg, var(--acc), transparent 70%); pointer-events:none}
.token-head{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; margin-bottom:16px}
.token-logo{display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:var(--panel); box-shadow:inset 0 0 0 1px var(--line-soft); overflow:hidden}
.token-logo img{height:34px; width:auto; display:block}
.token-logo svg{width:48px; height:48px; display:block}
.token-id h3{font-size:1.25rem; letter-spacing:-.02em; color:var(--acc-soft)}
.token-id h3 small{font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.14em; color:var(--text-3); margin-left:.5em; vertical-align:middle}
.token-id .mono{display:block; margin-top:4px; color:var(--text-3)}
.token-role{margin:0 0 14px; color:var(--text-2); font-size:.95rem; line-height:1.55}
.token-role b{color:var(--text); font-weight:600}
.token-sup{margin:0 0 6px; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px}
.token-sup b{font-family:var(--font-display); font-weight:600; font-size:clamp(1.25rem,2.2vw,1.5rem); letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--text)}
.token-sup span{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}

.tfold{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)}
.tfold summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; font-family:var(--font-display); font-weight:600; font-size:.98rem; color:var(--text)}
.tfold summary::-webkit-details-marker{display:none}
.tfold summary::after{content:"+"; color:var(--acc, var(--cyan)); font-family:var(--font-mono); font-size:1rem; flex:none}
.tfold[open] summary::after{content:"–"}
.tfold summary:focus-visible{outline:2px solid var(--cyan); outline-offset:2px; border-radius:6px}
.tfold summary:hover{color:var(--acc-soft, var(--cyan-2))}
.tfold > :not(summary){margin-bottom:16px}

.kv{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:8px 16px; margin:0; font-size:.8rem}
.kv dt{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); padding-top:3px; max-width:11ch; line-height:1.5}
.kv dd{margin:0; color:var(--text-2); line-height:1.5}
.kv dd i{font-style:normal; color:var(--text)}
.kv dd code{font-family:var(--font-mono); font-size:.72rem; color:var(--text); background:rgba(140,220,255,.06); padding:1px 5px; border-radius:4px}
@media (max-width:480px){.kv{grid-template-columns:1fr; gap:2px 0} .kv dd{margin-bottom:8px} .kv dt{max-width:none}}
/* On-chain addresses: monospace, case-preserving (EIP-55 checksums are case-sensitive),
   selectable as one unit, and free to break so a 42/44-character string never widens the page. */
.hex{font-family:var(--font-mono); font-size:.9em; color:var(--text); overflow-wrap:anywhere; word-break:break-all; user-select:all; -webkit-user-select:all}

.never{list-style:none; margin:0; padding:0}
.never li{padding:6px 0 6px 16px; position:relative; font-size:.84rem; color:var(--text-2); line-height:1.5; box-shadow:inset 0 1px 0 rgba(140,220,255,.07)}
.never li:first-child{box-shadow:none; padding-top:0}
.never li::before{content:""; position:absolute; left:0; top:.85em; width:8px; height:1px; background:var(--red); opacity:.8}
.never li:first-child::before{top:.45em}
.never-note{margin:12px 0 0; font-size:.78rem; line-height:1.55; color:var(--text-3)}
.never-note em{font-style:normal; color:var(--text)}

.tfold--wide{margin-top:16px; padding:4px 24px 10px; --acc:var(--cyan); --acc-soft:var(--cyan-2)}
.tfold--wide summary{font-size:1.05rem}
.held-lede{margin:2px 0 18px; color:var(--text-2); font-size:.95rem; line-height:1.6; max-width:78ch}
.held-lede strong{color:var(--text)}
.held-grid{display:grid; gap:20px 28px; grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.held-grid{grid-template-columns:1fr}}
.held h4{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; margin:0 0 10px; color:var(--cyan)}
.held--compute h4{color:var(--blue-soft)}
.held-list{list-style:none; margin:0; padding:0}
.held-list li{padding:8px 0 8px 16px; position:relative; font-size:.84rem; color:var(--text-2); line-height:1.55; box-shadow:inset 0 1px 0 rgba(140,220,255,.07)}
.held-list li:first-child{box-shadow:none; padding-top:0}
.held-list li::before{content:""; position:absolute; left:0; top:.9em; width:8px; height:1px; background:var(--text-3); opacity:.7}
.held-list li:first-child::before{top:.5em}
.held-list b{color:var(--text); font-weight:600; font-variant-numeric:tabular-nums}
.token-reg{margin:22px 0 0; max-width:82ch; font-size:.8rem; line-height:1.65; color:var(--text-3)}

@media print{
  #tokens .tfold summary::after{display:none}
  #tokens .token,#tokens .tfold--wide{break-inside:avoid; box-shadow:none; background:#fff; color:#000}
}

/* ==== Recent signal — one card, laid out like the Terminal presents a signal ==== */
.sig{padding:0; overflow:hidden; background-color:var(--frost-terminal)}
.sig-head{display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:12px 22px; box-shadow:inset 0 -1px 0 var(--frost-hairline)}
.sig-live{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--green)}
.sig-live i{width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 1.8s ease-in-out infinite}
.sig-meta{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3)}
.sig-meta--right{text-align:right}
.sig-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr)}
.sig-grid > *{padding:22px; min-width:0}
.sig-grid > * + *{box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.sig-tk{display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(2.6rem,5vw,3.6rem); letter-spacing:-.03em; line-height:1}
.sig-dir{display:inline-flex; align-items:center; gap:8px; margin:10px 0 18px; padding:.42em .8em; border-radius:999px; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.18em; color:#7cf0c4; background:rgba(41,211,145,.1); box-shadow:inset 0 0 0 1px rgba(41,211,145,.35)}
.sig-dir::before{content:""; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:7px solid #7cf0c4}
.sig-facts{margin:0; display:grid; gap:8px}
.sig-facts div{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:baseline}
.sig-facts dt{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); min-width:9ch}
.sig-facts dd{margin:0; font-size:.88rem; color:var(--text-2); font-variant-numeric:tabular-nums}
.sig-facts dd.num{font-family:var(--font-mono); font-size:1.05rem; color:var(--text)}
.sig-facts .up{color:#7cf0c4; font-weight:600}
/* Move since the signal — live from the reference feed. Green up, red down; never amber, never invented. */
.sig-move{display:grid; gap:5px; margin-top:18px; padding-top:16px; box-shadow:inset 0 1px 0 rgba(140,220,255,.09)}
.sig-move-k{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.sig-move-v{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,3.6vw,2.6rem); letter-spacing:-.03em; line-height:1; color:#7cf0c4; font-variant-numeric:tabular-nums}
.sig-move[data-dir="down"] .sig-move-v{color:var(--red)}
.sig-move-src{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.sig-move-src span{display:block}
.sig-move-off{margin:16px 0 0; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3)}
.sig-score{display:flex; align-items:baseline; gap:6px; margin-bottom:14px}
.sig-n{font-family:var(--font-display); font-weight:800; font-size:2.4rem; letter-spacing:-.03em; line-height:1; color:#7cf0c4}
.sig-of{font-family:var(--font-mono); font-size:.8rem; color:var(--text-3); margin-right:12px}
.sig-segs{display:flex; gap:3px; flex:1; align-self:center}
/* One clock for the whole card: engine i lights at lead + i·step (segment + node tick together), its spoke
   then draws inward to the core, and the core resolves only after the eighth spoke has arrived. ≈6 s end to end. */
.sig{--sig-lead:.4s; --sig-step:.45s; --sig-spoke:1.1s; --sig-arrive:calc(var(--sig-lead) + 7 * var(--sig-step) + .35s + var(--sig-spoke))}
.sig-segs i:nth-child(1),.sig-spokes line:nth-child(1){--i:0}.sig-segs i:nth-child(2),.sig-spokes line:nth-child(2){--i:1}.sig-segs i:nth-child(3),.sig-spokes line:nth-child(3){--i:2}.sig-segs i:nth-child(4),.sig-spokes line:nth-child(4){--i:3}
.sig-segs i:nth-child(5),.sig-spokes line:nth-child(5){--i:4}.sig-segs i:nth-child(6),.sig-spokes line:nth-child(6){--i:5}.sig-segs i:nth-child(7),.sig-spokes line:nth-child(7){--i:6}.sig-segs i:nth-child(8),.sig-spokes line:nth-child(8){--i:7}
.sig-segs i{flex:1; height:6px; border-radius:2px; background:var(--green); box-shadow:0 0 8px rgba(41,211,145,.55); opacity:0}
.sig.live .sig-segs i{animation:segOn .7s ease forwards; animation-delay:calc(var(--sig-lead) + var(--i,0) * var(--sig-step))}
@keyframes segOn{to{opacity:1}}
.sig-engines{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 14px}
.sig-engines li{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--text-2); padding:5px 0; box-shadow:inset 0 1px 0 rgba(140,220,255,.06)}
.sig-engines li:nth-child(-n+2){box-shadow:none}
.sig-engines li i{width:14px; height:14px; border-radius:50%; flex:none; background:rgba(41,211,145,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.7 2.7L12.2 5.4' fill='none' stroke='%2329D391' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; box-shadow:0 0 0 1px rgba(41,211,145,.25)}
.sig-engines li span{margin-left:auto; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:#7cf0c4}
.sig-why{display:grid; gap:12px; align-content:start}
.sig-row{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start}
.sig-k{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); padding-top:4px; min-width:10ch}
.sig-row p{margin:0; font-size:.86rem; line-height:1.5; color:var(--text-2)}
.sig-foot{display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; padding:11px 22px; box-shadow:inset 0 1px 0 var(--frost-hairline); font-family:var(--font-mono); font-size:.58rem; letter-spacing:.09em; text-transform:uppercase; color:var(--text-3)}
.sig-foot a{color:var(--cyan); text-decoration:none; font-size:.6rem}
@media (max-width:900px){.sig-grid{grid-template-columns:1fr 1fr} .sig-why{grid-column:1/-1; box-shadow:inset 0 1px 0 rgba(140,220,255,.09)}}
@media (max-width:600px){.sig-grid{grid-template-columns:1fr} .sig-grid > * + *{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)} .sig-head{grid-template-columns:auto 1fr} .sig-meta--right{display:none} .sig-engines{grid-template-columns:1fr 1fr}}

/* ==== tightening pass (2026-09-07) ==== */
.hero-line{margin:0; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); line-height:1.8; max-width:520px; font-variant-numeric:tabular-nums}
.hero-line b{color:var(--text); font-weight:500}
.sec--fold{padding:clamp(28px,4vw,44px) 0}
.fold--tiers .fold-title{font-size:1rem}
.fold-in--pad{padding:6px 22px 22px}
.fold-in--pad .picks-grid{margin-top:14px}
.tiers{margin-top:0; border-radius:0; box-shadow:none; background:none}
.fold--tiers .tiers-head{box-shadow:inset 0 1px 0 var(--frost-hairline-strong), inset 0 -1px 0 var(--frost-hairline-strong)}
@media (max-width:900px){.fold-title{font-size:.9rem; line-height:1.35; white-space:normal}}

/* settle-up as a strip at the foot of the seed */
.settle{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:0; margin-top:26px; border-radius:var(--radius-sm); box-shadow:inset 0 0 0 1px var(--frost-hairline); counter-reset:step}
.settle .step{padding:16px 18px; box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.settle .step:first-child{box-shadow:none}
.settle .step::before{margin-bottom:8px}
.settle .step h3{font-size:.92rem; margin-bottom:4px}
.settle .step p{font-size:.82rem}
.settle-cta{display:flex; flex-direction:column; justify-content:center; gap:8px; padding:16px 20px; box-shadow:inset 1px 0 0 rgba(140,220,255,.09)}
.settle-cta .mono{font-size:.56rem; max-width:20ch; line-height:1.5}
@media (max-width:900px){.settle{grid-template-columns:1fr} .settle .step,.settle-cta{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)} .settle .step:first-child{box-shadow:none} .settle-cta .mono{max-width:none}}

/* the eight engines converging on one call */
.sig-ring{display:block; width:min(100%,360px); margin:4px auto 0; overflow:visible; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase}
.sig-orbit{fill:none; stroke:rgba(140,220,255,.12); stroke-width:1; stroke-dasharray:3 5}
.sig-spokes line{stroke:var(--green); stroke-width:1.2; stroke-linecap:round; stroke-dasharray:90; stroke-dashoffset:90; opacity:.75}
.sig-nodes circle{fill:rgba(3,10,20,.96); stroke:rgba(140,220,255,.25); stroke-width:1.2; transition:stroke .3s, fill .3s}
.sig-nodes path{fill:none; stroke:var(--green); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:16; stroke-dashoffset:16}
.sig-nodes text{fill:var(--text-3); transition:fill .3s}
.sig-core{fill:rgba(3,10,20,.98); stroke:rgba(41,211,145,.35); stroke-width:1.2}
.sig-core-glow{opacity:0}
.sig-core-t{fill:#7cf0c4; font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.14em; opacity:0}
.sig-core-s{fill:var(--text-3); font-size:9px; letter-spacing:.14em; opacity:0}
.sig.live .sig-nodes path{animation:sigTick .6s ease forwards; animation-delay:calc(var(--sig-lead) + var(--i,0) * var(--sig-step))}
.sig.live .sig-nodes circle{stroke:var(--green); fill:rgba(41,211,145,.12); transition-duration:.6s; transition-delay:calc(var(--sig-lead) + var(--i,0) * var(--sig-step))}
.sig.live .sig-nodes text{fill:var(--text); transition-duration:.6s; transition-delay:calc(var(--sig-lead) + var(--i,0) * var(--sig-step))}
.sig.live .sig-spokes line{animation:sigSpoke var(--sig-spoke) cubic-bezier(.4,0,.2,1) forwards; animation-delay:calc(var(--sig-lead) + var(--i,0) * var(--sig-step) + .35s)}
.sig.live .sig-core{animation:sigCoreRing .9s ease forwards; animation-delay:var(--sig-arrive)}
.sig.live .sig-core-t,.sig.live .sig-core-s{animation:sigFade .9s ease forwards; animation-delay:calc(var(--sig-arrive) + .15s)}
.sig.live .sig-core-glow{animation:sigCore 3.2s ease-in-out infinite; animation-delay:calc(var(--sig-arrive) + .25s)}
@keyframes sigSpoke{to{stroke-dashoffset:0}}
@keyframes sigTick{to{stroke-dashoffset:0}}
@keyframes sigFade{to{opacity:1}}
@keyframes sigCoreRing{to{stroke:var(--green); stroke-width:2}}
@keyframes sigCore{0%,100%{opacity:.35}50%{opacity:.8}}
@media (prefers-reduced-motion:reduce){.sig .sig-spokes line,.sig .sig-nodes path{stroke-dashoffset:0} .sig .sig-core-t,.sig .sig-core-s,.sig .sig-segs i{opacity:1} .sig .sig-nodes circle{stroke:var(--green)}}

/* ---- V3 founding sale: quote rows, voucher tag ---- */
.quote .row.small{font-size:.74rem;color:var(--text-3)}
.quote .row.small b{font-family:var(--font-mono);font-weight:500;color:var(--text-2)}
.tag.off{opacity:.55}

/* the founding-sale price curve — one picture, no ladder */
.curve{display:grid; grid-template-columns:minmax(230px,.85fr) minmax(0,2fr); border-radius:var(--radius); overflow:hidden}
.curve--plain{display:block; border-radius:var(--radius-sm)}
.curve-side{padding:26px; display:flex; flex-direction:column; gap:20px; box-shadow:inset -1px 0 0 rgba(140,220,255,.1)}
.curve-side .tag{align-self:flex-start; margin-top:auto}
.curve-now b{display:block; font-family:var(--font-mono); font-weight:500; font-size:clamp(1.9rem,3.4vw,2.5rem); color:var(--cyan); letter-spacing:-.02em; line-height:1}
.curve-now > span{display:block; margin-top:9px; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.curve-facts{list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:.86rem; color:var(--text-2); line-height:1.5}
.curve-facts li{position:relative; padding-left:16px}
.curve-facts li::before{content:""; position:absolute; left:0; top:.68em; width:7px; height:1px; background:var(--cyan)}
.curve-facts b{color:var(--text); font-weight:500}
.curve-plot{padding:22px 22px 12px; min-width:0}
.curve--plain .curve-plot{padding:6px 4px 0}
.curve-svg{display:block; width:100%; height:auto; overflow:visible; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase}
.curve-grid line{stroke:rgba(140,220,255,.08); stroke-width:1}
.curve-grid .curve-axis{stroke:rgba(140,220,255,.18)}
.curve-area{opacity:0; transition:opacity 1.4s ease 1.3s}
.curve-line{fill:none; stroke:var(--cyan); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1}
.curve-glow{fill:none; stroke:rgba(0,212,255,.26); stroke-width:9; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1}
.curve-lbl,.curve-cap{fill:var(--text-3)}
.curve.live .curve-line,.curve.live .curve-glow{animation:curveDraw 2.2s cubic-bezier(.4,0,.2,1) forwards}
.curve.live .curve-area{opacity:1}
@keyframes curveDraw{to{stroke-dashoffset:0}}
@media (max-width:900px){.curve{grid-template-columns:1fr} .curve-side{box-shadow:inset 0 -1px 0 rgba(140,220,255,.1)} .curve-side .tag{margin-top:0}}
@media (prefers-reduced-motion:reduce){.curve .curve-line,.curve .curve-glow{stroke-dashoffset:0} .curve .curve-area{opacity:1}}

/* ---------- candidate · refinement 9 Sep 2026 (index-candidate.html only; additive, index.html untouched) ----------
   Premium Beta leads the gate; the product line never moves; one cycling line; sourced ARB chart on the
   call card; the sticky action follows the section; Ops Bay with a sample finding; Three ways in re-ordered. */
.hero--cand .gate-in{grid-template-columns:minmax(0,1.26fr) minmax(300px,.74fr); column-gap:clamp(24px,3.6vw,52px); padding:4px 0}
.hero--cand .gate-h{font-size:clamp(2rem,3.1vw,2.5rem); margin-bottom:8px}
.hero--cand .gate-lede{margin:0 0 6px; font-size:clamp(.96rem,1.2vw,1.02rem); max-width:none}
.gate-core{margin:0 0 4px; font-size:clamp(.94rem,1.2vw,1rem); line-height:1.45; color:var(--text-2); max-width:64ch}
.gate-core b{display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(1.05rem,1.5vw,1.22rem); letter-spacing:-.015em; color:var(--text); margin-bottom:2px}
.gate-cycle{display:flex; align-items:flex-start; gap:10px; margin:0 0 10px}
.gate-cycle-line{margin:0; flex:1; min-width:0; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; color:var(--cyan); line-height:1.6; min-height:1.6em; transition:opacity .42s ease, transform .42s ease}
.gate-cycle-line.is-out{opacity:0; transform:translateY(4px)}
.gate-cycle-btn{appearance:none; flex:0 0 auto; width:22px; height:22px; border-radius:50%; border:0; background:rgba(0,212,255,.08); box-shadow:inset 0 0 0 1px rgba(0,212,255,.3); color:var(--cyan); cursor:pointer; display:grid; place-items:center; padding:0}
.gate-cycle-btn i{font-style:normal; font-size:.5rem; line-height:1}
.gate-cycle-btn:hover{background:rgba(0,212,255,.16)}
.gate-cycle-btn:focus-visible{outline:2px solid var(--cyan); outline-offset:2px}
.offers{display:grid; gap:6px; margin:0 0 10px}
.offer-p{padding:clamp(12px,1.5vw,16px) clamp(16px,2vw,20px) clamp(10px,1.4vw,14px); display:grid; gap:6px; box-shadow:inset 0 0 0 1px rgba(0,212,255,.28), inset 0 1px 0 rgba(234,247,255,.14), 0 24px 60px -30px rgba(0,212,255,.35)}
.offer-p-head{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}
.offer-p-h{font-family:var(--font-display); font-weight:800; font-size:clamp(1.3rem,2vw,1.6rem); letter-spacing:-.03em; line-height:1.05; margin:0; color:var(--text)}
.offer-p-h em{font-style:normal; color:var(--cyan)}
.offer-p-sub{margin:0; font-size:.88rem; line-height:1.4; color:var(--text-2); max-width:64ch}
.meter-txt{font-family:var(--font-mono); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-2); white-space:nowrap}
.meter-txt b{font-size:.95rem; font-weight:600; color:var(--cyan)}
.meter--s .meter-txt b{color:var(--green)}
.meter-cap{margin:-2px 0 0; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.offer-p .meter--big .meter-track{height:12px}
.offer-p .meter--big .meter-fill{background:linear-gradient(90deg,var(--cyan),var(--cyan-2)); box-shadow:0 0 18px rgba(0,212,255,.45)}
.offer-p-act{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 16px; align-items:center; margin-top:2px}
.offer-p-fine{margin:0; font-size:.74rem; line-height:1.4; color:var(--text-3)}
.offer-p-fine a{color:var(--cyan); text-decoration:none; border-bottom:1px solid rgba(0,212,255,.35)}
.offer-p-fine a:hover{color:var(--cyan-2)}
.offer-s{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; align-items:center; padding:6px 4px 0}
.offer-s-main{display:grid; gap:5px; min-width:0}
.offer-s-h{margin:0; font-family:var(--font-display); font-weight:700; font-size:clamp(.95rem,1.25vw,1.02rem); letter-spacing:-.01em; color:var(--text); white-space:nowrap}
.offer-s-h b{color:var(--green)}
.meter--s .meter-track{height:8px}
.meter--s .meter-txt{white-space:normal; line-height:1.4}
.offer-s .btn{min-height:42px; padding:10px 16px; font-size:.64rem; white-space:nowrap}
.meter--s .meter-fill{background:linear-gradient(90deg,var(--green),var(--cyan)); box-shadow:0 0 14px rgba(41,211,145,.4)}
.hero--cand .gate-trust{font-size:.58rem}
/* the call card with its chart */
.proof--chart{gap:8px; padding:14px 18px 12px}
.sigchart{margin:0; display:grid; gap:4px}
.sigchart svg{display:block; width:100%; height:auto; aspect-ratio:520/170; border-radius:10px; background:linear-gradient(180deg,rgba(8,17,29,.55),rgba(3,10,18,.7)); box-shadow:inset 0 0 0 1px rgba(140,220,255,.1)}
.sigchart--wide svg{aspect-ratio:520/190}
.sig-chart-row{grid-column:1 / -1; box-shadow:inset 0 1px 0 rgba(140,220,255,.09) !important; padding:18px 22px 16px}
.sig-chart-row svg{aspect-ratio:1040/220; max-height:260px}
.sig-chart-row .c-lbl{font-size:13px}
.sigchart-cap{font-family:var(--font-mono); font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.sigchart .c-band{fill:rgba(0,212,255,.1)}
.sigchart .c-line{fill:none; stroke:var(--cyan); stroke-width:2; stroke-linejoin:round; stroke-linecap:round}
.sigchart .c-grid{stroke:rgba(157,176,201,.14); stroke-width:1}
.sigchart .c-sig{stroke:var(--green); stroke-width:1; stroke-dasharray:4 4; opacity:.7}
.sigchart .c-lbl{font-family:var(--font-mono); font-size:13px; fill:var(--text-3); letter-spacing:.4px; paint-order:stroke; stroke:rgba(5,14,24,.85); stroke-width:3px; stroke-linejoin:round}
.sigchart .c-lbl--g{fill:var(--green); font-weight:600}
.sigchart .c-lbl--w{fill:var(--text)}
.sigchart .c-mark{fill:var(--green)}
.sigchart .c-ring{fill:none; stroke:var(--green); stroke-width:1.5}
.sigchart .c-last{fill:var(--cyan-2)}
.sigchart .c-live{fill:var(--green); stroke:#05121c; stroke-width:1.5}
.sigchart .c-live--down{fill:var(--red)}
.sigchart .c-join{stroke:rgba(41,211,145,.7); stroke-width:1.5; stroke-dasharray:3 3; fill:none}
.sigchart .c-join--down{stroke:rgba(255,92,108,.7)}
.proof-why{border-top:1px solid var(--frost-hairline); padding-top:6px}
.proof-why summary{cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan)}
.proof-why summary::-webkit-details-marker{display:none}
.proof-why summary::after{content:"+"; font-size:.9rem; line-height:1}
.proof-why[open] summary::after{content:"−"}
.proof-why summary:focus-visible{outline:2px solid var(--cyan); outline-offset:3px}
.proof-why-in{display:grid; gap:6px; padding:8px 0 2px}
.proof-why-in p{margin:0; font-size:.8rem; line-height:1.45; color:var(--text-2)}
.proof-why-in p b{color:var(--text)}
.proof-why-in p.mono{font-size:.54rem; letter-spacing:.1em; color:var(--text-3); text-transform:uppercase}
/* the nav: the action follows the section */
.nav-alt{font-family:var(--font-mono); font-size:.62rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); text-decoration:none; margin-right:4px}
.nav-alt:hover{color:var(--cyan)}
.sig-chart-note{font-family:var(--font-mono); font-size:.56rem; color:var(--text-3)}
/* Ops Bay: the frame + a sample finding */
.opsbay-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.38fr); gap:18px; align-items:start}
.finding{padding:18px 20px 16px; display:grid; gap:10px; position:sticky; top:96px}
.finding-tag{margin:0; display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.finding-mkt{margin:0; font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:-.015em; color:var(--text)}
.finding-rows{margin:0; display:grid; gap:10px}
.finding-rows div{display:grid; gap:3px}
.finding-rows dt{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan)}
.finding-rows dd{margin:0; font-size:.86rem; line-height:1.5; color:var(--text-2)}
.finding-foot{margin:4px 0 0; font-size:.56rem; letter-spacing:.1em; color:var(--text-3); line-height:1.6; border-top:1px solid var(--frost-hairline); padding-top:10px}
/* Three ways in: Premium leads */
.beta-card--lead{box-shadow:inset 0 0 0 1px rgba(0,212,255,.3), inset 0 1px 0 rgba(234,247,255,.14), 0 24px 60px -30px rgba(0,212,255,.35)}
/* deep links and in-page jumps land under the sticky nav, not behind it */
[data-candidate] #more > section{scroll-margin-top:104px}
/* the trap's honesty line */
.trap-honest{display:block; margin-top:6px; font-size:.54rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); font-weight:500}
@media (max-width:900px){
  .hero--cand .gate-in{grid-template-columns:1fr}
  .hero--cand .gate-core{order:4} .hero--cand .gate-cycle{order:5} .hero--cand .offers{order:6} .hero--cand .proof{order:7} .hero--cand .gate-trust{order:8}
  .offer-p-act{grid-template-columns:1fr}
  .offer-p-act .btn{width:100%}
  .offer-s{grid-template-columns:1fr}
  .offer-s .btn{width:100%}
  .meter-txt{white-space:normal}
  .opsbay-grid{grid-template-columns:1fr}
  .finding{position:static}
  .nav-alt{display:none}
}
@media (max-width:520px){.meter--big .meter-txt{order:-1; justify-self:end}}
@media (prefers-reduced-motion:reduce){.gate-cycle-line{transition:none}}

/* ---------- 10 Sep · signals: the fold-out chart, the never-miss strip; the nav wallet ---------- */
.sig-fold{box-shadow:inset 0 1px 0 rgba(140,220,255,.09)}
.sig-fold summary{cursor:pointer; list-style:none; display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 22px; color:var(--text)}
.sig-fold summary::-webkit-details-marker{display:none}
.sig-fold-t{font-family:var(--font-display); font-weight:700; font-size:1.02rem; letter-spacing:-.01em; color:var(--cyan)}
.sig-fold-s{font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); flex:1 1 auto}
.sig-fold-i{font-style:normal; color:var(--cyan); font-family:var(--font-mono); transition:transform .3s}
.sig-fold[open] .sig-fold-i{transform:rotate(180deg)}
.sig-fold summary:hover .sig-fold-t{color:var(--cyan-2)}
.sig-fold summary:focus-visible{outline:2px solid var(--cyan); outline-offset:-2px}
.sig-fold .sig-chart-row{padding-top:4px}
.sigch{margin-top:18px; padding:clamp(18px,3vw,28px); display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); gap:clamp(18px,3vw,36px); align-items:center}
.sigch h3{font-family:var(--font-display); font-size:clamp(1.3rem,2.4vw,1.8rem); font-weight:800; letter-spacing:-.03em; line-height:1.12; margin:6px 0 10px; color:var(--text)}
.sigch-lede{margin:0 0 14px; color:var(--text-2); line-height:1.55; max-width:56ch}
.sigch-channels{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px}
.sigch-channels li{display:inline-flex; align-items:center; gap:8px; padding:8px 14px 8px 10px; border-radius:999px; background:var(--frost-glass); box-shadow:inset 0 0 0 1px var(--frost-hairline); font-family:var(--font-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text)}
.sigch-ic{width:22px; height:22px; display:inline-grid; place-items:center; color:var(--cyan)}
.sigch-ic svg{width:18px; height:18px}
.sigch-side{display:grid; gap:10px; justify-items:start}
.sigch-side .note{margin:0}
.sigch-form{display:grid; gap:8px; width:100%}
.sigch-form input{width:100%; padding:11px 14px; border-radius:10px; border:1px solid var(--frost-hairline); background:rgba(5,14,24,.6); color:var(--text); font:inherit}
.sigch-form input:focus{outline:2px solid var(--cyan); outline-offset:1px}
@media (max-width:820px){.sigch{grid-template-columns:1fr}}
.nav-wallet{position:relative; display:inline-flex; margin-left:auto}
.nav-wallet .wallet-pill{cursor:pointer; gap:.5em}
.wallet-glyph{width:16px; height:16px; color:var(--text-2)}
.nav-wallet .wallet-pill:not(.off) .wallet-glyph{color:var(--green)}
.nav-wallet .wallet-pill:hover{border-color:var(--cyan); color:var(--cyan)}
.wallet-menu{position:absolute; right:0; top:calc(100% + 10px); width:min(320px,calc(100vw - 24px)); padding:16px; display:grid; gap:10px; z-index:40; background-color:rgba(7,14,26,.96) !important; background-image:var(--frost-glass-img-elevated); -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); box-shadow:0 30px 70px -30px rgba(0,0,0,.9), inset 0 0 0 1px var(--frost-hairline); text-align:left}
.wallet-menu[hidden]{display:none}
.wallet-menu-k{margin:0; font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3)}
.wallet-addr{margin:0; font-size:.66rem; color:var(--text); word-break:break-all; line-height:1.4; text-transform:none; letter-spacing:0}
.wallet-facts{margin:0; display:grid; gap:6px}
.wallet-facts div{display:flex; justify-content:space-between; gap:12px; align-items:baseline}
.wallet-facts dt{font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.wallet-facts dd{margin:0; font-family:var(--font-display); font-weight:700; font-size:.95rem; color:var(--text); text-align:right}
.wallet-facts dd.bad{color:var(--amber)}
.wallet-menu .btn{width:100%}
.wallet-menu .note{margin:0; font-family:var(--font-mono); font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); line-height:1.6}
.wallet-menu-x{appearance:none; background:none; border:0; padding:4px 0 0; cursor:pointer; color:var(--text-3); font-size:.56rem; letter-spacing:.14em; text-transform:uppercase; justify-self:start}
.wallet-menu-x:hover{color:var(--red)}
@media (max-width:640px){.nav-wallet .wallet-pill span{display:none} .nav-wallet .wallet-pill{padding:.55em .7em} .nav-wallet .wallet-pill i{display:none}}
@media (max-width:420px){.nav-in{gap:10px} .nav .btn{padding:9px 11px; letter-spacing:.08em; font-size:.6rem}}
/* canonical addresses + the pool slippage table (10 Sep) */
.addr-strip{margin:0 0 22px; padding:16px 20px; display:grid; gap:10px}
.addr{display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1.2fr) auto; gap:6px 16px; align-items:baseline; padding:6px 0; border-bottom:1px solid rgba(140,220,255,.08)}
.addr:last-of-type{border-bottom:0}
.addr-k{font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3)}
.addr .hex{font-size:.74rem}
.addr-l{font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); text-decoration:none; white-space:nowrap}
.addr-l:hover{color:var(--cyan-2)}
.addr-note{margin:4px 0 0; font-size:.78rem; line-height:1.55; color:var(--text-3); max-width:80ch}
@media (max-width:720px){.addr{grid-template-columns:1fr} .addr-l{justify-self:start}}
.slip{width:100%; border-collapse:collapse; margin:10px 0 2px; font-size:.78rem; font-variant-numeric:tabular-nums}
.slip th,.slip td{text-align:left; padding:6px 10px 6px 0; border-bottom:1px solid rgba(140,220,255,.1); color:var(--text-2)}
.slip th{font-family:var(--font-mono); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3); font-weight:500}
@media (max-width:720px){.sig-chart-row svg,.sigchart--wide svg{aspect-ratio:400/240; max-height:none}}
@media (max-width:560px){.nav .brand .wm{display:none} .nav-in{gap:10px} .wallet-menu{position:fixed; left:12px; right:12px; top:70px; width:auto}}

/* ---------- qualify · three routes to eligibility (10 Sep) ---------- */
#qualify .sec-lede{max-width:74ch}
#qualify .sh .note{max-width:none; white-space:nowrap}
@media (max-width:720px){#qualify .sh .note{white-space:normal}}
.q-routes{list-style:none; margin:0; padding:14px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.q-route{display:grid; align-content:start; gap:8px; padding:16px 18px; border-radius:var(--radius-sm); background:var(--frost-glass); box-shadow:inset 0 0 0 1px rgba(140,220,255,.1)}
.q-n{font-size:.6rem; letter-spacing:.16em; color:var(--cyan)}
.q-route h3{margin:0; font-family:var(--font-display); font-weight:700; font-size:1.05rem; letter-spacing:-.02em; color:var(--text)}
.q-route p{margin:0; font-size:.86rem; line-height:1.55; color:var(--text-2)}
.q-cta{margin-top:2px; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); text-decoration:none; font-weight:600; justify-self:start}
.q-cta:hover{color:var(--cyan-2)}
.q-wallet{margin-top:16px; padding:16px 18px; border-radius:var(--radius-sm); background:rgba(41,211,145,.045); box-shadow:inset 0 0 0 1px rgba(41,211,145,.22); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 24px; align-items:center}
.q-wallet-h{margin:0 0 4px; font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--text)}
.q-wallet-l{margin:0; font-size:.84rem; line-height:1.6; color:var(--text-2); max-width:72ch}
.q-wallet-l b{color:var(--text)}
.q-wallet-side{display:grid; gap:8px; justify-items:stretch}
.q-wallet-on{margin:0; display:inline-flex; align-items:center; gap:8px; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-3)}
.q-wallet-on b{color:var(--text); font-weight:600; text-transform:none; letter-spacing:0}
.q-wallet-on i{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px rgba(41,211,145,.7)}
.q-terms{margin:14px 0 0; font-size:.76rem; line-height:1.65; color:var(--text-3); max-width:86ch}
@media (max-width:860px){.q-routes{grid-template-columns:1fr} .q-wallet{grid-template-columns:1fr}}

/* ---------- 10 Sep · the top nav is always there now: subtle section links, then the actions ---------- */
.nav-links{display:flex; align-items:center; gap:clamp(12px,1.6vw,20px); min-width:0; margin-right:auto; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{color:var(--text-3); text-decoration:none; white-space:nowrap; padding:5px 0 4px; border-bottom:1px solid transparent; transition:color .2s, border-color .2s}
.nav-links a:hover{color:var(--cyan)}
.nav-links a:focus-visible{outline:2px solid var(--cyan); outline-offset:3px; border-radius:3px}
.nav-links a.on{color:var(--text); border-bottom-color:var(--cyan)}
.nav-wallet{margin-left:0; flex:none}
.nav .brand{flex:none}
.nav-in > a.btn{flex:none}
.wallet-pill{white-space:nowrap}
[data-page="index"] .nav .tag{display:none}          /* sale state lives in the price strip on this page */
@media (max-width:1180px){[data-page="index"] .nav .brand .wm{display:none}}
html:not(.more-open) .pstrip{display:none}                 /* the price strip belongs to the open page, not the invitation */
#more > section{scroll-margin-top:calc(var(--nav-h, 100px) + 8px)}   /* the sticky nav must not sit over a heading — JS keeps --nav-h true */
#ih-top{scroll-margin-top:calc(var(--nav-h, 100px) + 8px)}
@media (max-width:900px){
  .nav-in{flex-wrap:wrap; gap:14px; padding-top:8px; padding-bottom:2px}
  .nav-links{order:3; flex-basis:100%; margin-right:0; gap:16px; padding-top:8px; padding-bottom:4px; box-shadow:inset 0 1px 0 rgba(0,212,255,.08)}
}

/* the public-launch step on the sale chart (10 Sep) — detached from the curve, its own colour */
.curve-break{stroke:rgba(157,176,201,.35); stroke-width:1; stroke-dasharray:3 4}
.curve-riser{fill:none; stroke:rgba(215,160,106,.55); stroke-width:1.5; stroke-dasharray:5 4}
.curve-launch{fill:none; stroke:var(--bronze-light); stroke-width:2.5; stroke-linecap:round}
.curve-lbl--launch{fill:var(--bronze-light)}
.curve-cap--launch{fill:var(--bronze-light); opacity:.8}
.curve-note{margin:14px 0 0; max-width:84ch; font-size:.8rem; line-height:1.65; color:var(--text-3)}
.curve-note b{color:var(--text-2)}

/* for investors (10 Sep) — the public route; the gated overview is never linked from here */
.inv-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:16px}
.inv-note{margin:16px 0 0; max-width:86ch; font-size:.78rem; line-height:1.65; color:var(--text-3)}
.beta-reward{margin:10px 0 0; font-size:.82rem; line-height:1.55; color:var(--text-3)}
.beta-reward b{color:var(--green); font-weight:600}
.beta-reward--cyan b{color:var(--cyan)}

/* ---- nav: Sign in is a destination, not a section ----------------------------
   Adding a ninth item pushed the row into the wallet pill at 1440. The section
   links now drop in priority order as the row tightens — Investors first, then
   Airdrops — and Sign in never drops, because it is the only way into the app. */
.nav-links .nav-signin{color:var(--text); padding-left:clamp(10px,1.4vw,18px); border-left:1px solid var(--frost-hairline)}
.nav-links .nav-signin:hover{color:var(--cyan)}
@media (max-width:1499px){ .nav-links a[href="#investors"]{display:none} }
@media (max-width:1339px){ .nav-links a[href="#qualify"]{display:none} }
@media (max-width:1199px){ .nav-links a[href="#signals"]{display:none} }
