/* ============================================================
   Self-hosted fonts: Bodoni Moda (400, 400 italic) and Karla
   (300, 400, 600). Replaces fonts.googleapis.com/fonts.gstatic.com
   -- no request to Google's font CDN happens anywhere on the site.

   Subset to Latin (the "latin"+"latin-ext" subsets, per each
   family's own METADATA.pb in github.com/google/fonts) -- NOT
   Latin+Cyrillic: verified against both the upstream source and a
   live fetch of the exact URL this site used to load from Google
   Fonts that neither Bodoni Moda nor Karla has ever shipped a
   Cyrillic glyph set in any weight. RU-page Cyrillic text was
   already rendering via the CSS fallback (Georgia / sans-serif),
   not these webfonts, before this change -- self-hosting the same
   Latin-only glyph set keeps that exact behaviour (and look)
   unchanged, whereas subsetting in glyphs the source doesn't have
   is not possible, and switching to a different Cyrillic-capable
   family would visibly change every EN page's look too.

   Each real face is paired with a metric-matched "Fallback" face
   (ascent-override/descent-override/line-gap-override/size-adjust
   computed from the real webfont's OS/2 metrics against Arial's
   (Karla) or Georgia's (Bodoni Moda) published metrics) so the
   swap from fallback to webfont doesn't reflow the page -- the
   fallback face renders at the same line box size as the real one.
   Referenced in font stacks as e.g.
   font-family:"Bodoni Moda","Bodoni Moda Fallback",Georgia,serif
   See CONVENTIONS.md for the generating script.
   ============================================================ */

@font-face {
  font-family: "Bodoni Moda";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/bodoni-moda-400.woff2") format("woff2");
}
@font-face {
  font-family: "Bodoni Moda";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/bodoni-moda-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Karla";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/fonts/karla-300.woff2") format("woff2");
}
@font-face {
  font-family: "Karla";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/karla-400.woff2") format("woff2");
}
@font-face {
  font-family: "Karla";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/karla-600.woff2") format("woff2");
}

/* Metric-matched fallbacks -- no download, just a local system font
   reshaped to match the webfont's line box so swap is invisible. */
@font-face {
  font-family: "Bodoni Moda Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Georgia");
  ascent-override: 86.68%;
  descent-override: 30.82%;
  line-gap-override: 0%;
  size-adjust: 129.8%;
}
@font-face {
  font-family: "Bodoni Moda Fallback";
  font-style: italic;
  font-weight: 400;
  src: local("Georgia Italic"), local("Georgia");
  ascent-override: 87.99%;
  descent-override: 31.29%;
  line-gap-override: 0%;
  size-adjust: 127.86%;
}
@font-face {
  font-family: "Karla Fallback";
  font-style: normal;
  font-weight: 300;
  src: local("Arial");
  ascent-override: 78.59%;
  descent-override: 21.6%;
  line-gap-override: 0%;
  size-adjust: 116.68%;
}
@font-face {
  font-family: "Karla Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Arial");
  ascent-override: 76.73%;
  descent-override: 21.09%;
  line-gap-override: 0%;
  size-adjust: 119.51%;
}
@font-face {
  font-family: "Karla Fallback";
  font-style: normal;
  font-weight: 600;
  src: local("Arial");
  ascent-override: 74.2%;
  descent-override: 20.39%;
  line-gap-override: 0%;
  size-adjust: 123.59%;
}
