/* ============================================================
   Tradefend — marketing site
   tokens inherited from the terminal (same organism)
   ============================================================ */
:root{
  --bg:#010201; --panel:#0C1110; --panel-2:#122019; --inset:#090E0C;
  --line:rgba(216,243,220,0.07); --line-2:rgba(216,243,220,0.14);
  --text:#E9F3EB; --dim:#9DB2A4; --faint:#6E8073;
  --brand:#52B788; --brand-soft:rgba(82,183,136,0.13); --safe:#2D6A4F;
  --green:#52B788; --green-bg:rgba(82,183,136,0.07);
  --amber:#A7E8C6; --red:#D8383F; --red-bg:rgba(216,56,63,0.12);
  --terra:#DE7356;
  --glow-hero-bg:linear-gradient(132deg,#123024 0%,#0C1A13 45%,#0D1411 100%);
  --glow-hero-border:rgba(82,183,136,0.30);
  --glow-hero-radial:rgba(82,183,136,0.22);
  --glow-hero-shadow:rgba(45,106,79,0.20);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --sg:'Space Grotesk',system-ui,sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--text); font-family:'Geist',system-ui,sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; touch-action:manipulation;}
/* film grain over everything, barely there */
body::after{content:""; position:fixed; inset:0; z-index:2000; pointer-events:none; opacity:0.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
::selection{background:rgba(82,183,136,0.30);}
a{color:inherit; text-decoration:none;}
a:hover{color:var(--text);}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
.num{font-variant-numeric:tabular-nums;}
img,svg{max-width:100%; display:block;}
:focus-visible{outline:2px solid var(--brand); outline-offset:3px; border-radius:4px;}
.skip{position:absolute; left:-9999px; top:0; background:var(--panel-2); color:var(--text); padding:10px 16px; z-index:3000; border-radius:0 0 8px 0;}
.skip:focus{left:0;}

.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
section{padding:120px 0;}
section, .trust, .aff{scroll-margin-top:76px;}
.eyebrow{font-family:var(--sg); font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--dim); display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.eyebrow::before{content:""; width:22px; height:1px; background:rgba(233,243,235,0.45); opacity:0.7;}
h2{font-family:var(--sg); font-weight:600; font-size:clamp(30px,4vw,46px); letter-spacing:-0.03em; line-height:1.08;}
h2 em, h1 em{font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:0; color:#DDE8E1;}
.lede{color:var(--dim); font-size:17.5px; max-width:56ch; margin-top:16px; font-weight:300;}
.lede b{color:var(--text); font-weight:500;}

/* the level-line motif: a rule drawn like a price level on a chart */
.level{position:relative; height:1px; border:0; background:linear-gradient(90deg,transparent, rgba(233,243,235,0.30) 18%, rgba(233,243,235,0.30) 82%, transparent); margin:0;}
.level::after{content:attr(data-label); position:absolute; right:8%; top:-9px; font-family:var(--sg); font-size:10.5px; font-weight:600; letter-spacing:0.12em; color:var(--faint); background:var(--bg); padding:0 10px;}
.level.hard{background:linear-gradient(90deg,transparent, rgba(222,115,86,0.5) 18%, rgba(222,115,86,0.5) 82%, transparent);}
.level.hard::after{color:var(--terra);}

/* reveal on scroll — initial hidden states only when JS is present */
.js .rv{opacity:0; transform:translateY(22px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease); transition-delay:var(--d,0ms);}
.js .rv.in{opacity:1; transform:none;}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; height:48px; padding:0 26px; border-radius:11px;
  font-family:var(--sg); font-weight:600; font-size:15px; letter-spacing:-0.01em; cursor:pointer; transition:transform 0.18s var(--ease), background 0.18s, border-color 0.18s, box-shadow 0.18s; white-space:nowrap;}
.btn:active{transform:scale(0.97);}
.btn.primary{background:var(--brand); color:#06130C; box-shadow:0 0 24px rgba(82,183,136,0.22), inset 0 1px 0 rgba(255,255,255,0.25);}
.btn.primary:hover{background:#63C695; color:#06130C; box-shadow:0 0 34px rgba(82,183,136,0.34), inset 0 1px 0 rgba(255,255,255,0.25);}
.btn.ghost{border:1px solid var(--line-2); color:var(--text);}
.btn.ghost:hover{border-color:rgba(82,183,136,0.5); background:rgba(82,183,136,0.05);}
.btn .arr{transition:transform 0.18s var(--ease);}
.btn:hover .arr{transform:translateX(3px);}

/* ============ nav ============ */
nav{position:fixed; top:0; left:0; right:0; z-index:1000; transition:background 0.3s, border-color 0.3s, backdrop-filter 0.3s; border-bottom:1px solid transparent;}
nav.scrolled{background:rgba(1,2,1,0.85); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); border-bottom-color:var(--line);}
.navin{position:relative; max-width:1160px; margin:0 auto; padding:0 28px; height:68px; display:flex; align-items:center; gap:34px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand .bl{font-family:var(--sg); font-weight:600; font-size:17px; letter-spacing:-0.02em;}
.brand .bl i{font-family:var(--serif); font-style:italic; font-weight:400; font-size:18px; color:var(--brand);}
/* floating glass pill — silver glass, the chip tracks your place on the page */
.navlinks{position:absolute; left:50%; transform:translateX(-50%); display:flex; gap:2px; padding:6px; border-radius:99px; white-space:nowrap;
  background:linear-gradient(180deg, rgba(240,248,242,0.11), rgba(240,248,242,0.03));
  border:1px solid rgba(240,248,242,0.16);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.16), inset 0 -1px 0 rgba(255,255,255,0.04), 0 12px 34px rgba(0,0,0,0.45);}
.navlinks a{position:relative; z-index:1; font-size:14px; color:var(--dim); transition:color 0.2s; padding:9px 18px; border-radius:99px;}
.navlinks a:hover{color:var(--text);}
.navlinks a.on{color:var(--text);}
.nav-ind{position:absolute; top:6px; bottom:6px; left:0; width:0; opacity:0; border-radius:99px;
  background:linear-gradient(180deg, rgba(240,248,242,0.17), rgba(240,248,242,0.05));
  border:1px solid rgba(240,248,242,0.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.24), 0 2px 10px rgba(0,0,0,0.3);
  transition:left 0.55s var(--ease), width 0.55s var(--ease), opacity 0.35s;}
.navspace{flex:1;}
.navcta{display:flex; align-items:center; gap:16px;}
.navcta .login{font-size:14px; color:var(--dim);}
.navcta .login:hover{color:var(--text);}
.navcta .btn{height:38px; padding:0 18px; font-size:13.5px; border-radius:9px;}
.menu-btn{display:none; width:44px; height:44px; align-items:center; justify-content:center;}
.menu-btn svg{width:22px; height:22px; stroke:var(--text);}
.mobile-menu{display:none; position:fixed; inset:68px 0 auto 0; z-index:999; background:rgba(1,2,1,0.97); border-bottom:1px solid var(--line); padding:10px 28px 26px; flex-direction:column; gap:4px; max-height:calc(100vh - 68px); max-height:calc(100dvh - 68px); overflow-y:auto; -webkit-overflow-scrolling:touch;}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:13px 4px; font-size:16px; color:var(--dim); border-bottom:1px solid var(--line);}
.mobile-menu a:last-child{border-bottom:0;}

/* ============ hero: full-screen overture ============ */
.hero{position:relative; min-height:auto; display:flex; align-items:center; padding:clamp(76px,9vh,128px) 0 10px; overflow:hidden;}
.hero-bloom{position:absolute; top:-220px; left:50%; transform:translateX(-50%); width:1300px; height:820px; pointer-events:none;
  background:
    radial-gradient(ellipse 46% 40% at 50% 40%, rgba(82,183,136,0.06), transparent 70%),
    radial-gradient(ellipse 26% 22% at 84% 20%, rgba(222,115,86,0.07), transparent 72%),
    radial-gradient(ellipse 24% 20% at 12% 66%, rgba(45,106,79,0.0), transparent 72%);}
.halftone{display:none; position:absolute; inset:0; pointer-events:none; opacity:0.55;
  background-image:radial-gradient(rgba(216,243,220,0.16) 1px, transparent 1.45px); background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 30% 26% at 80% 16%, #000, transparent 70%), radial-gradient(ellipse 26% 24% at 10% 72%, #000, transparent 70%);
  mask-image:radial-gradient(ellipse 30% 26% at 80% 16%, #000, transparent 70%), radial-gradient(ellipse 26% 24% at 10% 72%, #000, transparent 70%);}
.worldmap{position:absolute; top:5vh; left:50%; transform:translateX(-50%); width:min(1280px,112vw); height:auto; color:#141D18; opacity:0.55; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 58% 66% at 50% 44%, #000 28%, transparent 76%);
  mask-image:radial-gradient(ellipse 58% 66% at 50% 44%, #000 28%, transparent 76%);}
.hero .wrap{position:relative; z-index:2; text-align:center; width:100%;}
.hero-chip{display:inline-flex; align-items:center; gap:9px; font-family:var(--sg); font-size:11.5px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--dim);
  border:1px solid var(--line-2); border-radius:99px; padding:8px 16px; margin-bottom:18px;}
.hero-chip .d{width:6px; height:6px; border-radius:50%; background:var(--brand); box-shadow:0 0 8px rgba(82,183,136,0.8);}
h1{font-family:var(--sg); font-weight:600; font-size:clamp(40px,6vw,74px); letter-spacing:-0.035em; line-height:1.02; max-width:15ch; margin:0 auto;}
h1 em{font-size:1.04em;}
.hero-sub{color:var(--dim); font-size:clamp(16px,1.6vw,19px); font-weight:300; max-width:58ch; margin:14px auto 0;}
.hero-sub b{color:var(--text); font-weight:500;}
.hero-ctas{display:flex; gap:14px; justify-content:center; margin-top:20px; flex-wrap:wrap;}
.hero-note{margin-top:16px; font-size:12.5px; color:var(--faint);}
.scroll-cue{display:flex; flex-direction:column; align-items:center; gap:8px; margin:10px auto 0; width:max-content;
  color:var(--faint); font-family:var(--sg); font-size:10px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase;}
.scroll-cue svg{stroke:var(--dim); animation:cue 2.2s ease-in-out infinite;}
@keyframes cue{0%,100%{transform:translateY(0); opacity:0.45;} 50%{transform:translateY(6px); opacity:1;}}
/* liquid pulse (retired) */

/* staged entrance */
.js .h-stage{opacity:0; transform:translateY(16px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease);}
body.loaded .h-stage{opacity:1; transform:none;}
body.loaded .h-stage.s1{transition-delay:0.05s;} body.loaded .h-stage.s2{transition-delay:0.14s;}
body.loaded .h-stage.s3{transition-delay:0.23s;} body.loaded .h-stage.s4{transition-delay:0.32s;}

/* ============================================================
   THE ACT — scroll-driven terminal cinema
   ============================================================ */
.act{position:relative; height:380vh; padding:0;}
.act-sticky{position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; transform:translateZ(0);}
/* backlight layers removed — the terminal's own thin white glow border carries the light */
.act-inner{height:100%; display:flex; align-items:flex-start; justify-content:center; padding:16px 24px 148px;}
.term-wrap{position:relative; width:min(1472px,96vw); will-change:transform,opacity; transform-origin:50% 0%; backface-visibility:hidden;}
.js .term-wrap{opacity:0;}

/* the terminal: black-chrome hairline border over a deep dashboard base */
.term{position:relative; z-index:1; text-align:left; border:1px solid transparent; border-radius:18px; overflow:hidden;
  background:
    linear-gradient(160deg,#050807 0%, #030504 55%, #020403 100%) padding-box,
    linear-gradient(155deg, rgba(250,253,251,0.85) 0%, rgba(214,226,220,0.45) 22%, rgba(160,172,166,0.30) 50%, rgba(214,226,220,0.45) 78%, rgba(250,253,251,0.8) 100%) border-box;
  box-shadow:0 0 0 1px rgba(2,4,3,0.9), 0 0 16px rgba(240,248,245,0.16), 0 0 44px rgba(240,248,245,0.09), 0 30px 90px rgba(0,0,0,0.65), inset 0 1px 0 rgba(255,255,255,0.28);
  transition:transform 1.15s var(--ease), transform-origin 1.15s var(--ease); will-change:transform; backface-visibility:hidden;}
.term::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:0.4; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(ellipse 120% 90% at 100% 0%, #000 0%, rgba(0,0,0,0.3) 45%, transparent 75%);
  mask-image:radial-gradient(ellipse 120% 90% at 100% 0%, #000 0%, rgba(0,0,0,0.3) 45%, transparent 75%);}
.term > *{position:relative; z-index:1;}

/* everything the beats dim/highlight transitions smoothly */
.t-top,.t-top > *,.t-tabs,.t-sub,.t-main,.t-strip,.t-bottom,.t-chart,.t-check,.t-check > *,.scard,.fcpill,.guardbar,.glock{
  transition:opacity 0.55s var(--ease), box-shadow 0.55s var(--ease), border-color 0.55s, transform 0.55s var(--ease);}

/* beat f — tailored to your firm */
.term.bf .t-tabs,.term.bf .t-sub,.term.bf .t-main,.term.bf .t-strip,.term.bf .t-bottom{opacity:0.3;}
.term.bf .t-top > *:not(.fc-hero){opacity:0.3;}
.term.bf .fcpill{border-color:rgba(240,248,242,0.45); box-shadow:0 0 30px rgba(233,243,235,0.12), inset 0 1px 0 rgba(255,255,255,0.14);}

/* beat 1 — equity */
.term.b1 .t-top,.term.b1 .t-tabs,.term.b1 .t-sub,.term.b1 .t-main,.term.b1 .t-bottom,
.term.b1 .t-strip .scard:not(.heroC){opacity:0.3;}
.term.b1 .scard.heroC{border-color:rgba(82,183,136,0.6); box-shadow:0 0 0 1.5px rgba(82,183,136,0.4), 0 0 44px rgba(82,183,136,0.25), inset 0 1px 0 rgba(255,255,255,0.08);}

/* beat 2 — the caps burn */
.term.b2 .t-top,.term.b2 .t-tabs,.term.b2 .t-sub,.term.b2 .t-main,.term.b2 .t-bottom,
.term.b2 .scard.heroC,.term.b2 .t-strip .scard:nth-child(5){opacity:0.3;}
.term.b2 .t-strip .scard:nth-child(2),.term.b2 .t-strip .scard:nth-child(3),.term.b2 .t-strip .scard:nth-child(4){border-color:rgba(233,243,235,0.22);}

/* beat 3 — the verdict */
.term.b3 .t-top,.term.b3 .t-tabs,.term.b3 .t-sub,.term.b3 .t-strip,.term.b3 .t-chart,.term.b3 .t-bottom{opacity:0.3;}
.term.b3 .t-check{border-color:rgba(82,183,136,0.45); box-shadow:0 0 34px rgba(82,183,136,0.13);}
.term.b3 .mon-row .tick, .term.b4 .mon-row .tick, .term.calm.was3 .mon-row .tick{opacity:0; transform:scale(0.7); transition:opacity 0.4s var(--ease), transform 0.4s var(--ease);}
.term.b3 .mon-row.lit .tick, .term.b4 .mon-row.lit .tick, .term.calm.was3 .mon-row.lit .tick{opacity:1; transform:none;}
.ch-input.typing{border-color:rgba(82,183,136,0.5); color:var(--text); box-shadow:0 0 16px rgba(82,183,136,0.10);}
.ch-input.typing b{color:var(--text);}
.ch-input .caret{display:none; width:1px; height:13px; background:var(--brand); margin-left:1px; animation:caret 1s steps(1) infinite;}
.ch-input.typing .caret{display:inline-block;}
@keyframes caret{50%{opacity:0;}}

/* beat 4 — the Guard */
.term.b4 .t-top,.term.b4 .t-tabs,.term.b4 .t-sub,.term.b4 .t-strip,.term.b4 .t-chart,.term.b4 .t-bottom{opacity:0.3;}
.term.b4 .t-check > *:not(.guardbar):not(.gnote){opacity:0.35;}
.term.b4 .guardbar{border-color:rgba(222,115,86,0.55); box-shadow:0 0 30px rgba(222,115,86,0.16); background:#070605;}
.term.b4 .guardbar .stripes{opacity:0.85; background:repeating-linear-gradient(135deg, #3A2A24 0 7px, #0B0D0C 7px 14px);}
.term.b4 .guardbar .gtxt{color:var(--terra);}
.term.b4 .glock{transform:scale(1.08); box-shadow:0 0 24px rgba(222,115,86,0.55);}

/* calm — everything back, pill softly lit */
.term.calm .fcpill{border-color:rgba(82,183,136,0.35); box-shadow:0 0 24px rgba(82,183,136,0.14);}

/* focus ring — camera brackets that travel between beats */
.focus-ring{position:absolute; z-index:6; pointer-events:none; opacity:0;
  transition:left 0.85s var(--ease), top 0.85s var(--ease), width 0.85s var(--ease), height 0.85s var(--ease), opacity 0.4s;}
.focus-ring.on{opacity:1;}
.focus-ring span{position:absolute; width:16px; height:16px; border:1.5px solid rgba(82,183,136,0.95);
  filter:drop-shadow(0 0 7px rgba(82,183,136,0.55)); transition:border-color 0.5s, filter 0.5s;}
.focus-ring span:nth-child(1){top:0; left:0; border-right:0; border-bottom:0; border-top-left-radius:8px;}
.focus-ring span:nth-child(2){top:0; right:0; border-left:0; border-bottom:0; border-top-right-radius:8px;}
.focus-ring span:nth-child(3){bottom:0; left:0; border-right:0; border-top:0; border-bottom-left-radius:8px;}
.focus-ring span:nth-child(4){bottom:0; right:0; border-left:0; border-top:0; border-bottom-right-radius:8px;}
.focus-ring.ember span{border-color:rgba(222,115,86,0.95); filter:drop-shadow(0 0 7px rgba(222,115,86,0.55));}

/* captions */
.act-caps{position:absolute; left:0; right:0; bottom:0; height:132px; pointer-events:none; z-index:10;}
.acap{position:absolute; left:50%; bottom:15vh; transform:translate(-50%,12px); opacity:0; width:min(600px,88vw); text-align:center; padding:14px 22px 16px; border-radius:15px;
  background:linear-gradient(180deg, rgba(4,7,5,0.82), rgba(3,5,4,0.90));
  border:1px solid rgba(233,243,235,0.10); box-shadow:0 14px 40px rgba(0,0,0,0.5);
  transition:opacity 0.55s var(--ease), transform 0.55s var(--ease);}
.acap.on{opacity:1; transform:translate(-50%,0);}
.acap .k{font-family:var(--sg); font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint);}
.acap .k b{color:var(--brand); font-weight:600;}
.acap.ember .k b{color:var(--terra);}
.acap p{font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.4vw,27px); line-height:1.3; color:var(--text); margin-top:8px; text-shadow:0 2px 22px rgba(0,0,0,0.9), 0 0 8px rgba(2,4,3,0.8);}

/* ============ terminal internals ============ */
.t-top{display:flex; align-items:center; gap:12px; padding:15px 18px; border-bottom:1px solid var(--line);}
.t-greet{font-size:15px; font-family:var(--sg); font-weight:500; letter-spacing:-0.01em; color:var(--text);}
.t-greet i{font-family:var(--serif); font-style:italic; font-weight:400; font-size:17px; color:var(--terra); letter-spacing:0;}
.t-top .sp{flex:1;}
.fc-hero{position:relative; flex:none;}
.fcpill{display:inline-flex; align-items:center; gap:12px; background:#0A0F0D; border:1px solid var(--line-2); border-radius:12px; padding:7px 14px 7px 8px;}
.ftile{width:30px; height:30px; border-radius:8px; background:var(--panel-2); border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden;}
.ftile img{width:17px; height:17px; border-radius:3px; display:block;}
.ftile b{display:none; font-family:var(--sg); font-size:11px; color:var(--dim);}
.fcpill .fcol{display:flex; flex-direction:column; line-height:1.25;}
.fcpill .fcol b{font-family:var(--sg); font-weight:600; font-size:12.5px; letter-spacing:0.01em;}
.fcpill .fcol i{font-style:normal; font-size:10px; color:var(--faint);}
.fcpill .fsep{width:1px; height:20px; background:var(--line-2);}
.fcpill .kv{display:flex; flex-direction:column; line-height:1.25;}
.fcpill .kv i{font-style:normal; font-size:9px; letter-spacing:0.11em; text-transform:uppercase; color:var(--faint);}
.fcpill .kv b{font-size:11.5px; font-weight:500; color:var(--text);}

.t-tabs{display:flex; gap:22px; padding:11px 18px 0; border-bottom:1px solid var(--line);}
.t-tabs .tab{display:inline-flex; gap:7px; align-items:baseline; font-family:var(--sg); font-weight:500; font-size:12px; color:var(--faint); padding-bottom:10px; border-bottom:2px solid transparent;}
.t-tabs .tab i{font-style:normal; font-size:9.5px; color:var(--faint); opacity:0.7;}
.t-tabs .tab.on{color:var(--text); border-bottom-color:var(--brand);}
.t-sub{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 18px 0;}
.t-sub .envl{font-family:var(--sg); font-weight:600; font-size:12.5px; letter-spacing:-0.01em; display:inline-flex; align-items:center; gap:12px;}
.t-sub .envl b{display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:500; color:var(--green); letter-spacing:0;}
.t-sub .envl .d{width:5px; height:5px; border-radius:50%; background:var(--green); box-shadow:0 0 7px rgba(82,183,136,0.8);}
.t-sub .reset{font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--faint);}
.t-sub .reset b{color:var(--dim); font-weight:500; letter-spacing:0.04em;}

.t-strip{display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr 1.15fr; gap:10px; padding:12px 18px 4px;}
.scard{background:linear-gradient(140deg,#080A09 0%,#060707 55%,#040505 100%); border:1px solid var(--line); border-radius:12px; padding:13px 14px 12px; position:relative; overflow:hidden;}
.scard .lbl{font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase; color:var(--faint); display:flex; justify-content:space-between; align-items:center; gap:6px; font-weight:500;}
.scard .lbl .delta{font-size:10px; letter-spacing:0; text-transform:none; font-weight:500;}
.scard .lbl .delta.ok{color:var(--green);}
.scard .lbl .segs{display:inline-flex; gap:2px;}
.scard .lbl .segs b{font-size:8.5px; font-weight:600; letter-spacing:0.04em; color:var(--faint); border:1px solid transparent; border-radius:4px; padding:1.5px 5px;}
.scard .lbl .segs b.on{color:#7FD6AC; background:rgba(82,183,136,0.13); border-color:rgba(82,183,136,0.22);}
.scard .big{font-family:'Geist'; font-weight:500; font-size:21px; letter-spacing:-0.02em; margin-top:6px;}
.scard .big small{font-size:13px; color:var(--dim);}
.scard .big small.u,.cbig small.u{font-size:9px; color:var(--faint); font-weight:500; margin-left:5px; letter-spacing:0.08em;}
.scard .sub{font-size:10.5px; color:var(--faint); margin-top:2px;}
.scard .sub b{color:var(--dim); font-weight:500;}
.scard .meter{height:5px; border-radius:3px; background:#1B2620; margin-top:9px; overflow:hidden;}
.scard .meter i{display:block; height:100%; background:#E9F3EB; border-radius:3px;}
.scard.heroC{background:var(--glow-hero-bg); border-color:var(--glow-hero-border); box-shadow:0 0 30px var(--glow-hero-shadow), inset 0 1px 0 rgba(255,255,255,0.08);}
.scard.heroC::after{content:""; position:absolute; top:-50px; left:-34px; width:200px; height:160px; background:radial-gradient(ellipse at center, var(--glow-hero-radial), transparent 68%); pointer-events:none;}
.up{color:var(--green);} .dn{color:var(--red);}

/* bottom row — open positions + high-impact calendar */
.t-bottom{display:grid; grid-template-columns:1.6fr 1fr; gap:10px; padding:0 18px 18px;}
.t-pos,.t-news{background:#040705; border:1px solid var(--line); border-radius:12px; padding:12px 14px 6px; overflow:hidden; min-width:0;}
.tp-head{font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase; color:var(--faint); font-weight:500; display:flex; justify-content:space-between; align-items:center; gap:8px;}
.tp-b{font-size:8.5px; letter-spacing:0.08em; border:1px solid var(--line); border-radius:999px; padding:2px 8px; color:var(--faint); white-space:nowrap;}
.tp-t{width:100%; border-collapse:collapse; font-size:11.5px; margin-top:4px;}
.tp-t th{text-align:right; font-size:8.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--faint); font-weight:500; padding:8px 6px 7px; border-bottom:1px solid var(--line);}
.tp-t th.l,.tp-t td.l{text-align:left;}
.tp-t td{padding:8px 6px; text-align:right; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; color:var(--dim); white-space:nowrap;}
.tp-t tr:last-child td{border-bottom:none;}
.symc{display:inline-flex; align-items:center; gap:8px; color:var(--text); font-weight:500;}
.stile{display:inline-flex; align-items:center; flex:none;}
.stile img{width:17px; height:17px; border-radius:50%; background:#0A0F0C; border:1.5px solid #0A0F0C; display:block;}
.stile img+img{margin-left:-6px;}
.stile b{display:none;}
.stile.mono img{display:none;}
.stile.mono b{display:flex; width:17px; height:17px; border-radius:50%; background:var(--panel-2); border:1px solid var(--line-2); align-items:center; justify-content:center; font-size:7.5px; font-weight:600; color:var(--brand);}
.dchip{display:inline-flex; font-size:8.5px; font-weight:600; letter-spacing:0.07em; padding:2.5px 8px; border-radius:5px; white-space:nowrap;}
.dchip.buy{color:var(--green); background:rgba(82,183,136,0.08); border:1px solid rgba(82,183,136,0.2);}
.dchip.sell{color:var(--red); background:rgba(216,56,63,0.10); border:1px solid rgba(216,56,63,0.2);}
.slon{font-size:9.5px; color:var(--green); font-weight:500; white-space:nowrap;}
.nrow{display:flex; align-items:center; gap:9px; padding:8.5px 0; border-bottom:1px solid var(--line); font-size:11px;}
.nrow:last-child{border-bottom:none;}
.nrow .nf{width:3px; height:12px; border-radius:2px; background:var(--red); opacity:0.85; flex:none;}
.nrow .nt{min-width:36px; font-weight:500; color:var(--text);}
.nrow .nn{flex:1; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.nrow .nflag{width:15px; height:15px; border-radius:50%; flex:none;}

.t-main{display:grid; grid-template-columns:1.6fr 1fr; gap:10px; padding:10px 18px 10px;}
.t-chart{background:#040705; border:1px solid var(--line); border-radius:12px; padding:13px 14px 10px; position:relative;}
.t-chart .ct{font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase; color:var(--faint); font-weight:500; display:flex; justify-content:space-between; align-items:center;}
.t-chart .ct .live{display:inline-flex; align-items:center; gap:6px; letter-spacing:0.04em; color:var(--dim);}
.t-chart .ct .live .d{width:5px; height:5px; border-radius:50%; background:var(--green); box-shadow:0 0 7px rgba(82,183,136,0.8);}
.t-chart .cbig{font-family:'Geist'; font-weight:500; font-size:26px; letter-spacing:-0.02em; margin-top:7px;}
.t-chart .cbig em{font-style:normal; font-size:11px; color:var(--green); margin-left:10px;}
.t-chart svg{width:100%; height:auto; margin-top:4px;}
.floors{border-top:1px solid var(--line); margin-top:2px; padding-top:8px; display:flex; flex-direction:column; gap:5px;}
.floors .fl{display:flex; align-items:center; gap:9px; font-size:9.5px; color:var(--faint);}
.floors .fl .ln{flex:none; width:26px; height:0; border-top:1px dashed rgba(157,178,164,0.55);}
.floors .fl .ln.prac{border-top-color:rgba(110,128,115,0.55);}
.floors .fl .ln.hard{border-top-color:rgba(216,56,63,0.7);}
.floors .fl .r{margin-left:auto; color:var(--dim);}
.t-check{border:1px solid var(--line); border-radius:12px; background:#070A09; padding:13px 14px; align-self:start; display:flex; flex-direction:column; gap:9px;}
.ch-head{display:flex; justify-content:space-between; align-items:center; font-size:9.5px; letter-spacing:0.09em; text-transform:uppercase; color:var(--faint); font-weight:500;}
.ch-head .chip{font-size:9.5px; letter-spacing:0.05em; color:var(--dim); border:1px solid var(--line-2); border-radius:6px; padding:3px 8px; text-transform:none;}
.ch-lbl{font-size:9px; letter-spacing:0.11em; text-transform:uppercase; color:var(--faint); margin-top:2px;}
.ch-input{display:flex; align-items:center; gap:8px; background:var(--inset); border:1px solid var(--line-2); border-radius:9px; padding:10px 12px; font-size:11.5px; color:var(--faint); transition:border-color 0.3s, box-shadow 0.3s;}
.ch-input b{color:var(--dim); font-weight:500;}
.ch-help{font-size:9.5px; color:var(--faint);}
.mon{border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:2px;}
.mon-head{display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 11px; border-bottom:1px solid var(--line); background:rgba(82,183,136,0.04); transition:background 0.5s;}
.mon-head .st{font-family:var(--sg); font-weight:600; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; display:inline-flex; align-items:center; gap:7px; color:var(--dim);}
.mon-head .st .d{width:6px; height:6px; border-radius:50%; background:var(--amber); box-shadow:0 0 7px rgba(167,232,198,0.6); transition:background 0.4s, box-shadow 0.4s;}
.mon-head .why{font-size:9px; color:var(--faint); text-align:right; max-width:14ch;}
.mon .st-ok{display:none; color:var(--green);}
.mon.ok .st-ok{display:inline;}
.mon.ok .st-mon{display:none;}
.mon.ok .mon-head{background:rgba(82,183,136,0.12);}
.mon.ok .mon-head .st .d{background:var(--green); box-shadow:0 0 8px rgba(82,183,136,0.9);}
.mon-row{display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 11px; border-bottom:1px solid var(--line); font-size:10.5px;}
.mon-row .nm{color:var(--dim);}
.mon-row .rt{display:flex; align-items:center; gap:7px; color:var(--faint); font-size:10px;}
.mon-row .rt b{color:var(--dim); font-weight:500;}
.tick{font-family:var(--sg); font-weight:600; font-size:8.5px; letter-spacing:0.06em; border-radius:5px; padding:2px 6px; font-style:normal;}
.tick.ok{color:var(--green); background:var(--green-bg); border:1px solid rgba(82,183,136,0.2);}
.mon-bind{padding:8px 11px; font-size:9.5px; color:var(--faint);}
.mon .bind-ok{display:none; color:var(--dim);}
.mon .bind-ok b{color:var(--green); font-weight:500;}
.mon.ok .bind-ok{display:block;}
.mon.ok .bind-live{display:none;}
.guardbar{display:flex; align-items:center; gap:12px; background:#050706; border:1px solid var(--line-2); border-radius:11px; padding:10px 8px 10px 14px; margin-top:2px;}
.guardbar .gtxt{font-family:var(--sg); font-weight:600; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; transition:color 0.5s; white-space:nowrap;}
.guardbar .stripes{flex:1; height:16px; border-radius:4px; opacity:0.55; transition:opacity 0.5s, background 0.5s;
  background:repeating-linear-gradient(135deg, #232825 0 7px, #0B0D0C 7px 14px);}
.guardbar .glock{flex:none; width:32px; height:32px; border-radius:50%; border:1.5px solid rgba(222,115,86,0.75); display:flex; align-items:center; justify-content:center; box-shadow:0 0 14px rgba(222,115,86,0.25);}
.gnote{font-size:9.5px; color:var(--faint); line-height:1.55;}
.gnote b{color:var(--dim); font-weight:500;}

/* ============ trust marquee ============ */
/* trust — slim, sleek */
.trust{padding:44px 0 40px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg, rgba(12,17,16,0.4), transparent);}
.trust .cap{text-align:center; font-family:var(--sg); font-size:11px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); margin-bottom:20px;}
.trust .cap b{color:var(--dim);}
.mq{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent, #000 12%, #000 88%, transparent); mask-image:linear-gradient(90deg,transparent, #000 12%, #000 88%, transparent);}
.trust.paused .mq-track{animation-play-state:paused;}
.mq + .mq{margin-top:16px;}
.plat-static{display:flex; flex-wrap:wrap; justify-content:center; row-gap:10px; margin-top:18px; padding:0 20px;}
.mq-pause{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; margin-left:10px; vertical-align:middle;
  border:1px solid var(--line-2); border-radius:8px; color:var(--faint); cursor:pointer; transition:color 0.2s, border-color 0.2s;}
.mq-pause:hover{color:var(--dim); border-color:rgba(82,183,136,0.4);}
.mq-pause .i-play{display:none;}
.mq-pause.is-paused .i-pause{display:none;}
.mq-pause.is-paused .i-play{display:block;}
.mq-track{display:flex; width:max-content; animation:mq 58s linear infinite;}
.mq:hover .mq-track, .mq:focus-within .mq-track{animation-play-state:paused;}
@keyframes mq{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.mq-row{display:flex; align-items:center;}
.mq-item{display:inline-flex; align-items:center; gap:9px; font-family:var(--sg); font-weight:500; font-size:15px; letter-spacing:-0.01em; color:var(--faint); padding:0 20px; white-space:nowrap; transition:color 0.25s;}
.mq-item:hover{color:var(--dim);}
.mq-item .tile{width:26px; height:26px; border-radius:8px; background:var(--panel-2); border:1px solid var(--line-2); display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden;}
.mq-item .tile img{width:15px; height:15px; border-radius:3px; display:block;}
.mq-item .tile b{display:none; font-size:10px; color:var(--dim); font-weight:600;}
.trust .more{text-align:center; margin-top:18px; font-size:12px; color:var(--faint);}
.trust .more b{color:var(--dim); font-weight:500;}

/* ============ manifesto ============ */
.manifesto{position:relative; padding:84px 0 100px;}
.manifesto .inner{max-width:840px; margin:0 auto; text-align:center;}
.manifesto p.big{font-family:var(--sg); font-weight:500; font-size:clamp(24px,3.2vw,36px); letter-spacing:-0.025em; line-height:1.3; color:var(--text);}
.manifesto p.big em{font-family:var(--serif); font-style:italic; font-weight:400; color:#DDE8E1;}
.manifesto p.follow{color:var(--dim); font-weight:300; font-size:17px; max-width:52ch; margin:26px auto 0;}
.manifesto .lvl{max-width:840px; margin:64px auto 0;}

/* ============ film ============ */
.film{padding-top:0; padding-bottom:90px;}
.film-wrap{position:relative; max-width:960px; margin:44px auto 0;}
/* film — silver glass schema */
.film-frame{position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden; cursor:pointer;
  background:linear-gradient(150deg,#101413 0%, #090C0B 48%, #060808 100%); border:1px solid rgba(240,248,242,0.16);
  box-shadow:0 24px 80px rgba(0,0,0,0.5), 0 0 70px rgba(233,243,235,0.05), inset 0 1px 0 rgba(255,255,255,0.10);}
.film-frame::before{content:""; position:absolute; inset:0; opacity:0.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");}
.film-frame .wm{position:absolute; right:-40px; bottom:-70px; width:340px; opacity:0.06; pointer-events:none;}
.film-frame .lvl-line{position:absolute; left:0; right:0; top:58%; height:1px; background:linear-gradient(90deg,transparent, rgba(233,243,235,0.25), transparent);}
.film-play{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px;}
.film-play .pb{width:76px; height:76px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg, rgba(240,248,242,0.18), rgba(240,248,242,0.06));
  border:1px solid rgba(240,248,242,0.30);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.22), 0 0 0 10px rgba(240,248,242,0.05), 0 12px 40px rgba(0,0,0,0.5); transition:transform 0.25s var(--ease), box-shadow 0.25s;}
.film-frame:hover .pb{transform:scale(1.07); box-shadow:inset 0 1px 0 rgba(255,255,255,0.22), 0 0 0 14px rgba(240,248,242,0.08), 0 12px 46px rgba(0,0,0,0.55);}
.film-play .pb svg{margin-left:4px;}
.film-play .cap{font-family:var(--sg); font-weight:600; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--dim);}
.film-meta{position:absolute; left:22px; bottom:18px; display:flex; align-items:center; gap:10px; font-size:12px; color:var(--faint);}
.film-meta .t{border:1px solid var(--line-2); border-radius:6px; padding:3px 9px; font-family:var(--sg); font-weight:600; font-size:10.5px; letter-spacing:0.08em;}
.film-toast{position:absolute; left:50%; bottom:26px; transform:translate(-50%, 12px); opacity:0; transition:opacity 0.4s, transform 0.4s var(--ease);
  background:rgba(1,2,1,0.92); border:1px solid var(--line-2); border-radius:9px; padding:9px 16px; font-size:13px; color:var(--dim); white-space:nowrap; pointer-events:none;}
.film-wrap.toasting .film-toast{opacity:1; transform:translate(-50%,0);}

/* ============ steps ============ */
.steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:52px;}
.step{background:linear-gradient(150deg,#0A0F0C 0%, #060908 70%); border:1px solid var(--line); border-radius:16px; padding:30px 28px 28px; position:relative; overflow:hidden;}
.step .n{font-family:var(--serif); font-style:italic; font-size:44px; color:rgba(233,243,235,0.30); line-height:1;}
.step h3{font-family:var(--sg); font-weight:600; font-size:19px; letter-spacing:-0.02em; margin-top:16px;}
.step p{color:var(--dim); font-size:14.5px; font-weight:300; margin-top:9px;}
.step p b{color:var(--text); font-weight:500;}
.step::after{content:""; position:absolute; top:0; left:28px; right:28px; height:1px; background:linear-gradient(90deg, rgba(233,243,235,0.30), transparent);}

/* ============ pricing ============ */
.pricing{padding-top:64px;}
.pricing .head{text-align:center; max-width:640px; margin:0 auto;}
.pricing .head .eyebrow{justify-content:center;}
.pricing .head .eyebrow::before{display:none;}
/* pricing toggle — same silver glass as the nav pill */
.ptoggle{display:inline-flex; align-items:center; border-radius:99px; padding:6px; margin-top:34px; gap:2px;
  background:linear-gradient(180deg, rgba(240,248,242,0.11), rgba(240,248,242,0.03));
  border:1px solid rgba(240,248,242,0.16);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.16), 0 12px 34px rgba(0,0,0,0.45);}
.ptoggle button{font-family:var(--sg); font-weight:600; font-size:13px; padding:9px 20px; border-radius:99px; color:var(--dim); transition:color 0.2s, background 0.2s; min-height:44px; border:1px solid transparent;}
.ptoggle button.on{color:var(--text);
  background:linear-gradient(180deg, rgba(240,248,242,0.17), rgba(240,248,242,0.05));
  border-color:rgba(240,248,242,0.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.24), 0 2px 10px rgba(0,0,0,0.3);}
.ptoggle .save{font-size:10.5px; color:var(--brand); font-weight:600; margin-left:6px; letter-spacing:0.04em;}
.pcard{max-width:520px; margin:40px auto 0; background:linear-gradient(160deg,#0B0E0C 0%,#070908 55%,#050706 100%); border:1px solid rgba(233,243,235,0.09); border-radius:20px; padding:40px 40px 34px; position:relative; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05);}
.pcard::before{content:""; position:absolute; top:-90px; right:-70px; left:auto; width:340px; height:300px; background:radial-gradient(ellipse at center, rgba(222,115,86,0.32), rgba(193,95,60,0.10) 45%, transparent 68%); pointer-events:none;}
.pcard .pmark{position:absolute; top:-36px; right:-30px; width:230px; height:230px; pointer-events:none; transform:rotate(8deg);}
.pcard::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:0.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(ellipse 130% 120% at 100% 0%, #000 0%, rgba(0,0,0,0.35) 42%, transparent 72%); mask-image:radial-gradient(ellipse 130% 120% at 100% 0%, #000 0%, rgba(0,0,0,0.35) 42%, transparent 72%);}
.pcard > *{position:relative; z-index:1;}
.pcard > .pmark{z-index:0;}
.pcard .pop{position:absolute; top:24px; right:24px; z-index:1; font-size:12px; font-weight:500; letter-spacing:0.02em; color:#F2A483; padding:6px 14px; border-radius:999px;
  background:linear-gradient(180deg,rgba(222,115,86,0.22),rgba(222,115,86,0.10)); border:1px solid rgba(222,115,86,0.55); box-shadow:0 0 20px rgba(222,115,86,0.28);
  transition:opacity 0.35s var(--ease);}
.pcard .bill .sv{color:var(--brand); font-style:normal; font-weight:500;}
.pcard .pname{font-family:var(--sg); font-weight:600; font-size:15px; letter-spacing:0.02em; display:flex; align-items:center; gap:10px;}
.pcard .pname .d{width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 9px rgba(82,183,136,0.9);}
.pcard .amount{display:flex; align-items:baseline; gap:8px; margin-top:18px;}
.pcard .amount .cur{font-family:var(--sg); font-weight:600; font-size:26px; color:var(--dim);}
.pcard .amount .val{font-family:var(--sg); font-weight:600; font-size:66px; letter-spacing:-0.04em; line-height:1;}
.pcard .amount .per{color:var(--faint); font-size:15px;}
.pcard .bill{margin-top:8px; font-size:13px; color:var(--faint); min-height:20px;}
.pcard .bill b{color:var(--amber); font-weight:500;}
.pcard ul{list-style:none; margin-top:28px; display:flex; flex-direction:column; gap:12px;}
.pcard li{display:flex; gap:11px; font-size:14.5px; color:var(--dim); font-weight:300; align-items:flex-start;}
.pcard li b{color:var(--text); font-weight:500;}
.pcard li svg{flex:none; width:17px; height:17px; stroke:var(--terra); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; margin-top:3px;}
.pcard .btn{width:100%; margin-top:30px; height:52px; font-size:15.5px;}
.pcard .btn.primary{background:linear-gradient(180deg,#E8825F 0%,#D96B47 100%); border-color:rgba(222,115,86,0.6); color:#2B0F08;
  box-shadow:0 10px 30px rgba(222,115,86,0.25), inset 0 1px 0 rgba(255,255,255,0.3);}
.pcard .fine{text-align:center; margin-top:14px; font-size:12px; color:var(--faint);}
.p-anchor{text-align:center; margin-top:26px; font-size:14px; color:var(--faint); font-weight:300;}
.p-anchor b{color:var(--dim); font-weight:500;}
.p-anchor em{font-family:var(--serif); font-style:italic; color:#DDE8E1; font-size:15.5px;}

/* ============ faq ============ */
.faq .grid{max-width:820px; margin:48px auto 0;}
details{border-bottom:1px solid var(--line);}
details summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 4px; font-family:var(--sg); font-weight:500; font-size:16.5px; letter-spacing:-0.01em; transition:color 0.2s; min-height:44px;}
details summary::-webkit-details-marker{display:none;}
details summary:hover{color:var(--brand);}
details summary .pm{flex:none; width:26px; height:26px; border:1px solid var(--line-2); border-radius:8px; display:flex; align-items:center; justify-content:center; transition:transform 0.3s var(--ease), border-color 0.2s;}
details summary .pm svg{width:12px; height:12px; stroke:var(--dim); stroke-width:2; stroke-linecap:round;}
details[open] summary .pm{transform:rotate(45deg); border-color:rgba(82,183,136,0.4);}
details .a{padding:0 44px 24px 4px; color:var(--dim); font-weight:300; font-size:15px; max-width:68ch;}
details .a b{color:var(--text); font-weight:500;}
details .a a{color:var(--brand); border-bottom:1px solid rgba(82,183,136,0.3);}

/* ============ final cta ============ */
.final{position:relative; text-align:center; overflow:hidden;}
.final .bloom{position:absolute; left:50%; bottom:-320px; transform:translateX(-50%); width:1000px; height:600px; pointer-events:none;
  background:radial-gradient(ellipse 50% 45% at 50% 55%, rgba(82,183,136,0.08), transparent 70%);}
.final h2{max-width:16ch; margin:0 auto;}
.final .lede{margin-left:auto; margin-right:auto; text-align:center;}
.final .hero-ctas{margin-top:36px;}

/* affiliate strip */
.aff{padding:0 0 120px;}
.aff .card{position:relative; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; background:linear-gradient(140deg, rgba(222,115,86,0.05), transparent 55%), #080B0A; border:1px solid rgba(222,115,86,0.16); border-radius:18px; padding:34px 38px;
  box-shadow:0 0 60px rgba(222,115,86,0.09);}
.aff h3{font-family:var(--sg); font-weight:600; font-size:21px; letter-spacing:-0.02em;}
.aff h3 em{font-family:var(--serif); font-style:italic; font-weight:400; color:var(--terra);}
.aff p{color:var(--dim); font-size:14.5px; font-weight:300; margin-top:6px; max-width:52ch;}

/* ============ footer ============ */
footer{border-top:1px solid var(--line); padding:64px 0 40px; background:linear-gradient(180deg, transparent, rgba(6,10,8,0.6));}
.f-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px;}
.f-brand p{color:var(--faint); font-size:13px; margin-top:14px; max-width:34ch;}
.f-col h4{font-family:var(--sg); font-weight:600; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--faint); margin-bottom:16px;}
.f-col a{display:block; color:var(--dim); font-size:14px; padding:5px 0; transition:color 0.15s;}
.f-col a:hover{color:var(--text);}
.disclaim{margin-top:56px; padding-top:28px; border-top:1px solid var(--line); color:var(--faint); font-size:11.5px; line-height:1.7; font-weight:300;}
.disclaim p{margin-bottom:10px; max-width:110ch;}
.disclaim b{color:var(--dim); font-weight:500;}
.f-bottom{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:30px; font-size:12px; color:var(--faint);}
.f-bottom .made{font-family:var(--serif); font-style:italic; font-size:13px;}

/* villain stats (manifesto) */
.stats3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:48px; text-align:left;}
.stats3 .s{padding:22px 22px 20px; border:1px solid rgba(222,115,86,0.18); border-radius:14px; background:linear-gradient(150deg, rgba(222,115,86,0.05), transparent 60%);}
.stats3 .v{font-family:var(--sg); font-weight:600; font-size:34px; letter-spacing:-0.03em; color:var(--terra);}
.stats3 .k{font-size:13px; color:var(--dim); margin-top:8px; line-height:1.5; font-weight:300;}
.stats3 .k b{color:var(--text); font-weight:500;}
.srcline{margin-top:14px; font-size:11px; color:var(--faint);}

/* ============ responsive ============ */
@media (max-width:1024px){
  .stats3{grid-template-columns:1fr; gap:10px;}
  .t-strip{grid-template-columns:repeat(4,1fr);}
  .t-strip .scard:nth-child(5){display:none;}
}
@media (max-width:820px){
  section{padding:84px 0;}
  .navlinks, .navcta .login{display:none;}
  .menu-btn{display:flex;}
  .hero{padding:110px 0 80px;}
  .steps-grid{grid-template-columns:1fr;}
  .navcta .btn{height:44px;}
  .f-grid{grid-template-columns:1fr 1fr;}
  .aff .card{padding:28px 24px;}
  .pcard{padding:32px 26px 28px;}
}
@media (max-height:560px){
  .act-caps{display:none;}
  .act-inner{padding-bottom:56px;}
}
@media (min-width:2200px){
  .wrap,.navin{max-width:1320px;}
  body{font-size:17px;}
}
/* the act on small screens: same cinema, camera reframed for the stacked
   terminal. cinema.js opts out (html.cine-static) on short-landscape phones. */
@media (max-width:860px){
  .act{height:500vh;}
  .act-inner{padding:12px 8px 0;}
  .act-beam,.act-core{display:none;}
  /* caption card rides the BOTTOM band — the camera frames components at ~40% of
     the viewport, and a top/58% card was covering the Open-Risk + Max-Loss bars
     mid-burn on phones (Alan 2026-07-15). Growing up from the bottom edge clears
     every beat's frame by construction. */
  .act-caps{height:132px; top:auto; bottom:calc(6px + env(safe-area-inset-bottom, 0px));}
  .acap{top:auto; bottom:0; width:min(360px,90vw); padding:13px 18px 15px; border-radius:15px;
    background:linear-gradient(180deg, rgba(4,7,5,0.84), rgba(3,5,4,0.90));
    border:1px solid rgba(233,243,235,0.10); box-shadow:0 14px 40px rgba(0,0,0,0.5);}
  .acap.on{transform:translate(-50%,0);}
  .acap .k{font-size:10px;}
  .acap p{font-size:20px; margin-top:8px;}
  .t-main{grid-template-columns:1fr; padding:8px 12px 8px;}
  .t-strip{grid-template-columns:1fr 1fr; padding:12px 12px 2px;}
  .t-top{padding:12px;}
  .t-greet{display:none;}
  .t-tabs{display:none;}
  .fcpill .kv, .fcpill .fsep{display:none;}
}
/* static fallback — JS adds html.cine-static (short-landscape phones);
   mirrors the reduced-motion collapse below */
.cine-static .act{height:auto; padding:10px 0 60px;}
.cine-static .act-sticky{position:static; height:auto; overflow:visible;}
.cine-static .act-inner{height:auto; display:block; padding:0 16px;}
.cine-static .term-wrap{opacity:1 !important; transform:none !important; margin:0 auto;}
.cine-static .act-caps,.cine-static .focus-ring{display:none;}
/* the desk panel is a desktop/laptop read — hidden below laptop widths (Alan 2026-07-15) */
@media (max-width:1024px){
  .t-bottom{display:none;}
}
@media (max-width:520px){
  .wrap{padding:0 20px;}
  .navin{gap:12px; padding:0 16px;}
  .navcta{gap:10px;}
  .navcta .btn{padding:0 13px;}
  .brand svg, .menu-btn{flex:none;}
  .scard .lbl{flex-direction:column; align-items:flex-start; gap:2px;}
  .film-toast{white-space:normal; max-width:calc(100% - 28px); text-align:center;}
  .t-chart .chart-lbl{display:none;}
  .t-sub .reset{display:none;}
  .t-chart .cbig{font-size:21px;}
  .fcpill .fcol i{display:none;}
  .t-strip{grid-template-columns:1fr 1fr;}
  .hero-ctas .btn{width:100%;}
  .f-grid{grid-template-columns:1fr;}
  .mq-item{font-size:15px; padding:0 16px; gap:8px;}
  .mq-item .tile{width:26px; height:26px;}
}
@media (max-width:360px){
  .hero-chip{font-size:10px; letter-spacing:0.10em; padding:8px 12px;}
}
/* ============ reduced motion: land on final states ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .h-stage,.rv{opacity:1 !important; transform:none !important; transition:none !important;}
  .act{height:auto; padding:10px 0 60px;}
  .act-sticky{position:static; height:auto; overflow:visible;}
  .act-inner{height:auto; display:block;}
  .term-wrap{opacity:1 !important; transform:none !important; margin:0 auto;}
  .act-caps,.focus-ring,.act-beam,.act-core{display:none;}
  .term-glow{animation:none;}
  .scroll-cue svg{animation:none;}
  .act-core::after{animation:none; opacity:0;}
  .mq-track{animation:none; flex-wrap:wrap; width:auto; justify-content:center; row-gap:14px;}
  .mq{mask-image:none; -webkit-mask-image:none;}
  .btn{transition:none;}
}

/* ── Open terminal: frosted glass CTA (green = the live dot only) ── */
.btn.glasscta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:9px;
  color:var(--text);background:rgba(233,243,235,0.08);backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(233,243,235,0.25);
  box-shadow:inset 0 1px 0 rgba(233,243,235,0.10),0 8px 26px rgba(0,0,0,0.45);
  transition:transform .22s var(--ease),border-color .22s var(--ease);}
.btn.glasscta .gdot{width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 8px rgba(82,183,136,0.8);flex:none;}
.btn.glasscta .sheen{content:"";position:absolute;top:-60%;bottom:-60%;left:-70%;width:55%;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0.05) 30%,rgba(255,255,255,0.30) 50%,rgba(255,255,255,0.05) 70%,transparent 100%);
  transform:skewX(-18deg) translateX(-170%);}
.btn.glasscta:hover{transform:translateY(-1px);border-color:rgba(233,243,235,0.30);}
.btn.glasscta:hover .sheen{transition:transform 1.25s cubic-bezier(.2,.7,.2,1);transform:skewX(-18deg) translateX(430%);}

/* beat-01 caption: same band, size and place as every other stage */

/* desktop: all tour captions ride slightly higher */
@media (min-width:1025px){.acap{bottom:19vh;}}

/* ===== 2026-07-20 · terminal visual parity: chrome pills · plain badges · luxe check · glass title ===== */
.fcpill .kv b{padding:2px 8px; border-radius:6px; color:rgba(233,243,235,0.95);
  background:linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.3);}
.ct-glass{background:rgba(10,14,12,0.5); border:1px solid rgba(255,255,255,0.055); border-radius:8px;
  padding:4px 10px; color:rgba(233,243,235,0.72); box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);}
.ct-tog{display:inline-flex; gap:2px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.09); border-radius:7px; padding:2px; text-transform:none; letter-spacing:0.04em;}
.ct-tog b{font-weight:500; font-size:8.5px; color:rgba(233,243,235,0.4); padding:2px 7px; border-radius:5px;}
.ct-tog b.on{color:rgba(233,243,235,0.95); background:linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0.05)); box-shadow:inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(0,0,0,0.3);}
.tp-b{border:none; padding:0; border-radius:0; background:none; color:rgba(233,243,235,0.42); letter-spacing:0.1em; font-size:9px; text-transform:uppercase;}
.t-check{position:relative; background:linear-gradient(140deg, #030404 0%, #050706 55%, #060A08 100%);}
.t-check::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:0.38; border-radius:inherit;
  background-image:radial-gradient(34% 30% at 93% 95%, rgba(82,183,136,0.05), transparent 62%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(46% 42% at 93% 95%, rgba(0,0,0,1), transparent 60%);
  mask-image:radial-gradient(46% 42% at 93% 95%, rgba(0,0,0,1), transparent 60%);}
.mon-head{background:linear-gradient(135deg, rgba(233,243,235,0.045), rgba(233,243,235,0.008)); border-left:2px solid rgba(82,183,136,0.55);}
.mon-row .nm{color:#F2F7F3;}
.mon-row .rt{color:#A9B6AD;}
.mon-bind{color:#A9B6AD;}
.t-check .guardbar{background:rgba(233,243,235,0.02);}
