/*
 * Masajes & Belleza EB — tipografías self-hosted
 * ------------------------------------------------------------------
 * Cormorant Garamond v21 (títulos; itálica para énfasis) y Jost v20 (texto).
 * Son fuentes VARIABLES: un solo archivo por estilo y subset cubre todos los pesos
 *   Cormorant Garamond  wght 300–700  (usamos 400, 500 y 600 + itálica 400 y 500)
 *   Jost                wght 100–900  (usamos 300, 400 y 500)
 * Subsets: latin (español completo: áéíóúñü ¿¡ «» – — “” …) + latin-ext (sólo baja si aparece
 * un carácter de ese rango). unicode-range idéntico al de Google Fonts.
 * Licencia: SIL Open Font License 1.1 → /fonts/OFL-CormorantGaramond.txt y /fonts/OFL-Jost.txt
 *
 * Pilas recomendadas (o usá las variables --eb-serif / --eb-sans de abajo):
 *   font-family: "Cormorant Garamond", "Cormorant Fallback", "Cormorant Fallback Georgia", "Cormorant Fallback Android", Georgia, serif;
 *   font-family: "Jost", "Jost Fallback", "Jost Fallback Helvetica", "Jost Fallback Android", Arial, sans-serif;
 * Las caras "* Fallback" son fuentes del sistema (Times New Roman / Georgia / Noto Serif;
 * Arial / Helvetica Neue / Roboto) re-escaladas con size-adjust y *-override para que el texto
 * ocupe lo mismo antes y después de que llegue la web font (menos salto de layout con swap).
 * Métricas calculadas con fontTools sobre los archivos reales y un texto de muestra en español:
 *   size-adjust = ancho medio(web font) / ancho medio(fallback)
 *   ascent/descent/line-gap-override = métrica de la web font / UPM / size-adjust
 * (Safari aplica size-adjust pero ignora los *-override; Chrome y Firefox aplican todo.)
 */

/* ============ Cormorant Garamond ============ */
/* normal · latin-ext */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-v21-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* normal · latin */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-v21-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;
}
/* itálica · latin-ext */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-v21-italic-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* itálica · latin */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/cormorant-garamond-v21-italic-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;
}

/* ============ Jost ============ */
/* latin-ext */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/jost-v20-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/fonts/jost-v20-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;
}

/* ============ Fallbacks con métricas ajustadas ============ */
/* Cormorant: el ancho casi no cambia entre 400 y 600 (<1 %), así que una cara por estilo,
   calibrada con el promedio de 400 y 500, declarada para todo el rango (sin negrita sintética). */
/* Times New Roman (macOS, iOS, Windows) */
@font-face {
  font-family: "Cormorant Fallback";
  font-style: normal;
  font-weight: 300 700;
  src: local("Times New Roman"), local("TimesNewRomanPSMT");
  size-adjust: 96.73%;
  ascent-override: 95.53%;
  descent-override: 29.67%;
  line-gap-override: 0.00%;
}
/* Times New Roman Italic */
@font-face {
  font-family: "Cormorant Fallback";
  font-style: italic;
  font-weight: 300 700;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT");
  size-adjust: 86.83%;
  ascent-override: 106.41%;
  descent-override: 33.05%;
  line-gap-override: 0.00%;
}
/* Georgia (si no hay Times New Roman) */
@font-face {
  font-family: "Cormorant Fallback Georgia";
  font-style: normal;
  font-weight: 300 700;
  src: local("Georgia");
  size-adjust: 88.08%;
  ascent-override: 104.90%;
  descent-override: 32.58%;
  line-gap-override: 0.00%;
}
/* Georgia Italic */
@font-face {
  font-family: "Cormorant Fallback Georgia";
  font-style: italic;
  font-weight: 300 700;
  src: local("Georgia Italic"), local("Georgia-Italic");
  size-adjust: 78.28%;
  ascent-override: 118.04%;
  descent-override: 36.66%;
  line-gap-override: 0.00%;
}
/* Noto Serif (serif del sistema en Android) */
@font-face {
  font-family: "Cormorant Fallback Android";
  font-style: normal;
  font-weight: 300 700;
  src: local("Noto Serif"), local("NotoSerif-Regular"), local("Noto Serif Regular");
  size-adjust: 81.29%;
  ascent-override: 113.66%;
  descent-override: 35.30%;
  line-gap-override: 0.00%;
}
/* Noto Serif Italic */
@font-face {
  font-family: "Cormorant Fallback Android";
  font-style: italic;
  font-weight: 300 700;
  src: local("Noto Serif Italic"), local("NotoSerif-Italic");
  size-adjust: 75.75%;
  ascent-override: 121.98%;
  descent-override: 37.89%;
  line-gap-override: 0.00%;
}

/* Jost: el ancho sí cambia con el peso (300 es ~2,6 % más angosto que 400 y 500 ~3,9 % más ancho),
   así que hay tres caras por fallback según el peso pedido: 100–349 (300), 350–449 (400) y 450–900 (500). */
/* Arial (macOS, iOS, Windows) · calibrada con Jost 300 */
@font-face {
  font-family: "Jost Fallback";
  font-style: normal;
  font-weight: 100 349;
  src: local("Arial"), local("ArialMT");
  size-adjust: 93.22%;
  ascent-override: 114.78%;
  descent-override: 40.23%;
  line-gap-override: 0.00%;
}
/* Arial (macOS, iOS, Windows) · calibrada con Jost 400 */
@font-face {
  font-family: "Jost Fallback";
  font-style: normal;
  font-weight: 350 449;
  src: local("Arial"), local("ArialMT");
  size-adjust: 95.66%;
  ascent-override: 111.85%;
  descent-override: 39.20%;
  line-gap-override: 0.00%;
}
/* Arial (macOS, iOS, Windows) · calibrada con Jost 500 */
@font-face {
  font-family: "Jost Fallback";
  font-style: normal;
  font-weight: 450 900;
  src: local("Arial"), local("ArialMT");
  size-adjust: 99.40%;
  ascent-override: 107.65%;
  descent-override: 37.73%;
  line-gap-override: 0.00%;
}
/* Helvetica Neue (Apple, si no hay Arial) · calibrada con Jost 300 */
@font-face {
  font-family: "Jost Fallback Helvetica";
  font-style: normal;
  font-weight: 100 349;
  src: local("Helvetica Neue"), local("HelveticaNeue");
  size-adjust: 92.48%;
  ascent-override: 115.71%;
  descent-override: 40.55%;
  line-gap-override: 0.00%;
}
/* Helvetica Neue (Apple, si no hay Arial) · calibrada con Jost 400 */
@font-face {
  font-family: "Jost Fallback Helvetica";
  font-style: normal;
  font-weight: 350 449;
  src: local("Helvetica Neue"), local("HelveticaNeue");
  size-adjust: 94.90%;
  ascent-override: 112.75%;
  descent-override: 39.52%;
  line-gap-override: 0.00%;
}
/* Helvetica Neue (Apple, si no hay Arial) · calibrada con Jost 500 */
@font-face {
  font-family: "Jost Fallback Helvetica";
  font-style: normal;
  font-weight: 450 900;
  src: local("Helvetica Neue"), local("HelveticaNeue");
  size-adjust: 98.61%;
  ascent-override: 108.51%;
  descent-override: 38.03%;
  line-gap-override: 0.00%;
}
/* Roboto (Android) · calibrada con Jost 300 */
@font-face {
  font-family: "Jost Fallback Android";
  font-style: normal;
  font-weight: 100 349;
  src: local("Roboto"), local("Roboto-Regular"), local("Roboto Regular");
  size-adjust: 93.52%;
  ascent-override: 114.42%;
  descent-override: 40.10%;
  line-gap-override: 0.00%;
}
/* Roboto (Android) · calibrada con Jost 400 */
@font-face {
  font-family: "Jost Fallback Android";
  font-style: normal;
  font-weight: 350 449;
  src: local("Roboto"), local("Roboto-Regular"), local("Roboto Regular");
  size-adjust: 95.97%;
  ascent-override: 111.49%;
  descent-override: 39.07%;
  line-gap-override: 0.00%;
}
/* Roboto (Android) · calibrada con Jost 500 */
@font-face {
  font-family: "Jost Fallback Android";
  font-style: normal;
  font-weight: 450 900;
  src: local("Roboto"), local("Roboto-Regular"), local("Roboto Regular");
  size-adjust: 99.72%;
  ascent-override: 107.30%;
  descent-override: 37.61%;
  line-gap-override: 0.00%;
}

/* Pilas listas para usar (opcionales; el sitio puede definir las suyas con los mismos nombres) */
:root {
  --eb-serif: "Cormorant Garamond", "Cormorant Fallback", "Cormorant Fallback Georgia", "Cormorant Fallback Android", Georgia, "Times New Roman", serif;
  --eb-sans: "Jost", "Jost Fallback", "Jost Fallback Helvetica", "Jost Fallback Android", Arial, "Helvetica Neue", sans-serif;
}

/*
 * PRELOAD recomendado (sólo estos 2; el resto baja bajo demanda):
 *   <link rel="preload" href="/fonts/cormorant-garamond-v21-latin.woff2" as="font" type="font/woff2" crossorigin>
 *   <link rel="preload" href="/fonts/jost-v20-latin.woff2" as="font" type="font/woff2" crossorigin>
 * (crossorigin es obligatorio aunque sea el mismo origen; si no, el navegador descarga la fuente dos veces.)
 * La itálica (cormorant-garamond-v21-italic-latin.woff2, 39 KB) no se precarga: suele aparecer más abajo
 * o en pocas palabras; si el H1 del hero lleva itálica arriba del pliegue, conviene sumarla como tercer preload.
 */
