:root{--ink:#1f2937;--muted:#4b5563;--bg:#ffffff;--soft:#eef6f4;--accent:#1d5c8a;--accent-dark:#164766;--line:#cfe0dc;--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:58rem;margin:0 auto;padding:0 1rem}
a{color:var(--accent-dark)}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
.demo-banner{background:#111827;color:#fff;text-align:center;padding:.5rem 1rem;font-size:.9rem}
.demo-banner a{color:#fff}
header.top{border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem}
.brand{font-weight:700;text-decoration:none;color:var(--ink)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.75rem 1.25rem;border-radius:var(--r);font-weight:600;text-decoration:none;border:2px solid var(--accent);min-height:44px}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.alt{background:#fff;color:var(--accent-dark)}
.btn.alt:hover{background:var(--soft)}
.hero{padding:3rem 0 2.5rem;background:var(--soft)}
.hero h1{font-size:clamp(1.9rem,5vw,2.9rem);line-height:1.15;margin:0 0 1rem;max-width:18ch}
.hero p{max-width:38rem;color:var(--muted);font-size:1.15rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
section{padding:2.5rem 0}
section.soft{background:var(--soft)}
h2{font-size:1.6rem;margin:0 0 1rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.25rem}
.card h3{margin:0 0 .5rem;font-size:1.1rem}
.card p{margin:0;color:var(--muted)}
.areas{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}
.areas li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.25rem .9rem}
.note{font-size:.9rem;color:var(--muted)}
footer{padding:2rem 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
header.top .btn{white-space:nowrap;padding:.5rem 1rem}
[hidden]{display:none!important}
