/* FSCLN webfonts — self-hosted.
 * Display / Titles / Headings: Syne (Bonjour Monde) — a wide grotesk.
 *   Title/Heading/Subheading/Section = Medium (500); Subtitle = Regular (400).
 * Body / Quote / Caption: Montserrat — Regular (400), Quote is italic.
 * Labels / tags / metadata: Roboto Mono — uppercase mono utility.
 *
 * NO @import HERE, AND NO GOOGLE FONTS LINK IN THE CONSUMING PAGE.
 *
 * Three things went wrong before and all three are fixed by the block below:
 *
 * 1. A CSS @import is render-blocking and is only discovered after the browser has already
 *    fetched and parsed the importing stylesheet. Nested one level below styles.css's own
 *    @import of this file, that was two sequential same-origin round trips before the
 *    (cross-origin) Google Fonts request even started. Don't reintroduce it.
 * 2. Loading the faces from fonts.googleapis.com made every FSCLN page issue a third-party
 *    request from EU-hosted pages, and forced fonts.googleapis.com / fonts.gstatic.com into
 *    style-src and font-src in four separate Content-Security-Policies.
 * 3. Each app solved (1) differently — one removed the @import, one moved it to a preload+swap
 *    <link>, one kept it — so the same decision was made three times with three outcomes.
 *
 * Self-hosting removes all of it: no third-party origin, no preconnect, no preload dance, no
 * @import chain, and style-src/font-src can be 'self'. Consuming pages link the token files
 * directly (see below) and add no font <link> of any kind.
 *
 * All four faces are VARIABLE fonts, so one file covers each family's whole weight range —
 * these exact ranges are what the old Google Fonts request asked for:
 *   Syne 400–800 · Montserrat 300–700 + italic 400–500 · Roboto Mono 400–700
 *
 * ABSOLUTE paths, not relative to this file. The woff2 files live in /shared/assets/fonts/,
 * a sibling of /shared/_ds/ rather than a child of it — every binary asset (fonts, the three
 * brand SVGs) lives under one /shared/assets/ pool, separate from the CSS/JS token layer under
 * /shared/_ds/vN/, so the two can be reasoned about separately: assets are a flat shared pool,
 * the design system is what's versioned. Motionstx's own nineteen display faces (Anton, Archivo
 * Black, Bungee, etc. — nine from the original migration, ten more added in Motionstx v3.2.0)
 * live in that same /shared/assets/fonts/ pool now too — no app has its own fonts folder any
 * more, even for faces only one app uses. Their @font-face rules live in Motionstx's own
 * styles.css, not here — this file only declares the four shared UI-chrome faces above.
 *
 * NOTE ON CACHE-BUSTING: under /shared/_ds/vN/ the version lives in the path, so THOSE files
 * need no ?v= query — a token edit that must reach returning visitors is a new
 * /shared/_ds/v2/, not an edit in place. Font files are not path-versioned the same way (they
 * live in the flat /shared/assets/ pool, not under vN/), so a future change to one of these
 * .woff2 files needs its own cache-busting story — a new filename, most likely — rather than
 * relying on a directory bump. They change far less often than tokens, and none has changed
 * since self-hosting; revisit this note if that stops being true.
 */

@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/shared/assets/fonts/syne.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/shared/assets/fonts/montserrat.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url("/shared/assets/fonts/montserrat-italic.woff2") format("woff2");
}

@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/shared/assets/fonts/roboto-mono.woff2") format("woff2");
}
