:root { --paper: #f6f3ec; --sheet: #fbf9f4; --ink: #171a18; --ink-soft: #474c47; --muted: #6f7169; --rule: #d9d3c5; --leak: #86672f; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.65 "Instrument Sans", "Segoe UI", system-ui, sans-serif; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 16px; }
header { border-bottom: 1px solid var(--rule); padding: 14px 0; }
.logo { display: inline-flex; align-items: baseline; gap: 10px; text-decoration: none; color: inherit; }
.logo .word { font: 400 27px "Newsreader", Georgia, serif; letter-spacing: -0.01em; }
.logo .amp { color: var(--leak); font-style: italic; }
.logo .sub { font: 600 11px "Instrument Sans", "Segoe UI", sans-serif; letter-spacing: 0.22em; color: var(--muted); }
main { padding: 48px 0 64px; }
h1, h2 { font-family: "Newsreader", Georgia, serif; font-weight: 300; line-height: 1.1; letter-spacing: -0.015em; }
h1 { font-size: clamp(32px, 6vw, 46px); margin: 0 0 8px; }
h2 { font-size: 23px; margin: 36px 0 8px; }
p, li { color: var(--ink-soft); }
a { color: var(--ink); }
.meta { font: 600 12.5px "Instrument Sans", "Segoe UI", sans-serif; color: var(--muted); letter-spacing: 0.14em; text-transform: uppercase; }
footer { border-top: 1px solid var(--rule); padding: 28px 0 40px; font-size: 13.5px; color: var(--muted); }
footer p { color: var(--muted); }