:root,[data-theme=light]{--bg-base:#f4ede1;--bg-surface:#fdfaf2;--bg-sunken:#e9e0d0;--bg-elevated:#fff;--text-primary:#1a2e20;--text-secondary:#3d5a45;--text-muted:#5e7d65;--text-subtle:#8a9e8f;--text-on-brand:#fff;--brand:#2a5a3a;--brand-hover:#1e4a2e;--brand-light:#e6f2ea;--brand-muted:rgba(42,90,58,0.08);--accent:#a67c3a;--accent-hover:#8d6830;--accent-light:#faf3e6;--warning:#c26b49;--warning-bg:#fef4ef;--warning-border:#e8a080;--warning-text:#7a3a20;--border:#ddd5c7;--border-strong:#c5baa8;--shadow-xs:0 1px 2px rgba(30,40,30,0.06);--shadow-sm:0 2px 8px rgba(30,40,30,0.08);--shadow-md:0 4px 16px rgba(30,40,30,0.10);--shadow-lg:0 8px 32px rgba(30,40,30,0.12);--shadow-xl:0 16px 48px rgba(30,40,30,0.14);--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:999px;--font-display:"Fraunces",Georgia,serif;--font-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:clamp(1.75rem,2.5vw,2.25rem);--text-4xl:clamp(2.25rem,4vw,3.25rem);--text-display:clamp(2.75rem,5vw,4.25rem);--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.7}html{color-scheme:light dark}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-normal)}[data-theme=dark]{--bg-base:#0f1912;--bg-surface:#1a2e22;--bg-sunken:#0b1310;--bg-elevated:#223a2c;--text-primary:#e4ede6;--text-secondary:#b0c8b5;--text-muted:#7fa088;--text-subtle:#5a7a62;--text-on-brand:#fff;--brand:#3ea868;--brand-hover:#35905a;--brand-light:rgba(62,168,104,0.12);--brand-muted:rgba(62,168,104,0.06);--accent:#d4a55a;--accent-hover:#c09248;--accent-light:rgba(212,165,90,0.12);--warning:#d4834a;--warning-bg:#2a1a0e;--warning-border:#a05a28;--warning-text:#e8a870;--border:rgba(140,180,150,0.18);--border-strong:rgba(140,180,150,0.32);--shadow-xs:0 1px 2px rgba(0,0,0,0.25);--shadow-sm:0 2px 8px rgba(0,0,0,0.30);--shadow-md:0 4px 16px rgba(0,0,0,0.35);--shadow-lg:0 8px 32px rgba(0,0,0,0.40);--shadow-xl:0 16px 48px rgba(0,0,0,0.50)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);font-size:16px;line-height:1.6;scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{color:var(--text-primary);background:var(--bg-base)}body{min-width:320px}a{color:var(--brand);text-decoration:none;transition:color .15s ease}a:hover{color:var(--brand-hover);text-decoration:underline}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.15;color:var(--text-primary);font-weight:600}::selection{background:var(--brand);color:#fff}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page-shell{max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-6) 0}.section{padding:var(--space-16) 0}.section+.section{border-top:1px solid var(--border)}.section-header{margin-bottom:var(--space-10)}.section-header .eyebrow{margin-bottom:var(--space-3)}.section-header h2{font-size:var(--text-4xl);line-height:1.1;max-width:20ch}.section-copy{font-size:var(--text-lg);color:var(--text-muted);line-height:1.6;max-width:55ch;margin-top:var(--space-4)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6)}.grid-2,.grid-3{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:var(--space-6)}.content-narrow{max-width:720px}@media (max-width:960px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.page-shell{padding:0 var(--space-4)}.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:var(--space-10) 0}.section-header h2{font-size:var(--text-3xl)}}