/* ==========================================================================
   Tipografías autoalojadas — Radio Bicentenario STA
   ==========================================================================

   ¿POR QUÉ ESTÁN AQUÍ Y NO EN GOOGLE FONTS?
   -----------------------------------------
   Hasta ahora el sitio cargaba las tipografías con una etiqueta <link> a
   fonts.googleapis.com, que a su vez descargaba los archivos desde
   fonts.gstatic.com. Cada visitante —incluidos estudiantes, apoderados y
   menores de edad— le entregaba su dirección IP, su User-Agent y la hora de
   la visita a servidores de Google en Estados Unidos, sin que el sitio lo
   declarara ni pidiera consentimiento.

   La dirección IP es un dato personal, y enviarla a un tercero fuera de Chile
   constituye una transferencia internacional de datos personales que la Ley
   21.719 obliga a declarar y justificar (plazo de cumplimiento: 1 de
   diciembre de 2026). Al servir las tipografías desde nuestro propio
   servidor, la transferencia simplemente deja de existir: no hay nada que
   declarar porque ningún dato sale del sitio. Es la misma solución que
   adoptaron los sitios públicos europeos tras la sentencia alemana de 2022
   sobre Google Fonts y el RGPD.

   PROCEDENCIA DE LOS ARCHIVOS
   ---------------------------
   Descargados desde fonts.gstatic.com el 5 de octubre de 2026, a partir de la
   hoja de estilos oficial de Google Fonts solicitada con un User-Agent de
   Chrome 120 (así Google devuelve woff2 y no formatos antiguos). Los valores
   de unicode-range y font-display de este archivo son copia literal de esa
   hoja, de modo que el texto se ve exactamente igual que antes.

   Versiones de origen: Bebas Neue v16, DM Sans v17, JetBrains Mono v24.
   Sólo se incluyen los subconjuntos `latin` y `latin-ext`: el sitio está en
   español, por lo que se omitieron cirílico, griego y vietnamita (eso además
   reduce el peso descargado respecto de lo que servía Google).

   LICENCIAS
   ---------
   Las tres familias son software libre bajo la SIL Open Font License 1.1,
   que permite expresamente el alojamiento propio y la redistribución. El
   texto completo de cada licencia acompaña a este archivo:
     · OFL-bebas-neue.txt      — Copyright 2010 Dharma Type
     · OFL-dm-sans.txt         — Copyright 2014 The DM Sans Project Authors
     · OFL-jetbrains-mono.txt  — Copyright 2020 The JetBrains Mono Project Authors

   NOTAS TÉCNICAS PARA QUIEN MANTENGA ESTO
   ---------------------------------------
   1. DM Sans es una fuente VARIABLE. Google servía el MISMO archivo .woff2
      para los pesos 300, 400 y 600; por eso aquí hay tres bloques
      @font-face que apuntan al mismo archivo. No es un error ni una copia
      duplicada: el navegador lo descarga una sola vez (misma URL) y la
      declaración de peso es la que le dice qué instancia interpolar.
   2. Se mantienen los pesos declarados en 300/400/600 —y NO un rango
      `font-weight: 100 1000`— a propósito. El CSS del sitio usa en varios
      sitios font-weight 700 y 800, pesos que Google nunca sirvió: hoy el
      navegador los resuelve al peso más cercano (600). Si aquí se declarara
      el rango completo, esos textos pasarían a renderizarse realmente en 700
      u 800 y el sitio cambiaría de aspecto. Dejándolo así, el resultado
      visual es idéntico al actual.
   3. El orden de los bloques importa: `latin-ext` va antes que `latin`,
      igual que en la hoja de Google. Ambos subconjuntos se solapan en unos
      pocos caracteres y, cuando eso ocurre, el navegador aplica la última
      declaración que coincide.
   4. Si algún día se necesita otro peso o estilo, hay que volver a pedir la
      hoja a Google, descargar el .woff2 nuevo y añadirlo aquí. No vale
      reponer el <link>: eso reintroduce el problema legal.
   ========================================================================== */


/* --------------------------------------------------------------------------
   Bebas Neue — 400 (único peso que publica la familia)
   Uso en el sitio: titulares y rótulos.
   -------------------------------------------------------------------------- */

/* latin-ext */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/bebas-neue-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/bebas-neue-400-latin.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;
}


/* --------------------------------------------------------------------------
   DM Sans — redonda (variable), pesos 300 / 400 / 600
   Uso en el sitio: tipografía de texto general.
   Los tres pesos comparten archivo: ver nota técnica 1 de la cabecera.
   -------------------------------------------------------------------------- */

/* latin-ext · 300 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin · 300 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin.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;
}

/* latin-ext · 400 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin · 400 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin.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;
}

/* latin-ext · 600 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin · 600 */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-latin.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;
}


/* --------------------------------------------------------------------------
   DM Sans — cursiva (variable), peso 300
   Uso en el sitio: bajadas y pies de foto en noticia.php y admin.php.
   -------------------------------------------------------------------------- */

/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans-variable-italic-latin.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;
}


/* --------------------------------------------------------------------------
   JetBrains Mono — 400
   Uso en el sitio: bloques monoespaciados (logs, metadatos técnicos).
   No se usa en presentacion-ondi.php.
   -------------------------------------------------------------------------- */

/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/jetbrains-mono-400-latin.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;
}
