/* ==========================================================================
   fonts.css — @font-face for the theme's SELF-HOSTED typefaces
   University of Bridgeport

   Only faces that cannot be requested from Google Fonts appear here. Everything
   in the catalogue with `source => google` is fetched by a <link> that
   inc/theme-design/fonts.php builds; this file is for the licensed ones.

   ── WHY A PLAIN STYLESHEET AND NOT THE GENERATED TOKEN CSS ─────────────────
   The compiled design tokens are cached in a database OPTION, and options
   travel staging → local with every `pull-from-kinsta.sh`. An absolute font URL
   baked into that cache would land on localhost pointing at the staging host.

   A relative `url()` in a real stylesheet resolves against THE STYLESHEET'S OWN
   location, so `../fonts/x.woff2` is correct on localhost, on staging and on
   live with nothing to rewrite and no host named anywhere. That is the whole
   reason these rules are here rather than in the generated block.

   ── WHY EVERY FACE, NOT JUST THE SELECTED ONE ──────────────────────────────
   An @font-face nothing references costs nothing: the browser fetches the file
   only when some element actually resolves to that family. So this file is
   static, cacheable, and does not need to change when someone picks a
   different typeface.

   ── MISSING FILES FAIL SILENTLY, BY DESIGN AND ON PURPOSE ──────────────────
   The .woff2 files are LICENSED and are not necessarily in this repository (see
   fonts/README.md). When one is absent the browser gets a 404, discards the
   rule, and falls through to the next family in the stack — Georgia, then a
   generic serif. The page stays readable; nothing errors.

   That is the right runtime behaviour and the wrong thing to leave unreported,
   because it is indistinguishable from the font simply being slow. So it is
   reported where somebody can act on it instead:

     • Appearance → Theme Design shows, per face, which files are missing.
     • An admin notice appears if the LIVE design selects a face whose files
       are absent.
     • tools/run-checks.sh design fails when this file and the catalogue in
       inc/theme-design/fonts.php disagree about filenames or weights.

   Keep this file and that catalogue in step. The check is what makes that a
   requirement rather than an intention.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Museo Slab — Exljbris (Jos Buivenga). Commercial.

   Ships 100 / 300 / 500 / 700 / 900 / 1000. The theme's CSS asks for 300–800,
   so there is no exact 400 and no exact 800. Each file is declared at its REAL
   weight and the browser substitutes the nearest — which is what @font-face
   weight matching is for, and better than any mapping table written here.

   1000 is deliberately not declared: nothing in the theme goes above 800, so it
   would be one more file to license and ship for a weight nothing requests.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Museo Slab';
  src: url('../fonts/MuseoSlab-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Museo Slab';
  src: url('../fonts/MuseoSlab-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Museo Slab';
  src: url('../fonts/MuseoSlab-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Museo Slab';
  src: url('../fonts/MuseoSlab-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Museo Slab';
  src: url('../fonts/MuseoSlab-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
