:root{--bg:#fbf6ee;--ink:#2b2119;--accent:#b5462f;--muted:#6f6a5f;--line:#ddd6c8;--max:1000px;--serif:Georgia,'Iowan Old Style','Palatino Linotype',serif;--sans:Inter,system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.6rem}
.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.header{padding:1.7rem 0;border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:1.35rem;font-weight:600;text-decoration:none;letter-spacing:-.01em}
.nav ul{list-style:none;display:flex;gap:1.9rem}
.nav a{text-decoration:none;color:var(--muted);font-size:.9rem}
.nav a:hover{color:var(--ink)}
.hero{padding:4.2rem 0;border-bottom:1px solid var(--line)}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem}
.h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1.08;letter-spacing:-.015em;max-width:17ch}
.lead{margin-top:1.5rem;max-width:56ch;color:var(--muted);font-size:1.1rem}
.section{padding:3.6rem 0;border-bottom:1px solid var(--line)}
.label{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2.1rem}
.card h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.95rem}
.rows a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line);text-decoration:none}
.rows a:last-child{border-bottom:1px solid var(--line)}
.name{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.cat{color:var(--muted);font-size:.9rem;flex:1;text-align:right;padding-right:1.4rem}
.yr{color:var(--accent);font-size:.85rem;font-variant-numeric:tabular-nums}
.menu li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);list-style:none}
.email{font-size:1.15rem;color:var(--accent);text-decoration:none}
.prose p{max-width:60ch;color:var(--muted);margin-top:1.05rem}
.footer{padding:2.2rem 0;color:var(--muted);font-size:.82rem}
@media(max-width:640px){.nav{display:none}.cat{display:none}}
