/* Self-hosted fonts of www, the portal, the tools, the app pages and the admin (step 11, F-085).
   No request leaves for Google: the files sit in /fonts/<family>/ next to their SIL OFL 1.1 licence.
   - Plus Jakarta Sans v12 (Google Fonts), latin subset (French included), variable font limited
     to wght 400..800: ONE file for the five weights in use (400, 500, 600, 700, 800). Preloaded by
     every page that uses it, with the exact URL below (no query string).
   - Bricolage Grotesque v9 (Google Fonts), latin subset, weight 800, opsz 12..96: titles and
     figures of the admin (dg-mix.css). Downloaded only where used.
   - 'Plus Jakarta Sans Fallback': Arial (Helvetica, Liberation Sans: same advance widths) resized
     to the metrics of Plus Jakarta Sans, drawn while the web font loads (font-display: swap), so
     that nothing moves when it arrives. Its unicode-range is limited to the characters the web
     font draws: the others (arrows, check marks, U+202F) still come from the system font, as
     before. Numbers from `node build/build-font-fallback.mjs` (`--check` compares them with this
     file); 600-800 use the 700 face, 400-500 the 400 face.
   Served with Cache-Control immutable: change a font = change its file name. */

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin-400-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/bricolage-grotesque/bricolage-grotesque-v9-latin-800.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Plus Jakarta Sans Fallback';
  font-style: normal;
  font-weight: 400;
  src: local('Arial'), local('ArialMT'), local('Helvetica'), local('Liberation Sans'), local('LiberationSans');
  size-adjust: 104.66%;
  ascent-override: 99.18%;
  descent-override: 21.21%;
  line-gap-override: 0%;
  unicode-range: U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

@font-face {
  font-family: 'Plus Jakarta Sans Fallback';
  font-style: normal;
  font-weight: 700;
  src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Helvetica-Bold'), local('Liberation Sans Bold'), local('LiberationSans-Bold');
  size-adjust: 101.35%;
  ascent-override: 102.42%;
  descent-override: 21.9%;
  line-gap-override: 0%;
  unicode-range: U+0020-007E, U+00A0-00AC, U+00AE-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2032-2033, U+2039-203A, U+2044, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
