:root {
  --paper: #f6f3ec;
  --ink: #1b1a17;
  --muted: #5a564d;
  --rule: #d9d3c4;
  --link: #8a2b1f;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #151412;
    --ink: #ece8de;
    --muted: #aaa498;
    --rule: #34312b;
    --link: #e08a74;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 "Libre Franklin", Georgia, serif;
  min-height: 100dvh;
}
main { max-width: 68ch; margin: 0 auto; padding: 56px 20px 80px; }
.mast {
  font-family: "Anton", Impact, sans-serif;
  font-size: clamp(2.6rem, 9vw, 4.5rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  margin: 0 0 12px;
  text-transform: uppercase;
}
.dek { font-family: "Libre Caslon Text", Georgia, serif; font-size: 1.2rem; color: var(--muted); margin: 0 0 36px; }
h1 { font-family: "Anton", Impact, sans-serif; font-weight: 400; font-size: 2.2rem; line-height: 1.05; margin: 0 0 8px; text-transform: uppercase; text-wrap: balance; }
h2 { font-size: 1.1rem; margin: 36px 0 8px; }
p, li { margin: 0 0 14px; }
ul { padding-left: 1.2em; }
a { color: var(--link); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
hr { border: 0; border-top: 1px solid var(--rule); margin: 40px 0 20px; }
.meta { color: var(--muted); font-size: 0.95rem; }
footer { color: var(--muted); font-size: 0.95rem; }
footer a { margin-right: 18px; }
