
:root{--ink:#17141f;--muted:#625c6f;--paper:#fffdf8;--panel:#f4f0ff;--purple:#6b38e8;--purple2:#3c1d91;--gold:#ffca3a;--line:#e5deef;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.72}
a{color:var(--purple2);text-decoration-thickness:1px;text-underline-offset:3px}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,253,248,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav{min-height:72px;display:flex;align-items:center;gap:22px}.brand{font-weight:900;letter-spacing:-.04em;text-decoration:none;color:var(--ink);font-size:1.25rem}.brand span{color:var(--purple)}
.navlinks{display:flex;gap:15px;margin-left:auto;align-items:center}.navlinks a{text-decoration:none;font-weight:750;font-size:.9rem}
.btn{display:inline-block;background:var(--purple);color:#fff!important;text-decoration:none!important;font-weight:850;padding:12px 17px;border-radius:10px;box-shadow:0 5px 0 var(--purple2)}.btn:hover{transform:translateY(1px);box-shadow:0 4px 0 var(--purple2)}.btn.gold{background:var(--gold);color:var(--ink)!important;box-shadow:0 5px 0 #a77a00}
.hero{padding:70px 0 50px;background:radial-gradient(circle at 80% 20%,#eee5ff 0,transparent 35%),linear-gradient(180deg,#fffdf8,#faf7ff)}
.eyebrow,.badge{display:inline-block;font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem;color:var(--purple)}.eyebrow{background:#eee7ff;padding:7px 10px;border-radius:999px}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,5.6vw,4.9rem);max-width:940px;margin:.25em 0}h2{font-size:clamp(1.65rem,3vw,2.35rem);margin-top:2.15em}h3{font-size:1.22rem}.lede{font-size:1.18rem;color:var(--muted);max-width:790px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.diagram{background:var(--ink);color:white;padding:27px;border-radius:22px;box-shadow:14px 14px 0 #e8ddff}.diagram .step{border:1px solid #514a60;border-radius:12px;padding:11px 14px;margin:9px 0}.diagram b{color:var(--gold)}
.breadcrumbs{font-size:.84rem;color:var(--muted);padding-top:20px}.breadcrumbs a{color:inherit}
main.article{display:grid;grid-template-columns:minmax(0,790px) 292px;gap:46px;padding:45px 0 80px}.content p{color:#373141}.content li{margin:.5em 0}
.sidebar{align-self:start;position:sticky;top:94px;display:grid;gap:16px}.toc,.side-cta,.cta{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.toc h3,.side-cta h3{margin-top:0}.toc a{display:block;margin:7px 0;text-decoration:none;font-size:.9rem}.side-cta{background:var(--panel)}.side-cta p{font-size:.91rem;color:var(--muted)}
.cta{background:var(--ink);color:#fff;margin:34px 0;border:none}.cta p{color:#e6dfed}.disclosure{font-size:.84rem;color:var(--muted);border-left:4px solid var(--gold);padding-left:13px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.card h3{margin:.25em 0}.card a{font-weight:800}.card p{font-size:.92rem;color:var(--muted)}
.footer{background:var(--ink);color:#ddd5e8;padding:44px 0}.footer a{color:white}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.source-note{font-size:.9rem;background:#f7f4fb;border-radius:12px;padding:14px 16px;color:var(--muted)}.cluster{padding:48px 0 78px}.mobile-cta{display:none}
@media(max-width:900px){.navlinks a:not(.header-cta){display:none}.hero-grid,main.article,.footer-grid{grid-template-columns:1fr}.sidebar{position:static;order:-1}.cards{grid-template-columns:1fr 1fr}.mobile-cta{display:block;position:fixed;z-index:25;left:14px;right:14px;bottom:14px;text-align:center}.footer{padding-bottom:90px}}
@media(max-width:620px){.cards{grid-template-columns:1fr}.hero{padding-top:46px}h1{font-size:2.65rem}.nav{gap:10px}.brand{font-size:1.08rem}.header-cta{font-size:.82rem;padding:10px 12px}}
