:root { --bg:#f8fafc; --text:#0f172a; --muted:#475569; --primary:#1d4ed8; --card:#fff; --border:#e2e8f0; color-scheme: light dark; font-family: system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
@media (prefers-color-scheme: dark) { :root { --bg:#0f172a; --text:#f1f5f9; --muted:#94a3b8; --primary:#3b82f6; --card:#1e293b; --border:#334155; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); line-height:1.55; }
.site-header,.site-footer,main { max-width:64rem; margin:0 auto; padding:1rem 1.25rem; }
.site-header { display:flex; align-items:center; justify-content:space-between; }
.brand { font-weight:700; color:inherit; text-decoration:none; }
.cta { display:inline-block; background:var(--primary); color:#fff; padding:.6rem 1.1rem; border-radius:10px; text-decoration:none; font-weight:600; min-height:44px; line-height:1.6; }
.cta:focus-visible { outline:3px solid #f59e0b; outline-offset:2px; }
.cta-lg { padding:.8rem 1.5rem; font-size:1.1rem; }
.hero { padding:3rem 0 2rem; }
.hero h1 { font-size:clamp(1.8rem,5vw,2.8rem); line-height:1.15; margin:0 0 1rem; max-width:20ch; }
.hero p { max-width:60ch; color:var(--muted); }
.note { font-size:.9rem; }
.features { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); padding-bottom:2rem; }
.features article { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:1.1rem; }
.features h2 { font-size:1.1rem; margin:0 0 .4rem; }
.features p { margin:0; color:var(--muted); }
.site-footer { color:var(--muted); font-size:.85rem; }
