/* ============================================================================
   MR.C GLOBAL CONTENT-PAGE DESIGN SYSTEM  (content-system.css)
   Foundation = the LOCKED homepage design language (tokens, type, chrome,
   buttons, kicker, reveal, gauge hero). Do not edit the homepage; edit here
   to evolve every content page at once. Below the foundation is the global
   layout framework (.cp-*) that every content page inherits.
   ============================================================================ */
:root{
  --bg:#06090c; --bg-soft:#0a1016; --card:#0d141b; --card-2:#10191f;
  --line:rgba(118,150,135,.14); --line-strong:rgba(118,150,135,.26);
  --ink:#e9f1ec; --muted:#86968f; --dim:#5c6b64;
  --green:#3ee37e; --green-deep:#15b35b; --green-glow:rgba(62,227,126,.45);
  --gold:#e7b94e; --gold-deep:#b78d2c;
  --yellow:#f4c84a; --red:#ff5d4d;
  --accent:var(--green); --accent-glow:var(--green-glow);
  --maxw:1200px;
  --r:18px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,sans-serif; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::before{ /* ambient top glow */
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(900px 520px at 78% -8%, rgba(62,227,126,.10), transparent 60%),
    radial-gradient(700px 500px at 12% 4%, rgba(231,185,78,.05), transparent 60%);
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 26px; position:relative; z-index:1}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif; line-height:1.02; letter-spacing:-.02em; font-weight:800}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:inherit; text-decoration:none}
section{position:relative; z-index:1}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1; transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.40s}.reveal.d6{transition-delay:.48s}

/* ---------- nav ---------- */
header{position:sticky; top:0; z-index:50; transition:background .3s, border-color .3s, backdrop-filter .3s; border-bottom:1px solid transparent}
header.stuck{background:rgba(6,9,12,.78); backdrop-filter:blur(14px); border-bottom:1px solid var(--line)}
.nav{display:flex; align-items:center; justify-content:space-between; height:72px}
.brand{display:flex; align-items:center; gap:11px}
.brand .mark{font-family:'Bricolage Grotesque'; font-weight:800; font-size:25px; letter-spacing:-.04em; line-height:1}
.brand .mark b{color:var(--green)}
.brand .tag{font-family:'IBM Plex Mono'; font-size:8.5px; letter-spacing:.28em; color:var(--muted); text-transform:uppercase; margin-top:3px}
.brand .lock{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(150deg,#13301f,#0c1a12);border:1px solid var(--line-strong);font-weight:800;color:var(--green);font-family:'Bricolage Grotesque';font-size:18px}
.navlinks{display:flex; gap:30px; align-items:center}
.nav-right{display:flex; align-items:center; gap:34px}
.navlinks a{font-size:14px; color:var(--muted); transition:color .2s}
.navlinks a:hover{color:var(--ink)}
.btn{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; border-radius:12px; padding:12px 20px; cursor:pointer; border:1px solid transparent; transition:transform .18s var(--ease), box-shadow .25s, background .25s, border-color .25s; font-family:'Inter'; white-space:nowrap}
.btn:focus-visible{outline:2px solid var(--green); outline-offset:3px}
.btn-primary{background:linear-gradient(180deg,#48ef88,#16b65b); color:#04150b; box-shadow:0 8px 30px -8px var(--green-glow), inset 0 1px 0 rgba(255,255,255,.4)}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 40px -8px var(--green-glow), inset 0 1px 0 rgba(255,255,255,.45)}
.btn-ghost{background:rgba(255,255,255,.03); border-color:var(--line-strong); color:var(--ink)}
.btn-ghost:hover{border-color:var(--green); background:rgba(62,227,126,.06)}
.btn .arr{transition:transform .2s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.nav .btn{padding:10px 18px}
.navtoggle{display:none}

/* ---------- hero ---------- */
.hero{padding:54px 0 30px; position:relative; overflow:hidden}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:30px; align-items:center}
.eyebrow{display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--green); border:1px solid rgba(62,227,126,.3); background:rgba(62,227,126,.05); padding:8px 14px; border-radius:999px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--green); box-shadow:0 0 0 0 var(--green-glow); animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--green-glow)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:clamp(40px,6.4vw,76px); margin:22px 0 0; letter-spacing:-.035em}
.hero h1 .gr{color:var(--green); display:inline-block}
.hero .sub{font-size:clamp(16px,1.5vw,18.5px); color:var(--muted); max-width:520px; margin:22px 0 30px}
.hero .sub b{color:var(--ink); font-weight:600}
.cta-row{display:flex; gap:14px; flex-wrap:wrap}
.trust{display:flex; gap:26px; margin-top:34px; flex-wrap:wrap}
.trust .t{display:flex; align-items:center; gap:9px}
.trust .ti{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:rgba(62,227,126,.08);color:var(--green);border:1px solid var(--line)}
.trust .tt b{display:block; font-size:13px; font-weight:600; line-height:1.2}
.trust .tt span{font-size:11.5px; color:var(--dim)}

/* hero stage: gauge + mascot */
.stage{position:relative; height:560px; display:block}
.heroglow{position:absolute; inset:-60px -40px; z-index:0; pointer-events:none;
  background:
    radial-gradient(58% 68% at 40% 52%, rgba(62,227,126,.26), transparent 70%),
    radial-gradient(52% 62% at 70% 48%, rgba(62,227,126,.18), transparent 70%);
  filter:blur(14px)}
.gauge-card{position:absolute; left:0; top:50%; transform:translateY(-50%); z-index:3; width:330px; max-width:74%; background:linear-gradient(180deg,rgba(15,23,30,.94),rgba(10,16,21,.94)); border:1px solid var(--line-strong); border-radius:24px; padding:26px 26px 22px; backdrop-filter:blur(8px); box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.gauge-card .ghead{display:flex; justify-content:space-between; align-items:center; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.live-pill{display:inline-flex; align-items:center; gap:6px; color:var(--green)}
.live-pill .d{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
.gauge-wrap{position:relative; width:240px; height:240px; margin:6px auto 0}
.gauge-wrap svg{width:100%;height:100%; overflow:visible}
.gauge-num{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px}
.gauge-num .n{font-family:'Bricolage Grotesque'; font-weight:800; font-size:66px; line-height:1; color:var(--accent); letter-spacing:-.04em; transition:color .5s}
.gauge-num .of{font-family:'IBM Plex Mono'; font-size:12px; color:var(--dim); margin-top:-2px}
.gauge-num .st{font-family:'Bricolage Grotesque'; font-weight:800; font-size:15px; letter-spacing:.14em; color:var(--accent); margin-top:7px; transition:color .5s}
.gauge-foot{text-align:center; margin-top:10px; font-size:13px; color:var(--muted); min-height:38px}
.gauge-foot b{color:var(--ink); font-weight:600}
.mascot{position:absolute; right:-14px; bottom:0; height:540px; width:auto; z-index:2; filter:drop-shadow(0 30px 50px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(62,227,126,.18)); animation:bob 6s ease-in-out infinite}
@media(min-width:681px){
  .hero .gauge-card{left:auto; right:0; z-index:2; width:300px}
  .hero .mascot{left:-26px; right:auto; z-index:5; height:512px; animation:none}
}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-16px) rotate(-1.2deg)}}

/* ---------- ticker ---------- */
.ticker{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(10,16,21,.6); overflow:hidden; margin-top:34px}
.ticker .track{display:flex; gap:0; width:max-content; animation:scroll 38s linear infinite}
.ticker:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.tk{display:flex; align-items:center; gap:10px; padding:13px 26px; border-right:1px solid var(--line); font-family:'IBM Plex Mono'; font-size:12.5px; white-space:nowrap}
.tk .lbl{color:var(--muted); letter-spacing:.05em}
.tk .val{color:var(--ink)}
.tk .val.up{color:var(--green)} .tk .val.dn{color:var(--red)}
.tk .flag{font-size:9px; letter-spacing:.12em; padding:2px 6px; border-radius:5px}
.tk .flag.live{color:var(--green); background:rgba(62,227,126,.1)}
.tk .flag.del{color:var(--gold); background:rgba(231,185,78,.1)}

/* ---------- press ---------- */
.press{padding:30px 0 8px}
.press .lbl{text-align:center; font-family:'IBM Plex Mono'; font-size:10.5px; letter-spacing:.28em; color:var(--dim); text-transform:uppercase; margin-bottom:18px}
.press .row{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 46px}
.press .row span{font-family:'Bricolage Grotesque'; font-weight:700; font-size:21px; color:#6f7d77; opacity:.7; transition:opacity .3s, color .3s; letter-spacing:-.01em}
.press .row span:hover{opacity:1; color:var(--ink)}

/* ---------- section scaffolding ---------- */
.sec{padding:75px 0}
.sec-head{max-width:640px}
.sec-head.center{margin:0 auto; text-align:center}
.sec-head.wide{max-width:1160px}
.sec-head.wide .kicker{font-size:20px; letter-spacing:.22em}
.sec-head.wide h2{font-size:clamp(34px,5.4vw,66px); line-height:1.04}
.sec-head.wide .lead{max-width:none; font-size:18.5px; text-align:left}
.sec-head.center .lead{text-align:center; max-width:640px; margin-left:auto; margin-right:auto; margin-top:20px}
.sec-head.center.wide h2{margin-top:6px}
.kicker{display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-family:'IBM Plex Mono'; font-size:20px; line-height:1.1; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; max-width:100%}
.kicker .ix{color:var(--dim)}
.sec h2{font-size:clamp(30px,4.1vw,48px); letter-spacing:-.03em}
.sec h2 .gr{color:var(--accent)}
.sec .lead{font-size:17px; color:var(--muted); margin-top:18px}
.sec .lead b{color:var(--ink); font-weight:600}

/* ---------- score / dashboard section ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center}
/* calculator section */
.calc-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.32fr); gap:44px; align-items:center; max-width:1280px; margin:0 auto; padding:0 26px}
.calc-left{padding-left:0}
.calc-left h2{font-size:clamp(32px,3.5vw,48px); line-height:1.05}
.calc-quote{position:relative; display:inline-block; border:2px solid var(--green); border-radius:18px; padding:20px 56px 22px; margin:22px 0 28px; box-shadow:0 0 44px rgba(62,227,126,.28), inset 0 0 34px rgba(62,227,126,.07)}
.calc-quote .qt{font-family:'Bricolage Grotesque'; font-weight:800; font-size:clamp(32px,3.6vw,48px); color:var(--green); line-height:1.02; letter-spacing:-.01em; text-shadow:0 0 26px var(--green-glow); display:block}
.calc-quote .qm{position:absolute; font-family:'Bricolage Grotesque'; font-weight:800; color:var(--green); font-size:54px; line-height:1; text-shadow:0 0 22px var(--green-glow)}
.calc-quote .qm-o{top:8px; left:16px}
.calc-quote .qm-c{bottom:-2px; right:18px}
.calc-sub{font-weight:700; font-size:19px; color:var(--ink); margin:0 0 14px}
.calc-body{font-size:15px; color:var(--muted); margin:0 0 12px; max-width:520px}
.calc-feats{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:30px 0 34px}
.feat-ic{width:50px; height:50px; border-radius:50%; display:grid; place-items:center; background:radial-gradient(120% 120% at 30% 20%,rgba(62,227,126,.16),rgba(62,227,126,.03)); border:1px solid rgba(62,227,126,.32); color:var(--green); margin-bottom:13px}
.feat-ic svg{width:23px; height:23px}
.calc-feats h4{font-family:'Bricolage Grotesque'; font-weight:700; font-size:15.5px; color:var(--ink); margin:0 0 5px}
.calc-feats p{font-size:13px; color:var(--muted); margin:0; line-height:1.5}
.calc-cta-row{display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.calc-tag{display:inline-flex; align-items:center; gap:9px; color:var(--muted); font-size:14px}
.calc-tag svg{width:19px; height:19px; color:var(--green); flex:none}
.calc-media{position:relative; min-width:0; display:flex; justify-content:center}
.calc-halo{position:absolute; inset:-6% -3% 0% -3%; z-index:0; pointer-events:none; background:radial-gradient(58% 64% at 47% 49%, rgba(62,227,126,.26), transparent 70%), radial-gradient(50% 58% at 58% 50%, rgba(62,227,126,.18), transparent 70%); filter:blur(16px)}
.calc-media img{width:100%; max-width:680px; min-width:0; height:auto; display:block; position:relative; z-index:1; filter:drop-shadow(0 26px 48px rgba(0,0,0,.5)) drop-shadow(0 0 40px rgba(62,227,126,.18))}
@media(max-width:1000px){
  .calc-grid{grid-template-columns:1fr; gap:24px}
  .calc-left{padding:0}
  .calc-media{order:2}
  .calc-feats{gap:18px}
  .calc-media img{max-width:624px}
  .calc-halo{inset:-2% 4% 2% 4%}
}
@media(max-width:560px){
  .calc-feats{grid-template-columns:1fr; gap:16px}
  .calc-quote{padding:18px 44px 20px}
}
.checklist{list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:13px}
.checklist li{display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--ink)}
.checklist li .ck{flex:none; width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(62,227,126,.12);color:var(--green);font-size:12px;margin-top:1px}
.laptop-frame{position:relative}
.laptop-frame img{width:100%; height:auto; display:block; filter:drop-shadow(0 50px 90px rgba(0,0,0,.7))}
.laptop-frame .halo{position:absolute; inset:-18% -16% -12% -16%; background:radial-gradient(58% 52% at 50% 44%, rgba(62,227,126,.45), rgba(62,227,126,.16) 50%, transparent 78%); filter:blur(58px); z-index:-1}

/* signal chips grid */
.chips{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px}
.chip{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; transition:transform .25s var(--ease), border-color .25s, box-shadow .25s}
.chip:hover{transform:translateY(-4px); border-color:var(--cc,var(--green)); box-shadow:0 16px 40px -22px var(--cc,var(--green-glow))}
.chip .ch{display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); font-weight:500}
.chip .v{font-family:'Bricolage Grotesque'; font-weight:800; font-size:27px; margin:8px 0 3px; color:var(--cc,var(--green)); letter-spacing:-.02em}
.chip .d{font-size:12px; color:var(--dim)}
.tagpill{font-family:'IBM Plex Mono'; font-size:9px; letter-spacing:.1em; padding:3px 8px; border-radius:6px; text-transform:uppercase}
.tag-g{color:var(--green); background:rgba(62,227,126,.1)} .tag-y{color:var(--yellow); background:rgba(244,200,74,.12)} .tag-r{color:var(--red); background:rgba(255,93,77,.12)}

/* ---------- weather switch (signature) ---------- */
.weather{background:linear-gradient(180deg,var(--bg-soft),var(--bg)); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.weather-card{margin-top:42px; border:1px solid var(--line-strong); border-radius:26px; overflow:hidden; background:var(--card); box-shadow:0 50px 120px -50px rgba(0,0,0,.9)}
.weather-top{display:grid; grid-template-columns:auto 1fr; gap:34px; padding:34px 34px 30px; align-items:center; position:relative; transition:background .6s}
.weather-top::before{content:""; position:absolute; inset:0; background:radial-gradient(600px 280px at 18% 0%, var(--accent-glow), transparent 62%); opacity:.5; transition:background .6s; pointer-events:none}
.wgauge{position:relative; width:200px; height:200px; flex:none}
.wgauge svg{width:100%;height:100%; overflow:visible}
.wgauge .c{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.wgauge .c .n{font-family:'Bricolage Grotesque'; font-weight:800; font-size:54px; color:var(--accent); line-height:1; transition:color .5s}
.wgauge .c .s{font-family:'Bricolage Grotesque'; font-weight:800; letter-spacing:.12em; font-size:13px; color:var(--accent); margin-top:6px; transition:color .5s}
.wmsg{position:relative; z-index:1}
.wmsg .weatherline{font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); transition:color .5s}
.wlocked{position:relative; margin-top:14px; max-width:560px}
.wlock-head{font-family:'Bricolage Grotesque'; font-weight:800; font-size:clamp(20px,2.5vw,27px); letter-spacing:-.01em; color:var(--ink); line-height:1.15}
.wlock-head .wlock-ic{font-size:16px; margin-right:7px; filter:saturate(0) brightness(1.4)}
.wlock-head #wPlay{color:var(--accent); transition:color .5s; text-transform:capitalize}
.wlock-blur{margin:16px 0 18px; display:flex; flex-direction:column; gap:11px; filter:blur(7px); opacity:.55; user-select:none; pointer-events:none}
.wlock-blur span{height:11px; border-radius:6px; background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.15)); transition:background .5s}
.wlock-blur span:nth-child(1){width:94%}
.wlock-blur span:nth-child(2){width:99%}
.wlock-blur span:nth-child(3){width:62%}
.wlock-cta{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.wlock-note{font-size:14px; color:var(--muted); max-width:230px}
.wswitch{display:flex; gap:0; border-top:1px solid var(--line-strong)}
.wswitch button{flex:1; background:transparent; border:none; border-right:1px solid var(--line-strong); padding:20px 12px; cursor:pointer; color:var(--muted); font-family:'IBM Plex Mono'; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; transition:background .3s,color .3s; position:relative}
.wswitch button:last-child{border-right:none}
.wswitch button .em{display:block; font-family:'Bricolage Grotesque'; font-weight:800; font-size:17px; letter-spacing:0; text-transform:none; margin-top:4px; color:var(--ink)}
.wswitch button:hover{background:rgba(255,255,255,.03)}
.wswitch button[aria-pressed="true"]{color:var(--accent)}
.wswitch button[aria-pressed="true"]::after{content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--accent); box-shadow:0 0 18px var(--accent-glow)}
.wswitch button[aria-pressed="true"] .em{color:var(--accent)}
.whint{text-align:center; margin-top:22px; font-size:13px; color:var(--dim); font-family:'IBM Plex Mono'; letter-spacing:.06em}

/* ---------- truths ---------- */
.truths{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:46px}
.truth{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:30px; transition:transform .25s var(--ease), border-color .25s}
.truth:hover{transform:translateY(-5px); border-color:var(--line-strong)}
.truth .tn{font-family:'IBM Plex Mono'; font-size:12px; color:var(--gold); letter-spacing:.1em}
.truth h3{font-size:22px; margin:14px 0 10px; color:var(--ink)}
.truth p{font-size:14.5px; color:var(--muted)}

/* ---------- forward outlook ---------- */
.fwd-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin-top:42px}
.fsig{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px 16px; text-align:center; transition:transform .25s var(--ease), border-color .25s}
.fsig:hover{transform:translateY(-4px); border-color:var(--cc,var(--green))}
.fsig .fn{font-size:11.5px; color:var(--muted); min-height:30px}
.fsig .fv{font-family:'Bricolage Grotesque'; font-weight:800; font-size:24px; margin:10px 0 8px; color:var(--cc,var(--green))}

/* ---------- retirement ---------- */
.retire-card{margin-top:44px; background:var(--card); border:1px solid var(--line-strong); border-radius:24px; padding:34px; display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; box-shadow:0 40px 100px -50px rgba(0,0,0,.8)}
.chart-box{position:relative}
.chart-box svg{width:100%; height:auto; display:block; overflow:visible}
.chart-cap{display:flex; justify-content:space-between; font-family:'IBM Plex Mono'; font-size:11px; color:var(--dim); margin-top:8px}
.freedom .fnum{font-family:'Bricolage Grotesque'; font-weight:800; font-size:clamp(40px,5vw,58px); color:var(--green); line-height:1; letter-spacing:-.03em}
.freedom .flbl{font-size:14px; color:var(--muted); margin:6px 0 22px}
.freedom .flbl b{color:var(--ink)}
.metric{display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--line); font-size:14px}
.metric:last-of-type{border-bottom:none}
.metric .mk{color:var(--muted)} .metric .mv{font-family:'IBM Plex Mono'; color:var(--ink); font-weight:600}
.metric .mv.up{color:var(--green)}
.deploy{margin-top:22px; display:flex; align-items:center; gap:14px; background:rgba(231,185,78,.06); border:1px solid rgba(231,185,78,.25); border-radius:14px; padding:14px 16px}
.deploy .dtxt{font-size:13px; color:var(--muted); flex:1}
.deploy .dtxt b{color:var(--gold); font-weight:600}
.toggle{flex:none; width:52px; height:30px; border-radius:999px; background:#1a2229; border:1px solid var(--line-strong); position:relative; cursor:pointer; transition:background .3s}
.toggle .knob{position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:var(--muted); transition:left .3s var(--ease), background .3s}
.toggle[aria-pressed="true"]{background:rgba(231,185,78,.3)} .toggle[aria-pressed="true"] .knob{left:25px; background:var(--gold)}

/* ---------- btc ---------- */
.btc{background:linear-gradient(180deg,var(--bg),var(--bg-soft)); border-top:1px solid var(--line)}
.btc-card{display:grid; grid-template-columns:auto 1fr; gap:30px; align-items:center; border:1px solid var(--line); border-radius:20px; padding:30px; background:var(--card); margin-top:30px}
.btc-badge{width:74px;height:74px;border-radius:18px;display:grid;place-items:center;font-family:'Bricolage Grotesque';font-weight:800;font-size:34px;color:var(--gold);background:rgba(231,185,78,.08);border:1px solid rgba(231,185,78,.3)}
.btc-card .lock{font-family:'IBM Plex Mono'; font-size:10.5px; letter-spacing:.18em; color:var(--gold); text-transform:uppercase}
.btc-card h3{font-size:24px; margin:6px 0 8px}
.btc-card p{font-size:14.5px; color:var(--muted); max-width:640px}

/* ---------- meet mr c ---------- */
.meet{display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center}
.meet-img{position:relative; display:flex; justify-content:center}
.meet-img img{width:74%; height:auto; filter:drop-shadow(0 30px 60px rgba(0,0,0,.6)) drop-shadow(0 0 50px rgba(62,227,126,.16))}
.meet-img::after{content:""; position:absolute; bottom:6%; left:50%; transform:translateX(-50%); width:60%; height:24px; background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent); filter:blur(8px)}
.persona{list-style:none; margin-top:22px; display:flex; flex-direction:column; gap:14px}
.persona li{display:flex; gap:13px; align-items:center; font-size:15.5px}
.persona li .pi{flex:none; width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(231,185,78,.1);border:1px solid rgba(231,185,78,.25);color:var(--gold)}

/* ---------- honesty ---------- */
.honesty{text-align:center}
.honesty .big{font-family:'Bricolage Grotesque'; font-weight:800; font-size:clamp(28px,4vw,46px); letter-spacing:-.03em; max-width:880px; margin:18px auto 0; line-height:1.12}
.honesty .big .gr{color:var(--green)}
.honesty .small{max-width:600px; margin:22px auto 0; color:var(--muted); font-size:16px}

/* ---------- pricing ---------- */
.pricing{background:linear-gradient(180deg,var(--bg-soft),var(--bg))}
.price-card{max-width:540px; margin:46px auto 0; background:linear-gradient(180deg,var(--card-2),var(--card)); border:1px solid var(--line-strong); border-radius:26px; padding:8px; box-shadow:0 50px 120px -50px rgba(0,0,0,.9); position:relative; overflow:hidden}
.price-card::before{content:""; position:absolute; inset:0; background:radial-gradient(500px 240px at 50% -10%, rgba(62,227,126,.14), transparent 60%); pointer-events:none}
.price-inner{border:1px solid var(--line); border-radius:20px; padding:36px 34px; position:relative}
.price-badge{display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(231,185,78,.3); padding:6px 12px; border-radius:999px}
.price-amt{display:flex; align-items:flex-end; gap:8px; margin:20px 0 4px}
.price-amt .d{font-family:'Bricolage Grotesque'; font-weight:800; font-size:64px; color:var(--ink); line-height:.9; letter-spacing:-.04em}
.price-amt .per{color:var(--muted); font-size:16px; margin-bottom:8px}
.price-sub{color:var(--green); font-size:14px; font-family:'IBM Plex Mono'}
.price-annual{font-size:13.5px; color:var(--muted); margin:2px 0 4px} .price-annual b{color:var(--ink)}
.price-feat{list-style:none; margin:24px 0; display:flex; flex-direction:column; gap:12px}
.price-feat li{display:flex; gap:11px; font-size:14.5px; color:var(--ink)}
.price-feat li .ck{flex:none; color:var(--green)}
.price-card .btn{width:100%; justify-content:center; font-size:16px; padding:15px}
.price-fine{text-align:center; margin-top:14px; font-size:12.5px; color:var(--dim)}

/* ---------- pricing + cta combined ---------- */
.combo{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
.combo-price .kicker{margin-bottom:14px}
.combo-price h2{font-size:clamp(25px,2.7vw,34px); letter-spacing:-.025em}
.combo-price .price-card{max-width:none; margin:24px 0 0}
.combo-cta .eyebrow{margin-bottom:22px}
.combo-cta h2{font-size:clamp(32px,3.6vw,50px); letter-spacing:-.035em; line-height:1.04}
.combo-cta p{color:var(--muted); font-size:17px; margin:20px 0 30px; max-width:430px}
.final-note{font-family:'Bricolage Grotesque'; color:var(--gold); font-weight:700; transform:rotate(-4deg); display:inline-block; margin:0 0 14px; font-size:15px}
@media(max-width:920px){
  .combo{grid-template-columns:1fr; gap:44px}
  .combo-price{order:2}
  .combo-cta{order:1; text-align:center}
  .combo-cta .eyebrow{display:inline-flex}
  .combo-cta p{margin-left:auto; margin-right:auto}
  .combo-price .price-card{max-width:520px; margin:24px auto 0}
}

/* ---------- footer (compact) ---------- */
footer{border-top:1px solid var(--line); padding:24px 0 20px; background:var(--bg-soft)}
.foot-head{display:flex; flex-direction:column; align-items:flex-start; gap:10px}
footer .brand{margin:0}
.foot-tag{color:var(--muted); font-size:13px; line-height:1.5; max-width:680px}
.foot-links{display:flex; flex-wrap:wrap; gap:6px 18px}
.foot-links a{font-size:13.5px; color:var(--muted); transition:color .2s}
.foot-links a:hover{color:var(--ink)}
.foot-bottom{margin-top:15px; padding-top:13px; border-top:1px solid var(--line); font-size:11.5px; color:var(--dim); display:flex; flex-direction:column; gap:6px}
.foot-bottom .disc{line-height:1.55}

/* ---------- live portfolio laptop ---------- */
.laptop-wrap{max-width:1240px; margin:0 auto; padding:0 26px}
.laptop{max-width:100%; margin:48px auto 0; position:relative; filter:drop-shadow(0 60px 90px rgba(0,0,0,.55))}
.laptop-screen{background:#070b11; border:15px solid #0c1014; border-bottom-width:22px; border-radius:24px 24px 6px 6px; box-shadow:inset 0 0 0 2px #1b212a, inset 0 0 70px rgba(0,0,0,.55); position:relative; overflow:hidden}
.laptop-screen::before{content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:7px; height:7px; border-radius:50%; background:#1a1f27; box-shadow:inset 0 0 0 1.5px #2c333d; z-index:8}
.laptop-screen::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,0) 22%); z-index:7}
.laptop-base{position:relative; width:calc(100% + 64px); margin-left:-32px; height:26px; background:linear-gradient(180deg,#d9dde2 0%,#b6bcc3 16%,#878d95 60%,#5c626a 100%); clip-path:polygon(1.4% 0, 98.6% 0, 100% 100%, 0% 100%); border-radius:0 0 10px 10px; box-shadow:0 30px 55px -22px rgba(0,0,0,.8)}
.laptop-base::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(180deg,#2a2f36,#10141a)}
.laptop-base::after{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:11%; height:9px; background:linear-gradient(180deg,#7c828a,#aab0b7); border-radius:0 0 11px 11px}

.dash{background:radial-gradient(130% 90% at 12% -12%, rgba(62,227,126,.07), transparent 52%), #070b11; padding:22px}
.dash *{font-family:'Inter'}
.dash .mono,.dash .mbig,.dash .mval,.dash .mod-price,.dash .sbig,.dash .ring-c .rp,.dash .pill,.dash .srow .v,.dash .alloc-c .av{font-family:'IBM Plex Mono'; font-variant-numeric:tabular-nums}
.dash-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:12px}
.dh-title{font-family:'IBM Plex Mono'; font-size:14px; letter-spacing:.13em; color:#cdd8d2; font-weight:600}
.dh-title b{color:var(--gold)}
.dh-actions{display:flex; gap:10px}
.dh-btn{font-size:12.5px; font-weight:600; padding:8px 14px; border-radius:9px; background:transparent}
.dh-btn.green{color:var(--green); border:1px solid rgba(62,227,126,.4)}
.dh-btn.blue{color:#4b9bff; border:1px solid rgba(75,155,255,.4)}

.mods{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.mod{background:linear-gradient(180deg,rgba(20,28,38,.9),rgba(12,18,26,.92)); border:1px solid var(--line); border-radius:16px; padding:16px; position:relative; overflow:hidden}
.mod::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--cc); opacity:.55}
.mod-head{display:flex; justify-content:space-between; align-items:flex-start; gap:6px}
.mod-id{display:flex; gap:10px; align-items:center}
.badge{width:38px; height:38px; border-radius:11px; display:grid; place-items:center; font-family:'Bricolage Grotesque'; font-weight:800; font-size:18px; color:#fff; background:linear-gradient(150deg,var(--cc),rgba(0,0,0,.35)); box-shadow:0 6px 16px -6px var(--cc)}
.mname{font-family:'Bricolage Grotesque'; font-weight:800; font-size:19px; letter-spacing:-.02em; line-height:1.1}
.msub{font-size:11px; color:var(--muted)}
.mod-price{font-weight:600; font-size:17px; margin-top:13px; display:flex; align-items:baseline; gap:8px}
.flag{font-family:'IBM Plex Mono'; font-size:8.5px; letter-spacing:.1em; padding:2px 6px; border-radius:5px; position:relative; top:-1px}
.flag.del{color:var(--gold); background:rgba(231,185,78,.13)}
.flag.live{color:var(--green); background:rgba(62,227,126,.13)}
.mdiv{height:1px; background:var(--line); margin:13px 0}
.mlabel{font-family:'IBM Plex Mono'; font-size:9.5px; letter-spacing:.11em; color:var(--muted); text-transform:uppercase}
.mbig{font-weight:600; font-size:23px; margin-top:5px; letter-spacing:-.01em}
.mret{display:flex; justify-content:space-between; align-items:flex-start; gap:8px}
.mval{font-weight:600; font-size:18px}
.pos{color:var(--green)} .neg{color:var(--red)}
.msmall{font-size:11px; margin-top:3px}
.pill{display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; padding:4px 8px; border-radius:7px}
.pill.pos{color:var(--green); background:rgba(62,227,126,.1)} .pill.neg{color:var(--red); background:rgba(255,93,77,.1)}
.mfoot{display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted)}
.mfoot .vd{font-weight:600; color:var(--cc)}
.mfoot .chev{color:var(--cc); opacity:.7}
.srow{display:flex; justify-content:space-between; align-items:center; font-size:12.5px; padding:7px 0; color:var(--muted)}
.srow .v{color:var(--ink); font-weight:600; font-size:13px}

.ring{position:relative; width:74px; height:74px; flex:none}
.ring svg{width:100%; height:100%; display:block}
.ring .rtrack{fill:none; stroke:rgba(255,255,255,.08); stroke-width:7}
.ring .rval{fill:none; stroke-width:7; stroke-linecap:round}
.ring-c{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.ring-c .rp{font-weight:600; font-size:14px; line-height:1}
.ring-c .rl{font-size:5px; letter-spacing:.06em; color:var(--muted); text-transform:uppercase; margin-top:2px}

.subgrid{display:grid; grid-template-columns:1.2fr .88fr 1.05fr 1.05fr 1.7fr; gap:14px; margin-top:14px}
.scard{background:linear-gradient(180deg,rgba(16,23,32,.82),rgba(10,15,22,.82)); border:1px solid var(--line); border-radius:16px; padding:16px; display:flex; flex-direction:column}
.slabel{font-family:'IBM Plex Mono'; font-size:9.5px; letter-spacing:.11em; color:var(--muted); text-transform:uppercase; display:flex; justify-content:space-between; align-items:center}
.sbig{font-weight:600; font-size:25px; margin-top:8px; letter-spacing:-.01em}
.stiny{font-size:11px; color:var(--dim); margin-top:4px}
.icn{width:30px;height:30px;flex:none;color:var(--muted)}
.shares-row{display:flex; align-items:center; gap:14px; margin-top:6px}
.shares-ring{position:relative; width:96px; height:96px; flex:none}
.shares-ring svg{width:100%;height:100%}
.shares-ring .c{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.shares-ring .c .p{font-family:'IBM Plex Mono'; font-weight:600; font-size:18px}
.shares-ring .c .l{font-size:7px; letter-spacing:.08em; color:var(--muted)}
.shares-info .n{font-family:'IBM Plex Mono'; font-weight:600; font-size:26px}
.shares-info .t{font-size:11.5px; color:var(--muted)}
.readiness{display:flex; align-items:center; gap:7px; margin-top:auto; padding-top:12px; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.06em}
.readiness .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green-glow)}
.readiness b{color:var(--green); letter-spacing:.08em}
.range{color:var(--green); font-family:'IBM Plex Mono'; font-weight:600; font-size:16px; margin-top:8px}
.alloc{display:flex; align-items:center; gap:16px}
.alloc-ring{position:relative; width:106px; height:106px; flex:none}
.alloc-ring svg{width:100%;height:100%}
.alloc-c{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.alloc-c .av{font-weight:600; font-size:17px}
.alloc-c .al{font-size:7px; letter-spacing:.1em; color:var(--muted)}
.legend{flex:1; display:flex; flex-direction:column; gap:8px}
.legend .lg{display:flex; align-items:center; gap:7px; font-size:11px; color:var(--muted); white-space:nowrap}
.legend .lg .sw{width:9px;height:9px;border-radius:50%;flex:none}
.legend .lg .lp{margin-left:auto; font-family:'IBM Plex Mono'; font-weight:600; color:var(--ink)}

@media(max-width:1000px){
  .mods{grid-template-columns:repeat(2,1fr)}
  .subgrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
  .laptop-wrap{padding:0 18px}
  .laptop-screen{border-width:9px; border-bottom-width:14px; border-radius:16px 16px 5px 5px}
  .laptop-base{width:calc(100% + 24px); margin-left:-12px}
  .dash{padding:14px}
  .dash-head .dh-actions{display:none}
  .mods{grid-template-columns:1fr; gap:10px}
  .mod{padding:14px}
  .subgrid{grid-template-columns:1fr; gap:10px}
  .mbig{font-size:21px} .sbig{font-size:23px}
}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr; gap:10px}
  .stage{height:470px; margin:14px 0 0}
  .hero .mascot{left:0; height:430px}
  .split,.meet,.retire-card{grid-template-columns:1fr; gap:34px}
  .meet-img{order:-1}
  .fwd-grid{grid-template-columns:repeat(3,1fr)}
  .weather-top{grid-template-columns:1fr; gap:20px; text-align:center}
  .wgauge{margin:0 auto}
  .wlocked{margin:0 auto}
  .wlock-cta{justify-content:center}
}
@media(max-width:680px){
  .wrap{padding:0 18px}
  .navlinks{display:none}
  .nav{height:64px}
  .nav .btn{padding:9px 14px; font-size:13px}
  .brand .mark{font-size:21px}
  .brand .tag{white-space:nowrap}
  .brand .lock{width:30px;height:30px;font-size:16px}
  .eyebrow{font-size:10px; letter-spacing:.14em; padding:7px 12px}
  .sec{padding:48px 0}
  .chips{grid-template-columns:repeat(2,1fr)}
  .truths{grid-template-columns:1fr}
  .fwd-grid{grid-template-columns:repeat(2,1fr)}
  .wswitch button .em{font-size:15px}
  .stage{height:auto; padding-bottom:6px; margin-top:24px}
  .gauge-card{position:relative; left:auto; top:auto; transform:none; margin:0 auto; width:100%; max-width:340px}
  .mascot{display:none}
  .gauge-num .n{font-size:58px}
  .trust{gap:18px}
  .price-inner{padding:28px 22px}
  .price-amt .d{font-size:52px}
  .retire-card,.weather-card{padding:22px}
  .meet-img img{width:62%}
}

/* ---------- faq ---------- */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);padding:0 20px;transition:border-color .2s}
.faq-item[open]{border-color:rgba(255,255,255,.18)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;font-size:1.05rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-weight:400;font-size:1.5rem;color:var(--green);line-height:1;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:0 0 20px;color:var(--muted);line-height:1.6;max-width:680px}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
  .reveal{opacity:1 !important; transform:none !important}
}

/* ---- gauge + coach composition (standard content-page hero) ---- */
/* the gauge card */
.gauge-stage{max-width:560px; margin:34px auto 0; background:linear-gradient(180deg,var(--card-2),var(--card)); border:1px solid var(--line-strong); border-radius:26px; padding:30px 30px 26px; box-shadow:0 50px 120px -50px rgba(0,0,0,.9); position:relative; overflow:hidden}
.gauge-stage::before{content:""; position:absolute; inset:0; background:radial-gradient(560px 280px at 50% -10%, var(--accent-glow), transparent 60%); opacity:.45; transition:background .6s; pointer-events:none}
.ghead{display:flex; justify-content:space-between; align-items:center; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); position:relative; z-index:1}
.live-pill{display:inline-flex; align-items:center; gap:6px; color:var(--accent); transition:color .5s}
.live-pill .d{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite; transition:background .5s}
.gauge-wrap{position:relative; width:300px; height:300px; margin:8px auto 0}
.gauge-wrap svg{width:100%;height:100%; overflow:visible}
.gauge-num{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px}
.gauge-num .n{font-family:'Bricolage Grotesque'; font-weight:800; font-size:82px; line-height:1; color:var(--accent); letter-spacing:-.04em; transition:color .5s}
.gauge-num .of{font-family:'IBM Plex Mono'; font-size:13px; color:var(--dim); margin-top:-2px}
.gauge-num .st{font-family:'Bricolage Grotesque'; font-weight:800; font-size:16px; letter-spacing:.14em; color:var(--accent); margin-top:8px; transition:color .5s}
.gauge-scale{display:flex; justify-content:space-between; max-width:240px; margin:2px auto 0; font-family:'IBM Plex Mono'; font-size:11px; color:var(--dim)}
.gauge-wordmark{display:flex; align-items:center; justify-content:center; gap:7px; margin:16px auto 0; font-family:'IBM Plex Mono'; font-weight:600; font-size:13px; letter-spacing:.09em; color:var(--accent); text-decoration:none; position:relative; z-index:1; transition:color .5s,opacity .18s var(--ease)}
.gauge-wordmark:hover{opacity:.82}
.gauge-wordmark .dot{width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 9px var(--accent-glow); transition:background .5s,box-shadow .5s}
.headline{text-align:center; margin-top:18px; position:relative; z-index:1}
.headline .hl{font-family:'Bricolage Grotesque'; font-weight:800; font-size:clamp(20px,2.6vw,26px); color:var(--ink); letter-spacing:-.01em}
.headline .wd{font-size:15.5px; color:var(--muted); margin-top:8px; max-width:430px; margin-left:auto; margin-right:auto}
.headline .wd b{color:var(--ink); font-weight:600}
.updated{text-align:center; margin-top:14px; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.06em; color:var(--dim); position:relative; z-index:1}
.bands{display:flex; gap:8px; justify-content:center; margin-top:18px; flex-wrap:wrap; position:relative; z-index:1}
.band{display:inline-flex; align-items:center; gap:7px; font-size:11.5px; color:var(--muted); font-family:'IBM Plex Mono'}
.band .sw{width:10px;height:10px;border-radius:3px}

/* coach + gauge composition */
.gauge-hero{display:flex; align-items:center; justify-content:center; gap:clamp(8px,2.5vw,38px); max-width:1010px; margin:30px auto 0}
.gauge-hero .gauge-stage{margin:0; flex:0 1 560px}
.coach{position:relative; flex:0 0 auto; width:clamp(188px,22vw,300px); display:flex; flex-direction:column; align-items:center; padding-bottom:6px}
.coach-img{width:100%; height:auto; display:block; filter:drop-shadow(0 26px 44px rgba(0,0,0,.55)); animation:coachFloat 6.5s var(--ease) infinite}
@keyframes coachFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.coach-bubble{position:relative; align-self:flex-start; background:linear-gradient(180deg,#11212b,#0c171e); border:1px solid var(--accent,var(--green)); border-radius:16px 16px 16px 5px; padding:13px 17px; margin:0 0 16px 4px; font-size:14px; line-height:1.5; color:var(--ink); max-width:280px; box-shadow:0 18px 40px -18px rgba(0,0,0,.85); transition:border-color .5s}
.coach-bubble b{color:var(--accent,var(--green)); font-weight:700; transition:color .5s}
.coach-bubble::after{content:""; position:absolute; left:26px; bottom:-8px; width:15px; height:15px; background:#0c171e; border-right:1px solid var(--accent,var(--green)); border-bottom:1px solid var(--accent,var(--green)); transform:rotate(45deg); transition:border-color .5s}
@media(max-width:880px){
  .gauge-hero{flex-direction:column; gap:4px}
  .coach{order:-1; width:clamp(150px,42vw,208px)}
  .coach-bubble{font-size:13px; padding:11px 15px}
  .gauge-hero .gauge-stage{flex:1 1 auto; width:100%; max-width:520px}
}

/* ============================================================================
   GLOBAL CONTENT-PAGE LAYOUT FRAMEWORK — left-aligned editorial.
   ONE 900px reading band, centered in the page. Everything inside is LEFT
   aligned and shares a single left edge. Body/article text is capped at 700 for
   readability (extra space falls to the right). Nav + footer stay full width.
   Inspired by Stripe / Linear / Notion docs. Edit here to move every page.
   ============================================================================ */
:root{ --cp-band:900px; --cp-read:700px; --cp-rhythm:75px; }
@media(max-width:760px){ :root{ --cp-rhythm:48px; } }

.content-page{max-width:var(--cp-band); margin:0 auto; padding:0 26px; position:relative; z-index:1}
@media(max-width:640px){ .content-page{padding:0 22px} }

.cp-section{padding:var(--cp-rhythm) 0}

/* eyebrow — left, top of section */
.cp-eyebrow{display:flex; justify-content:flex-start; align-items:center; gap:11px; flex-wrap:wrap; margin:0 0 18px; text-align:left;
  font-family:'IBM Plex Mono',monospace; font-size:14px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); line-height:1.2}
.cp-eyebrow .num{color:var(--dim); font-weight:600}

/* headline — left, one scale */
.cp-headline{margin:0; text-align:left; max-width:840px; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; letter-spacing:-.025em; line-height:1.07; font-size:clamp(32px,4.2vw,48px)}
.cp-headline .gr{color:var(--accent)}
.cp-hero-headline{font-size:clamp(37px,4.9vw,56px)}

/* supporting text — left, reading width */
.cp-support{max-width:var(--cp-read); margin:20px 0 0; text-align:left; font-size:clamp(16.5px,1.3vw,18.5px); line-height:1.6; color:var(--muted)}
.cp-support b{color:var(--ink); font-weight:600}

.cp-content{margin-top:40px}

/* long-form — left, 700 */
.cp-read{max-width:var(--cp-read); margin:34px 0 0; text-align:left}
.cp-read > :first-child{margin-top:0}
.cp-read p{font-size:17px; line-height:1.75; color:var(--muted); margin:0 0 18px}
.cp-read p:last-child{margin-bottom:0}
.cp-read p b, .cp-read strong{color:var(--ink); font-weight:600}

/* lists — left, 700 */
.cp-list{max-width:var(--cp-read); margin:34px 0 0; list-style:none; text-align:left; display:flex; flex-direction:column; gap:15px}
.cp-list li{position:relative; padding-left:32px; font-size:16.5px; line-height:1.6; color:var(--muted)}
.cp-list li b{color:var(--ink); font-weight:600}
.cp-list li::before{content:""; position:absolute; left:0; top:7px; width:18px; height:18px; border-radius:50%; background:rgba(62,227,126,.14); box-shadow:inset 0 0 0 1px rgba(62,227,126,.4)}
.cp-list li::after{content:""; position:absolute; left:6px; top:11px; width:6px; height:10px; border-right:2px solid var(--green); border-bottom:2px solid var(--green); transform:rotate(40deg)}

/* card — full band, left */
.cp-card{margin:34px 0 0; text-align:left; background:linear-gradient(180deg,var(--card-2),var(--card)); border:1px solid var(--line-strong); border-radius:18px; padding:28px 30px}
.cp-card.cp-accent{border-left:3px solid var(--green)}
.cp-card p{font-size:18px; line-height:1.65; color:var(--ink); margin:0; max-width:var(--cp-read)}
.cp-cards{margin:34px 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
@media(max-width:680px){ .cp-cards{grid-template-columns:1fr} }

/* actions + fine print — left */
.cp-actions{margin:30px 0 0; display:flex; gap:14px; justify-content:flex-start; flex-wrap:wrap}
.cp-fine{max-width:var(--cp-read); margin:16px 0 0; text-align:left; font-size:12.5px; color:var(--dim)}

/* FAQ — left */
.cp-faq{margin:34px 0 0; display:flex; flex-direction:column; gap:14px; text-align:left}
.cp-faq-item{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px 24px}
.cp-faq-item h3{font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:18px; letter-spacing:-.01em; color:var(--ink); margin:0 0 9px}
.cp-faq-item p{font-size:15.5px; line-height:1.65; color:var(--muted); margin:0; max-width:var(--cp-read)}

/* product visual — band width, left */
.cp-shot{position:relative; margin:34px 0 0}
.cp-shot{padding:26px 0}
.cp-shot img{position:relative; z-index:1; width:100%; height:auto; display:block; border-radius:14px; filter:drop-shadow(0 50px 90px rgba(0,0,0,.7))}
.cp-shot .halo{position:absolute; inset:-18% -12% -6% -12%; z-index:0; filter:blur(58px);
  background:
    radial-gradient(38% 46% at 26% 30%, rgba(62,227,126,.42), transparent 70%),
    radial-gradient(44% 54% at 76% 52%, rgba(21,179,91,.34), transparent 72%),
    radial-gradient(60% 56% at 52% 84%, rgba(62,227,126,.22), transparent 76%)}

/* signal cards — grid, band width */
.cp-sigs{margin:34px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media(max-width:780px){ .cp-sigs{grid-template-columns:1fr 1fr} }
@media(max-width:520px){ .cp-sigs{grid-template-columns:1fr} }
.cp-sig{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px; text-align:left; transition:border-color .25s, transform .25s var(--ease)}
.cp-sig:hover{transform:translateY(-3px); border-color:var(--cc,var(--green))}
.cp-sig .cp-sig-name{font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:18px; color:var(--ink); margin-bottom:3px}
.cp-sig .cp-sig-val{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--cc,var(--green))}
.cp-sig .cp-sig-desc{font-size:14px; color:var(--muted); line-height:1.55; margin-top:9px}

/* compare — 2-up, band width, left */
.cp-compare{margin:34px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; text-align:left}
@media(max-width:680px){ .cp-compare{grid-template-columns:1fr} }
.cp-compare .col{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px}
.cp-compare .col h3{font-size:16px; margin:0 0 14px; display:flex; align-items:center; gap:9px}
.cp-compare .col.yes h3{color:var(--green)} .cp-compare .col.no h3{color:var(--gold)}
.cp-compare .col ul{list-style:none; display:flex; flex-direction:column; gap:9px; margin:0; padding:0}
.cp-compare .col li{font-size:14.5px; color:var(--muted); padding-left:20px; position:relative; line-height:1.5}
.cp-compare .col.yes li::before{content:"\2713"; position:absolute; left:0; color:var(--green); font-weight:700}
.cp-compare .col.no li::before{content:"\2022"; position:absolute; left:2px; color:var(--gold); font-weight:700}

/* hero gauge composition — left aligned within the band */
.gauge-hero{justify-content:flex-start; align-items:center; gap:clamp(8px,2.5vw,34px); max-width:none; margin:36px 0 0}
@media(max-width:820px){ .gauge-hero{flex-direction:column; align-items:flex-start} }

/* ---- Mr. C coaching moment — reusable graphic block (mascot + speech bubble) ---- */
.cp-coach{margin:36px 0 0; display:flex; align-items:center; gap:clamp(16px,3vw,32px); max-width:var(--cp-band)}
.cp-coach .cp-coach-mascot{width:clamp(120px,15vw,170px); height:auto; flex:0 0 auto; filter:drop-shadow(0 26px 44px rgba(0,0,0,.55)); animation:coachFloat 6.5s var(--ease) infinite}
.cp-coach .cp-coach-say{position:relative; background:linear-gradient(180deg,#11212b,#0c171e); border:1px solid rgba(62,227,126,.5); border-radius:18px; padding:20px 24px; font-size:clamp(16px,1.4vw,18px); line-height:1.6; color:var(--ink); max-width:490px}
.cp-coach .cp-coach-say b{color:var(--green); font-weight:700}
.cp-coach .cp-coach-say::after{content:""; position:absolute; left:-8px; top:50%; transform:translateY(-50%) rotate(45deg); width:15px; height:15px; background:#11212b; border-left:1px solid rgba(62,227,126,.5); border-bottom:1px solid rgba(62,227,126,.5)}
@media(max-width:600px){ .cp-coach{flex-direction:column; align-items:flex-start; gap:14px} .cp-coach .cp-coach-say::after{display:none} .cp-coach .cp-coach-mascot{width:140px} }

/* ============================================================================
   DYNAMIC LAYER — match the homepage's alive feel. The flow breathes, device
   shots float, cards lift on hover. All respect prefers-reduced-motion.
   ============================================================================ */
@keyframes cpFlow{0%,100%{transform:translate3d(0,0,0) scale(1); opacity:.92} 50%{transform:translate3d(2.5%,-2.5%,0) scale(1.07); opacity:1}}
.cp-shot .halo{animation:cpFlow 9s ease-in-out infinite}
@keyframes cpFloatY{0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)}}
.cp-shot img{animation:cpFloatY 7.5s var(--ease) infinite}
.cp-card{transition:transform .25s var(--ease), border-color .25s}
.cp-card:hover{transform:translateY(-3px); border-color:var(--line-strong)}
.cp-faq-item{transition:transform .2s var(--ease), border-color .2s}
.cp-faq-item:hover{transform:translateY(-2px); border-color:rgba(62,227,126,.32)}
.cp-compare .col{transition:transform .25s var(--ease), border-color .25s}
.cp-compare .col:hover{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){ .cp-shot .halo, .cp-shot img, .cp-coach .cp-coach-mascot{animation:none !important} }
