:root { --bg:#e8dcc8; --surface:#fffaf1; --ink:#1e1a16; --muted:#655b4f; --line:rgba(30,26,22,.14); --accent:#0f6c5a; }
* { box-sizing:border-box; }
body { margin:0; font-family:Georgia,"Iowan Old Style",serif; background:var(--bg); color:var(--ink); }
a { color:var(--accent); }
a:focus-visible { outline:3px solid #0a5bd8; outline-offset:3px; }
.page { width:min(calc(100% - 2rem), 900px); margin:0 auto; padding:2rem 0 4rem; }
.nav { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; font-family:"Trebuchet MS","Gill Sans",sans-serif; }
.nav a { color:var(--ink); text-decoration:none; font-weight:700; }
.card { border:1px solid var(--line); border-radius:24px; background:var(--surface); padding:1.5rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font:.75rem "Trebuchet MS",sans-serif; color:var(--muted); margin:0 0 .75rem; }
h1 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; letter-spacing:-.04em; margin:0; }
h2 { font-size:1.35rem; line-height:1.1; letter-spacing:-.03em; margin:2rem 0 .5rem; }
p, li { color:var(--muted); line-height:1.65; }
code { font-family:"SFMono-Regular",Menlo,monospace; font-size:.9em; padding:.1rem .3rem; border-radius:4px; background:rgba(30,26,22,.06); color:var(--ink); }
.cta { display:inline-flex; margin-top:1rem; min-height:2.8rem; align-items:center; padding:0 1rem; border-radius:999px; background:var(--accent); color:white; text-decoration:none; font:700 .9rem "Trebuchet MS",sans-serif; letter-spacing:.03em; }
footer { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:.85rem; }
