:root {
  --bg: #080808;
  --surface: #0d0c0b;
  --ivory: #ede8de;
  --muted: rgba(237, 232, 222, 0.64);
  --line: rgba(237, 232, 222, 0.14);
  --red: #c8392c;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', Arial, sans-serif;
  --mono: 'JetBrains Mono', monospace;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--ivory); font-family: var(--sans); font-size: 16px; line-height: 1.7; }
a { color: inherit; }
.shell { width: min(100% - 48px, 880px); margin: 0 auto; }
.topbar { border-bottom: 1px solid var(--line); padding: 24px 0; }
.topbar .shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; }
.brand img { display: block; height: 21px; width: auto; }
.back { color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.back:hover { color: var(--ivory); }
main { padding: 96px 0 88px; }
.eyebrow { color: var(--red); font-family: var(--mono); font-size: 11px; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
h1 { font-family: var(--serif); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 300; letter-spacing: 0; line-height: 1.08; margin: 0; }
.updated { color: var(--muted); font-size: 14px; margin: 20px 0 56px; }
.intro { border-bottom: 1px solid var(--line); color: var(--muted); font-size: 18px; margin: 0 0 48px; padding-bottom: 48px; }
section { border-bottom: 1px solid var(--line); padding: 32px 0; }
section:last-child { border-bottom: 0; }
h2 { font-family: var(--serif); font-size: 1.55rem; font-weight: 400; letter-spacing: 0; line-height: 1.2; margin: 0 0 14px; }
p { margin: 0 0 14px; }
p:last-child { margin-bottom: 0; }
ul { color: var(--muted); margin: 0; padding-left: 20px; }
li + li { margin-top: 8px; }
.contact { color: var(--ivory); }
.contact a { color: var(--ivory); text-decoration-color: var(--red); text-underline-offset: 4px; }
footer { background: var(--surface); border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .04em; padding: 28px 0; }
@media (max-width: 560px) { .shell { width: min(100% - 40px, 880px); } .topbar .shell { align-items: flex-start; flex-direction: column; gap: 16px; } main { padding: 64px 0; } }
