/*
 * lafving.com — Local font declarations
 * Source: Fontsource (fontsource.org) via npm
 * Replaces: Google Fonts CDN link in index.html
 *
 * Files are in ./fonts/ relative to this stylesheet.
 * Variable fonts (Bricolage Grotesque, DM Sans) use the opsz-axis
 * builds, which include the full wght range within them.
 * IBM Plex Mono ships as two static files (400 and 500 weight).
 */

/* ── Bricolage Grotesque — variable (opsz + wght axes) ─────── */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-display: swap;
  font-weight: 300 700;
  src: url('./fonts/bricolage-grotesque/bricolage-grotesque-latin-opsz-normal.woff2')
       format('woff2');
}

/* ── DM Sans — variable (opsz axis), normal ─────────────────── */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 300 500;
  src: url('./fonts/dm-sans/dm-sans-latin-opsz-normal.woff2')
       format('woff2');
}

/* ── DM Sans — variable (opsz axis), italic ─────────────────── */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 300;
  src: url('./fonts/dm-sans/dm-sans-latin-opsz-italic.woff2')
       format('woff2');
}

/* ── IBM Plex Mono — static, weight 400 ─────────────────────── */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2')
       format('woff2');
}

/* ── IBM Plex Mono — static, weight 500 ─────────────────────── */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2')
       format('woff2');
}
