/*
 * Playfair Display (headings) + Inter (body) — the app-wide faces.
 *
 * Self-hosted. Until 2026-08-03 these two arrived from `fonts.googleapis.com`
 * via `templates/base.html`, which sent every visitor's IP address to a third
 * party on every page load, before any notice was shown or any consent asked
 * for. That is the disclosure Phase 1 of `design/spec/gdpr-devplan.md` exists to
 * stop; `fraunces.css` was the pattern, and this file completes it. Adding a
 * font back via a CDN `<link>` re-opens it — `apps/core/tests/test_no_external_assets.py`
 * fails the build if anyone does.
 *
 * Both families are **variable weight** in a single file each, subset to
 * latin + latin-ext so Hungarian copy (ő U+0151, ű U+0171) renders without a
 * second request. Playfair ships a separate italic file because italic here is
 * a real cut, not a slant — see `font-serif italic` in
 * `templates/events/partials/event_chapter.html` and `event_list_layout.html`.
 *
 * Regenerate with fonttools, same recipe as Fraunces:
 *   # Inter carries an optical-size axis Google's css2 endpoint pins for text;
 *   # pin it identically or the browser renders the 32pt display cut at 14px.
 *   fonttools varLib.instancer "Inter[opsz,wght].ttf" opsz=14 -o Inter-pinned.ttf
 *   pyftsubset <font> --flavor=woff2 --unicodes=<latin + latin-ext>
 * Sources are the upstream files in github.com/google/fonts (ofl/inter,
 * ofl/playfairdisplay).
 *
 * Both are licensed under the SIL Open Font License v1.1 — Inter-OFL.txt and
 * PlayfairDisplay-OFL.txt in static/fonts/ must ship alongside the font files.
 */

@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-variable-latin.b48b4f643346.woff2") format("woff2-variations");
  /* The design uses 400/500/600; the axis is left fully open because a variable
     font costs nothing extra for the range it already contains. */
  font-weight: 100 900;
  font-style: normal;
  /* Body text must never be invisible while the face loads. */
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay-variable-latin.c4ade7ba08a7.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay-Italic-variable-latin.feccd20f871b.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
