/* ==========================================================================
   La Trastienda — @font-face auto-hospedadas
   Fase 1. Sin fonts.googleapis.com ni fonts.gstatic.com: los .woff2 viven
   en /fonts/ y se sirven desde el propio hosting.

   Los 3 .woff2 ya existen en /fonts/: se generaron a partir de los .ttf
   originales que aportó el cliente (Montserrat variable font + DM Serif
   Display), instanciando los pesos estáticos 400/600 con fontTools y
   aplicando el subset "latin" de abajo. Fuentes originales conservadas
   (no desplegadas) en _docs/fuentes-originales/, por si hace falta
   regenerar con otro peso o subset en el futuro.

   Unicode-range: corrección técnica respecto al plan original. El plan
   pedía subset "latin + latin-ext" pensando en tildes y ñ, pero esos
   caracteres (á é í ó ú ñ ü ¿ ¡ y mayúsculas) ya están en el subset base
   "latin" de Google Fonts — "latin-ext" añade diacríticos de otras lenguas
   (checo, polaco, turco...) que este sitio no necesita. Se usa solo
   "latin": mismo resultado visual en español, un archivo por peso más
   ligero. Rango tal cual lo publica Google Fonts para este subset. */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/montserrat-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+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/montserrat-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+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-serif-display-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+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Fuentes de reemplazo con métrica ajustada (evitan CLS en el "swap")
   Técnica: declarar la fuente de sistema como si fuera otra familia, pero
   recalculando su métrica (ascenso/descenso/anchura) para que ocupe el
   mismo espacio que la fuente real. El texto se ve con Arial/Georgia
   durante la carga, pero SIN saltar de tamaño cuando entra la definitiva.

   ⚠️ Valores aproximados a partir de las métricas publicadas de Montserrat
   y DM Serif Display. Recalcular con la fuente real una vez descargada
   (p. ej. con https://screenspan.net/fallback o `npx fontaine`) y ajustar
   aquí si el resultado medido difiere sensiblemente de estos valores.
   ========================================================================== */

@font-face {
  font-family: 'Montserrat Fallback';
  src: local('Arial');
  ascent-override: 96.8%;
  descent-override: 25.1%;
  line-gap-override: 0%;
  size-adjust: 100.9%;
}

@font-face {
  font-family: 'DM Serif Display Fallback';
  src: local('Georgia');
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 106%;
}
