/* ============================================================
   VETERINARIA ANDRADE · fuentes.css
   Autoalojadas. Cero <link> a Google Fonts. BRIEF §2.

   Ambas son VARIABLES (font-weight declarado como rango), no
   instancias estáticas: Fraunces necesita los ejes SOFT y WONK
   vivos, y una instancia estática no los expone.

   NOTA SOBRE latin-ext:
   El rango `latin` es U+0000-00FF, que ya cubre TODO el español
   (á é í ó ú ñ ü ¿ ¡ « »). Con unicode-range el navegador solo
   descarga latin-ext si la página contiene un glifo de ese rango
   — cosa que no ocurrirá. Los 105 KB de fraunces-latin-ext
   quedan declarados pero nunca se piden. Coste real: 0 bytes.
   ============================================================ */

/* ── Fraunces · variable 400–600 ───────────────────────────── */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/fraunces-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: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/fraunces-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;
}

/* ── Karla · variable 400–700 ──────────────────────────────── */

@font-face {
  font-family: 'Karla';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/karla-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: 'Karla';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/karla-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;
}

/* ============================================================
   RESPALDOS CON MÉTRICA AJUSTADA

   El h1 del hero ES el elemento LCP. Con font-display:swap el
   texto pinta en el primer frame con la fuente de respaldo y
   luego intercambia. Sin ajustar la métrica, ese intercambio
   mueve el texto y nos regala CLS justo donde más duele.

   Estos overrides hacen que el respaldo ocupe exactamente el
   mismo espacio que la fuente real: el swap se vuelve invisible.

   TODO_AJUSTE_METRICO — los valores de abajo son un punto de
   partida razonable, NO medidos. Se calibran en la Fase 2
   (hero) superponiendo ambas fuentes y llevando CLS a 0.
   ============================================================ */

@font-face {
  font-family: 'Fraunces respaldo';
  src: local('Georgia'), local('Times New Roman');
  size-adjust: 107%;
  ascent-override: 88%;
  descent-override: 24%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Karla respaldo';
  src: local('Helvetica Neue'), local('Arial');
  size-adjust: 96%;
  ascent-override: 98%;
  descent-override: 24%;
  line-gap-override: 0%;
}
