/* =============================================================================
   Tipografías del sistema — autoalojadas (self-hosted)
   =============================================================================

   Antes esto venía de fonts.googleapis.com con un <link> bloqueante repetido en
   cinco vistas. Eso costaba, antes de poder pintar texto:
       HTML → DNS+TLS googleapis → CSS → DNS+TLS gstatic → woff2
   es decir dos orígenes de terceros y tres saltos en serie. Ahora todo sale del
   mismo dominio (mismo TCP/TLS ya abierto) y las dos caras críticas van con
   <link rel="preload"> desde el <head> (ver app/Views/partials/_fonts.php).

   Qué se descarga de verdad
   -------------------------
   - Exo 2 es una fuente VARIABLE: Google sirve UN solo archivo por subconjunto
     con el eje wght 100–900. Los pesos 300/400/500/600 que usamos salen todos
     de exo2-v26-latin.woff2 — un archivo, no cuatro.
   - Rajdhani es estática: un archivo por peso. Solo declaramos 600 y 700, que
     son los únicos que usa el CSS (el 500 que pedíamos a Google nunca se usó).
   - unicode-range hace que latin-ext solo se descargue si la página contiene
     algún carácter fuera de latin. El español (á é í ó ú ñ ü ¿ ¡) entra entero
     en el subconjunto latin, así que en la práctica los -ext no se piden nunca;
     están para nombres de clientes con caracteres raros.

   Peso real en una página en español: 40 KB (Exo 2) + 16 KB (Rajdhani 700)
   + 16 KB (Rajdhani 600) ≈ 72 KB, todo desde nuestro dominio.

   font-display: swap
   ------------------
   El texto se pinta de inmediato con la fuente de respaldo y cambia al llegar
   la real. Se prefiere a 'optional' porque en visita fría 'optional' descarta
   la fuente y la marca se vería con la tipografía del sistema — inaceptable en
   una landing donde el nombre del negocio es el logo. El salto visual se acota
   con los preload y con las pilas de respaldo (--f-head/--f-body en
   tricolor.css), que nunca caen al serif por defecto del navegador.

   Actualizar una fuente
   ---------------------
   Los nombres llevan la versión de Google (v26/v17) porque se sirven con
   Cache-Control: immutable (public/assets/fonts/.htaccess). Para actualizar hay
   que descargar con el nombre de la versión nueva y cambiar las rutas aquí y en
   los preload del partial; NO sobrescribir un archivo existente.
   ========================================================================== */

/* ---------- Exo 2 (cuerpo de texto) — variable, wght 100–900 ---------- */

/* latin-ext */
@font-face {
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/exo2-v26-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: 'Exo 2';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/exo2-v26-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;
}

/* ---------- Rajdhani (títulos, botones, cifras) — estática, 600 y 700 ---------- */

/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/rajdhani-v17-600-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: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/rajdhani-v17-600-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 */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/rajdhani-v17-700-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: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/rajdhani-v17-700-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;
}
