:root { font-family: Georgia, 'Times New Roman', serif; font-size: 16px; }
body { font-size: 1.125rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-weight: 400; line-height: 1.16; }
h1 { font-size: 2.25rem; letter-spacing: -.035em; }
h2 { font-size: 1.5rem; letter-spacing: -.02em; }
h3 { font-size: 1.25rem; }
a { color: inherit; }
.c-brand { text-decoration: none; }
.c-brand__name { font-size: 1.375rem; line-height: 1.1; letter-spacing: -.025em; }
.c-brand__sub { font-size: 1rem; line-height: 1.4; font-style: italic; }
.c-rail__note { font-size: 1rem; line-height: 1.5; }
.c-index__label, .c-page-top, .c-hero__kicker, .c-section__topic, .c-asof, .c-prompt__label, .c-next__label, .c-reading__publisher { font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; font-size: 1rem; line-height: 1.45; letter-spacing: -.04em; }
.c-index__link { font-size: 1rem; line-height: 1.3; text-decoration: none; }
.c-rail__foot { font-size: 1rem; line-height: 1.5; }
.c-hero__title { font-size: clamp(2.5rem, 5vw, 4rem); letter-spacing: -.04em; line-height: 1.05; }
.c-hero__title em { font-weight: 400; letter-spacing: -.045em; }
.c-hero__guide { font-size: 1.125rem; line-height: 1.5; }
.c-hero__lead { font-size: 1.125rem; line-height: 1.65; }
.c-button { text-decoration: none; font-size: 1rem; line-height: 1.45; }
.c-text-link { font-size: 1rem; line-height: 1.5; text-underline-offset: .25em; text-decoration-thickness: 1px; }
.c-prompt p { font-size: 1.25rem; line-height: 1.5; font-style: italic; }
.c-route { text-decoration: none; }
.c-route__title { font-size: 1.375rem; line-height: 1.3; }
.c-route__desc { font-size: 1.125rem; line-height: 1.6; }
.c-route__arrow { font-size: 1.5rem; line-height: 1; }
.c-asof { font-size: 1rem; }
.c-reading__limit { font-size: 1rem; line-height: 1.6; }
.c-next__text { font-size: 1.5rem; line-height: 1.35; font-style: italic; }
.c-footer { font-size: 1rem; line-height: 1.6; }
.c-footer__links { font-size: 1rem; }
.c-footer__links a { text-underline-offset: .25em; }
.c-skip { font-size: 1rem; }
@media (max-width: 600px) {
  body { font-size: 1.0625rem; }
  .c-hero__title { font-size: 2.5rem; }
  .c-hero__lead, .c-route__desc { font-size: 1.0625rem; }
  .c-page-top { font-size: 1rem; }
  .c-hero__guide { font-size: 1.0625rem; }
}
