
/* ============ EarnOS design system · v1.1 tokens (dark, deck) ============ */
:root{
  --bg:#100E15; --nav:#1E1B24; --s2:#25232A; --s3:#312D39; --s4:#3A3644;
  --surface:var(--nav);
  --ink:rgba(255,255,255,.96); --ink2:rgba(235,235,245,.6); --ink3:rgba(235,235,245,.3); --ink4:rgba(235,235,245,.18);
  --subtle:#A8ABB6; --subtler:#91959F; --subtlest:#5D616C;
  --mint:#82F9B3; --mint-2:#80F7B2; --mint-deep:#06361A; --mint-deep-2:#0A321C;
  --lavender:#ADBAFF; --lavender-dark:#8A99E6; --gold:#FACC15;
  --mint-text:var(--mint-2);
  --border:rgba(255,255,255,0.14); --border-soft:#2A2730; --border-faint:rgba(255,255,255,0.06);
  --track:#312D39; --tile:#FFFFFF;
  --on-mint:#06361A;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Display',sans-serif;
  --mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;
  --spring:cubic-bezier(.32,.72,0,1);
}
*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{background:#050508; color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased}
.num{font-family:var(--mono); font-weight:600}

/* ============ deck shell ============ */
.deck{height:100dvh; overflow-y:auto; scroll-snap-type:y mandatory; scroll-behavior:smooth}
.slide{height:100dvh; scroll-snap-align:start; scroll-snap-stop:always; position:relative;
  display:grid; place-items:center; overflow:hidden}
.stage{width:1280px; height:800px; flex:none; position:relative; display:flex; flex-direction:column;
  justify-content:center; padding:96px 100px 90px; transform:scale(var(--k,1));
  background:var(--bg); border:1px solid var(--border-faint); border-radius:22px; overflow:hidden;
  box-shadow:0 60px 140px -70px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.015) inset}
.slide.center .stage{align-items:center; text-align:center}

/* chrome */
.bar{position:fixed; top:0; left:0; height:2px; width:0%;
  background:linear-gradient(90deg, var(--mint), var(--lavender)); z-index:50; transition:width .5s var(--spring)}
.eyebrow{position:absolute; top:58px; left:100px; display:flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.4em; text-transform:uppercase; color:var(--mint-text)}
.eyebrow::before{content:''; width:6px; height:6px; border-radius:999px; background:var(--mint); box-shadow:0 0 10px var(--mint); flex:none}
.hud{position:fixed; right:26px; bottom:26px; display:flex; align-items:center; gap:10px; z-index:60}
.count{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--subtlest); margin-right:6px}
.nbtn{width:38px; height:38px; border-radius:999px; border:1px solid var(--border); background:var(--nav);
  background:color-mix(in srgb, var(--nav) 78%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  color:var(--ink2); font-size:19px; line-height:1; display:flex; align-items:center; justify-content:center;
  cursor:pointer; padding:0 0 2px; transition:border-color .25s var(--spring), color .25s var(--spring), transform .15s var(--spring)}
.nbtn:hover{border-color:var(--mint); color:var(--mint-text)}
.nbtn:active{transform:scale(.94)}
.deck::-webkit-scrollbar{width:8px}
.deck::-webkit-scrollbar-track{background:transparent}
.deck::-webkit-scrollbar-thumb{background:var(--s3); border-radius:999px}
.deck::-webkit-scrollbar-thumb:hover{background:var(--s4)}
.deck{scrollbar-width:thin; scrollbar-color:var(--s3) transparent}
.provline{display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--subtlest)}
.prov{position:absolute; bottom:54px; left:100px; display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--subtlest)}
.tag{font-family:var(--mono); font-size:9px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  padding:3px 8px; border-radius:999px}
.tag.m{background:var(--mint-deep-2); color:var(--mint-text)}
.tag.e{background:rgba(173,186,255,.13); color:var(--lavender)}
.tag.mo{background:rgba(250,204,21,.12); color:var(--gold)}

/* type */
.stmt{font-size:84px; font-weight:700; letter-spacing:-.04em; line-height:1.0; max-width:14.5em; margin:0}
.stmt .num{color:var(--mint-text); font-weight:600; letter-spacing:-.02em}
.stmt em{font-style:normal; color:var(--lavender)}
.stmt.long{font-size:66px; max-width:15.5em}
.sub{margin-top:26px; font-size:19px; line-height:1.55; color:var(--ink2); max-width:33em}
.sub b{color:var(--ink); font-weight:600}
.sub .num{font-size:.95em}

/* reveal choreography · content spring */
.rv{opacity:0; transform:translateY(16px)}
.slide.on .rv{opacity:1; transform:none; transition:opacity .6s var(--spring), transform .6s var(--spring)}
.slide.on .rv.d1{transition-delay:.06s}
.slide.on .rv.d2{transition-delay:.2s}
.slide.on .rv.d3{transition-delay:.34s}

/* icon strips */
.platrow, .wallrow{display:flex; flex-wrap:wrap; gap:10px; margin-top:34px}
.platrow img{width:44px; height:44px; border-radius:11px; display:block}
.wallrow .bt{width:44px; height:44px; border-radius:12px; border:1px solid var(--border-faint); overflow:hidden; flex:none}
.wallrow .bt img{width:100%; height:100%; object-fit:cover; display:block}

/* two engines */
.engines{display:grid; grid-template-columns:1fr 1fr; gap:72px; margin-top:8px; max-width:60em}
.engines .en{border-top:2px solid var(--mint); padding-top:3vh}
.engines .en:last-child{border-top-color:var(--lavender)}
.engines .en .t{font-size:32px; font-weight:700; letter-spacing:-.03em}
.engines .en .d{margin-top:14px; font-size:17px; color:var(--ink2); line-height:1.55}
.split-note{margin-top:38px; font-family:var(--mono); font-size:15px; color:var(--mint-text)}

/* honest list */
.hlist{margin-top:30px; max-width:44em}
.hlist .hi{display:flex; gap:18px; padding:2.1vh 0; border-top:1px solid var(--border-faint);
  font-size:clamp(15px,1.4vw,19px); color:var(--ink2); line-height:1.5}
.hlist .hi:first-child{border-top:none}
.hlist .hi .n{font-family:var(--mono); font-size:11px; color:var(--gold); padding-top:.45em; flex:none; letter-spacing:.06em}
.hlist .hi b{color:var(--ink); font-weight:600}

/* title & close */
.glyph{width:64px; height:64px; border-radius:16px; margin-bottom:26px}
.brandname{font-size:36px; font-weight:700; letter-spacing:-.03em; margin-bottom:10px}
.meta{font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtler); margin-top:30px}
.cta{display:inline-flex; width:max-content; max-width:100%; margin-top:38px; background:var(--mint); color:var(--on-mint); font-family:var(--mono);
  font-size:14px; font-weight:600; padding:14px 26px; border-radius:999px; text-decoration:none}

/* platform tile grid */
.stmt.sm{font-size:46px; max-width:22em}
.platgrid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:1fr; gap:10px; margin-top:30px; max-width:1080px; width:100%}
.platgrid .pt{background:var(--s2); border:1px solid var(--border-faint); border-radius:14px; padding:12px 12px 10px}
.platgrid .pt{display:flex; flex-direction:column}
.platgrid .pt .top{display:flex; align-items:center; gap:8px}
.platgrid .pt .top img{width:24px; height:24px; border-radius:7px; display:block}
.platgrid .pt .top .nm{font-size:11.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.platgrid .pt .phero{margin-top:8px; font-family:var(--mono); font-weight:600; font-size:17px; letter-spacing:-.02em; color:var(--mint-text); white-space:nowrap}
.platgrid .pt .hd{margin-top:2px; font-size:9.5px; line-height:1.35; color:var(--ink2)}
.platgrid .pt .vc{margin-top:auto; padding-top:7px; font-family:var(--mono); font-size:8.5px; color:var(--subtlest); white-space:nowrap}
/* three rails */
.en3{display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:28px; max-width:72em}
.en3 .en{border-top:2px solid var(--mint); padding-top:20px}
.en3 .en.l2{border-top-color:var(--lavender)}
.en3 .en.l3{border-top-color:var(--gold)}
.en3 .t{font-size:28px; font-weight:700; letter-spacing:-.03em}
.en3 .d{margin-top:12px; font-size:16px; color:var(--ink2); line-height:1.55}
/* subsidy fill bars */
.sbar{margin-top:34px; max-width:780px; width:100%; position:relative}
.sbar .row{margin-bottom:16px}
.sbar .lbl{display:flex; justify-content:space-between; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--subtler); margin-bottom:8px}
.sbar .lbl .v{color:var(--mint-text)}
.sbar .track{display:flex; gap:3px; height:22px}
.sbar .seg{border-radius:6px; background:var(--mint)}
.sbar .track.reward .seg{background:none; border:1.5px dashed var(--border); flex:1}
.sbar .track.t2 .seg{background:var(--lavender)}
.sbar .seg.rest{background:var(--s3)}
.sbar .cap{margin-top:6px; font-family:var(--mono); font-size:12.5px; color:var(--mint-text)}
.sbar .sp{flex:35.6}
.sbar .seg.gold{background:var(--gold)}
.sbar .guide{position:absolute; left:62.5%; top:24px; bottom:36px; border-left:1.5px dashed rgba(255,255,255,.28); pointer-events:none}
.sbar .gt{position:absolute; left:62.5%; top:4px; transform:translateX(-50%); font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--subtler); white-space:nowrap}
/* dossier ghost stack */
.dstack{position:relative; margin-top:26px; max-width:900px; width:100%}
.dstack .ghost{position:absolute; inset:0; background:var(--s2); border:1px solid var(--border-soft); border-radius:20px}
.dstack .g1{transform:translateY(20px) scale(.962); opacity:.75}
.dstack .g2{transform:translateY(38px) scale(.926); opacity:.45}
.dstack .g3{transform:translateY(54px) scale(.892); opacity:.22}
.dstack .dcard{margin-top:0; position:relative}
/* tier ladder */
.ladder{display:flex; align-items:flex-end; gap:16px; margin-top:38px; height:210px}
.ladder .st{width:clamp(84px,9vw,128px); display:flex; flex-direction:column; justify-content:flex-end}
.ladder .pv{font-family:var(--mono); font-weight:600; font-size:15px; margin-bottom:8px}
.ladder .lbar{width:100%; border-radius:10px 10px 4px 4px; background:linear-gradient(180deg, var(--mint), rgba(130,249,179,.22))}
.ladder .st:nth-child(2) .lbar{background:linear-gradient(180deg, var(--lavender), rgba(173,186,255,.22))}
.ladder .st:nth-child(3) .lbar{background:linear-gradient(180deg, var(--gold), rgba(250,204,21,.2))}
.ladder .pn{margin-top:9px; font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--subtler)}
.lcap{margin-top:18px; font-family:var(--mono); font-size:12.5px; color:var(--subtler)}
.lcap b{color:var(--mint-text); font-weight:600}
/* growth chart */
.gwrap{margin-top:30px; max-width:920px; width:100%}
.gwrap svg{width:100%; height:auto; display:block}
/* receipt categories with source stacks */
.rcats{display:flex; flex-wrap:wrap; gap:16px 36px; margin-top:36px; max-width:980px}
.rc{display:flex; align-items:center; gap:12px}
.rc .rics{display:inline-flex}
.rc .rics img{width:26px; height:26px; border-radius:8px; border:1.5px solid var(--bg); margin-right:-8px; background:var(--tile)}
.rc .rics img:last-child{margin-right:0}
.rc .rt{font-size:16.5px; font-weight:600; letter-spacing:-.01em}
/* arbitrage */
.amath{margin-top:30px; font-family:var(--mono); font-weight:600; font-size:24px; letter-spacing:-.01em; color:var(--mint-text)}
.amath small{font-size:13px; color:var(--subtler); font-weight:500; letter-spacing:.04em; margin-left:10px}
.chain{display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:22px}
.chain .cp{font-family:var(--mono); font-size:13px; font-weight:600; background:var(--s3); border:1px solid var(--border-faint); border-radius:999px; padding:8px 16px}
.chain .ar{color:var(--subtlest); font-family:var(--mono); font-size:14px}
.chain .tot{font-family:var(--mono); font-size:15px; font-weight:600; color:var(--gold); margin-left:6px}
.apunch{margin-top:26px; font-family:var(--mono); font-size:15px; color:var(--mint-text)}
/* buyer landscape */
.en4{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:30px; max-width:1080px; width:100%}
.en4.three{grid-template-columns:repeat(3,1fr)}
.en4 .bx{border-top:2px solid var(--border-soft); padding-top:16px}
.en4 .bx .t{font-size:15.5px; font-weight:700; letter-spacing:-.01em}
.en4 .bx .m{margin-top:6px; font-family:var(--mono); font-weight:600; font-size:21px; color:var(--mint-text)}
.en4 .bx .d{margin-top:10px; font-size:13px; line-height:1.5; color:var(--ink2)}
.en4 .bx .buy{margin-top:10px; font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; color:var(--subtlest); text-transform:uppercase}

/* ===== v3 · duo layout, bold type ===== */
.stage .stmt{font-weight:800; letter-spacing:-.035em}
.duo{display:grid; grid-template-columns:1fr 1.05fr; gap:72px; align-items:center; width:100%}
.duo .lft{min-width:0}
.duo .rgt{min-width:0; display:flex; flex-direction:column; justify-content:center}
.duo .rgt svg{width:100%; height:auto; display:block}
.duo .lft .stmt{font-size:60px}
.duo .lft .stmt.sm2{font-size:44px}
.viscap{margin-top:12px; font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--subtler); text-align:center}
.misrows{display:flex; flex-direction:column; gap:12px}
.mis{display:flex; justify-content:space-between; align-items:baseline; gap:16px; background:var(--s2); border:1px solid var(--border-faint); border-radius:14px; padding:17px 18px}
.mis .who{font-size:15px; font-weight:700; white-space:nowrap}
.mis .out{font-family:var(--mono); font-size:12px; color:var(--ink2); text-align:right}
.mis .out b{color:var(--ink); font-size:13.5px}
.mis{border-left:3px solid var(--border)}
.mis.u{border-left-color:var(--mint)}
.mis.b{border-left-color:var(--lavender)}
.mis.p{border-left-color:var(--gold)}
.pcards{display:flex; flex-direction:column; gap:14px}
.pcard{background:var(--s2); border:1px solid var(--border-faint); border-radius:16px; padding:16px 18px 15px; position:relative; overflow:hidden}
.pcard::before{content:''; position:absolute; inset:0 0 auto 0; height:2px; background:linear-gradient(90deg,var(--mint),var(--lavender)); opacity:.8}
.pcard .k{font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtler)}
.pcard .h{margin-top:8px; font-size:18px; font-weight:700; display:flex; align-items:center; gap:11px}
.pcard .h img{width:28px; height:28px; border-radius:8px}
.pcard .ics{display:inline-flex}
.pcard .ics img{width:22px; height:22px; border-radius:6px; border:1.5px solid var(--s2); margin-right:-6px}
.pcard .ics img:last-child{margin-right:0}
.pcard .pay{margin-top:11px; display:inline-flex; font-family:var(--mono); font-size:13.5px; font-weight:600; color:var(--mint-text); background:var(--mint-deep-2); border-radius:999px; padding:7px 14px}
.pcard{box-shadow:0 26px 52px -34px rgba(0,0,0,.7)}
.pcard.m .k{color:var(--mint-text)}
.pcard.c .k{color:var(--lavender)}
.srcs{display:grid; grid-template-columns:1fr 1fr; gap:11px}
.src{display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-size:13.5px; font-weight:700; background:var(--s2); border:1px solid var(--border-faint); border-radius:14px; padding:12px 15px}
.src .tagx{font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--subtler); white-space:nowrap}
.ladder2{display:flex; flex-direction:column; margin-top:30px; max-width:1050px; width:100%}
.prow{display:grid; grid-template-columns:168px auto 1fr; gap:30px; align-items:baseline; padding:14px 2px; border-top:1px solid var(--border-faint)}
.prow:first-child{border-top:none}
.prow .c{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--subtler)}
.prow .m{font-family:var(--mono); font-size:17px; font-weight:600; color:var(--mint-text); white-space:nowrap}
.prow .d{font-size:12.5px; color:var(--ink2)}
.ledger{display:flex; flex-direction:column; gap:10px}
.led{display:grid; grid-template-columns:104px 1fr; gap:14px; align-items:baseline; background:var(--s2); border:1px solid var(--border-faint); border-radius:12px; padding:12px 16px}
.led .k{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--mint-text)}
.led:nth-child(2) .k{color:var(--lavender)}
.led:nth-child(3) .k{color:var(--gold)}
.led .v{font-size:13px; line-height:1.5; color:var(--ink2)}
.fwm{margin-top:20px; font-family:var(--mono); font-size:12px; letter-spacing:.01em; color:var(--ink2); text-align:center; width:100%}
.why{display:flex; flex-wrap:wrap; gap:8px 26px; margin-top:16px; font-family:var(--mono); font-size:11.5px; color:var(--ink2); justify-content:center; width:100%}
.why b{color:var(--ink)}
/* atmosphere */
.gorb{position:absolute; width:580px; height:580px; border-radius:50%; filter:blur(105px); opacity:.13; pointer-events:none; z-index:-1}
.gorb.m{background:var(--mint)}
.gorb.l{background:var(--lavender)}
.gorb.g{background:var(--gold); opacity:.10}
/* ===== v4 · statement stacks ===== */
.vstack{display:flex; flex-direction:column; gap:14px; align-items:center; text-align:center}
.vl{font-size:54px; font-weight:800; letter-spacing:-.035em; line-height:1.12; color:var(--subtler); margin:0}
.vl.on{color:var(--ink)}
.vstack.xl .vl{font-size:70px}
.vl .num{color:var(--mint-text); font-family:inherit; letter-spacing:inherit}
.eras{margin-top:58px; display:flex; align-items:center; gap:16px; font-family:var(--mono); font-size:12px; letter-spacing:.18em; color:var(--subtler)}
.eras .sep{width:52px; height:1px; background:var(--border)}
.eras b{color:var(--mint-text); font-weight:600}
.eras{align-items:flex-start}
.era{display:flex; flex-direction:column; align-items:center; gap:11px}
.era img{width:34px; height:34px; border-radius:9px; background:var(--tile); object-fit:cover}
.era.on img{box-shadow:0 0 0 1.5px var(--mint)}
.era .eics{display:inline-flex}
.era .eics img{border:1.5px solid var(--bg); margin-right:-9px}
.era .eics img:last-child{margin-right:0}
.eras .sep{margin-top:16px}
.vglyph{width:40px; height:40px; margin-top:46px; border-radius:10px}
/* ===== v4 · manifesto scale ===== */
.mega{font-size:96px; line-height:1.03; letter-spacing:-.04em; font-weight:800; max-width:11.4em; margin:0; color:var(--ink)}
.mega .num{color:var(--mint-text); font-family:var(--mono); font-weight:600; letter-spacing:-.02em}
.band{display:grid; grid-template-columns:repeat(3,1fr); gap:40px 48px; margin-top:56px; max-width:1000px; width:100%}
.band .bv{font-family:var(--mono); font-size:42px; font-weight:600; color:var(--mint-text); letter-spacing:-.02em}
.band .bl{margin-top:8px; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--subtler)}
/* member dossier card */
.dcard{margin-top:26px; max-width:900px; width:100%; background:var(--s2); border:1px solid var(--border-faint);
  border-radius:20px; padding:20px 24px 22px; position:relative; overflow:hidden}
.dcard::before{content:''; position:absolute; inset:0 0 auto 0; height:2px;
  background:linear-gradient(90deg, var(--mint), var(--lavender)); opacity:.8}
.drow{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px}
.dicons{display:inline-flex; margin-right:4px}
.dicons img{width:26px; height:26px; border-radius:8px; border:1.5px solid var(--s2); margin-right:-7px; background:var(--tile)}
.dicons img:last-child{margin-right:0}
.dchip{font-family:var(--mono); font-size:11px; color:var(--ink2); background:var(--s3); border-radius:999px; padding:5px 12px; white-space:nowrap}
.dchip b{color:var(--ink); font-weight:600}
.dchip.hv{background:var(--mint-deep-2); color:var(--mint-text)}
.dsigs{display:flex; flex-wrap:wrap; gap:8px; margin-top:15px}
.dsg{font-size:12.5px; font-weight:600; background:var(--s3); border:1px solid var(--border-faint); border-radius:10px; padding:7px 12px; display:inline-flex; gap:9px; align-items:baseline}
.dsg .c{font-family:var(--mono); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--mint-text)}
.dsg .c.mh{color:var(--gold)}
.dstats{display:flex; flex-wrap:wrap; gap:6px 24px; margin-top:16px; font-family:var(--mono); font-size:12.5px; color:var(--ink2)}
.dstats b{color:var(--ink); font-weight:600}
.dpunch{margin-top:16px; background:var(--mint-deep-2); border-radius:12px; padding:13px 16px; font-size:14px; font-weight:650; color:var(--mint-text)}
.dzoom{margin-top:64px; font-family:var(--mono); font-size:12px; color:var(--subtler)}
.dzoom b{color:var(--ink); font-weight:600}

/* ============ flywheel (01) ============ */
.fwstage{margin-top:26px; position:relative}
.fwstage .fwlabel{font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--subtler); display:flex; align-items:center; gap:8px}
.fwstage .fwlabel::before{content:''; width:6px; height:6px; border-radius:999px; background:var(--mint);
  box-shadow:0 0 10px var(--mint); flex:none}
.fwsvg{width:100%; height:auto; display:block; margin-top:6px}
.fw-echo{fill:none; stroke:rgba(130,126,136,.18); stroke-width:1}
.fw-ring{fill:none; stroke:url(#fwGrad); stroke-width:1.6; stroke-dasharray:3 6; opacity:.85;
  animation:fwflow 1.1s linear infinite}
@keyframes fwflow{to{stroke-dashoffset:-9}}
.fw-arrow{fill:var(--mint-text)}
.fw-station{fill:var(--nav); stroke:var(--border); stroke-width:1}
.fw-core{fill:var(--mint-text); animation:fwpop 9s linear infinite; animation-delay:var(--d,0s)}
@keyframes fwpop{0%,7%,100%{r:4} 3.5%{r:6}}
.fw-burst{fill:none; stroke:var(--mint); stroke-width:1.5; opacity:0; animation:fwburst 9s linear infinite;
  animation-delay:var(--d,0s)}
@keyframes fwburst{0%{r:6; opacity:.6} 8%{r:20; opacity:0} 100%{r:20; opacity:0}}
.fw-comet-core{fill:var(--mint)}
.fw-comet-glow{fill:var(--mint); opacity:.35; filter:url(#fwBlur)}
.fw-trail{fill:var(--mint)}
.fw-tr1{opacity:.5}
.fw-tr2{opacity:.22}
.fw-i{fill:var(--mint-text); font-family:var(--mono); font-size:11px; letter-spacing:.1em}
.fw-t{fill:var(--ink); font-family:var(--sans); font-size:17px; font-weight:600; letter-spacing:-.01em}
.fw-s{fill:var(--subtler); font-family:var(--mono); font-size:12px}
.fw-c1{fill:var(--ink); font-family:var(--sans); font-size:26px; font-weight:700; letter-spacing:-.02em}
.fw-c2{fill:var(--mint-text); font-family:var(--mono); font-size:13px}
/* entry reveal · content spring, web translation cubic-bezier(.32,.72,0,1) */
.fw-node, .fw-center{transform-box:fill-box; transform-origin:center}
.fw-prep .fw-node, .fw-prep .fw-center{opacity:0; transform:translateY(8px)}
.fw-live .fw-node, .fw-live .fw-center{opacity:1; transform:none;
  transition:opacity .55s cubic-bezier(.32,.72,0,1), transform .55s cubic-bezier(.32,.72,0,1)}
.fw-live .fw-g1{transition-delay:.05s} .fw-live .fw-g2{transition-delay:.13s}
.fw-live .fw-g3{transition-delay:.21s} .fw-live .fw-g4{transition-delay:.29s}
.fw-live .fw-g5{transition-delay:.37s} .fw-live .fw-center{transition-delay:.5s}
.fwlist{display:none}
@media (max-width:640px){
  .fwsvg{display:none}
  .fwlist{display:block; margin-top:12px}
  .fwlist .fi{display:flex; gap:10px; padding:8px 0; border-bottom:1px solid var(--border-faint); font-size:13px}
  .fwlist .fi .n{font-family:var(--mono); color:var(--mint-text); font-size:11px; flex:none}
  .fwlist .loop{font-family:var(--mono); font-size:11px; color:var(--mint-text); padding-top:10px}
}
/* v4 · flywheel spacing */
.stage > .fwstage{max-width:1000px !important; width:100%; margin:56px auto 0 !important}
.slide .fwstage{margin-top:0; width:100%; max-width:1060px}
@media (max-width:640px){ .slide .fwsvg{display:block !important} .slide .fwlist{display:none !important} }
.slide-fw{justify-content:center; align-items:center}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
  .deck{scroll-behavior:auto}
  .rv{opacity:1; transform:none}
}
@media print{
  .deck{height:auto; overflow:visible}
  .slide{break-after:page; min-height:100vh}
  .bar,.hud{display:none}
  .stage{transform:none}
  .rv{opacity:1; transform:none}
}

/* unified presentation chrome */
.chip{display:inline-block;align-self:flex-start;margin-top:22px;padding:10px 18px;border:1px solid rgba(130,249,179,0.45);
  border-radius:999px;color:var(--mint);font:500 12px var(--mono);letter-spacing:.14em;
  text-decoration:none;transition:background .25s}
.chip:hover{background:rgba(130,249,179,0.08)}
.apxgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;width:100%;max-width:880px}
@media(max-width:720px){.apxgrid{grid-template-columns:1fr}}
.apxcard{display:block;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.12);
  border-radius:20px;padding:26px 26px 24px;text-align:left;text-decoration:none;color:inherit;
  transition:border-color .25s,background .25s}
.apxcard:hover{border-color:rgba(130,249,179,0.5);background:rgba(130,249,179,0.04)}
.apxcard .at{font:500 10px var(--mono);letter-spacing:.24em;color:var(--mint);margin-bottom:14px}
.apxcard .ah{font:600 20px var(--mono);letter-spacing:-0.01em;line-height:1.3;margin-bottom:10px}
.apxcard .ad{font:400 13px var(--mono);line-height:1.6;color:var(--subtler,rgba(235,235,245,0.6))}
.apxcard .aa{font:500 12px var(--mono);color:var(--mint);margin-top:16px;letter-spacing:.1em}

/* integrated frames */
.sysrows{margin:38px auto 0; align-self:center; width:auto}
.sysrow2{display:grid;grid-template-columns:170px 40px 34px 150px 40px 170px;gap:0;align-items:center;
  height:64px;border-top:1px solid var(--border-soft)}
.sysrow2:last-child{border-bottom:1px solid var(--border-soft)}
.sysrow2 .sl{font-size:12px;letter-spacing:.2em;color:var(--subtlest);text-align:right}
.sysrow2 .sr{font-size:12px;letter-spacing:.2em;color:var(--subtlest);justify-self:start}
.sysrow2 .hl{height:1px;background:var(--border-soft);margin:0 14px}
.sysrow2 .ico{width:30px;height:30px;border-radius:7px;box-shadow:0 0 0 1px rgba(255,255,255,.08);justify-self:start}
.sysrow2 .nm{font-size:19px;font-weight:600;letter-spacing:-.01em;padding-left:13px}
.prodgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px;max-width:1080px;width:100%}
.pcard2{border:1px solid var(--border-soft);border-radius:18px;background:rgba(255,255,255,.02);padding:24px}
.pcard2 .ptag2{font-size:11px;letter-spacing:.26em;color:var(--mint);margin-bottom:18px}
.vrow{display:flex;align-items:center;gap:12px}
.vrow img{width:34px;height:34px;border-radius:8px}
.vrow .vn{font-size:17px;font-weight:600}
.vrow .vp{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--border-soft);
  border-radius:999px;padding:7px 13px;font-size:10px;letter-spacing:.2em;color:var(--mint)}
.vrow .vp i{width:6px;height:6px;border-radius:50%;background:var(--mint);animation:blink 1.2s ease-in-out infinite;font-style:normal}
@keyframes blink{50%{opacity:.25}}
.vsub{font-size:13px;color:var(--subtler);margin-top:12px}
.plocks{display:flex;gap:12px;margin-top:18px}
.plocks img{width:40px;height:40px;border-radius:10px;filter:grayscale(1) brightness(.8);opacity:.4}
.pcta{margin-top:20px;background:var(--mint);color:#08140C;border-radius:12px;height:40px;
  display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.26em;font-weight:600}
.mrow{display:flex;gap:12px;align-items:flex-start;padding:12px 0}
.mrow + .mrow{border-top:1px solid var(--border-soft)}
.mrow img{width:32px;height:32px;border-radius:8px;flex-shrink:0}
.mrow .mt2{font-size:14.5px;font-weight:600;line-height:1.35;letter-spacing:-.008em}
.mrow .mp{display:flex;gap:6px;margin-top:8px}
.mrow .mp span{border:1px solid var(--border-soft);border-radius:999px;padding:4px 9px;font-size:9.5px;letter-spacing:.12em;color:var(--subtler)}
.mrow .mp span.first{color:var(--mint);border-color:rgba(130,249,179,.4)}
.fagrid2{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:30px;max-width:1080px;width:100%}
.fc2{border:1px solid var(--border-soft);border-radius:13px;background:rgba(255,255,255,.02);padding:11px 11px 10px}
.fc2 .fh2{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.fc2 .fh2 img{width:19px;height:19px;border-radius:5px}
.fc2 .fn2{font-size:10.5px;font-weight:600;letter-spacing:-.005em}
.fc2 .fv2{font-family:var(--mono);font-size:15.5px;font-weight:700;color:var(--mint)}
.fc2 .fv2 span{font-size:7px;letter-spacing:.16em;color:var(--subtlest);margin-left:4px;font-weight:500}
.fc2 .fs2{font-size:8.5px;line-height:1.45;color:var(--subtler);margin-top:4px}
.fc2.cross{background:var(--mint-deep);border-color:rgba(130,249,179,.35)}
.fc2.cross .ct{font-size:7px;letter-spacing:.2em;color:var(--mint);margin-bottom:6px}
.faline2{color:var(--mint);letter-spacing:.04em}
.fagrid2{gap:8px;margin-top:20px}
.fc2{padding:9px 10px 8px;border-radius:12px}
.fc2 .fh2{gap:5px;margin-bottom:5px}
.fc2 .fh2 img{width:17px;height:17px}
.fc2 .fn2{font-size:10px}
.fc2 .fv2{font-size:15px}
.fc2 .fs2{font-size:8px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.faline2{font-size:11px;margin-top:12px}

.mkt2{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:36px;max-width:1000px;width:100%}
.mk2 .rule2{height:2px;border-radius:1px;margin-bottom:16px}
.mk2.today .rule2{background:var(--mint)}
.mk2.scale .rule2{background:var(--lavender)}
.mk2 .mtag2{font-size:10px;letter-spacing:.26em;color:var(--subtlest);margin-bottom:10px}
.mk2 h3{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 10px}
.mk2 p{font-size:14.5px;line-height:1.55;color:var(--ink2);margin:0}
.mk2 p b{color:var(--ink);font-weight:600}
.cb2{display:flex;gap:2px;height:6px;margin-top:16px}
.cb2 .off{background:var(--s3);border-radius:3px 0 0 3px}
.cb2 .dir{border-radius:0 3px 3px 0}
.mk2.today .cb2 .dir{background:var(--mint)}
.mk2.scale .cb2 .dir{background:var(--lavender)}
.mk2.today .cb2 .off{width:78%}.mk2.today .cb2 .dir{width:22%}
.mk2.scale .cb2 .off{width:25%}.mk2.scale .cb2 .dir{width:75%}
.cl2{display:flex;gap:16px;font-size:9.5px;letter-spacing:.14em;color:var(--subtlest);margin-top:9px}
.mk2.today .cl2 b{color:var(--mint);font-weight:500}
.mk2.scale .cl2 b{color:var(--lavender);font-weight:500}
.wnrows{margin-top:26px;max-width:1000px;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.wnrow{display:flex;align-items:baseline;gap:16px;padding:13px 2px;border-top:1px solid var(--border-soft);font-size:17px;color:var(--ink2)}
.wnrow b{color:var(--ink);font-weight:600}
.wnrow .wi{font-size:11px;color:var(--mint);letter-spacing:.1em}
.wnend{display:flex;align-items:center;gap:16px;margin-top:26px;max-width:860px;width:100%}
.wnend .ln{flex:1;height:1px;background:linear-gradient(90deg,var(--border-soft),var(--mint))}
.wnend .nw{font-size:13px;letter-spacing:.3em;color:var(--mint)}

/* how we win: one-to-three connector */
.mechrow{display:flex;flex-direction:column;align-items:center;margin-top:30px}
.mechpill{border:1px solid rgba(130,249,179,.45);color:var(--mint);border-radius:999px;
  padding:9px 18px;font-size:11px;letter-spacing:.22em}
.mechfan{width:100%;max-width:1080px;height:52px;display:block}
.mechfan path{stroke:var(--border-soft);stroke-width:1.2;fill:none}
.mechfan circle{fill:var(--mint)}

/* the failure: value chart */
.zerochart{margin-top:24px;max-width:1080px;width:100%;border-left:1px solid var(--border-soft);padding-left:28px}
.zc-label{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--subtlest);margin-bottom:10px}
.zc-barrow{display:flex;align-items:center;gap:16px}
.zc-bar{height:34px;border-radius:8px;background:var(--lavender);width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1) .4s;flex:none}
.slide.on .zc-bar{width:70%}
.zc-val{font-family:var(--mono);font-size:15px;color:var(--lavender);letter-spacing:.06em;white-space:nowrap}
.zc-zero{font-family:var(--mono);font-size:84px;font-weight:700;letter-spacing:-.03em;line-height:.95;color:var(--ink);margin-top:4px}
.zc-gap{margin-top:22px}

/* proof clusters */
.pcols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:38px;max-width:1080px;width:100%}
.pcol{border-top:2px solid var(--border-soft);padding-top:20px}
.pcol.g{border-top-color:var(--mint)}
.pcol.d{border-top-color:var(--lavender)}
.pcol.e{border-top-color:var(--gold)}
.pcol .pk{font-family:var(--mono);font-size:10px;letter-spacing:.26em;margin-bottom:16px}
.pcol.g .pk{color:var(--mint)}
.pcol.d .pk{color:var(--lavender)}
.pcol.e .pk{color:var(--gold)}
.pcol .pv{font-family:var(--mono);font-size:48px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.pcol .pl{font-size:14px;color:var(--ink2);margin-top:10px;letter-spacing:-.008em}
.pcol .ps{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--subtlest);margin-top:14px;line-height:1.7}
/* product funding fan */
.fundrow{display:flex;flex-direction:column;align-items:center;margin-top:26px}
.fundfan{width:100%;max-width:1080px;height:58px;display:block}
.fundfan path{stroke:var(--border-soft);stroke-width:1.2;fill:none}
.fundfan circle{fill:var(--mint)}
.fundfan text{font:500 10px var(--mono);letter-spacing:.2em;fill:var(--subtlest)}

.pcol .pm{display:flex;align-items:baseline;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-faint)}
.pcol .pmv{font-family:var(--mono);font-size:23px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.pcol .pml{font-size:12.5px;color:var(--ink2);letter-spacing:-.005em}

/* economics: two engines */
.eco2{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:42px;max-width:1000px;width:100%}
.ec .erule{height:2px;border-radius:1px;margin-bottom:16px}
.ec.cn .erule{background:var(--mint)}
.ec.ms .erule{background:var(--lavender)}
.ec .etag{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--subtlest);margin-bottom:16px}
.ec .eval{font-family:var(--mono);font-size:50px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.ec .evto{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:.14em;color:var(--ink2);margin:0 10px;vertical-align:middle}
.ec .eunit{font-size:14.5px;color:var(--ink2);margin-top:10px;letter-spacing:-.008em}
.ec .esplit{font-family:var(--mono);font-size:12px;color:var(--ink2);letter-spacing:.04em;margin-top:20px;padding-top:14px;border-top:1px solid var(--border-faint);line-height:1.8}
.ec .ekick{font-family:var(--mono);font-size:11px;letter-spacing:.05em;margin-top:12px}
.ec.cn .ekick{color:var(--mint-text)}
.ec.ms .ekick{color:var(--lavender)}

/* v2 additions */
.flowstrip{display:flex;align-items:center;gap:0;margin-top:34px;font-family:var(--mono)}
.fnode{border:1px solid var(--border-soft);border-radius:999px;padding:10px 20px;font-size:11px;letter-spacing:.22em;color:var(--ink)}
.fseg{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;min-width:120px}
.fseg .fl{font-size:8.5px;letter-spacing:.16em;color:var(--subtlest);white-space:nowrap}
.fseg .fa{width:100%;height:1px;background:var(--border-soft);position:relative}
.fseg .fa::after{content:'';position:absolute;right:-1px;top:-3.5px;border-left:7px solid var(--border-soft);border-top:4px solid transparent;border-bottom:4px solid transparent}
.fseg.rev .fa::after{right:auto;left:-1px;border-left:none;border-right:7px solid var(--border-soft)}
.txrows{margin-top:30px;max-width:900px;width:100%}
.txrow{display:flex;align-items:baseline;gap:16px;padding:11px 2px;border-top:1px solid var(--border-soft);font-size:16.5px;color:var(--ink2)}
.txrow b{color:var(--ink);font-weight:600}
.txrow .ti{font-family:var(--mono);font-size:11px;color:var(--mint);letter-spacing:.1em}
.txbar{max-width:900px;width:100%;margin-top:26px}
.txhead{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--ink2);margin-bottom:10px}
.txhead b{color:var(--mint);font-weight:600}
.txsegs{display:flex;height:40px;gap:6px}
.txsegs div{border-radius:10px;width:0;transition:width 1.1s cubic-bezier(.4,0,.2,1) .4s}
.txsegs .u{background:var(--mint)}
.txsegs .c{background:var(--gold, #FACC15)}
.txsegs .e{background:var(--lavender)}
.slide.on .txsegs .u{width:66.7%}
.slide.on .txsegs .c{width:3.3%}
.slide.on .txsegs .e{width:30%}
.txleg{display:flex;gap:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink2);margin-top:12px}
.txleg b{color:var(--ink)}
.wheel6{width:100%;max-width:1080px;margin-top:8px;display:block}
.wheel6 .ring{fill:none;stroke:var(--border-soft);stroke-width:1.2}
.wheel6 .wchip6{font:500 12px var(--mono);letter-spacing:.14em;fill:var(--ink)}
.wheel6 .wcore{fill:var(--bg);stroke:var(--mint);stroke-width:1.4}
.wheel6 .warr6{fill:rgba(235,235,245,0.34)}
.vgr{width:100%;max-width:980px;margin-top:6px;display:block}
.vgr .spk{stroke:var(--border-soft);stroke-width:1.1}
.vgr .cl6{font:500 10px var(--mono);letter-spacing:.2em;fill:var(--subtlest)}
.vgr .sg6{font:500 8.5px var(--mono);letter-spacing:.14em;fill:var(--mint-text)}
.dist2{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:36px;max-width:1000px;width:100%}
.dc .drule{height:2px;border-radius:1px;margin-bottom:14px}
.dc.trad .drule{background:var(--s3)}
.dc.eos .drule{background:var(--mint)}
.dc .dtag{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--subtlest);margin-bottom:8px}
.dc .drow{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--border-faint);font-size:13.5px;color:var(--ink2)}
.dc.eos .drow{color:var(--ink)}
.dc .drow .dn{font-family:var(--mono);font-size:10px;color:var(--subtlest)}
.dc.eos .drow .dn{color:var(--mint-text)}
.p4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:36px;max-width:1080px;width:100%}
.p4 .pc{border-top:2px solid var(--border-soft);padding-top:16px}
.p4 .pck{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--subtlest);margin-bottom:12px}
.p4 .pcv{font-family:var(--mono);font-size:38px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1}
.p4 .pcl{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--mint-text);margin-top:8px}
.p4 .pcd{font-size:12px;line-height:1.5;color:var(--ink2);margin-top:12px;letter-spacing:-.006em}
.layers{max-width:760px;width:100%;margin-top:34px}
.lyr{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border-soft);border-radius:12px;height:52px;padding:0 20px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--ink2);margin-bottom:10px}
.lyr.base{background:var(--mint-deep);border-color:rgba(130,249,179,0.35);color:var(--mint)}
.lyr.base b{font-weight:600;letter-spacing:.2em}

:root{--subtlest:#777B86; --red:#FF6B6B}

/* ---- ported slide support (triangle labels from v1) ---- */
.tn{font:700 15px -apple-system,system-ui,sans-serif; fill:var(--ink)}
.tr{font:500 9.5px var(--mono); fill:var(--ink2); letter-spacing:.05em}
.trh{font:500 9px var(--mono); fill:var(--ink3); letter-spacing:.2em}
/* ---- closing statement: sentence spacing ---- */
.stmt.closer{display:flex; flex-direction:column; gap:.62em}
.stmt.closer span{display:block}
/* ---- appendix: three resource cards ---- */
.apxgrid.three{grid-template-columns:repeat(3,1fr); max-width:1080px; gap:14px}
.apxgrid.three .apxcard{padding:22px 20px 20px}
/* ---- persistent top navigation ---- */
.topnav{position:fixed; top:0; left:0; right:0; z-index:70; display:flex; align-items:center;
  justify-content:space-between; gap:16px; padding:14px 18px 16px; min-height:52px;
  background:linear-gradient(180deg, rgba(5,5,8,.82) 0%, rgba(5,5,8,.55) 60%, transparent 100%);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); pointer-events:none}
.topnav > *{pointer-events:auto}
.tn-brand{display:flex; align-items:center; gap:9px; text-decoration:none; flex:none}
.tn-logo{height:17px; width:auto; display:block; color:#fff}
.tn-brand:hover .tn-logo{color:var(--mint)}
.tn-links{position:absolute; top:14px; left:50%; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:6px; padding:4px; border:1px solid var(--border-faint);
  border-radius:999px; background:rgba(30,27,36,.66)}
.tn-links a{font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink2); text-decoration:none; padding:7px 14px; border-radius:999px;
  transition:color .25s var(--spring), background .25s var(--spring); white-space:nowrap}
.tn-links a:hover{color:var(--mint-text); background:rgba(130,249,179,.08)}
.tn-links a.on{color:var(--on-mint); background:var(--mint); font-weight:600}


/* ---- 02 · Advertising: the value asymmetry ---- */
.advflow{display:flex; align-items:stretch; gap:34px; margin-top:52px; width:100%; max-width:1080px}
.advflow .af{flex:1; border-top:2px solid var(--border-soft); padding-top:16px; position:relative}
/* the rule itself carries the flow: an arrowhead in each gap, none after the last */
.advflow .af:not(:last-child)::after{content:''; position:absolute; top:-6.5px; right:-17px;
  width:0; height:0; border-left:8px solid var(--border-soft);
  border-top:5px solid transparent; border-bottom:5px solid transparent}
.advflow .af:nth-child(2)::after{border-left-color:var(--red)}
.advflow .af.zero{border-top-color:var(--red)}
.advflow .afk{font-family:var(--mono); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--subtlest)}
.advflow .afv{margin-top:14px; font-family:var(--mono); font-weight:600; font-size:76px;
  line-height:1; letter-spacing:-.04em; color:var(--mint-text)}
.advflow .af.zero .afv{color:var(--red)}
.advflow .afd{margin-top:14px; font-size:14.5px; line-height:1.55; color:var(--ink2)}
.advflow .afd b{color:var(--ink); font-weight:600}
.advflow .af.zero .afd b{color:var(--red)}
.advsvg{width:100%; max-width:1080px; margin-top:22px; display:block}
.advsvg .anode{fill:none; stroke:var(--border-soft); stroke-width:1.2}
.advsvg .antx{font:500 11px var(--mono); letter-spacing:.2em; fill:var(--ink); text-anchor:middle}
.advsvg .alab{font:500 9px var(--mono); letter-spacing:.18em; fill:var(--subtlest); text-anchor:middle}
.advsvg .aline{stroke:var(--border-soft); stroke-width:1.2}
.advsvg .ahead{fill:var(--border-soft)}
.advsvg .aret{stroke:var(--gold); stroke-width:1.4; fill:none; stroke-dasharray:5 5; opacity:.9}
.advsvg .aretx{font:600 9.5px var(--mono); letter-spacing:.2em; fill:var(--gold); text-anchor:middle}
.advsvg .arethead{fill:var(--gold)}
.advsvg .adata{stroke:var(--border-soft); stroke-width:1.2; fill:none}
.advsvg .adatahead{fill:var(--border-soft)}
.advloop{display:none}
/* ---- inline VeriGraph deep-links on graph slides ---- */
.provchip{position:absolute; bottom:44px; right:100px; margin-top:0 !important; align-self:auto}

/* ---- 04 · two funding models: many->one pooled, one->many direct ---- */
.fundsplit{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:26px;
  max-width:1080px; width:100%}
.fs{display:flex; flex-direction:column}
.fsk{font-family:var(--mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--mint-text)}
.fsd{font-size:13.5px; line-height:1.5; color:var(--ink2); margin-top:6px}
.fsd b{color:var(--ink); font-weight:600}
.fslogos{display:flex; justify-content:space-between; align-items:center; margin-top:16px}
.fslogos img{width:30px; height:30px; border-radius:22.37%; display:block; object-fit:cover}
.fslogos.one{justify-content:center}
.fslogos.one img{width:38px; height:38px}
.fsfan{width:100%; display:block}
.fsfan path{fill:none; stroke:var(--border-soft); stroke-width:1.1}
.fsfan circle{fill:var(--mint)}
/* Missions card: one funding brand heading a list of outcomes */
.mbrand{display:flex; align-items:center; gap:11px; padding-bottom:13px;
  border-bottom:1px solid var(--border-soft)}
.mbrand img{width:34px; height:34px; border-radius:22.37%; display:block; flex:none}
.mbrand .mbn{font-size:15px; font-weight:650; letter-spacing:-.01em}
.mbrand .mbs{font-family:var(--mono); font-size:9px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--subtlest); margin-top:3px}

/* 04 · tighter so the cards clear the footer provenance line */
.pcard2{padding:18px !important}
.pcard2 .ptag2{margin-bottom:14px !important}
.mrow{padding:9px 0 !important}
.mrow .mt2{font-size:14px !important}
.mbrand{padding-bottom:10px}
.fundsplit{margin-top:18px !important}
.fslogos{margin-top:12px !important}
/* pooled reward value on the Connect card */
.crew{display:flex; align-items:baseline; gap:9px; margin-top:14px}
.crew .crv{font-family:var(--mono); font-size:26px; font-weight:600; letter-spacing:-.02em; color:var(--mint-text)}
.crew .crl{font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--subtlest)}

/* 05 · four-way split of one mission */
.txsegs .a{background:var(--lavender-dark)}
.slide.on .txsegs .u{width:66.7%}
.slide.on .txsegs .c{width:6.7%}
.slide.on .txsegs .a{width:3.3%}
.slide.on .txsegs .e{width:23.3%}
.txleg{flex-wrap:wrap; gap:18px !important}
.txnote{font-size:13px; line-height:1.55; color:var(--ink2); margin-top:12px; max-width:62em}
.txnote b{color:var(--ink); font-weight:600}

/* 06/07 · diagram polish */
.wheel6{margin-top:2px}
.fw-i{font-size:11px; letter-spacing:.14em}
.viscap{margin-top:10px}
/* ---- design review fixes (Opus 5 pass) ---- */
/* keyboard focus was entirely invisible: the deck is arrow-key driven, so nav
   and CTAs need a visible ring for keyboard/AT users */
.tn-links a:focus-visible, .tn-brand:focus-visible, .nbtn:focus-visible,
.cta:focus-visible, .chip:focus-visible, .apxcard:focus-visible, a:focus-visible{
  outline:2px solid var(--mint); outline-offset:3px; border-radius:999px}
.apxcard:focus-visible{border-radius:20px}

/* ============================ mobile / narrow viewports ============================ */
@media (max-width: 900px){
  /* abandon the fixed 1280x800 scaled canvas — become a fluid scrolling document */
  .deck{height:auto; overflow-y:visible; scroll-snap-type:none}
  .slide{height:auto; min-height:0; display:block; overflow:visible; scroll-snap-align:none}
  .stage{width:100%; height:auto; min-height:100svh; transform:none !important;
    padding:74px 20px 40px; border:none; border-radius:0; box-shadow:none;
    justify-content:flex-start; gap:0}
  .slide.center .stage{align-items:stretch; text-align:left}
  .slide.center .stage > *{text-align:left !important}

  /* chrome: eyebrow + provenance become part of the flow */
  .eyebrow{position:static !important; transform:none !important; left:auto; top:auto;
    margin-bottom:20px; font-size:9.5px; letter-spacing:.26em; line-height:1.5}
  .prov{position:static; left:auto; bottom:auto; margin-top:24px; flex-wrap:wrap; font-size:9px}
  .hud{right:14px; bottom:14px; display:none}
  .topnav{padding:10px 14px}
  /* no room for wordmark + centred nav on a phone; the cover carries the brand */
  .tn-brand{display:none}
  .tn-logo{height:16px}
  .tn-links a{padding:12px 12px; font-size:9.5px; letter-spacing:.1em}

  /* fluid type — inline font-size attributes need overriding */
  .stmt, .mega, .stmt.long, .stmt.sm{font-size:clamp(27px, 7.4vw, 40px) !important;
    max-width:none !important; line-height:1.14; letter-spacing:-.03em}
  .mega{line-height:1.1}
  .sub{font-size:15px !important; max-width:none !important; margin-top:16px; line-height:1.55}
  .brandname{font-size:26px}
  .glyph{width:48px; height:48px; margin-bottom:18px}
  .meta{font-size:10px; margin-top:22px}
  .cta{margin-top:20px}

  /* every multi-column grid collapses */
  .engines, .dist2, .p4, .apxgrid, .apxgrid.three, .txrows, .layers{
    grid-template-columns:1fr !important; gap:20px !important; max-width:none !important}
  .engines{gap:28px !important}
  .engines .en{padding-top:16px}
  .engines .en .t{font-size:22px}
  .p4 .pcv{font-size:30px}

  /* diagrams scale to the column */
  .stage svg{max-width:100%; height:auto}
  .wheel6, .vgr{max-width:100% !important; margin-top:18px}
  .platrow, .wallrow{gap:8px; margin-top:22px}
  .platrow img, .wallrow .bt{width:36px; height:36px}
  .txsegs{height:30px}
  .txrow{font-size:14px; gap:10px; flex-wrap:wrap}
  .hlist{max-width:none}
  .hlist .hi{font-size:15px; gap:12px; padding:12px 0}
  .lyr{height:auto; min-height:46px; padding:12px 14px; font-size:10.5px; letter-spacing:.06em}
  .closer{gap:.5em}
  .split-note{font-size:13px; margin-top:24px}

  /* ---- components with fixed multi-column / nowrap layouts ---- */
  .sysrows{width:100% !important; max-width:100% !important; margin:24px 0 0 !important; align-self:stretch}
  .sysrow2{flex-wrap:wrap; gap:8px; font-size:10px}
  .sysrow2 .hl{display:none}
  .flowstrip{flex-wrap:wrap; gap:8px; margin-top:24px}
  .flowstrip .fnode{padding:8px 13px; font-size:9.5px; letter-spacing:.12em}
  .fundsplit{grid-template-columns:1fr !important; gap:26px !important; margin-top:20px}
  .fslogos img{width:26px; height:26px}
  .prodgrid, .wnrows{grid-template-columns:1fr !important; gap:20px !important; column-gap:0 !important}
  .fagrid2{grid-template-columns:repeat(2,1fr) !important; gap:8px !important}
  .eras{flex-wrap:wrap; gap:12px; margin-top:28px !important}
  .eras .sep{display:none}
  .wnrow{flex-wrap:wrap; font-size:14.5px}
  .chip{white-space:normal; margin-top:16px}
  .advflow{flex-direction:column; gap:22px !important; margin-top:26px}
  .advflow .afv{font-size:46px; margin-top:10px}
  .advflow .af::after{display:none !important}
  .advflow .afd{margin-top:10px; font-size:13.5px}
  .advsvg{display:none}
  .advloop{display:block; margin-top:20px; font-size:14px; line-height:1.6; color:var(--ink2);
    border-left:2px solid var(--gold); padding-left:14px}
  .advloop b{color:var(--ink); font-weight:600}
  .provchip{position:static !important; right:auto; bottom:auto; margin-top:16px !important}
  /* any element that still declares its own max-width in px */
  .stage > div, .stage > h1, .stage > p{max-width:100% !important}
}
@media (max-width: 480px){
  .stage{padding:68px 16px 34px}
  .stmt, .mega, .stmt.long, .stmt.sm{font-size:clamp(24px, 8vw, 32px) !important}
  .sub{font-size:14.5px !important}
}
/* short-and-wide viewports (landscape phones): keep the canvas but let it breathe */
@media (max-height: 520px) and (min-width: 901px){
  .stage{padding:70px 60px 60px}
}

/* ===== mobile fixes — 27 Jul 2026 ===== */

/* (a) sysrow2 is display:grid with a fixed 604px six-column template. The
   original mobile override used flex properties (flex-wrap/gap), which are
   inert on a grid, so the template never collapsed and the right-hand label
   was clipped. Re-lay it out as three columns with the platform name below. */
@media (max-width: 900px){
  .sysrow2{
    grid-template-columns: 1fr auto 1fr !important;
    height: auto !important;
    padding: 13px 0;
    gap: 6px 10px;
    font-size: 9.5px;
    align-items: center;
  }
  .sysrow2 .hl{display: none}
  .sysrow2 .sl{grid-row: 1; grid-column: 1; text-align: left}
  .sysrow2 .ico{grid-row: 1; grid-column: 2; justify-self: center; width: 26px; height: 26px}
  .sysrow2 .sr{grid-row: 1; grid-column: 3; justify-self: end; text-align: right}
  .sysrow2 .nm{
    grid-row: 2; grid-column: 1 / -1;
    justify-self: center; text-align: center;
    padding-left: 0; font-size: 14px;
  }
}

/* (b) Reveal choreography. .rv starts at opacity:0 and is only revealed by
   the rule `.slide.on .rv`. The `on` class is applied by an
   IntersectionObserver using a 0.6 threshold, i.e. 60% of a slide must be
   visible at once. On mobile .slide{height:auto}, so any slide taller than
   about 1.67 viewports can never reach that threshold and its whole contents
   stay invisible. Slide "10 · The VeriGraph · from above" measures 1.67 to
   2.55 viewports depending on device; on a short viewport up to five slides
   are affected. The slide counter and progress bar that the observer also
   drives are display:none on mobile, so simply showing the content is the
   safe fix, and it keeps the deck readable even if the inline deck script
   never runs. */
@media (max-width: 900px){
  .rv{opacity: 1; transform: none}
}

/* (c) Slide 04 pairing. On desktop this slide is two vertical stories:
     left  = pooled many-brands fan  then the CONNECT card (Strava)
     right = direct one-brand fan    then the MISSIONS card (adidas)
   The fans and the cards live in two separate grids (.fundsplit and
   .prodgrid). Collapsing both to a single column stacked both fans first and
   both cards after, which put the direct adidas fan immediately above the
   CONNECT card and read as "adidas feeds the connect pool". Dropping the two
   grid boxes lets all four children participate in the .stage flex column so
   each fan sits directly above its own card again.
   .fundsplit and .prodgrid occur only on this slide and no :nth-child rule
   depends on either. The .prov rule is scoped with :has() because .prov is
   not the last child on every slide (three slides end with a .provchip); if
   :has() were unsupported the block is ignored rather than misordering. */
@media (max-width: 900px){
  .fundsplit, .prodgrid{display: contents}
  .fundsplit > .fs:nth-child(1){order: 1; margin-top: 20px}
  .prodgrid  > .pcard2:nth-child(1){order: 2; margin-top: 14px}
  .fundsplit > .fs:nth-child(2){order: 3; margin-top: 28px}
  .prodgrid  > .pcard2:nth-child(2){order: 4; margin-top: 14px}
  .stage:has(> .fundsplit) > .prov{order: 9}
}

/* (d) Two slides carry an inline style on .stage with 90px / 100px side
   padding ("10 · The VeriGraph · from above" and "13 · Why now"). An inline
   style beats the stylesheet, so the mobile padding rule never applied and
   those slides were squeezed into roughly 200px of a 390px screen. These
   need !important purely to outrank the inline declaration. */
@media (max-width: 900px){
  .stage{padding: 74px 20px 40px !important}
}
@media (max-width: 480px){
  .stage{padding: 68px 16px 34px !important}
}

/* ===== appendix member-snapshot slides — 28 Jul 2026 =====
   All selectors are namespaced ms- because the deck already owns .bar, .cta,
   .cap, .e, .v, .l and .n. Structure reuses the deck's own .slide, .stage,
   .eyebrow and .rv so these obey the same canvas, padding and reveal timing
   as every other slide. Colours come from the deck tokens only. */
.ms-h{
  font-size:30px;font-weight:700;letter-spacing:-.028em;line-height:1.16;
  max-width:20em;margin:0;
}
.ms-h em{font-style:normal;color:var(--mint-text)}

.ms-body{
  margin-top:22px;display:grid;grid-template-columns:1.06fr 1fr;
  gap:44px;align-items:start;
}
.ms-cap{
  font-family:var(--mono);font-size:9.5px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--subtler);
}

.ms-id{display:flex;align-items:flex-end;gap:12px}
.ms-mid{font-family:var(--mono);font-size:38px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.ms-note{font-family:var(--mono);font-size:10.5px;color:var(--subtler);padding-bottom:5px}

.ms-pulse{
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;
  padding:6px 12px 6px 10px;border-radius:999px;
  background:var(--mint-deep);border:1px solid rgba(130,249,179,.3);
}
.ms-dot{
  width:7px;height:7px;border-radius:50%;background:var(--mint);
  animation:msBreathe 2.6s ease-in-out infinite;
}
.ms-pv{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--mint-text)}
.ms-pl{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(130,249,179,.8);
}
@keyframes msBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}

.ms-fields{margin-top:14px}
.ms-f{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:14px;padding:7px 0}
.ms-f + .ms-f{border-top:1px solid rgba(120,120,128,.16)}
.ms-fk{
  font-family:var(--mono);font-size:9.5px;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;color:var(--subtler);
}
.ms-fv{font-size:15px;font-weight:600;letter-spacing:-.012em;color:var(--ink)}
.ms-fs{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;color:var(--mint-text);white-space:nowrap}
.ms-tk{margin-right:5px}
.ms-fs.off{color:var(--subtler)}

/* The redaction: the only pure-black mark on the slide, and taller than the
   attested values beneath it. Withholding the identity is the claim here,
   not a gap in the data. */
.ms-f.wh{padding:8px 0}
.ms-bar{
  height:22px;border-radius:4px;background:#000;
  border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;
}
.ms-bar::after{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 7px);
}
.ms-bar.b1{width:74%}
.ms-bar.b2{width:58%}

.ms-div{margin:8px 0 2px;border-top:1px solid var(--border-soft);display:flex;justify-content:flex-end}
.ms-div span{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--subtler);transform:translateY(-50%);background:var(--bg);padding:0 9px;
}

.ms-sw{margin-top:15px}
.ms-stack{display:flex;align-items:center;margin-top:9px}
.ms-ic{
  width:30px;height:30px;border-radius:22.37%;overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  margin-right:-8px;border:2.5px solid var(--nav);
  box-shadow:0 3px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.22);
}
.ms-ic img{width:15px;height:15px;object-fit:contain;display:block}
.ms-ic.fav{background:#fff}
.ms-ic.fav img{width:19px;height:19px;border-radius:4px}

.ms-reads{margin-top:10px;display:flex;flex-direction:column;gap:7px}
.ms-r{background:rgba(255,255,255,.03);border:1px solid var(--border-soft);border-radius:12px;padding:10px 13px}
.ms-rt{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ms-rn{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--lavender)}
.ms-cf{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:4px 8px;border-radius:5px;white-space:nowrap;
  background:rgba(130,249,179,.1);color:var(--mint-text);
}
.ms-cf.med{background:rgba(250,204,21,.1);color:var(--gold)}
.ms-re{margin-top:5px;font-size:11.5px;line-height:1.45;color:var(--subtler)}
.ms-rs{
  margin-top:6px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--subtler);
}

.ms-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-soft)}
.ms-econrow{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.ms-econ{display:flex;gap:38px;align-items:flex-end}
.ms-ev{font-size:29px;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink)}
.ms-ev.hot{color:var(--mint-text)}
.ms-el{
  margin-top:5px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--subtler);
}
.ms-en{margin-top:3px;font-family:var(--mono);font-size:9.5px;color:var(--mint-text);letter-spacing:.03em}

.ms-cta{
  display:inline-flex;align-items:center;gap:9px;flex:none;
  padding:11px 17px;border-radius:999px;text-decoration:none;
  border:1px solid rgba(130,249,179,.4);color:var(--mint-text);
  font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;white-space:nowrap;
  transition:background .18s ease,border-color .18s ease;
}
.ms-cta:hover{background:rgba(130,249,179,.1);border-color:var(--mint)}
.ms-cta:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.ms-arw{font-size:13px;line-height:1}

@media (prefers-reduced-motion: reduce){
  .ms-dot{animation:none}
}

/* Mobile: the deck already turns .stage into a fluid document below 900px,
   so these only need to collapse to one column and let the stack wrap. */
@media (max-width: 900px){
  .ms-h{font-size:25px;max-width:none}
  .ms-body{grid-template-columns:1fr;gap:28px;margin-top:20px}
  .ms-mid{font-size:32px}
  .ms-id{flex-wrap:wrap;gap:8px}
  .ms-note{padding-bottom:0}
  .ms-f{grid-template-columns:76px 1fr;gap:8px 12px}
  .ms-fs{grid-column:2;white-space:normal}
  .ms-stack{flex-wrap:wrap;row-gap:9px}
  .ms-econrow{flex-direction:column;align-items:flex-start;gap:18px}
  .ms-econ{gap:22px;flex-wrap:wrap}
  .ms-ev{font-size:25px}
  .ms-foot{margin-top:28px}
}
@media (max-width: 480px){
  .ms-h{font-size:22px}
  .ms-mid{font-size:28px}
  .ms-ic{width:26px;height:26px;margin-right:-7px;border-width:2px}
  .ms-ic img{width:13px;height:13px}
  .ms-ic.fav img{width:16px;height:16px}
  .ms-e{min-width:44%}
}

/* ===== opening frames 01 and 02: the payout ledger — 4 Aug 2026 =====
   Namespaced fp- to avoid the deck's existing row components. Reuses the
   deck's .slide, .stage, .eyebrow, .stmt, .sub, .prov and .rv so these two
   frames sit on the same canvas and reveal timing as everything else. */
.fp-led{margin-top:24px;width:100%;max-width:1080px}
.fp-hd,.fp-row{display:grid;grid-template-columns:212px 122px 1fr 148px;gap:22px;align-items:baseline}
.fp-hd{padding-bottom:8px;border-bottom:1px solid var(--border-soft)}
.fp-hd div{
  font-family:var(--mono);font-size:8.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--subtler);
}
.fp-hd div:last-child{text-align:right}
.fp-row{padding:10px 0;border-bottom:1px solid rgba(120,120,128,.14)}
.fp-an{font-size:15px;font-weight:600;letter-spacing:-.012em;color:var(--ink)}
.fp-as{
  margin-top:3px;font-family:var(--mono);font-size:8.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--subtler);
}
.fp-w{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--lavender)}
.fp-d{font-size:13px;line-height:1.45;color:var(--subtler)}
.fp-d b{color:var(--ink);font-weight:600}
.fp-v{text-align:right}
.fp-vn{font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.fp-vs{
  margin-top:4px;font-family:var(--mono);font-size:8.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--subtler);
}

.fp-tot{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid rgba(120,120,128,.14);
}
.fp-tot:last-child{border-bottom:0}
.fp-tk{font-size:13.5px;color:var(--subtle)}
.fp-tv{font-size:25px;font-weight:800;letter-spacing:-.03em;line-height:1}
.fp-tv.paid{color:var(--mint-text)}
.fp-tv.owed{color:var(--gold)}
.fp-tv.zero{color:var(--ink)}

/* the turn line that now sits above the thesis headline on frame 03 */
.fp-turn{
  font-size:17px;line-height:1.5;color:var(--subtle);
  max-width:38em;margin-bottom:18px;
}
.fp-turn b{color:var(--ink);font-weight:600}
.fp-turn .now{color:var(--mint-text);font-weight:600}

@media (max-width: 900px){
  .fp-led{margin-top:18px}
  .fp-hd{display:none}
  .fp-row{
    grid-template-columns:1fr auto;gap:4px 14px;padding:13px 0;
    align-items:start;
  }
  .fp-row .fp-a{grid-column:1;grid-row:1}
  .fp-row .fp-w{grid-column:1;grid-row:2;font-size:12.5px}
  .fp-row .fp-d{grid-column:1;grid-row:3;margin-top:4px;font-size:12.5px}
  .fp-row .fp-v{grid-column:2;grid-row:1;text-align:right}
  .fp-vn{font-size:19px}
  .fp-tot{grid-template-columns:1fr auto;gap:14px;padding:10px 0}
  .fp-tk{font-size:12.5px}
  .fp-tv{font-size:21px}
  .fp-turn{font-size:15px;margin-bottom:14px}
}

/* ===== appendix C and D: market evidence + the conquest graph — 4 Aug 2026 =====
   Ported from the appendix build, renamed cg- because this deck already owns
   .ledger, .wnrow, .wi, .pay and .cap. Structure reuses the deck's .slide,
   .stage, .eyebrow, .mega, .sub, .prov and .rv. */
.cg-led{display:flex;flex-direction:column;margin-top:24px;width:100%;max-width:1080px}
.cg-row{
  display:flex;align-items:baseline;gap:16px;padding:11px 2px;
  border-top:1px solid var(--border-soft);font-size:16px;color:var(--ink2);
}
.cg-row:last-child{border-bottom:1px solid var(--border-soft)}
.cg-i{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  color:var(--mint-text);min-width:98px;flex:none;
}
.cg-n{
  font-family:var(--mono);font-weight:600;font-size:21px;letter-spacing:-.02em;
  color:var(--ink);min-width:106px;flex:none;
}
.cg-n.hi{color:var(--mint-text)}
.cg-t{flex:1}
.cg-arw{font-family:var(--mono);color:var(--subtler);flex:none}
.cg-pay{font-family:var(--mono);font-weight:600;color:var(--mint-text);flex:none}
.cg-note{margin-top:18px;font-size:16.5px;line-height:1.55;color:var(--ink2);max-width:56em}
.cg-note b{color:var(--ink);font-weight:600}
.cg-cap{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--mint-text)}

@media (max-width: 900px){
  .cg-led{margin-top:18px}
  .cg-row{
    flex-wrap:wrap;gap:6px 12px;padding:12px 2px;font-size:14px;
    align-items:baseline;
  }
  .cg-i{min-width:0;font-size:9.5px}
  .cg-n{min-width:0;font-size:19px}
  .cg-t{flex:1 1 100%}
  .cg-arw{display:none}
  .cg-note{font-size:14.5px;margin-top:14px}
  .cg-cap{font-size:11px}
}

/* ===== revisions, 4 Aug 2026 ===== */

/* logos in the payout ledgers, matching the source pattern frames.
   Embedded rather than hotlinked so the frames cannot lose their icons
   mid-pitch. The who column widens to hold icon plus name. */
.fp-hd,.fp-row{grid-template-columns:196px 168px 1fr 148px}
.fp-who{display:flex;align-items:center;gap:11px}
.fp-ic{
  width:30px;height:30px;border-radius:22.37%;overflow:hidden;flex:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.1);
}
.fp-ic img{width:100%;height:100%;object-fit:cover;display:block}

/* appendix C ledger gains the same icon treatment */
.cg-brand{display:flex;align-items:center;gap:11px;min-width:150px;flex:none}
.cg-bic{
  width:28px;height:28px;border-radius:22.37%;overflow:hidden;flex:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.1);
}
.cg-bic img{width:100%;height:100%;object-fit:cover;display:block}
.cg-brand .cg-i{min-width:0}

/* frame 03, the turn. The old version mixed Inter with JetBrains Mono inside
   one 96px headline, which is what made it read as broken. The highlight now
   stays in the display face and only changes colour. */
.tn-lead{
  font-size:17.5px;line-height:1.5;color:var(--ink2);
  max-width:34em;margin:0 0 20px;
}
.tn-lead b{color:var(--ink);font-weight:600}
.tn-lead .go{color:var(--mint-text);font-weight:600}
.tn-h{
  font-size:68px;font-weight:800;letter-spacing:-.035em;line-height:1.04;
  max-width:14em;margin:0;color:var(--ink);
}
.tn-h span{color:var(--mint-text);font-family:inherit;font-weight:800}
.tn-sub{margin-top:24px;font-size:18.5px;line-height:1.55;color:var(--ink2);max-width:34em}

/* appendix link cards: equal height, CTA pinned to the bottom of each so the
   three read as one row rather than three different shapes */
.apxgrid.three{align-items:stretch}
.apxgrid.three .apxcard{display:flex;flex-direction:column;height:100%}
.apxgrid.three .apxcard .ad{flex:1 1 auto}
.apxgrid.three .apxcard .aa{margin-top:16px}

@media (max-width: 900px){
  /* the base grid above is later in source order than the original mobile
     rule, so the single column layout has to be restated here */
  .fp-hd{display:none}
  .fp-row{grid-template-columns:1fr auto !important;gap:4px 14px;padding:13px 0;align-items:start}
  .fp-row .fp-a{grid-column:1;grid-row:1}
  .fp-row .fp-w{grid-column:1;grid-row:2;font-size:12.5px}
  .fp-row .fp-d{grid-column:1;grid-row:3;margin-top:4px;font-size:12.5px}
  .fp-row .fp-v{grid-column:2;grid-row:1;text-align:right}
  .fp-who{gap:9px}
  .fp-ic{width:26px;height:26px}
  .cg-brand{min-width:0;flex:1 1 100%}
  .cg-bic{width:24px;height:24px}
  .tn-h{font-size:30px;max-width:none}
  .tn-lead{font-size:15px;margin-bottom:14px}
  .tn-sub{font-size:15.5px;margin-top:16px}
  .apxgrid.three .apxcard{height:auto}
}


  .tn{font:700 15px 'Inter',-apple-system,system-ui,sans-serif; fill:var(--ink)}
  .tk{font:600 8.5px var(--mono); letter-spacing:.2em; fill:var(--ink3)}
  .tv{font:500 10.5px var(--mono); letter-spacing:.03em; fill:var(--ink2)}
  .th{font:700 13px 'Inter',-apple-system,system-ui,sans-serif; fill:var(--ink)}
  .trh{font:500 8.5px var(--mono); letter-spacing:.22em; fill:var(--ink3)}

.gx{font:500 12.5px var(--mono); fill:var(--subtlest)} .gl{font:600 14.5px var(--mono)} .gs{font:500 12px var(--mono); fill:var(--subtler)}

/* ===== EarnOS shared component library ===== */
.opt{margin:46px 0 56px}
.xbadge{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.18em;
  background:var(--mint);color:var(--mint-deep);padding:6px 13px;border-radius:999px}
.gorb{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(105px);opacity:.13;z-index:0}
.gorb.m{background:var(--mint)}
.gorb.g{background:var(--gold)}
.stmt{font-size:54px;font-weight:700;letter-spacing:-.04em;line-height:1.02;margin:0;max-width:17em}
.xmint{color:var(--mint-2)}
.xico{width:30px;height:30px;border-radius:22.5%;object-fit:cover;background:var(--s3);flex:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
/* shared ledger rows */ .lh{display:flex;align-items:center;gap:18px;margin:14px 0 5px;padding:0 22px;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--subtler)}
.lrow{display:flex;align-items:center;gap:18px;padding:7px 22px;margin-bottom:4px;
  border:1px solid var(--border-faint);border-radius:15px;background:rgba(30,27,36,.42)}
.k1{width:212px}
.k2{width:210px}
.k3{flex:1}
.k4{width:210px;text-align:right}
.xa{font-size:16px;font-weight:700;letter-spacing:-.02em}
.as{font-family:var(--mono);font-size:9.5px;color:var(--subtlest);margin-top:3px}
.who{display:flex;align-items:center;gap:10px}
.who .wn{font-size:14.5px;font-weight:600}
.desc{font-size:14px;color:var(--ink2);line-height:1.35}
.desc b{color:var(--ink);font-weight:600}
.pay{font-family:var(--mono);font-size:19px;font-weight:600;letter-spacing:-.03em;color:var(--mint-2)}
.per{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--subtlest);margin-top:4px}
.lrow.zero{margin-top:10px;border-color:rgba(255,107,107,.46);padding:12px 22px;
  background:linear-gradient(90deg,rgba(255,107,107,.15),rgba(30,27,36,.28))}
.lrow.zero .xa, .lrow.zero .wn{color:var(--red)}
.lrow.zero .pay{color:var(--red);font-size:29px}
.tally{margin-top:11px;border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden}
.tl{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;
  background:linear-gradient(90deg,rgba(6,54,26,.46),rgba(30,27,36,.14))}
.tl .tk{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.tl .tv{font-family:var(--mono);font-size:28px;font-weight:600;letter-spacing:-.03em;color:var(--mint-2)}
.tl.z{background:linear-gradient(90deg,rgba(255,107,107,.17),rgba(30,27,36,.10));border-top:1px solid rgba(255,255,255,.08)}
.tl.z .tk, .tl.z .tv{color:var(--red)}
/* G specific */ .eyr{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--mint-2);width:50px}
.ekick{margin-top:14px;padding:16px 26px;border:1px solid rgba(130,249,179,.30);border-radius:18px;
  background:linear-gradient(90deg,rgba(6,54,26,.48),rgba(6,54,26,.06));
  font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.35}
.ewhat i{font-style:normal;color:var(--mint-2);font-family:var(--mono);font-size:13px}
.xhero{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;height:100%}
.xhstack{display:flex;align-items:center;justify-content:center;margin:0 0 40px}
.xhstack img{width:78px;height:78px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  margin-left:-20px;box-shadow:0 0 0 3px var(--bg),0 10px 30px -10px rgba(0,0,0,.8)}
.xhstack img:first-child{margin-left:0}
.xhstack img:nth-child(1){z-index:9}
.xhstack img:nth-child(2){z-index:8}
.xhstack img:nth-child(3){z-index:7}
.xhstack img:nth-child(4){z-index:6}
.xhstack img:nth-child(5){z-index:5}
.xhstack.dim img{filter:grayscale(1);opacity:.62}
.xbignum{font-family:var(--mono);font-size:132px;font-weight:600;letter-spacing:-.05em;line-height:.9;
  color:var(--mint-2);margin:0}
.xbignum.gold{color:var(--gold)}
.xbiglab{font-family:var(--mono);font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink2);margin-top:20px}
.vs{display:flex;align-items:center;gap:22px;margin-top:34px;padding:16px 30px;
  border:1px solid rgba(255,107,107,.40);border-radius:999px;
  background:linear-gradient(90deg,rgba(255,107,107,.15),rgba(255,107,107,.05))}
.vs .vk{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.vs .vv{font-family:var(--mono);font-size:34px;font-weight:600;letter-spacing:-.03em;color:var(--red)}
.xsublede{font-size:19px;color:var(--ink2);line-height:1.5;margin:18px 0 0;max-width:36em}
.xsublede b{color:var(--ink);font-weight:600}
.cmp{display:grid;grid-template-columns:1fr auto 1fr;gap:34px;align-items:center;margin-top:8px;width:100%}
.cmp .side{display:flex;flex-direction:column;align-items:center;gap:16px}
.cmp .mid{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--subtlest)}
.cmp .num{font-family:var(--mono);font-size:84px;font-weight:600;letter-spacing:-.045em;line-height:.9}
.cmp .num.m{color:var(--mint-2)}
.cmp .num.r{color:var(--red)}
.cmp .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);text-align:center;max-width:16em;line-height:1.6}
.stk{display:flex;align-items:center;justify-content:center}
.stk img{width:46px;height:46px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  margin-left:-13px;box-shadow:0 0 0 2px var(--bg)}
.stk img:first-child{margin-left:0}
.stk.dim img{filter:grayscale(1);opacity:.6}
.note{font-size:13px;color:var(--subtler);margin-top:6px}
.tbl{border:1px solid var(--border-faint);border-radius:16px;overflow:hidden;margin:14px 0 8px}
.tr{display:grid;grid-template-columns:118px 1fr 1fr;gap:16px;padding:12px 20px;
  border-bottom:1px solid var(--border-faint);font-size:13.5px;align-items:center}
.tr:last-child{border-bottom:none}
.tr.h{background:rgba(16,14,21,.6);font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--subtler)}
.tr .was{color:var(--subtlest)}
.tr .xnow{color:var(--ink)}
.tr .xnow b{font-weight:600}
.tr .xmt{font-family:var(--mono);font-size:11.5px;color:var(--mint-2)}
.xeq{display:flex;align-items:center;justify-content:center;gap:40px;width:100%;margin-top:6px}
.xeq .xcol{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1}
.xeq .xop{font-family:var(--mono);font-size:30px;color:var(--subtlest);flex:none;padding-bottom:26px}
.xeq .xn{font-family:var(--mono);font-size:96px;font-weight:600;letter-spacing:-.05em;line-height:.9}
.xeq .xn.g{color:var(--gold)}
.xeq .xn.r{color:var(--red)}
.xeq .xn.m{color:var(--mint-2)}
.xeq .xc{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.7;max-width:15em}
.xpill{display:inline-flex;align-items:center;gap:10px;padding:9px 20px;border-radius:999px;
  border:1px solid rgba(130,249,179,.34);background:rgba(6,54,26,.42);margin-bottom:30px}
.xpill img{width:22px;height:22px;border-radius:22.5%}
.xpill span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-2)}
.xtx{width:100%;max-width:940px;border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;margin-top:34px}
.xtxh{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;background:rgba(30,27,36,.5)}
.xtxk{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--subtler)}
.xtxv{font-family:var(--mono);font-size:32px;font-weight:600;letter-spacing:-.03em}
.xtxbar{display:flex;height:50px}
.xsg{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;
  font-weight:600;letter-spacing:.1em}
.xsg.xu{background:var(--mint);color:#06361A}
.xsg.xc{background:var(--lavender);color:#171426}
.xsg.xa{background:var(--gold);color:#2A2100}
.xsg.xe{background:var(--s3);color:var(--ink2)}
.xtxl{display:flex;gap:26px;padding:14px 24px;background:rgba(30,27,36,.28);flex-wrap:wrap}
.xtxl span{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.xtxl i{width:9px;height:9px;border-radius:3px;display:block}
.xi1{background:var(--mint)}
.xi2{background:var(--lavender)}
.xi3{background:var(--gold)}
.xi4{background:var(--s3)}
.xvs2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;width:100%;max-width:960px}
.xvc{border:1px solid var(--border-faint);border-radius:18px;padding:20px 22px;background:rgba(30,27,36,.32)}
.xvc.xnew{border-color:rgba(130,249,179,.34);background:linear-gradient(160deg,rgba(6,54,26,.4),rgba(30,27,36,.2))}
.xvh{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--subtler);margin-bottom:14px}
.xvc.xnew .xvh{color:var(--mint-2)}
.xvstep{display:flex;gap:11px;font-size:14.5px;color:var(--ink2);padding:7px 0;line-height:1.4}
.xvc.xnew .xvstep{color:var(--ink)}
.xvstep em{font-family:var(--mono);font-style:normal;font-size:10px;color:var(--subtlest);padding-top:3px}
.xvc.xnew .xvstep em{color:var(--mint-2)}
.xtwo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.xpanel{border:1px solid var(--border-faint);border-radius:20px;background:rgba(30,27,36,.42);padding:26px 26px 24px;
  display:flex;flex-direction:column}
.xpanel.xb .ptag{color:var(--gold)}
.ptag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--lavender)}
.ptitle{font-size:22px;font-weight:700;letter-spacing:-.025em;margin:12px 0 6px}
.psub{font-size:13.5px;color:var(--ink2);line-height:1.45;margin:0 0 20px}
.iconrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.connrow{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--border-faint);
  border-radius:14px;background:var(--nav);margin-top:auto}
.xpill{margin-left:auto;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--mint-text);
  background:var(--mint-deep);padding:7px 13px;border-radius:999px;white-space:nowrap}
.xmrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border-faint)}
.xico{width:32px;height:32px;border-radius:22.5%;object-fit:cover;background:var(--s3);flex:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.xico.xsm{width:26px;height:26px}
.xico.xlg{width:44px;height:44px;border-radius:22.5%}
.gorb.l{background:var(--lavender)}
.connrow .xcn{font-size:14px;font-weight:600}
.connrow .xcs{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;color:var(--subtler);margin-top:3px}
.xmrow .xmt{font-size:13.5px;line-height:1.35;color:var(--ink)}
.xmrow .xmv{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--mint-2);white-space:nowrap}
.xvc.xold .xvh{color:var(--subtler)}
.xtrio3{display:flex;gap:44px;margin-top:38px}
.xt3{display:flex;flex-direction:column;align-items:center;gap:9px}
.xt3v{font-family:var(--mono);font-size:40px;font-weight:600;letter-spacing:-.035em;color:var(--mint-2);line-height:1}
.xt3k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.7}
.xpstrip{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:32px;max-width:46em}
.xpstrip img{width:34px;height:34px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
/* ---------- deck shell ---------- */ .deck{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}
.gorb{position:absolute;width:580px;height:580px;border-radius:50%;filter:blur(105px);opacity:.13;pointer-events:none;z-index:0}
.gorb.m{background:var(--mint)}
.gorb.l{background:var(--lavender)}
.gorb.g{background:var(--gold)}
/* these three are absolutely positioned utilities; the blanket rule above outranks their own .class selector, so re-assert at matching specificity, later in source */ .stage > .eyebrow{position:absolute;z-index:3}
/* ---------- type ---------- */ .eyebrow{position:absolute;top:58px;left:100px;display:flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--mint-text)}
.stmt{font-size:84px;font-weight:700;letter-spacing:-.04em;line-height:1.0;max-width:14.5em;margin:0}
.lede{font-size:19px;line-height:1.5;color:var(--ink2);max-width:44em;margin:26px 0 0;font-weight:400}
.lede b{color:var(--ink);font-weight:600}
.num{font-family:var(--mono);font-weight:600}
.xmint{color:var(--mint-text)}
/* ---------- reveal ---------- */ .rv{opacity:0;transform:translateY(16px);transition:opacity .72s var(--spring),transform .72s var(--spring)}
/* ---------- nav ---------- */ .topnav{position:fixed;top:0;left:0;right:0;z-index:70;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 18px 34px;min-height:52px;pointer-events:none;isolation:isolate}
.xcta:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:999px}
/* ---------- cover ---------- */ .cover-stage{align-items:center;text-align:center}
.cover-lockup{display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:54px}
.cover-icon{width:112px;height:112px;border-radius:22.5%;display:block;
  box-shadow:0 0 0 1px rgba(255,255,255,.09),0 26px 60px -24px rgba(0,0,0,.85)}
.cover-wordmark{height:40px;width:auto;display:block;color:var(--ink)}
.cover-h{font-size:88px;font-weight:800;letter-spacing:-.045em;line-height:1.0;margin:0;max-width:none}
.cover-meta{margin-top:32px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.34em;
  text-transform:uppercase;color:var(--subtler)}
.scrollhint{position:absolute;bottom:52px;right:100px;display:flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:var(--subtlest)}
.scrollhint i{display:block;width:1px;height:26px;background:linear-gradient(180deg,var(--subtlest),transparent);animation:sd 2.2s ease-in-out infinite}
0%, 100%{opacity:.25;transform:translateY(-3px)}
50%{opacity:1;transform:translateY(3px)}
/* ---------- system rows (frame 01) ---------- */ .sysrows{display:flex;flex-direction:column;gap:12px;margin-top:44px}
.sysrow{display:flex;align-items:center;gap:16px;padding:13px 20px;border:1px solid var(--border-faint);
  border-radius:16px;background:linear-gradient(90deg,rgba(30,27,36,.5),rgba(30,27,36,.16))}
.sysrow .sl, .sysrow .sr{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.2em;
  color:var(--subtler);width:120px}
.sysrow .sr{text-align:right}
.sysrow .hl{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-soft),transparent)}
.sysrow .nm{font-size:15px;font-weight:600;letter-spacing:-.01em;min-width:82px}
.xico{width:32px;height:32px;border-radius:22.5%;object-fit:cover;background:var(--s3);flex:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.xico.xsm{width:26px;height:26px}
.xico.xlg{width:44px;height:44px;border-radius:22.5%}
/* ---------- stat trio (frame 02) ---------- */ .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:46px;
  border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;background:var(--border-faint)}
.tcell{background:var(--bg);padding:34px 30px 32px;display:flex;flex-direction:column;gap:10px}
.tcell .tk{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.26em;
  text-transform:uppercase;color:var(--subtler)}
.tcell .tv{font-family:var(--mono);font-size:60px;font-weight:600;letter-spacing:-.035em;line-height:1}
.tcell .td{font-size:13.5px;line-height:1.45;color:var(--ink2)}
.tcell .td b{color:var(--ink);font-weight:600}
.tcell.zero .tv{color:#FF6B6B}
/* ---------- thesis (frame 03) ---------- */ .thesisline{margin-top:52px;padding:26px 32px;border:1px solid rgba(130,249,179,.28);border-radius:18px;
  background:linear-gradient(90deg,rgba(6,54,26,.5),rgba(6,54,26,.08));
  font-size:17px;line-height:1.5;color:var(--ink);max-width:none}
.thesisline span{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--mint-text);
  display:block;margin-bottom:11px;text-transform:uppercase}
/* ---------- product (frame 04) ---------- */ .xtwo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.xpanel{border:1px solid var(--border-faint);border-radius:20px;background:rgba(30,27,36,.42);padding:26px 26px 24px;
  display:flex;flex-direction:column}
.ptag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--lavender)}
.xpanel.xb .ptag{color:var(--gold)}
.ptitle{font-size:22px;font-weight:700;letter-spacing:-.025em;margin:12px 0 6px}
.psub{font-size:13.5px;color:var(--ink2);line-height:1.45;margin:0 0 20px}
.iconrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.connrow{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--border-faint);
  border-radius:14px;background:var(--nav);margin-top:auto}
.connrow .xcn{font-size:14px;font-weight:600}
.connrow .xcs{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--subtler);margin-top:3px}
.xpill{margin-left:auto;font-family:var(--mono);font-size:14px;font-weight:600;color:var(--mint-text);
  background:var(--mint-deep);padding:7px 13px;border-radius:999px;white-space:nowrap}
.xmrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border-faint)}
.xmrow .xmt{font-size:13.5px;line-height:1.35;color:var(--ink)}
.xmrow .xmv{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--mint-text);white-space:nowrap}
.xmrow .xmm{font-family:var(--mono);font-size:9.5px;color:var(--subtlest);white-space:nowrap;width:42px;text-align:right}
/* ---------- economics (frame 05) ---------- */ .flowbar{margin-top:40px;border:1px solid var(--border-faint);border-radius:20px;overflow:hidden}
.fb-top{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:rgba(30,27,36,.55)}
.fb-top .fl{font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--subtler);text-transform:uppercase}
.fb-top .fv{font-family:var(--mono);font-size:34px;font-weight:600;letter-spacing:-.02em}
.bar{display:flex;height:52px}
.seg{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;
  letter-spacing:.1em;color:var(--on-mint)}
.seg.xu{background:var(--mint)}
.seg.xc{background:var(--lavender);color:#171426}
.seg.xa{background:var(--gold);color:#2A2100}
.seg.xe{background:var(--s3);color:var(--ink2)}
.legend{display:flex;gap:26px;padding:18px 26px;background:rgba(30,27,36,.3);flex-wrap:wrap}
.xlg{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;color:var(--ink2)}
.xlg i{width:9px;height:9px;border-radius:3px;display:block}
.xlg b{color:var(--ink);font-weight:600}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.step{display:flex;gap:11px;font-size:13px;line-height:1.4;color:var(--ink2)}
.step em{font-family:var(--mono);font-style:normal;font-size:10px;color:var(--mint-text);padding-top:2px}
.step b{color:var(--ink);font-weight:600}
/* ---------- verigraph member (frame 06) ---------- */ .mgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;margin-top:36px;align-items:start}
.dossier{border:1px solid var(--border-faint);border-radius:20px;background:rgba(30,27,36,.42);overflow:hidden}
.dhead{display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--border-faint);
  background:rgba(16,14,21,.6)}
.dhead .did{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.04em}
.dhead .dan{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--subtlest);text-transform:uppercase}
.dhead .dpulse{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mint-text);
  border:1px solid rgba(130,249,179,.32);padding:5px 11px;border-radius:999px}
.drow{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:13px 22px;border-bottom:1px solid var(--border-faint)}
.drow:last-child{border-bottom:none}
.drow .dk{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--subtler);text-transform:uppercase;padding-top:3px}
.drow .dv{font-size:14.5px;font-weight:500;line-height:1.35}
.drow .ds{font-family:var(--mono);font-size:10px;color:var(--subtlest);margin-top:5px}
.drow.wh .dv{color:var(--subtlest);font-weight:400}
.drow .ds b{color:var(--mint-text);font-weight:500}
.mside{display:flex;flex-direction:column;gap:14px}
.mstat{border:1px solid var(--border-faint);border-radius:16px;padding:18px 20px;background:rgba(30,27,36,.28);
  display:flex;align-items:baseline;gap:12px}
.mstat .mv2{font-family:var(--mono);font-size:30px;font-weight:600;letter-spacing:-.02em;color:var(--mint-text)}
.mstat .mk{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--subtler);text-transform:uppercase}
.mstat .mn{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--subtlest)}
.platstrip{display:flex;gap:7px;flex-wrap:wrap;padding:16px 20px;border:1px solid var(--border-faint);
  border-radius:16px;background:rgba(30,27,36,.28)}
.platstrip .pl{width:100%;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--subtler);
  text-transform:uppercase;margin-bottom:4px}
/* ---------- proof (frame 07) ---------- */ .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:40px;
  border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;background:var(--border-faint)}
.kpi{background:var(--bg);padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.kpi .kk{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--subtler)}
.kpi .kv{font-family:var(--mono);font-size:46px;font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--mint-text)}
.kpi .kl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.kpi .kd{font-size:12.5px;line-height:1.4;color:var(--ink2);margin-top:2px}
.bonds{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap}
.bond{display:flex;align-items:center;gap:9px;padding:9px 14px 9px 10px;border:1px solid var(--border-faint);
  border-radius:999px;background:rgba(30,27,36,.4)}
.bond .bn{font-size:12.5px;font-weight:600}
.bond .bc{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--mint-text)}
.plat{display:flex;align-items:center;gap:8px;padding:8px 13px 8px 9px;border:1px solid var(--border-faint);border-radius:999px;background:rgba(30,27,36,.4)}
.plat .pn{font-size:12.5px;font-weight:600;letter-spacing:-.01em}
/* ---------- close (frame 08) ---------- */ .lineage{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:44px;
  border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;background:var(--border-faint)}
.era{background:var(--bg);padding:24px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.era .en{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--subtler)}
.era .ed{font-size:14px;font-weight:600;letter-spacing:-.015em;color:var(--ink2)}
.era.xnow{background:linear-gradient(160deg,rgba(6,54,26,.55),rgba(16,14,21,1))}
.era.xnow .en{color:var(--mint-text)}
.era.xnow .ed{color:var(--ink)}
.era .eimg{height:26px;display:flex;align-items:center;gap:5px}
.era .eimg img{width:23px;height:23px;border-radius:22.5%;object-fit:cover;
  background:var(--s3);flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.era.xnow .eimg img{width:28px;height:28px}
.emark{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--ink3);
  margin-left:3px;white-space:nowrap}
.era.xnow .emark{color:var(--mint-text)}
.xcta{display:inline-flex;width:max-content;max-width:100%;margin-top:38px;background:var(--mint);color:var(--on-mint);
  font-family:var(--mono);font-size:14px;font-weight:600;padding:14px 26px;border-radius:999px;text-decoration:none;
  transition:transform .25s var(--spring)}
.xcta:hover{transform:translateY(-2px)}
/* ---------- why now ---------- */ .enablers{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:40px;
  border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;background:var(--border-faint)}
.encell{background:var(--bg);padding:24px 24px 22px;display:flex;flex-direction:column;gap:8px}
.encell em{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.2em;color:var(--mint-text)}
.encell .et{font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.encell .ex{font-size:13.5px;line-height:1.4;color:var(--ink2)}
/* ---------- demand ---------- */ .demand{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:38px;
  border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;background:var(--border-faint)}
.dcell{background:var(--bg);padding:28px 30px 26px;display:flex;flex-direction:column;gap:8px}
.dcell .dk2{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--subtler)}
.dcell .dv2{font-family:var(--mono);font-size:54px;font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--mint-text)}
.dcell .dd2{font-size:13.5px;line-height:1.45;color:var(--ink2)}
.mix{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mixcol{border:1px solid var(--border-faint);border-radius:16px;padding:17px 20px;background:rgba(30,27,36,.3)}
.mixcol .mh{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--subtler);margin-bottom:11px}
.mixbar{display:flex;height:26px;border-radius:7px;overflow:hidden;margin-bottom:10px}
.mixbar span{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;font-weight:600;white-space:nowrap}
.mixbar .ow{background:var(--s3);color:var(--ink2)}
.mixbar .dr{background:var(--mint);color:var(--on-mint)}
.mixcol .ml{font-size:12.5px;line-height:1.4;color:var(--ink2)}
/* ---------- compounding ladder (close) ---------- */ .xladder{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;align-items:end;
  margin-top:30px;height:296px}
.rung{height:var(--h);display:flex;flex-direction:column;justify-content:flex-end;position:relative;
  border:1px solid var(--border-faint);border-radius:16px;padding:13px 15px 14px;
  background:linear-gradient(180deg,rgba(30,27,36,.10),rgba(30,27,36,.60))}
.rung.xnow{background:linear-gradient(180deg,rgba(6,54,26,.22),rgba(6,54,26,.80));
  border-color:rgba(130,249,179,.38);
  box-shadow:0 0 0 1px rgba(130,249,179,.10),0 -18px 46px -26px rgba(130,249,179,.55)}
.estack{display:flex;align-items:center;margin-bottom:auto}
.estack img{width:48px;height:48px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  flex:none;position:relative;margin-left:-10px;
  box-shadow:0 0 0 2px var(--bg),0 6px 16px -6px rgba(0,0,0,.75)}
.estack img:first-child{margin-left:0}
.estack img:nth-child(1){z-index:3}
.estack img:nth-child(2){z-index:2}
.estack img:nth-child(3){z-index:1}
.rung.xnow .estack img{width:56px;height:56px;box-shadow:0 0 0 2px var(--bg),0 8px 22px -8px rgba(130,249,179,.5)}
.ryr{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink3);margin-top:11px}
.rn{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);margin-top:7px}
.rd{font-size:13.5px;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:var(--ink2);margin-top:4px}
.rung.xnow .ryr, .rung.xnow .rn{color:var(--mint-text)}
.rung.xnow .rd{color:var(--ink)}
/* ===== opening + rebuilt frames ===== */ .xhero{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;height:100%}
.xhstack{display:flex;align-items:center;justify-content:center;margin:0 0 40px}
.xhstack img{width:78px;height:78px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  margin-left:-20px;box-shadow:0 0 0 3px var(--bg),0 10px 30px -10px rgba(0,0,0,.8)}
.xhstack img:first-child{margin-left:0}
.xhstack img:nth-child(1){z-index:9}
.xhstack img:nth-child(2){z-index:8}
.xhstack img:nth-child(3){z-index:7}
.xhstack img:nth-child(4){z-index:6}
.xhstack img:nth-child(5){z-index:5}
.xhstack.dim img{filter:grayscale(1);opacity:.62}
.xbignum{font-family:var(--mono);font-size:132px;font-weight:600;letter-spacing:-.05em;line-height:.9;
  color:var(--mint-2);margin:0}
.xbignum.gold{color:var(--gold)}
.xbiglab{font-family:var(--mono);font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink2);margin-top:20px}
.vs{display:flex;align-items:center;gap:22px;margin-top:34px;padding:16px 30px;
  border:1px solid rgba(255,107,107,.40);border-radius:999px;
  background:linear-gradient(90deg,rgba(255,107,107,.15),rgba(255,107,107,.05))}
.vs .vk{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.vs .vv{font-family:var(--mono);font-size:34px;font-weight:600;letter-spacing:-.03em;color:var(--red)}
.xsublede{font-size:19px;color:var(--ink2);line-height:1.5;margin:18px 0 0;max-width:36em}
.xsublede b{color:var(--ink);font-weight:700}
.cmp{display:grid;grid-template-columns:1fr auto 1fr;gap:34px;align-items:center;margin-top:8px;width:100%}
.cmp .side{display:flex;flex-direction:column;align-items:center;gap:16px}
.cmp .mid{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--subtlest)}
.cmp .num{font-family:var(--mono);font-size:84px;font-weight:600;letter-spacing:-.045em;line-height:.9}
.cmp .num.m{color:var(--mint-2)}
.cmp .num.r{color:var(--red)}
.cmp .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);text-align:center;max-width:16em;line-height:1.6}
.stk{display:flex;align-items:center;justify-content:center}
.stk img{width:46px;height:46px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  margin-left:-13px;box-shadow:0 0 0 2px var(--bg)}
.stk img:first-child{margin-left:0}
.stk.dim img{filter:grayscale(1);opacity:.6}
.note{font-size:13px;color:var(--subtler);margin-top:6px}
.xeq{display:flex;align-items:center;justify-content:center;gap:40px;width:100%;margin-top:6px}
.xeq .xcol{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1}
.xeq .xop{font-family:var(--mono);font-size:30px;color:var(--subtlest);flex:none;padding-bottom:26px}
.xeq .xn{font-family:var(--mono);font-size:96px;font-weight:600;letter-spacing:-.05em;line-height:.9}
.xeq .xn.g{color:var(--gold)}
.xeq .xn.r{color:var(--red)}
.xeq .xn.m{color:var(--mint-2)}
.xeq .xc{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.7;max-width:15em}
.xpill{display:inline-flex;align-items:center;gap:10px;padding:9px 20px;border-radius:999px;
  border:1px solid rgba(130,249,179,.34);background:rgba(6,54,26,.42);margin-bottom:30px}
.xpill img{width:22px;height:22px;border-radius:22.5%}
.xpill span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-2)}
.xchartwrap{margin:18px 0 0;width:100%}
.xchart{width:100%;height:330px;display:block;overflow:visible}
.xs{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;letter-spacing:.2em}
.xs2{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:400;letter-spacing:.06em;
  fill:rgba(235,235,245,.46)}
.xe{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:500;letter-spacing:.06em}
.xq{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.24em;fill:rgba(235,235,245,.36)}
.xt{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.26em;fill:rgba(235,235,245,.24)}
.xs.w{fill:rgba(255,255,255,.95)}
.xs.m, .xe.m{fill:#80F7B2}
.xt3{display:flex;flex-direction:column;align-items:center;gap:9px}
.xt3v{font-family:var(--mono);font-size:40px;font-weight:600;letter-spacing:-.035em;color:var(--mint-2);line-height:1}
.xt3k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.7}
.xpstrip{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:36px;max-width:44em}
.xpstrip img{width:34px;height:34px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.xbadge{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.2em;fill:#82F9B3}
/* ===== corrective pass: components used by the rebuilt frames ===== */ .xhero{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;height:100%}
.xhstack{display:flex;align-items:center;justify-content:center;margin:0 0 40px}
.xhstack img{width:78px;height:78px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  margin-left:-18px;box-shadow:0 0 0 3px var(--bg),0 10px 30px -10px rgba(0,0,0,.8)}
.xhstack img:first-child{margin-left:0}
.xhstack img:nth-child(1){z-index:9}
.xhstack img:nth-child(2){z-index:8}
.xhstack img:nth-child(3){z-index:7}
.xhstack img:nth-child(4){z-index:6}
.xhstack img:nth-child(5){z-index:5}
.xhstack.dim img{filter:grayscale(1);opacity:.55}
.xbignum{font-family:var(--mono);font-size:126px;font-weight:600;letter-spacing:-.05em;line-height:.9;
  color:var(--mint-2);margin:0}
.xbignum.gold{color:var(--gold)}
.xbiglab{font-family:var(--mono);font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink2);margin-top:22px}
.xsublede{font-size:19px;color:var(--ink2);line-height:1.5;margin:18px 0 0;max-width:44em}
.xsublede b{color:var(--ink);font-weight:700}
.xeq{display:flex;align-items:center;justify-content:center;gap:56px;width:100%;margin-top:10px}
.xeq .xcol{display:flex;flex-direction:column;align-items:center;gap:16px;flex:0 1 auto}
.xeq .xop{font-family:var(--mono);font-size:30px;color:var(--subtlest);flex:none;padding-bottom:34px}
.xeq .xn{font-family:var(--mono);font-size:96px;font-weight:600;letter-spacing:-.05em;line-height:.9;margin:0}
.xeq .xn.g{color:var(--gold)}
.xeq .xn.r{color:#FF6B6B}
.xeq .xn.m{color:var(--mint-2)}
.xeq .xc{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.75;max-width:19em}
.ratepill{display:inline-flex;align-items:center;gap:11px;padding:9px 20px;border-radius:999px;
  border:1px solid rgba(130,249,179,.34);background:rgba(6,54,26,.45);margin-bottom:30px}
.ratepill img{width:22px;height:22px;border-radius:22.5%}
.ratepill span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-2)}
.xtrio3{display:flex;gap:56px;margin-top:40px}
.xt3{display:flex;flex-direction:column;align-items:center;gap:10px}
.xt3v{font-family:var(--mono);font-size:40px;font-weight:600;letter-spacing:-.035em;color:var(--mint-2);line-height:1}
.xt3k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--subtler);text-align:center;line-height:1.7}
.xpstrip{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:40px;max-width:44em}
.xpstrip img{width:34px;height:34px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.xchartwrap{margin:18px 0 0;width:100%}
.xchart{width:100%;height:330px;display:block;overflow:visible}
.xclaim{font-size:46px;font-weight:700;letter-spacing:-.035em;line-height:1.14;margin:0 0 34px;
  max-width:none;color:var(--ink)}
.xhero .xhstack{margin:0 0 30px}
.xhero .xhstack img{width:66px;height:66px;margin-left:-5px}
.xhero .xbignum{font-size:104px}
.xhero .xbiglab{margin-top:18px}
.xhero .xsublede{margin-top:20px;font-size:17px;max-width:none}
.xhstack.xsolo{margin:0 0 30px}
.xhstack.xsolo img{width:76px;height:76px;margin-left:0;
  box-shadow:0 0 0 3px var(--bg),0 0 0 4px rgba(130,249,179,.28),0 14px 44px -14px rgba(130,249,179,.45)}
.xfundrow{margin:14px 0 13px}
.xfnl{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--subtlest);
  display:block;margin-bottom:9px}
.xfnds{display:flex;gap:5px;flex-wrap:wrap}
.xfnds .xfnd{width:24px;height:24px;border-radius:22.5%;object-fit:cover;background:var(--s3);
  box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.xcrows{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.xcrow{display:flex;align-items:center;gap:11px;padding:8px 13px;border:1px solid var(--border-faint);
  border-radius:13px;background:var(--nav)}
.xcrow .xcnm{font-size:14px;font-weight:600;letter-spacing:-.01em}
.xcrow .xcpool{margin-left:auto;font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--mint-2);
  background:var(--mint-deep);padding:5px 12px;border-radius:999px}
.xcrow .xcmeta{display:flex;flex-direction:column;gap:3px;min-width:0}
.xcrow .xclab{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--subtler);line-height:1.4}
/* transaction card */ .xtx{width:100%;max-width:940px;border:1px solid var(--border-faint);border-radius:20px;overflow:hidden;margin-top:34px}
.xtxh{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;background:rgba(30,27,36,.5)}
.xtxk{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--subtler)}
.xtxv{font-family:var(--mono);font-size:32px;font-weight:600;letter-spacing:-.03em}
.xtxbar{display:flex;height:50px}
.xsg{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;
  font-weight:600;letter-spacing:.1em}
.xsg.xu{background:var(--mint);color:#06361A}
.xsg.xc{background:var(--lavender);color:#171426}
.xsg.xa{background:var(--gold);color:#2A2100}
.xsg.xe{background:var(--s3);color:var(--ink2)}
.xtxl{display:flex;gap:26px;padding:14px 24px;background:rgba(30,27,36,.28);flex-wrap:wrap}
.xi1{background:var(--mint)}
.xi2{background:var(--lavender)}
.xi3{background:var(--gold)}
.xi4{background:var(--s3)}
.xtxl span{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.xtxl i{width:9px;height:9px;border-radius:3px;display:block}
.xtxl{display:flex;gap:26px;padding:14px 24px;background:rgba(30,27,36,.28);flex-wrap:wrap}
@media (max-width:820px){
.xvs2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
.rv{opacity:1;transform:none;transition:none}
}
@media (max-width:900px){
.gorb{width:340px;height:340px;filter:blur(80px)}
/* chrome returns to normal flow */ .stage > .eyebrow{position:static;margin-bottom:18px;font-size:9.5px}
/* type */ .cover-lockup{gap:16px;margin-bottom:34px}
.cover-icon{width:76px;height:76px}
.cover-wordmark{height:27px}
.cover-stage{align-items:center;text-align:center}
.cover-h{font-size:clamp(34px,10vw,52px) !important;max-width:none}
.cover-meta{margin-top:22px;font-size:10px;letter-spacing:.26em}
.stmt{font-size:clamp(28px,7.4vw,40px) !important;max-width:none !important}
.lede{font-size:15.5px;margin-top:18px;max-width:none}
/* every multi-column grid collapses to one */ .xladder{grid-template-columns:1fr !important;height:auto !important;gap:10px;margin-top:24px}
.rung{height:auto !important;padding:16px}
.estack img{width:36px;height:36px;margin-left:-11px}
.rung.xnow .estack img{width:42px;height:42px}
.trio, .kpis, .xtwo, .enablers, .demand, .mix, .lineage, .mgrid, .steps{grid-template-columns:1fr !important;margin-top:26px}
.xtwo, .mix, .steps{gap:12px}
.tcell{padding:22px 20px}
.tcell .tv{font-size:42px}
.kpi{padding:22px 20px}
.kpi .kv{font-size:36px}
.dcell{padding:22px 20px}
.dcell .dv2{font-size:40px}
.encell{padding:20px}
.era{padding:18px 20px}
.xpanel{padding:20px}
.ptitle{font-size:19px}
.mstat{padding:16px 18px}
.mstat .mv2{font-size:26px}
/* rows */ .sysrow{padding:12px 16px;gap:12px}
.sysrow .hl{display:none}
.sysrow .sl, .sysrow .sr{width:auto;font-size:9px}
.sysrow .nm{font-size:14px;min-width:0;flex:1}
.bar{height:44px}
.seg{font-size:9px}
.legend{gap:12px;padding:14px 18px}
.thesisline{padding:20px;margin-top:28px;font-size:15px}
.fb-top{padding:16px 18px}
.fb-top .fv{font-size:28px}
.dhead{padding:14px 16px;flex-wrap:wrap;gap:8px}
.drow{grid-template-columns:64px 1fr;padding:11px 16px}
.drow .dv{font-size:13.5px}
.bonds{gap:7px;margin-top:18px}
.plat{padding:7px 11px 7px 8px}
.plat .pn{font-size:11.5px}
.xcta{margin-top:26px;font-size:13px;padding:13px 22px}
/* new opening + rebuilt frames */ .xhstack img{width:44px;height:44px;margin-left:-12px}
.xbignum{font-size:56px}
.xclaim{font-size:24px;margin-bottom:20px}
.xhero .xhstack img{width:42px;height:42px;margin-left:-11px}
.xhstack.xsolo img{width:52px;height:52px;margin-left:0}
.xhero .xbignum{font-size:52px}
.xbiglab{font-size:10px;letter-spacing:.16em}
.xeq{flex-direction:column;gap:12px}
.xeq .xop{transform:rotate(90deg);padding:0;font-size:20px}
.xeq .xn{font-size:46px}
.xsublede{font-size:15px}
.xpill{margin-bottom:18px}
.xchartwrap{margin-top:16px}
.xchart{height:210px}
.xtrio3{gap:16px}
.xt3v{font-size:26px}
.xt3k{font-size:8px}
.xpstrip{gap:4px;margin-top:20px}
.xpstrip img{width:26px;height:26px}
.cmp{grid-template-columns:1fr;gap:14px}
.cmp .num{font-size:44px}
}
@media (max-width:480px){
.cover-h{font-size:clamp(30px,10.5vw,40px) !important}
.stmt{font-size:clamp(24px,7.6vw,32px) !important}
.lede{font-size:14.5px}
}
@media print{
.scrollhint{display:none}
.rv{opacity:1 !important;transform:none !important}
}
.xtxbar{max-width:none}
.slide.in .d4{transition-delay:.36s}
.slide.in .d5{transition-delay:.45s}

.xtl{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;letter-spacing:.02em;fill:rgba(255,255,255,.92)}
.xtl.now{fill:#82F9B3}
.xts{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.05em;fill:rgba(235,235,245,.42)}
.xtk{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.24em;fill:rgba(235,235,245,.26);text-anchor:middle}

.xtk.end{text-anchor:end}

.xdeeplink{position:absolute;right:100px;top:40px;z-index:4;display:inline-flex;align-items:center;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#80F7B2;text-decoration:none;border:1px solid rgba(130,249,179,.34);background:rgba(6,54,26,.5);
  padding:8px 15px;border-radius:999px;transition:border-color .25s,transform .25s}
.xdeeplink:hover{border-color:#82F9B3;transform:translateY(-1px)}
@media (max-width:900px){.xdeeplink{position:static;margin-top:18px;right:auto;top:auto}}

/* eosnav deck chrome: #bar wins over the colliding .bar rule Tom uses elsewhere */
#bar{display:none!important}
