/* Self-hosted Momentum faces.
 *
 * These two files were being uploaded on every deploy and never used: the
 * pages linked fonts.googleapis.com instead, paying for a DNS lookup, a TLS
 * handshake and a render-blocking stylesheet to fetch faces already sitting
 * on the origin. Worse, the swap produced a visible flash of unstyled text,
 * which is the cheapest-looking thing a premium page can do.
 *
 * Loaded before momentum.css so the family names resolve locally by the time
 * anything asks for them. The family names are deliberately identical to the
 * Google ones, so no other stylesheet needed a single change.
 *
 * font-display: swap is correct here rather than optional or block. The faces
 * are preloaded in the document head, so swap almost never fires; when it
 * does, on a cold cache over a bad connection, showing the text immediately
 * beats holding a blank headline.
 */

@font-face {
  font-family: 'Russo One';
  src: url('/assets/fonts/russo-one.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Variable font: one file covers 400 through 800, which is the range
 * momentum.css and blatt.css actually use. Declaring the full range lets the
 * browser interpolate rather than synthesising a fake bold, which is what
 * makes synthetic weights look smeared. */
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-var-latin.woff2') format('woff2-variations'),
       url('/assets/fonts/inter-var-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
