/* ISEJ fonts, self-hosted (generated by build/build_fonts_css.py; do not edit by hand).
   Source Serif 4 4.004 (Adobe, OFL): variable, opsz 8-60, wght limited to 400-700.
   Libre Baskerville 2.005 (Impallari Type, OFL): variable, wght 400-700, upright and italic.
   Subset to: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2070-209F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215.
   Licences: OFL-SourceSerif4.txt and OFL-LibreBaskerville.txt in this folder.
   Fallback metrics measured on 16539 characters of the site's visible text. */

/* ---- 1. Web fonts ---- */
@font-face {
  font-family: "Source Serif 4";
  src: url("source-serif-4.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2070-209F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "Libre Baskerville";
  src: url("libre-baskerville.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2070-209F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}
@font-face {
  font-family: "Libre Baskerville";
  src: url("libre-baskerville-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2070-209F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215;
}

/* ---- 2. Georgia, scaled to each web font's width and line metrics, so the swap barely reflows ---- */
@font-face {
  font-family: "Source Serif 4 Fallback";
  src: local("Georgia");
  font-style: normal;
  font-weight: 400;
  size-adjust: 103.18%;
  ascent-override: 100.41%;
  descent-override: 32.47%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: "Source Serif 4 Fallback";
  src: local("Georgia Bold"), local("Georgia-Bold");
  font-style: normal;
  font-weight: 700;
  size-adjust: 91.45%;
  ascent-override: 113.29%;
  descent-override: 36.63%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: "Libre Baskerville Fallback";
  src: local("Georgia");
  font-style: normal;
  font-weight: 400;
  size-adjust: 116.06%;
  ascent-override: 83.58%;
  descent-override: 23.26%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: "Libre Baskerville Fallback";
  src: local("Georgia Bold"), local("Georgia-Bold");
  font-style: normal;
  font-weight: 700;
  size-adjust: 102.06%;
  ascent-override: 95.04%;
  descent-override: 26.45%;
  line-gap-override: 0.00%;
}
@font-face {
  font-family: "Libre Baskerville Fallback";
  src: local("Georgia Italic"), local("Georgia-Italic");
  font-style: italic;
  font-weight: 400;
  size-adjust: 102.30%;
  ascent-override: 94.82%;
  descent-override: 26.39%;
  line-gap-override: 0.00%;
}

/* ---- 3. Type rules: merge into site.css -------------------------------------------
   Each block names the site.css rule it replaces or extends. Until merged, linking this file
   AFTER site.css applies them as they stand. */

/* Replaces the two font stacks in :root: the metric-matched fallbacks come before Georgia */
:root {
  --isej-font-display: "Libre Baskerville", "Libre Baskerville Fallback", Georgia, "Times New Roman", serif;
  --isej-font-text: "Source Serif 4", "Source Serif 4 Fallback", Georgia, "Times New Roman", serif;
  --isej-smcp-tracking: 0.06em;
}

/* Kit rule 5, amended 2026-10-04: kickers, navigation, section labels and the issue spine in real
   small caps of Source Serif 4 instead of tracked Baskerville capitals. Replaces font-family,
   font-size, letter-spacing and text-transform in ".masthead nav, h2" (Tracked capitals),
   ".cover .date", ".issue .spine", ".issue .label" and ".side .label". Small caps at body size
   stand 552.5 units tall against Baskerville's 770-unit capitals at --isej-step--1, about 92%
   of the old height, hence the step up to --isej-step-0. */
.masthead nav, h2, .cover .date, .issue .spine, .issue .label, .side .label {
  font-family: var(--isej-font-text);
  font-size: var(--isej-step-0);
  font-variant-caps: all-small-caps;
  letter-spacing: var(--isej-smcp-tracking);
  text-transform: none;
}

/* Figures: old-style in running text, lining tabular in tables and aligned columns.
   Extends body and .tabular (the old-style rule only takes effect with these self-hosted files:
   the Google Fonts build of Source Serif 4 has no onum, smcp or c2sc). */
body { font-variant-numeric: oldstyle-nums proportional-nums; }
.tabular, table, .list li > span:first-child { font-variant-numeric: lining-nums tabular-nums; }

/* Line breaking: no stranded last words in text, balanced headings and short blocks */
p, li, dd, figcaption, blockquote { text-wrap: pretty; }
h1, h2, h3, .lede, .issue .title, .statement p { text-wrap: balance; }

/* Opening quotation marks hang into the margin where supported (Safari) */
@supports (hanging-punctuation: first) {
  body { hanging-punctuation: first; }
}
