/* ============================================================
   RAVEN by TRUSTTECH — Local fonts (self-hosted, offline-ready)
   ============================================================
   Reemplaza la dependencia de fonts.googleapis.com.
   Todos los .woff2 están servidos desde el mismo origen del sitio.
   Subsets: latin + latin-ext. font-display: swap para evitar FOUT.

   Familias y pesos servidos (los que usa style.css):
     • Chakra Petch    — 400, 500, 600, 700 (display / headers)
     • IBM Plex Sans   — 400, 500, 600, 700 (body)
     • JetBrains Mono  — 400, 500, 600       (mono / badges)
   ============================================================ */

/* -----------------------------
   Chakra Petch — 400, 500, 600, 700
   ----------------------------- */
@font-face {
  font-display: swap;
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 400;
  src: url('chakra-petch/chakra-petch-v13-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 500;
  src: url('chakra-petch/chakra-petch-v13-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 600;
  src: url('chakra-petch/chakra-petch-v13-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Chakra Petch';
  font-style: normal;
  font-weight: 700;
  src: url('chakra-petch/chakra-petch-v13-latin_latin-ext-700.woff2') format('woff2');
}

/* -----------------------------
   IBM Plex Sans — 400, 500, 600, 700
   ----------------------------- */
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  src: url('ibm-plex-sans/ibm-plex-sans-v23-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  src: url('ibm-plex-sans/ibm-plex-sans-v23-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  src: url('ibm-plex-sans/ibm-plex-sans-v23-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  src: url('ibm-plex-sans/ibm-plex-sans-v23-latin_latin-ext-700.woff2') format('woff2');
}

/* -----------------------------
   JetBrains Mono — 400, 500, 600
   ----------------------------- */
@font-face {
  font-display: swap;
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  src: url('jetbrains-mono/jetbrains-mono-v24-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  src: url('jetbrains-mono/jetbrains-mono-v24-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  src: url('jetbrains-mono/jetbrains-mono-v24-latin_latin-ext-600.woff2') format('woff2');
}
