:root {
  color-scheme: light;
  --paper: oklch(97% 0.012 83);
  --ink: oklch(25% 0.018 62);
  --muted: oklch(48% 0.024 65);
  --line: oklch(82% 0.025 77);
  --accent: oklch(39% 0.08 158);
  --focus: oklch(48% 0.15 250);
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1rem, .95rem + .2vw, 1.12rem); line-height: 1.65; }
a { color: var(--accent); text-decoration-thickness: .08em; text-underline-offset: .16em; overflow-wrap: anywhere; }
a:hover { color: var(--ink); }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 2; padding: .45rem .7rem; background: var(--ink); color: var(--paper); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header, main, .site-footer { width: min(100% - 2.5rem, 46rem); margin-inline: auto; }
.site-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: clamp(1.4rem, 4vw, 2.7rem) 0 1rem; border-bottom: 1px solid var(--line); font-family: ui-sans-serif, system-ui, sans-serif; }
.masthead { display: grid; gap: .1rem; line-height: 1.25; }
.wordmark { color: var(--ink); font-size: 1rem; font-weight: 700; text-decoration: none; letter-spacing: -.015em; }
.masthead span { color: var(--muted); font-size: .76rem; }
nav { display: flex; flex-wrap: wrap; gap: .85rem; font-size: .82rem; }
nav a { color: var(--muted); text-decoration: none; }
nav a[aria-current='page'] { color: var(--ink); font-weight: 700; }
main { padding: clamp(2.8rem, 8vw, 5.8rem) 0 clamp(3rem, 8vw, 6rem); }
h1, h2 { font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 15ch; margin: 0 0 1.2rem; font-size: clamp(2.55rem, 8vw, 4.9rem); }
h2 { margin: clamp(2.7rem, 7vw, 4.5rem) 0 .8rem; font-size: clamp(1.48rem, 4vw, 2.15rem); }
h1 + p { max-width: 34rem; margin-top: 0; font-size: clamp(1.18rem, 1.05rem + .5vw, 1.45rem); line-height: 1.5; }
p, ul { margin: 0 0 1.25rem; }
ul { padding-left: 1.3rem; }
li + li { margin-top: .45rem; }
strong { font-weight: 700; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 0 2.1rem; border-top: 1px solid var(--line); color: var(--muted); font-family: ui-sans-serif, system-ui, sans-serif; font-size: .76rem; line-height: 1.5; }
@media (max-width: 34rem) { .site-header, .site-footer { align-items: start; flex-direction: column; } }
