
:root{--bg:#f6f3ee;--ink:#1c1916;--mid:#3d3830;--light:#7a7268;--faint:#b0a99e;--paper:#eee9e1;--rule:#d8d2c8;--accent:#8b6840}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Instrument Sans',system-ui,sans-serif;font-weight:400;line-height:1.6;opacity:0;animation:fade .7s ease-out forwards}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
h1,h2,h3,.display{font-family:'Cormorant',Georgia,serif;font-weight:400;letter-spacing:.005em;line-height:1.15;margin:0 0 .5em}
h1{font-size:2.9rem;font-weight:300}h2{font-size:2rem}h3{font-size:1.4rem;font-weight:500}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header{padding:28px 0}header .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
.wordmark{font-family:'Cormorant',serif;font-weight:500;font-size:1.35rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}
nav a{color:var(--mid);text-decoration:none;margin-left:22px;font-size:.92rem}nav a:hover,nav a[aria-current]{color:var(--accent)}
main{padding:40px 0 80px}.lede{font-family:'Cormorant',serif;font-size:1.45rem;font-weight:300;max-width:46ch;color:var(--mid)}
.panel{background:var(--paper);padding:36px;margin:40px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
hr{border:0;border-top:1px solid var(--rule);margin:40px 0}.meta{color:var(--light);font-size:.85rem}
.essay{max-width:62ch;font-size:1.08rem}.essay p{margin:0 0 1.4em}.essay hr{width:64px;margin:2.2em 0}
.list a{display:block;text-decoration:none;color:inherit;padding:22px 0;border-top:1px solid var(--rule)}.list a:last-child{border-bottom:1px solid var(--rule)}.list a:hover h3{color:var(--accent)}
footer{border-top:1px solid var(--rule);padding:28px 0;color:var(--light);font-size:.85rem}
form{display:grid;gap:14px;max-width:520px}input,textarea{font:inherit;padding:12px;border:1px solid var(--rule);background:#fff;color:var(--ink);width:100%}button{font:inherit;padding:12px 22px;background:var(--ink);color:var(--bg);border:0;cursor:pointer}
@media(max-width:640px){html{font-size:16px}h1{font-size:2.2rem}nav a{margin-left:0;margin-right:16px}header .wrap{flex-direction:column;align-items:flex-start}.panel{padding:24px}}
