/* ============================================================
   Fuentes self-hosted — sin dependencia de Google Fonts
   font-display: swap → el browser pinta texto de inmediato con
   una fuente de sistema y la reemplaza cuando el .woff2 termina
   de cargar (evita texto invisible mientras carga la fuente).
   Solo subset Latin para máxima velocidad de carga.
   ============================================================ */

/* ── DM Sans Variable (opsz + wght: 300–600) ── */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/fonts/dm-sans-latin-opsz-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url('/fonts/dm-sans-latin-opsz-italic.woff2') format('woff2');
}

/* ── Playfair Display — 700 normal, 700 italic, 900 normal ── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('/fonts/playfair-display-latin-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('/fonts/playfair-display-latin-700-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url('/fonts/playfair-display-latin-900-normal.woff2') format('woff2');
}

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