:root { --paper:#f4f0e8; --ink:#17201d; --muted:#65706b; --line:#d5d1c8; --accent:#a83f20; --serif:Georgia,serif; --sans:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 var(--sans); }
a { color:inherit; }
.shell { width:min(860px,calc(100% - 40px)); margin-inline:auto; }
header { border-bottom:1px solid var(--line); }
.nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight:700; text-decoration:none; letter-spacing:.02em; }
.nav nav { display:flex; gap:18px; font-size:14px; }
main { padding:72px 0 96px; }
h1,h2 { font-family:var(--serif); font-weight:400; line-height:1.08; }
h1 { margin:0 0 18px; font-size:clamp(42px,7vw,72px); letter-spacing:-.04em; }
h2 { margin:48px 0 12px; font-size:30px; }
p,li { color:var(--muted); }
.lede { font-size:19px; }
.notice { margin:28px 0; padding:18px 20px; border:1px solid var(--line); border-left:4px solid var(--accent); background:#fbf9f4; }
.notice p { margin:0; }
dl { display:grid; gap:12px; }
dl div { padding:14px 0; border-bottom:1px solid var(--line); }
dt { font-weight:700; }
dd { margin:4px 0 0; color:var(--muted); }
footer { padding:28px 0; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
@media (max-width:600px) { .nav { align-items:flex-start; padding:18px 0; } .nav nav { flex-direction:column; gap:5px; } main { padding-top:48px; } }
