/* ============================================================
   REBEL — Editorial Broadsheet · THEME-AWARE (light + dark)
   Default = dark deck theme. html[data-theme="light"] = light.
   Playbook / Results / CTA stay dark accent bands in both.
   ============================================================ */

:root{
  --red:#DB0052; --pink:#DF1484; --grad:linear-gradient(135deg,var(--red),var(--pink));
  /* DARK (default) */
  --bg:#0D0D0D; --bg2:#141414; --bg3:#0a0a0a;
  --fg:#ffffff;
  --tx:rgba(255,255,255,.62); --tx-dim:rgba(255,255,255,.45); --tx-faint:rgba(255,255,255,.30);
  --edge:rgba(255,255,255,.09);
  --grid-line:rgba(255,255,255,.022);
  --chip:rgba(255,255,255,.05); --chip-tx:rgba(255,255,255,.72);
  --field-bg:rgba(255,255,255,.04); --field-bd:rgba(255,255,255,.14);
  --bar-muted:rgba(255,255,255,.10);
  --fig-bg:rgba(255,255,255,.02); --fig-hatch:rgba(255,255,255,.03);
  --hover:rgba(255,255,255,.04);
  --btn-fg:#fff; --ghost-bd:rgba(255,255,255,.28);
  --stamp-bg:#fff; --stamp-fg:#0D0D0D;
  --glow:.22;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --maxw:1400px; --gutter:clamp(22px,4vw,56px);
}
html[data-theme="light"]{
  --bg:#FFFFFF; --bg2:#F8FBFD; --bg3:#0a0a0a;
  --fg:#0D0D0D;
  --tx:#4B5563; --tx-dim:#6B7280; --tx-faint:#9CA3AF;
  --edge:rgba(13,13,13,.09);
  --grid-line:rgba(13,13,13,.026);
  --chip:rgba(13,13,13,.045); --chip-tx:#4B5563;
  --field-bg:#FFFFFF; --field-bd:#E5E7EB;
  --bar-muted:#F2F4F7;
  --fig-bg:#F2F4F7; --fig-hatch:rgba(13,13,13,.035);
  --hover:#F2F4F7;
  --btn-fg:#0D0D0D; --ghost-bd:rgba(13,13,13,.22);
  --stamp-bg:#0D0D0D; --stamp-fg:#fff;
  --glow:.08;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg);}
body{font-family:'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--tx);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;transition:background .3s,color .3s;}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:66px 66px;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

/* type primitives */
.mono{font-family:var(--mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2;}
.sec{padding:clamp(72px,10vw,132px) 0;position:relative;}
.sec.tight{padding:clamp(44px,6vw,76px) 0;}
.sec.divide{border-top:1px solid var(--edge);}
/* forced-dark accent sections (dark in BOTH themes) */
.sec.dark,.sec.panel,.cta{
  --bg:#0D0D0D; --bg2:#141414; --fg:#fff;
  --tx:rgba(255,255,255,.62); --tx-dim:rgba(255,255,255,.45); --tx-faint:rgba(255,255,255,.30);
  --edge:rgba(255,255,255,.09); --bar-muted:rgba(255,255,255,.10); --hover:rgba(255,255,255,.04);
  --chip:rgba(255,255,255,.05); --chip-tx:rgba(255,255,255,.72); --ghost-bd:rgba(255,255,255,.28); --btn-fg:#fff;
  background:var(--bg);color:var(--tx);
}
.sec.panel{background:var(--bg2);}
.cta{background:var(--bg3);}

/* section label */
.seclabel{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:clamp(34px,5vw,60px);}
.seclabel .l{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-dim);}
.seclabel .l b{color:var(--red);font-weight:600;}
.seclabel .r{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-faint);}
.sec.dark .seclabel .l b,.sec.panel .seclabel .l b{color:var(--pink);}

/* glows */
.glow-r{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 52% 60% at 82% 42%,rgba(219,0,82,var(--glow)),transparent 68%);}
.sec.dark .glow-r,.sec.panel .glow-r{background:radial-gradient(ellipse 52% 60% at 82% 42%,rgba(219,0,82,.22),rgba(223,20,132,.06) 46%,transparent 72%);}
.glow-c{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 50% 55%,rgba(219,0,82,.20),rgba(223,20,132,.06) 48%,transparent 72%);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:15px 24px;border:1px solid transparent;cursor:pointer;transition:background .18s,color .18s,transform .18s,border-color .18s;background:transparent;color:var(--btn-fg);}
.btn .arr{transition:transform .2s ease;}
.btn:hover .arr{transform:translateX(5px);}
.btn-grad{background:var(--grad);color:#fff;box-shadow:0 14px 34px -18px rgba(219,0,82,.6);}
.btn-grad:hover{transform:translateY(-2px);}
.btn-ghost{border-color:var(--ghost-bd);color:var(--fg);}
.btn-ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg);}

/* chips */
.tagset{display:flex;flex-wrap:wrap;gap:9px;}
.ktag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;color:var(--chip-tx);background:var(--chip);border-radius:2px;white-space:nowrap;}
.ktag.fill{background:var(--grad);color:#fff;}
.ktag.red{color:var(--red);background:rgba(219,0,82,.10);}
html[data-theme="light"] .ktag.red{color:var(--red);} .sec.dark .ktag.red,.ktag.red{color:var(--pink);}

/* logo */
.logo{display:inline-block;width:96px;height:26px;background:currentColor;-webkit-mask:url(logo.svg) left center/contain no-repeat;mask:url(logo.svg) left center/contain no-repeat;color:var(--fg);}
.logo.lg{width:190px;height:52px;}

/* masthead */
.topstrip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-dim);}
.topstrip .mid{color:var(--fg);}
.masthead{position:sticky;top:0;z-index:200;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--edge);}
.masthead-row{display:flex;align-items:center;justify-content:space-between;height:92px;gap:18px;}
.mnav{display:flex;gap:26px;list-style:none;align-items:center;}
.mnav a{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-dim);transition:color .15s;}
.mnav a:hover,.mnav a.active{color:var(--red);}
.sec.dark .mnav a:hover,.mnav a:hover{color:var(--red);}
.mnav-cta{display:flex;align-items:center;gap:14px;}
/* theme toggle */
.themetoggle{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);border:1px solid var(--edge);background:transparent;padding:9px 12px;border-radius:30px;cursor:pointer;transition:border-color .18s,color .18s;}
.themetoggle:hover{border-color:var(--red);color:var(--red);}
.themetoggle .ic{width:13px;height:13px;display:block;}
.themetoggle .lbl-d,.themetoggle .lbl-l{display:none;}
html[data-theme="dark"] .themetoggle .lbl-l{display:inline;}
html[data-theme="light"] .themetoggle .lbl-d{display:inline;}
html:not([data-theme="light"]) .themetoggle .lbl-l{display:inline;}
.mtoggle{display:none;background:none;border:0;width:40px;height:38px;cursor:pointer;align-items:center;justify-content:center;}
.mtoggle span,.mtoggle span::before,.mtoggle span::after{content:"";display:block;width:20px;height:2px;background:var(--fg);position:relative;}
.mtoggle span::before{position:absolute;top:-6px;}.mtoggle span::after{position:absolute;top:6px;}

/* ---- HERO (home) ---- */
.hero-sec{overflow:hidden;padding-bottom:0;}
.hero-sec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad);z-index:1;}
.hero{display:grid;grid-template-columns:1fr;gap:clamp(36px,6vw,90px);align-items:center;}
.hero h1{font-weight:800;text-transform:uppercase;letter-spacing:-.035em;line-height:.86;font-size:clamp(48px,8.6vw,134px);color:var(--fg);}
.hero .sub{font-size:clamp(15px,1.4vw,18px);color:var(--tx);max-width:52ch;margin-top:28px;line-height:1.6;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.hero-float{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px;}
.figure{display:flex;flex-direction:column;}
.figure .ftag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:16px;}
.figbox{min-height:300px;position:relative;overflow:hidden;border-radius:3px;background:repeating-linear-gradient(135deg,transparent 0 15px,var(--fig-hatch) 15px 16px),var(--fig-bg);}
.figbox::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 68% 34%,rgba(219,0,82,.30),transparent 60%);}
.figbox .stamp{position:absolute;left:14px;bottom:14px;background:var(--stamp-bg);color:var(--stamp-fg);font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:7px 11px;border-radius:2px;}
.figcap{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--tx-dim);margin-top:16px;line-height:1.6;}
.figcap b{color:var(--fg);font-weight:600;}

/* page hero (inner) */
.phero{position:relative;overflow:hidden;padding:clamp(64px,9vw,118px) 0 clamp(54px,7vw,84px);}
.phero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad);z-index:1;}
.phero .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:12px;}
.phero .eyebrow::before{content:"";width:26px;height:2px;background:var(--grad);}
.phero h1{font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(40px,6.4vw,92px);color:var(--fg);margin-top:20px;}
.phero .sub{font-size:clamp(15px,1.4vw,18px);color:var(--tx);max-width:56ch;margin-top:22px;line-height:1.6;}
.phero .hero-actions{margin-top:30px;}

/* ledger / results */
.ledger,.results{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,56px);}
.ledger{margin-top:clamp(56px,7vw,84px);padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--edge);}
.results{margin-top:clamp(44px,5vw,68px);}
.ledger .n{font-weight:800;font-size:clamp(34px,3.8vw,52px);letter-spacing:-.02em;line-height:1;}
.results .n{font-weight:800;font-size:clamp(40px,4.6vw,64px);letter-spacing:-.02em;line-height:1;}
.ledger .k,.results .k{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-dim);margin-top:14px;line-height:1.5;}

/* marquee */
.marquee{overflow:hidden;background:#0D0D0D;position:relative;z-index:2;}
.marquee .track{display:inline-flex;white-space:nowrap;will-change:transform;animation:scrollx 40s linear infinite;}
.marquee .track span{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:15px 0;display:inline-flex;align-items:center;}
.marquee .track span::after{content:"\002022";color:var(--pink);margin:0 30px;}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none;}}

/* sandbox + counter */
.sandbox{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center;}
.sandbox .label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-dim);}
.sandbox .label .red{color:var(--red);}
.counter{font-weight:800;font-size:clamp(46px,7vw,96px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--fg);}
.counter .cur{color:var(--pink);}

/* charts */
.chartgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(34px,5vw,72px);margin-top:clamp(48px,6vw,72px);}
.ch .ch-h{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:18px;color:var(--fg);}
.ch .ch-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--tx-dim);margin:8px 0 26px;text-transform:uppercase;}
.ch .bars{display:flex;align-items:flex-end;gap:18px;height:150px;}
.ch .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;height:100%;}
.ch .col{width:100%;border-radius:3px 3px 0 0;}
.ch .col.muted{background:var(--bar-muted);}
.ch .col.grad{background:var(--grad);}
.ch .bv{font-weight:800;font-size:15px;color:var(--fg);}
.ch .bl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-dim);}

/* section headline + two-col */
.sec-head{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:clamp(30px,5vw,70px);}
.sec-head h2{font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(34px,5.6vw,82px);color:var(--fg);}
.sec-head .lead{font-size:16px;color:var(--tx);line-height:1.75;max-width:46ch;}
.two{display:grid;grid-template-columns:minmax(0,1fr) 1.25fr;gap:clamp(36px,6vw,84px);align-items:start;}
.two.center{align-items:center;}
.two h2{font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:.95;font-size:clamp(28px,3.6vw,46px);color:var(--fg);}
.two .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);}
.two .divider{width:42px;height:3px;background:var(--grad);margin:18px 0;}
.two .lead{font-size:16.5px;color:var(--tx);line-height:1.8;}
.two .lead+.lead{margin-top:20px;}

/* checklist */
.checks{display:grid;gap:14px;margin-top:8px;}
.check{display:flex;gap:13px;align-items:flex-start;}
.check .ic{width:22px;height:22px;border-radius:50%;background:var(--grad);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.check .ic svg{width:11px;height:11px;}
.check .tx{font-size:15px;color:var(--tx);line-height:1.55;}
.check .tx strong{color:var(--fg);font-weight:700;}

/* capability grid (implied, no boxes) */
.capgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(40px,5vw,60px);}
.cap{padding:26px 24px;border:1px solid var(--edge);border-radius:0;background:transparent;transition:border-color .18s;}
.cap:hover{border-color:var(--pink);}
.cap .ic{color:var(--pink);margin-bottom:16px;}
.cap .ic svg{width:26px;height:26px;display:block;}
.cap .ic::after{content:"";display:block;width:26px;height:1px;background:var(--edge);margin-top:14px;}
.cap h4{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:16px;color:var(--fg);margin-bottom:9px;}
.cap p{font-size:13.5px;color:var(--tx-dim);line-height:1.6;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(40px,5vw,60px);}
.step{padding:28px 24px 24px;border:1px solid var(--edge);border-radius:0;background:transparent;position:relative;overflow:hidden;transition:border-color .18s;}
.step .stepk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);}
.step::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.step:hover{border-color:var(--red);transform:translateY(-4px);}
.step .num{font-weight:800;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.02em;line-height:1;}
.step h4{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:15px;color:var(--fg);margin:14px 0 8px;}
.step p{font-size:13.5px;color:var(--tx-dim);line-height:1.6;}

/* playbook list */
.list{margin-top:clamp(40px,5vw,64px);}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,56px);align-items:baseline;padding:clamp(26px,3vw,38px) 0;border-top:1px solid var(--edge);}
.row:first-child{border-top:0;}
.row .no{font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;color:var(--tx-faint);font-variant-numeric:tabular-nums;}
.row .mid h4{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(18px,2vw,27px);color:var(--fg);}
.row .mid p{font-size:14.5px;color:var(--tx-dim);margin-top:9px;max-width:72ch;line-height:1.6;}
.row .state{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);white-space:nowrap;align-self:center;}

/* accordion */
.acc{margin-top:clamp(40px,5vw,64px);}
.acc details{border-top:1px solid var(--edge);}
.acc details:last-child{border-bottom:1px solid var(--edge);}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:clamp(18px,4vw,48px);align-items:center;padding:clamp(26px,3.4vw,42px) var(--gutter);margin:0 calc(var(--gutter)*-1);transition:background .2s,color .2s;border-radius:3px;}
.acc summary::-webkit-details-marker{display:none;}
.acc summary:hover{background:var(--hover);}
.acc summary:hover .s-no,.acc summary:hover .s-arrow{color:var(--pink);}
.acc summary:hover .s-arrow{transform:translateX(6px);}
.acc .s-no{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--tx-faint);}
.acc .s-title{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(28px,4.2vw,60px);line-height:1;color:var(--fg);}
.acc .s-arrow{font-size:26px;color:var(--tx-faint);transition:transform .25s,color .2s;}
.acc details[open] summary{background:var(--hover);}
.acc details[open] .s-no,.acc details[open] .s-arrow{color:var(--pink);}
.acc details[open] .s-arrow{transform:rotate(90deg);}
.acc .panel{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(20px,5vw,70px);padding:clamp(28px,3.4vw,46px) 0 clamp(34px,4vw,56px);}
.acc .panel .meta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);}
.acc .panel p{font-size:clamp(16px,1.5vw,20px);color:var(--tx);line-height:1.55;}
.acc .panel .more{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}
.acc .panel .more .arr{transition:transform .2s;}
.acc .panel .more:hover .arr{transform:translateX(5px);}

/* case index */
.caseidx{margin-top:clamp(40px,5vw,64px);}
.caserow{display:grid;grid-template-columns:auto 1.3fr 2fr auto;gap:clamp(18px,4vw,52px);align-items:center;padding:clamp(26px,3vw,38px) 0;border-top:1px solid var(--edge);transition:padding-left .25s ease;}
.caserow:last-child{border-bottom:1px solid var(--edge);}
.caserow:hover{padding-left:14px;}
.caserow .fig{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--tx-faint);text-transform:uppercase;}
.caserow .nm{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(20px,2.6vw,34px);color:var(--fg);}
.caserow .ds{font-size:14px;color:var(--tx-dim);line-height:1.55;}
.caserow .big{font-weight:800;font-size:clamp(28px,3.4vw,46px);letter-spacing:-.02em;white-space:nowrap;text-align:right;}

/* pull quote */
.pull{display:grid;grid-template-columns:1fr 1.45fr;gap:clamp(40px,7vw,100px);align-items:start;}
.pull blockquote{font-weight:500;font-size:clamp(24px,3.1vw,44px);line-height:1.16;letter-spacing:-.02em;color:var(--fg);}
.pull .mark{font-family:Georgia,serif;font-size:66px;color:var(--red);line-height:.3;display:block;margin-bottom:24px;}
.pull .by{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-dim);margin-top:30px;}
.pull .by b{color:var(--fg);}
.logostrip{display:flex;flex-wrap:wrap;gap:18px 36px;align-items:center;margin-top:28px;}
.logostrip .wm{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:18px;color:var(--fg);opacity:.38;}
.logostrip .wm.serif{font-family:Georgia,serif;font-style:italic;font-weight:400;text-transform:none;}
.dbadge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx);}
.dbadge .dot{width:8px;height:8px;background:var(--grad);border-radius:50%;}

/* posts grid (blog) */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,46px);margin-top:clamp(44px,5vw,64px);}
.post{display:flex;flex-direction:column;}
.post .thumb{aspect-ratio:16/10;border-radius:4px;background:linear-gradient(135deg,rgba(219,0,82,.20),rgba(223,20,132,.06)),var(--fig-bg);position:relative;overflow:hidden;}
.post .thumb::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:26px 26px;}
.post .meta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-top:18px;}
.post h3{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:19px;color:var(--fg);margin:12px 0 10px;line-height:1.12;}
.post p{font-size:14px;color:var(--tx-dim);line-height:1.6;}
.post .more{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);display:inline-flex;gap:7px;}
.post .more .arr{transition:transform .2s;}.post:hover .more .arr{transform:translateX(4px);}

/* form */
.form{display:grid;gap:18px;}
.field{display:grid;gap:7px;}
.field label{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--tx-dim);text-transform:uppercase;}
.field input,.field textarea,.field select{font-family:inherit;font-size:15px;color:var(--fg);background:var(--field-bg);border:1px solid var(--field-bd);border-radius:4px;padding:13px 15px;transition:border-color .18s,box-shadow .18s;}
.field input::placeholder,.field textarea::placeholder{color:var(--tx-faint);}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(219,0,82,.14);}
.field textarea{resize:vertical;min-height:130px;}
.field.row2{grid-template-columns:1fr 1fr;display:grid;gap:18px;}

/* prose (legal) */
.prose{max-width:760px;}
.prose h2{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:23px;color:var(--fg);margin:40px 0 12px;}
.prose h2:first-child{margin-top:0;}
.prose p{font-size:15px;color:var(--tx);line-height:1.75;margin-bottom:14px;}
.prose ul{margin:0 0 14px 20px;}
.prose li{font-size:15px;color:var(--tx);line-height:1.7;margin-bottom:7px;}
.prose a{color:var(--red);}

/* cta + footer */
.cta{text-align:center;padding:clamp(72px,11vw,150px) 0;overflow:hidden;}
.cta h2{font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.88;font-size:clamp(44px,9vw,120px);color:#fff;}
.cta p{color:rgba(255,255,255,.55);font-size:16px;max-width:46ch;margin:24px auto 0;line-height:1.6;}
.cta .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px;}
.foot{background:var(--bg);border-top:1px solid var(--edge);padding:clamp(56px,7vw,80px) 0 36px;position:relative;z-index:2;}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(32px,5vw,64px);}
.foot p{font-size:13.5px;color:var(--tx-dim);margin-top:18px;line-height:1.6;max-width:34ch;}
.foot h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-faint);margin-bottom:18px;}
.foot a.fl{display:block;font-size:14px;color:var(--fg);margin-bottom:11px;}
.foot a.fl:hover{color:var(--red);}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:clamp(44px,5vw,64px);padding-top:24px;border-top:1px solid var(--edge);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-faint);}
.foot-base a:hover{color:var(--red);}
.note{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-faint);margin-top:clamp(34px,4vw,48px);}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}}

/* responsive */
@media (max-width:1000px){
  .mnav{display:none;}
  .mnav-cta .btn-grad{display:none;}
  .mtoggle{display:flex;}
  .masthead.open .mnav{display:flex;position:absolute;top:92px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--edge);}
  .masthead.open .mnav li{border-top:1px solid var(--edge);}
  .masthead.open .mnav a{display:block;padding:15px var(--gutter);}
  .hero{grid-template-columns:1fr;gap:48px;}
  .sandbox,.sec-head,.pull,.acc .panel,.two{grid-template-columns:1fr;}
  .ledger,.results,.capgrid,.steps{grid-template-columns:1fr 1fr;gap:34px 40px;}
  .chartgrid,.posts{grid-template-columns:1fr;gap:44px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .caserow{grid-template-columns:auto 1fr auto;}
  .caserow .ds{display:none;}
}
@media (max-width:560px){
  .ledger,.results,.capgrid,.steps,.foot-grid,.field.row2{grid-template-columns:1fr;}
  .row{grid-template-columns:auto 1fr;}
  .row .state{grid-column:2;justify-self:start;margin-top:12px;}
  .caserow{grid-template-columns:1fr auto;} .caserow .fig{display:none;}
  .acc .s-title{font-size:32px;}
  .counter{font-size:clamp(40px,14vw,64px);}
  .topstrip .side{display:none;}
}

/* ===== v2 (brief) components ===== */
.manifesto{display:flex;flex-direction:column;gap:clamp(12px,2vw,22px);margin-top:clamp(28px,4vw,48px);}
.manifesto p{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.1;font-size:clamp(24px,4.2vw,56px);color:var(--tx-faint);}
.manifesto p.on{color:var(--fg);}
.manifesto p.hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.valwords{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;}
.valwords span{font-weight:800;text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(24px,3.4vw,46px);color:var(--fg);}
.valwords .sep{color:var(--pink);font-weight:400;}
.vexp{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,40px) clamp(40px,5vw,72px);margin-top:clamp(40px,5vw,60px);}
.vexp .v{border-top:1px solid var(--edge);padding-top:18px;}
.vexp .v h4{font-weight:800;text-transform:uppercase;letter-spacing:-.01em;font-size:17px;color:var(--fg);margin-bottom:8px;}
.vexp .v p{font-size:13.5px;color:var(--tx-dim);line-height:1.6;}
.photoslot{position:relative;border-radius:4px;overflow:hidden;background:var(--bg2);aspect-ratio:4/5;border:1px solid var(--edge);}
.photoslot::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 28%,rgba(219,0,82,.12),transparent 66%);}
.photoslot .tag{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-dim);}
@media(max-width:760px){.vexp{grid-template-columns:1fr;}}
