/* ═══════════════════════════════════════
   SELF-HOSTED FONTS
   ═══════════════════════════════════════
   Previously loaded from fonts.googleapis.com/fonts.gstatic.com — two
   extra cross-origin round trips (DNS+TCP+TLS to each host, even with
   preconnect warming the connection) on top of the page's own request,
   for a site that only ever renders latin text. Self-hosting removes
   both origins entirely; these are the same latin-subset woff2 files
   Google's own CSS API serves to a Chrome UA (unicode-range dropped
   since a same-origin stylesheet doesn't need per-subset lazy-loading —
   there's now nothing else to lazy-load out of).

   Only the weights this site actually uses are kept: Fira Sans
   Condensed 400/500/600/700/800/900, Luckiest Guy 400 (its only
   weight). See assets/fonts/.

   font-display: swap (tried font-display: optional here briefly, for
   CLS — reverted: this stylesheet loads non-render-blocking, so
   nothing forced the font files to actually be requested early, and
   optional's ~100ms budget means "not cached yet" effectively reads as
   "never swaps in" — the fonts just silently never appeared for
   anyone without a warm cache. swap guarantees the real font always
   shows eventually. The actual fix for swap's late-arrival/CLS problem
   is preloading luckiest-guy-400.woff2 and fira-sans-condensed-400.woff2
   directly (see the <link rel="preload" as="font"> pair on every page,
   next to this stylesheet's own preload) — those two weights are the
   ones actually used above the fold everywhere (nav links, body text),
   so preloading just them gets the swap to happen close to first paint
   instead of arriving late enough to visibly reflow the page. */

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-800.woff2') format('woff2');
}

@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../assets/fonts/fira-sans-condensed-900.woff2') format('woff2');
}

@font-face {
  font-family: 'Luckiest Guy';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/luckiest-guy-400.woff2') format('woff2');
}
