/**
 * md3-tipografia.css — Montserrat, servida LOCALMENTE.
 *
 * Por qué local (mismo motivo que la fuente de iconos):
 *
 * Desde fonts.googleapis.com se declaraban 21 caras distintas (cinco alfabetos
 * x los pesos 400/500/600/700). En la práctica solo llegaba a cargarse el peso
 * 400: el resto quedaba en estado "unloaded", de modo que TÍTULOS, BOTONES y
 * MENÚS —que usan 500, 600 y 700— se pintaban con la tipografía de respaldo del
 * sistema. Ese era el motivo de que "no se viera Montserrat" en buena parte de
 * la interfaz aunque el CSS la declarase por todas partes.
 *
 * La causa de fondo es la misma que con los iconos: dos peticiones EN SERIE a
 * un tercer dominio (primero el CSS, y solo entonces cada .woff2), cada una con
 * su propia oportunidad de llegar tarde o no llegar.
 *
 * Aquí se usa la versión VARIABLE de Montserrat: un único archivo por alfabeto
 * cubre TODO el rango de pesos 100-900 de forma continua. Son 109 KB en total
 * (37 KB latin + 70 KB latin-ext) contra las 21 peticiones anteriores.
 *
 * font-display: swap es lo correcto para texto (al contrario que en los iconos,
 * donde se usa block): el contenido se lee de inmediato con la fuente de
 * respaldo y se refina al llegar Montserrat. Un texto invisible sería peor que
 * un texto con otra tipografía; en los iconos la disyuntiva es la inversa,
 * porque su "respaldo" es el nombre del icono en crudo.
 *
 * Para actualizar, ver assets/fonts/LEEME.md
 */

/* latin-ext: acentos y signos ampliados. Va primero para que el navegador
   elija por unicode-range, no por orden. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;          /* rango continuo: la fuente es variable */
  font-display: swap;
  src: url('../fonts/montserrat-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: cubre el español corriente, tildes y ñ incluidas. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/montserrat-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;
}
