/* theStacc report theme — tokens from stacc-growth-complete-deck */
:root{
  --brand:#4f39f6;--brand-bright:#6d5ef8;--brand-deep:#3a28b5;--brand-soft:#ede9fe;--brand-softer:#f5f3ff;
  --bg:#fff;--bg-cream:#f7f5f0;--bg-soft:#fafaf9;--bg-dark:#0a0a0f;
  --text-1:#0f0e10;--text-2:#3a3640;--text-3:#6b6573;--border:#ebe9e5;
  --emerald:#10b981;--amber:#d97706;--red:#dc2626;--cyan:#06b6d4;--pink:#ec4899;
  --font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"Geist",system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text-1);font:400 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
.wordmark{font:700 19px/1 var(--font-display);letter-spacing:-.01em;color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:0}
.wordmark i{display:inline-block;width:1.5px;height:1.05em;background:currentColor;opacity:.45;margin:0 3px 0 4px;font-style:normal}

/* top nav */
.sx-nav{position:sticky;top:0;z-index:40;background:rgb(255 255 255/.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}
.sx-nav .in{max-width:1240px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;gap:28px}
.sx-nav .wordmark{color:var(--text-1);margin-right:4px}
.sx-nav .client{font:500 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding-left:22px;border-left:1px solid var(--border);margin-right:auto}
.sx-nav a.tab{font:500 14px/1 var(--font-body);color:var(--text-3);text-decoration:none;padding:23px 0 21px;border-bottom:2px solid transparent}
.sx-nav a.tab:hover{color:var(--text-1)}
.sx-nav a.tab.on{color:var(--text-1);border-bottom-color:var(--brand)}
.sx-nav a.pdf{font:500 12px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--brand);padding:10px 14px;border-radius:999px;text-decoration:none}
.sx-nav a.pdf:hover{background:var(--brand-deep)}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#3a28b5 0%,#4f39f6 55%,#6d5ef8 100%)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 10%,rgb(240 171 252/.22),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgb(6 182 212/.14),transparent 60%)}
.hero .in{position:relative;max-width:1240px;margin:0 auto;padding:72px 28px 64px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
.hero .eyebrow{color:#dcd2ff}
.hero h1{font:700 clamp(2.4rem,5.4vw,4.4rem)/1.02 var(--font-display);letter-spacing:-.035em;margin:22px 0 18px;max-width:900px}
.grad{background:linear-gradient(90deg,#dcd2ff,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55;color:rgb(255 255 255/.86);max-width:760px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:8px;font:500 12px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid rgb(255 255 255/.32);background:rgb(255 255 255/.08);border-radius:999px;padding:9px 14px;color:#fff}
.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--emerald)}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:44px}
.kpi{background:rgb(255 255 255/.1);border:1px solid rgb(255 255 255/.22);border-radius:var(--radius);padding:18px 18px 16px}
.kpi .k{font:500 10.5px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#dcd2ff}
.kpi .v{font:700 34px/1 var(--font-display);letter-spacing:-.03em;margin:12px 0 6px}
.kpi .v small{font-size:15px;font-weight:500;opacity:.7;letter-spacing:0}
.kpi .d{font-size:12.5px;line-height:1.4;color:rgb(255 255 255/.72)}
.kpi.solid{background:#fff;color:var(--text-1);border-color:#fff}
.kpi.solid .k{color:var(--brand)}.kpi.solid .d{color:var(--text-3)}

/* layout */
.page{max-width:1240px;margin:0 auto;padding:56px 28px 40px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px}
.toc{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 110px);overflow:auto;padding-right:6px;font-size:13px}
.toc .t{font:500 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px}
.toc a{display:flex;gap:10px;color:var(--text-2);text-decoration:none;padding:5px 10px;border-radius:8px;line-height:1.35}
.toc a span{font-family:var(--font-mono);font-size:11px;color:var(--text-3);min-width:20px;padding-top:1px}
.toc a:hover{background:var(--brand-softer);color:var(--brand)}
.toc .grp{font:500 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin:18px 10px 6px}
.content{min-width:0;max-width:880px}

/* prose */
.content h2{font:700 clamp(1.6rem,2.6vw,2.15rem)/1.15 var(--font-display);letter-spacing:-.025em;margin:64px 0 18px;padding-top:28px;border-top:1px solid var(--border)}
.content h2:first-child{margin-top:0;border-top:0;padding-top:0}
.content h2 .n{display:block;font:500 12px/1 var(--font-mono);letter-spacing:.16em;color:var(--brand);margin-bottom:12px}
.content h3{font:600 1.22rem/1.3 var(--font-display);letter-spacing:-.01em;margin:34px 0 10px}
.content h4{font:600 1rem/1.3 var(--font-display);margin:24px 0 8px}
.content p{margin:0 0 14px;color:var(--text-2)}
.content p strong,.content li strong{color:var(--text-1)}
.content ul,.content ol{padding-left:22px;color:var(--text-2);margin:0 0 16px}
.content li{margin:6px 0}
.content li p{margin:0}
.content hr{display:none}
.content code{font:500 .82em/1.4 var(--font-mono);background:var(--brand-softer);color:var(--brand-deep);padding:2px 6px;border-radius:6px;word-break:break-word}
.content blockquote{margin:20px 0;padding:16px 20px;background:var(--brand-softer);border:1px solid var(--brand-soft);border-radius:var(--radius);color:var(--text-2)}
.content blockquote p{margin:0}
.content details{margin:18px 0;border:1px solid var(--border);border-radius:var(--radius);padding:0 18px;background:var(--bg-soft)}
.content summary{cursor:pointer;padding:16px 0;font:600 15px/1.3 var(--font-display);color:var(--brand)}
.table-wrap{margin:14px 0 22px;border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:#fff}
.content table{width:100%;border-collapse:collapse;font-size:14px}
.content th{text-align:left;font:500 10.5px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);background:var(--bg-soft);padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.content td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-2)}
.content tr:last-child td{border-bottom:0}
.content tr:hover td{background:var(--brand-softer)}
.lbl{display:inline-block;font:600 10.5px/1 var(--font-mono);letter-spacing:.12em;padding:5px 8px;border-radius:6px;margin-right:6px;vertical-align:1px}
.lbl.fact{background:#e7f8f1;color:#047857}.lbl.impact{background:#fff4e0;color:#b45309}
.lbl.rec{background:var(--brand-soft);color:var(--brand-deep)}.lbl.assume{background:#f1eff3;color:var(--text-3)}
.pri{display:inline-block;font:600 11px/1 var(--font-mono);padding:4px 7px;border-radius:999px;white-space:nowrap}
.pri.p0{background:#fde8e8;color:var(--red)}.pri.p1{background:#fff1e0;color:#c2410c}.pri.p2{background:#fef7d6;color:#a16207}.pri.p3{background:#eef0f3;color:#55606e}
.na{color:var(--text-3);font-style:italic}
.callout{margin:16px 0 22px;padding:18px 20px;border-radius:var(--radius);border:1px solid #fde7c2;background:#fffaf0}
.callout .h{font:600 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.callout.ok{border-color:#c9efdf;background:#f2fbf7}.callout.ok .h{color:#047857}
.callout.brand{border-color:var(--brand-soft);background:var(--brand-softer)}.callout.brand .h{color:var(--brand)}
.wrong{display:inline-block;background:#fff4e0;color:#9a3412;border-radius:6px;padding:2px 7px;font-size:13px}
.rank{font:700 15px/1 var(--font-display)}
.rank.top{color:#047857}

/* dark band */
.band{background:var(--bg-dark);color:#fff;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 90% at 90% 0%,rgb(79 57 246/.35),transparent 60%),radial-gradient(40% 80% at 0% 100%,rgb(6 182 212/.12),transparent 60%)}
.band .in{position:relative;max-width:1240px;margin:0 auto;padding:56px 28px}
.band .eyebrow{color:#a99bff}
.band h2{font:700 clamp(1.6rem,3vw,2.4rem)/1.12 var(--font-display);letter-spacing:-.025em;margin:16px 0 10px}
.band p{color:rgb(255 255 255/.72);max-width:760px;margin:0}
.wins{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.win{border:1px solid rgb(255 255 255/.14);background:rgb(255 255 255/.04);border-radius:var(--radius);padding:18px}
.win .v{font:700 40px/1 var(--font-display);letter-spacing:-.03em;color:#fff}
.win .v.b{color:#a99bff}
.win .q{font:500 12px/1.4 var(--font-mono);color:rgb(255 255 255/.8);margin-top:10px}
.win .d{font-size:12.5px;color:rgb(255 255 255/.55);margin-top:4px}

/* delta page parts */
.pill{display:inline-block;font:600 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;white-space:nowrap}
.pill.fixed{background:#e7f8f1;color:#047857}.pill.part{background:#fff4e0;color:#b45309}.pill.open{background:#fde8e8;color:var(--red)}.pill.pend{background:var(--brand-soft);color:var(--brand-deep)}
.old{color:var(--text-3)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 18px}
.card{border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff}
.card .k{font:500 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.card .big{font:700 52px/1 var(--font-display);letter-spacing:-.03em;margin:14px 0 8px}
.card .big small{font-size:18px;color:var(--text-3);font-weight:500}
.card p{font-size:14px;margin:0}
.card.brand{background:var(--brand);border-color:var(--brand);color:#fff}.card.brand .k{color:#dcd2ff}.card.brand p{color:rgb(255 255 255/.85)}.card.brand .big small{color:#dcd2ff}

footer.sx{border-top:1px solid var(--border);background:var(--bg-cream)}
footer.sx .in{max-width:1240px;margin:0 auto;padding:28px;display:flex;gap:24px;align-items:center;font-size:13px;color:var(--text-3)}
footer.sx .wordmark{color:var(--text-1);font-size:16px}

@media (max-width:1080px){.kpis{grid-template-columns:repeat(3,1fr)}.wins{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.page{grid-template-columns:minmax(0,1fr)!important;gap:0}.toc{display:none}.sx-nav .client{display:none}}
@media (max-width:640px){
  .sx-nav .in{gap:16px;padding:0 16px;overflow-x:auto}.sx-nav a.tab{font-size:13px;white-space:nowrap}
  .hero .in{padding:48px 18px 40px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi .v{font-size:28px}
  .page{padding:36px 18px}.band .in{padding:44px 18px}.wins{grid-template-columns:1fr 1fr}.win .v{font-size:32px}.duo{grid-template-columns:1fr}
  .content td,.content th{padding:9px 10px}
}
@media print{
  .sx-nav,.toc{display:none}.page{display:block;padding:24px 0}.hero .in{padding:40px 28px}
  .content h2{break-after:avoid}.table-wrap,.callout,.card,.win,.kpi{break-inside:avoid}
  .content tr:hover td{background:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.table-wrap.flush,.callout.flush{margin:0}
.content table.serp{min-width:940px;font-size:13.5px}
.content table.serp td,.content table.serp th{padding:10px 10px}
.content table.serp td:first-child{min-width:190px}
.content table.serp td code{white-space:nowrap;word-break:normal}
.content .duo{align-items:stretch}

@media print{.grad{background:none;-webkit-text-fill-color:#f0abfc;color:#f0abfc}}
.kpis.four{grid-template-columns:repeat(4,1fr)}
.hero h1{overflow-wrap:anywhere}
@media (max-width:640px){.kpis.four{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:2.1rem}}
