:root {
  color-scheme: dark;
  --bg-base:#0a0a0b; --bg-elevated:#121214; --bg-overlay:#1a1a1d;
  --border:#26262a; --border-strong:#35353b;
  --text-primary:#ededef; --text-secondary:#a1a1a8; --text-muted:#7f7f88;
  --accent:#c8102e; --accent-hover:#e11d38; --accent-soft:rgba(200,16,46,.1);
  --gold:#c9a227; --danger:#ef4444; --warning:#f59e0b; --info:#3b82f6; --success:#22c55e; --rp:#a855f7;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px;
  --font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --shadow:0 14px 40px rgba(0,0,0,.22);
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) { color-scheme:light; --bg-base:#f7f7f8; --bg-elevated:#fff; --bg-overlay:#eeeef0; --border:#dddde1; --border-strong:#c6c6cc; --text-primary:#17171a; --text-secondary:#55555e; --text-muted:#6a6a73; --accent-soft:rgba(200,16,46,.08); --shadow:0 14px 40px rgba(20,20,30,.08) }
}
:root[data-theme="light"] { color-scheme:light; --bg-base:#f7f7f8; --bg-elevated:#fff; --bg-overlay:#eeeef0; --border:#dddde1; --border-strong:#c6c6cc; --text-primary:#17171a; --text-secondary:#55555e; --text-muted:#6a6a73; --accent-soft:rgba(200,16,46,.08); --shadow:0 14px 40px rgba(20,20,30,.08) }
:root[data-theme="dark"] { color-scheme:dark }
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; background:var(--bg-base); color:var(--text-primary); font:400 16px/1.7 var(--font-body); overflow-x:hidden }
a { color:inherit; text-decoration:none }
button,input { font:inherit }
button,a { -webkit-tap-highlight-color:transparent }
:focus-visible { outline:2px solid var(--accent-hover); outline-offset:3px }
h1,h2,h3 { font-family:var(--font-display); line-height:1.18; letter-spacing:-.025em }
h1 { font-size:clamp(2.25rem,5vw,4.25rem); margin:.3em 0 }
h2 { font-size:clamp(1.4rem,2.2vw,1.8rem); margin:2em 0 .65em }
h3 { font-size:1.2rem; margin:1.7em 0 .5em }
.icon-button { width:44px; height:44px; border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-primary); background:var(--bg-elevated); cursor:pointer }
.eyebrow { color:var(--accent-hover); text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; font-weight:750 }
.skip-link { position:fixed; left:1rem; top:1rem; z-index:100; padding:.6rem 1rem; background:var(--accent); color:#fff; transform:translateY(-180%) }
.skip-link:focus { transform:none }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important } }
