/* ── Tipografías propias ─────────────────────────────────────────────────────
   Antes venían de Google. La cadena era HTML → CSS de fonts.googleapis.com →
   woff2 de fonts.gstatic.com: dos viajes a otro dominio DESPUÉS de parsear el
   HTML, aun con los preconnect. Con display:swap eso significa "mostrá el
   sustituto y cambialo de golpe", y el título saltaba de 406 a 336 px, un 17 %
   más angosto, cambiando además la forma de la letra. Medido el 7 de
   septiembre de 2026 neutralizando las tipografías instaladas en el Mac, que
   si no tapan el problema y hacen creer que no existe.

   Ahora salen del mismo borde de Cloudflare que el HTML y se precargan, así
   que llegan en la primera tanda. Son las VARIABLES: un archivo por familia en
   vez de los diez estáticos que pedían las páginas entre todas.

   local() va primero a propósito: en las máquinas del equipo, que las tienen
   instaladas, no se descarga nada.

   Licencia: las tres son SIL Open Font License 1.1, que permite alojarlas.
   Big Shoulders © The Big Shoulders Project Authors. Ficheros tomados de la
   API de Google Fonts, subconjuntos latin y latin-ext.

   swap y no optional: con el fichero en el mismo dominio la ventana es de
   milisegundos, y si algo se tuerce preferimos texto legible a texto ausente.
── */

@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: local('Big Shoulders Display'),
       url('/assets/tipografias/big-shoulders-display-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;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: local('Big Shoulders Display'),
       url('/assets/tipografias/big-shoulders-display-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;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: local('Hanken Grotesk'),
       url('/assets/tipografias/hanken-grotesk-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;
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: local('Hanken Grotesk'),
       url('/assets/tipografias/hanken-grotesk-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;
}
@font-face {
  font-family: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: local('Spline Sans Mono'),
       url('/assets/tipografias/spline-sans-mono-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;
}
@font-face {
  font-family: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: local('Spline Sans Mono'),
       url('/assets/tipografias/spline-sans-mono-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;
}

/* ── Por qué NO hay sustituto con métricas ajustadas ─────────────────────────
   Mientras Hanken llega, el sistema pone su grotesca y el texto cambia de
   ancho al hacer el relevo: medido el 7 de septiembre de 2026 neutralizando la
   tipografía, el botón «Inscribir película» saltaba 2,9 px, el de la barra
   2,7, y el resto entre 0 y 0,6. El alto no se movía en ningún caso, porque el
   line-height del body es un número y no depende de las métricas.

   Se probó el arreglo de manual, size-adjust en una familia sustituta, dos
   veces, y las dos salieron peor en conjunto:

     · Un valor por peso, calibrado con una cadena larga: el botón bajó de 2,9
       a 1,2 px, pero la frase de las fechas subió de 0,6 a 6,1.
     · Solo el peso 500, que es donde está el problema —el sustituto del
       sistema no tiene Medium y cae a Regular—: los botones quedaron en 0,4 a
       0,9 px, pero esa misma frase subió a 10,7, porque su parte en negrita
       TAMBIÉN es peso 500 y el header es shrink-to-fit, así que su ancho lo
       pone la línea más larga.

   La razón de ancho entre Hanken y la grotesca del sistema cambia bastante
   según la cadena, y ninguna constante por peso las casa todas: cada intento
   cambia el salto de sitio. Así que el arreglo no es disimular el relevo sino
   que no ocurra, y eso lo hace la precarga: la cara sale del mismo dominio y
   se pide en la primera tanda. Lo que quede es de milisegundos y de 3 px.

   Si algún día vuelve a molestar, el camino es medir con las cadenas reales de
   la página, no con una de prueba, y aceptar que se optimiza para unas y se
   empeora otras. Los números de arriba son el punto de partida.
── */
