:root {
  color-scheme: light;
  color: #353535;
  background: #f5f5f3;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.8;
}
* { box-sizing: border-box; }
body { margin: 0; }
.page { max-width: 800px; padding: 36px 32px; margin: 0 auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #000; }
a:focus-visible { outline: 2px solid #555; outline-offset: 4px; }
.site-nav, .byline, footer, .footnotes, h2, h3 {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.site-nav { display: flex; justify-content: space-between; gap: 20px; font-size: .78rem; color: #626262; }
.article-header { padding: 66px 0 38px; border-bottom: 1px solid #d8d8d5; margin-bottom: 42px; }
h1 { font-size: clamp(2.5rem, 7vw, 3.8rem); line-height: 1.12; letter-spacing: -.045em; font-weight: 400; margin: 0 0 24px; }
.byline { font-size: .85rem; color: #656565; margin: 0; }
h2 { font-size: 1.4rem; line-height: 1.4; letter-spacing: -.02em; margin: 56px 0 24px; font-weight: 650; }
h3 { font-size: 1.08rem; line-height: 1.5; margin: 36px 0 18px; font-weight: 600; }
.article-body > h2:first-child { margin-top: 0; }
p { margin: 0 0 1.25em; }
ol { padding-left: 1.65em; margin: 24px 0; }
li { padding-left: .35em; margin-bottom: 1em; }
li::marker { color: #666; font-variant-numeric: tabular-nums; }
sup { font-family: system-ui, sans-serif; font-size: .65em; line-height: 0; }
sup a { padding: 2px; }
[id] { scroll-margin-top: 28px; }
.footnotes { border-top: 1px solid #d8d8d5; margin-top: 60px; padding-top: 12px; font-size: .8rem; line-height: 1.7; }
.footnotes h2 { font-size: 1.05rem; margin: 18px 0; }
.footnotes li { overflow-wrap: anywhere; padding: 6px; }
.footnotes p { display: inline; margin: 0; }
.footnotes p + p::before { content: " "; white-space: pre; }
.backref { margin-left: 8px; }
.footnotes li:target { background: #e6e6e2; border-radius: 3px; }
sup a:target { background: #deded9; outline: 2px solid #777; }
footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid #d8d8d5; font-size: .8rem; color: #626262; }
.skip-link { position: absolute; left: 16px; top: -100px; padding: 8px 16px; background: white; }
.skip-link:focus { top: 8px; }
@media (max-width: 540px) {
  :root { font-size: 17px; }
  .page { padding: 24px 22px; }
  .article-header { padding: 44px 0 28px; }
  h2 { font-size: 1.25rem; }
}
@media print {
  :root { background: white; color: black; font-size: 11pt; }
  .page { max-width: none; padding: 0; }
  .site-nav, .skip-link, footer, .backref { display: none; }
  .article-header { padding-top: 0; }
  h2, h3 { break-after: avoid; }
}
