:root {
  --paper: #F4EEDF; --card: #FBF7EC; --ink: #1C1A16; --faded: #6E6759; --gold: #B08A2E;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #191814; --card: #24221D; --ink: #EEE8DA; --faded: #A59E90; --gold: #D8B457; }
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 17px/1.6 "New York", Georgia, "Times New Roman", serif;
}
main { max-width: 720px; margin: 0 auto; padding: 24px 16px 64px; }
.masthead { text-align: center; border-top: 4px solid var(--ink); border-bottom: 1px solid var(--ink);
  padding: 14px 0 10px; margin-bottom: 4px; }
.masthead h1 { font-size: clamp(28px, 6vw, 44px); margin: 0; font-weight: 900; letter-spacing: -0.5px; }
.rule { border-top: 1px solid var(--ink); border-bottom: 4px solid var(--ink); height: 3px; margin-bottom: 28px; }
.sub { display: flex; justify-content: space-between; font-size: 13px; color: var(--faded);
  text-transform: uppercase; letter-spacing: 2px; padding: 6px 0; flex-wrap: wrap; gap: 8px; }
h2 { font-size: 22px; margin: 32px 0 8px; }
a { color: var(--gold); }
.card { background: var(--card); border: 1px solid var(--ink); padding: 18px 20px; margin: 18px 0; }
.hero { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.hero img { width: 112px; height: 112px; border-radius: 24px; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.hero p { flex: 1 1 260px; margin: 0; }
ul { padding-left: 22px; }
.muted { color: var(--faded); font-size: 14px; }
footer { margin-top: 48px; padding-top: 12px; border-top: 1px solid var(--ink); font-size: 14px; color: var(--faded); }
footer a { margin-right: 14px; }
