/* Self-hosted, and that is a product decision rather than a performance one.
 *
 * subhadipmitra@: The security page on this site says no data reaches us and
 * that this deployment's outbound connections are enumerable. Meanwhile every
 * visitor's browser called fonts.googleapis.com in order to read it — a third
 * party learning who reads our security posture, on the page making the claim.
 * A security reviewer notices that, and they are right to.
 *
 * Self-hosting also lets the CSP in `_headers` forbid third-party style and
 * font origins outright, so the claim is enforced by a header rather than by
 * our good intentions.
 *
 * Latin only: `latin-ext` roughly doubles the payload for glyphs this site does
 * not set. Add it back the day a page needs them.
 *
 * Regenerate with `scripts/fetch-fonts.sh`.
 */

/* Libre Franklin ships as ONE variable file. Google's API serves the same
 * bytes for every weight requested — all four downloads were byte-identical —
 * so declaring a range here is 29 KB instead of 117 KB for the same result. */
@font-face{
  font-family:'Libre Franklin';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('/assets/fonts/libre-franklin-var.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;
}

/* Spectral and IBM Plex Mono are static cuts; each weight is its own file. */
@font-face{
  font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/spectral-500.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:'Spectral';font-style:italic;font-weight:500;font-display:swap;
  src:url('/assets/fonts/spectral-500-italic.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:'Spectral';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/spectral-600.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('/assets/fonts/plex-mono-400.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:500;font-display:swap;
  src:url('/assets/fonts/plex-mono-500.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:600;font-display:swap;
  src:url('/assets/fonts/plex-mono-600.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;
}
