
* { 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:#3b2a22; --muted:#8a6f60; --paper:#f4ebe3; --card:#fff7f0; --line:#e0cfc2; --accent:#c45c26; --accent2:#8f3f16; --wash:#edd9c8; }
html,body{background:linear-gradient(135deg,#f8efe6,#f4ebe3 40%,#eadfd4);color:var(--ink);font-family:"Newsreader",Georgia,serif;}
.kicker{color:var(--accent);} .card{background:var(--card);border:1px solid var(--line);border-radius:8px;}
a{color:var(--accent2);} a:hover{color:var(--accent);}
