/* Self-hosted faces (security review L26): the same Google Fonts subsets the app used, latin
   only, so nothing about the page's third-party requests leaks a reader's IP to Google on every
   load. Hanken Grotesk and IBM Plex are each licensed under SIL OFL 1.1; the licences travel with
   the files, in OFL-hanken-grotesk.txt and OFL.txt (Plex) beside this one.

   Re-fetch from fonts.googleapis.com/css2 if a weight is ever added, and take the `latin` block's
   url, NOT the first one in the response: css2 returns one @font-face per unicode-range and the
   latin one is near the bottom -- a `latin-ext` subset has no `A` and no digits, so a face shipped
   from it renders every weight it carries in the fallback stack instead. */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/hanken-grotesk-variable.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ibm-plex-mono-500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibm-plex-serif-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ibm-plex-serif-500.woff2') format('woff2');
}
