*{box-sizing:border-box}
:root{--bg:#f4f1e9;--paper:#fbf8f1;--ink:#2a2520;--mute:#6b645a;--sage:#7a8a62;--line:#e3dccb}
@media (prefers-color-scheme:dark){:root{--bg:#2a2520;--paper:#332d27;--ink:#f1ece0;--mute:#b3aa9a;--sage:#97a97d;--line:#473f36}}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}
.wrap{max-width:720px;margin:0 auto;padding:0 22px}
header{padding:22px 0;border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:600 19px Fraunces,Georgia,serif;margin-right:auto}
.brand img{width:30px;height:30px;border-radius:9px}
nav a{color:var(--mute);text-decoration:none;margin-left:16px;font-size:15px}
nav a:hover,nav a[aria-current]{color:var(--ink)}
h1{font:600 clamp(32px,6vw,44px)/1.15 Fraunces,Georgia,serif;margin:44px 0 12px}
h2{font:600 23px Fraunces,Georgia,serif;margin:36px 0 8px}
p,li{color:var(--ink)}.lede{color:var(--mute);font-size:19px}
a{color:var(--sage)}
.btn{display:inline-block;background:var(--sage);color:#fff;text-decoration:none;padding:12px 22px;border-radius:12px;font-weight:600;margin:10px 10px 0 0}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:12px 0}
summary{cursor:pointer;font-weight:600}
details p{margin:10px 0 2px;color:var(--mute)}
footer{border-top:1px solid var(--line);margin-top:56px;padding:26px 0 44px;color:var(--mute);font-size:14px}
footer a{color:var(--mute);margin-right:16px}
