/*
Self-hosted faces for the scene house styles (viz/src/styles/registry.json),
linked by every scene-bearing page through app.locals.sceneFontsUrl
(views/includes/scene-head.ejs, views/admin/partials/head.ejs). The site pair,
Instrument Sans and Fragment Mono, is in site-fonts.css, which those pages
link already.

This replaced the Google Fonts stylesheet the scenes used to load: a visitor's
IP reaching fonts.googleapis.com is a GDPR problem in the EU, and the CSP
(middleware/securityMiddleware.js, font-src 'self') has blocked it since the
2026-09-24 cookie-consent work, which left these styles in system fonts.
The files are the ones services/ogImageService.js renders share cards with;
weights mirror the registry. test/services/sceneFonts.test.js fails if a
house style adds a family or weight that has no face here.
All fonts are SIL Open Font License.
*/

/* Bricolage Grotesque - variable 500-700 */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(bricolage-grotesque/BricolageGrotesque-Variable.woff2) format('woff2');
}

/* Archivo - variable 500-700 */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(archivo/Archivo-Variable.woff2) format('woff2');
}

/* Archivo Narrow - variable 500-700, italic 500-600 */
@font-face {
  font-family: 'Archivo Narrow';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(archivo-narrow/ArchivoNarrow-Variable.woff2) format('woff2');
}
@font-face {
  font-family: 'Archivo Narrow';
  font-style: italic;
  font-weight: 500 600;
  font-display: swap;
  src: url(archivo-narrow/ArchivoNarrow-Italic-Variable.woff2) format('woff2');
}

/* Newsreader - variable 400-600, upright and italic */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(newsreader/Newsreader-Variable.woff2) format('woff2');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url(newsreader/Newsreader-Italic-Variable.woff2) format('woff2');
}

/* Shantell Sans - variable 500-700 */
@font-face {
  font-family: 'Shantell Sans';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(shantell-sans/ShantellSans-Variable.woff2) format('woff2');
}

/* IBM Plex Mono - static 400, 500, 600 and 400 italic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(ibm-plex-mono/IBMPlexMono-Regular.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(ibm-plex-mono/IBMPlexMono-Medium.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(ibm-plex-mono/IBMPlexMono-SemiBold.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(ibm-plex-mono/IBMPlexMono-Italic.woff2) format('woff2');
}
