:root {
  --bg: #f7f5ef;
  --fg: #2c2b28;
  --muted: #77736a;
  --accent: #4f6b3a;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 17px/1.6 Georgia, "Times New Roman", serif;
}
header, main, footer {
  max-width: 40rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
header { padding-top: 3rem; border-bottom: 1px solid #e2ded3; }
h1 { margin: 0; color: var(--accent); font-size: 2rem; }
.tagline { margin-top: .25rem; color: var(--muted); font-style: italic; }
article { margin: 2rem 0; }
h2 { margin-bottom: 0; font-size: 1.3rem; }
.date { margin-top: 0; color: var(--muted); font-size: .9rem; }
footer { padding-bottom: 3rem; color: var(--muted); font-size: .85rem; }
