:root { --ink: #2b2a27; --muted: #6f6a60; --paper: #faf8f3; --accent: #5b7a52; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.65 Georgia, "Times New Roman", serif; }
header, main, footer { max-width: 680px; margin: 0 auto; padding: 0 20px; }
header { padding-top: 48px; padding-bottom: 8px; border-bottom: 1px solid #e4dfd3; }
header a.brand { color: var(--ink); text-decoration: none; font-size: 28px; letter-spacing: .5px; }
header p { margin: 4px 0 12px; color: var(--muted); font-style: italic; }
nav a { margin-right: 16px; color: var(--accent); text-decoration: none; font-size: 16px; }
main { padding-top: 24px; padding-bottom: 48px; }
article { margin-bottom: 40px; }
h1, h2 { font-weight: normal; line-height: 1.3; }
h2 a { color: var(--ink); text-decoration: none; }
h2 a:hover { color: var(--accent); }
.date { color: var(--muted); font-size: 15px; }
a { color: var(--accent); }
footer { color: var(--muted); font-size: 14px; padding-bottom: 40px; border-top: 1px solid #e4dfd3; padding-top: 16px; }
