/* v267: one text scale on every public, reader, editorial and admin page. */
@font-face {
  font-family: "Libre Caslon Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/font-4.ttf") format("truetype");
}

:root {
  --font-editorial: "Libre Caslon Display", Georgia, "Times New Roman", serif;
  --font-reading: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-interface: var(--font-reading);
  --site-body-size: 1rem;
  --site-body-leading: 1.6;
}

/* Override page-specific sizes, including form fields and inline text. */
body#site-typography,
body#site-typography * {
  font-family: var(--font-reading) !important;
  font-size: var(--site-body-size) !important;
  line-height: var(--site-body-leading) !important;
  letter-spacing: normal !important;
}

/* Keep semantic headings on the same hierarchy across all pages. */
body#site-typography :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-editorial) !important;
  font-weight: 400 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.15 !important;
}
body#site-typography h1 { font-size: clamp(2rem, 4vw, 2.75rem) !important; }
body#site-typography h2 { font-size: clamp(1.5rem, 2.5vw, 2rem) !important; }
body#site-typography h3 { font-size: clamp(1.25rem, 2vw, 1.5rem) !important; }
body#site-typography h4 { font-size: 1.1875rem !important; }
body#site-typography h5 { font-size: 1.125rem !important; }
body#site-typography h6 { font-size: 1rem !important; }

/* Links and emphasized words follow their containing heading. */
body#site-typography :is(h1, h2, h3, h4, h5, h6) * {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 720px) {
  :root {
    --site-body-size: 0.9375rem;
    --site-body-leading: 1.6;
  }
  body#site-typography h1 { font-size: clamp(1.75rem, 8vw, 2.25rem) !important; }
  body#site-typography h2 { font-size: 1.5rem !important; }
  body#site-typography h3 { font-size: 1.25rem !important; }
}

/* More perspectives uses the shared text scale, rather than display headings. */
body#site-typography .newsroom .dispatches h3,
body#site-typography .newsroom .dispatches h3 * {
  font-family: var(--font-reading) !important;
  font-size: var(--site-body-size) !important;
  line-height: var(--site-body-leading) !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
}
