
* { box-sizing: border-box; }
html, body { margin:0; padding:0; line-height:1.55; min-height:100%; }
a { text-decoration-thickness:1px; text-underline-offset:3px; }
.top { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; max-width:980px; margin:0 auto; padding:1.4rem 1.25rem .5rem; }
.brand { font-weight:700; text-decoration:none; }
nav a { margin-left:1rem; font-size:.95rem; color:var(--muted); text-decoration:none; }
nav a:hover { color:var(--accent); }
main { max-width:980px; margin:0 auto; padding:1rem 1.25rem 3rem; }
.narrow { max-width:640px; }
.hero { padding:2.2rem 0 1.5rem; border-bottom:1px solid var(--line); margin-bottom:1.75rem; }
.kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; margin:0 0 .75rem; }
h1 { font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.15; margin:0 0 1rem; font-weight:700; }
.lede { font-size:1.12rem; color:var(--muted); max-width:40rem; margin:0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.card { padding:1.1rem 1.15rem; }
.card h2 { font-size:1.05rem; margin:0 0 .5rem; }
.card p { margin:0; color:var(--muted); font-size:.98rem; }
footer { max-width:980px; margin:0 auto; padding:0 1.25rem 2.5rem; color:var(--muted); font-size:.9rem; }
.mono { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.92em; }
@media (max-width:640px){ .top{flex-direction:column; align-items:flex-start;} nav a{margin-left:0; margin-right:1rem;} }

:root { --ink:#12353f; --muted:#4f7380; --paper:#eef8fa; --card:#ffffff; --line:#b9d8e0; --accent:#0e8a9a; --accent2:#0a6572; --wash:#c5ebf2; }
html,body{background:radial-gradient(800px 400px at 20% 0%,var(--wash),transparent 55%),linear-gradient(180deg,#e6f6f9,var(--paper));color:var(--ink);font-family:"Nunito",ui-sans-serif,system-ui,sans-serif;}
.kicker{color:var(--accent);} .card{background:var(--card);border:1px solid var(--line);border-radius:16px;}
a{color:var(--accent2);} a:hover{color:var(--accent);}
