/* r11 · tipos · fonts.css (19-10-2026, inv:tipos) · corrección de Lara 08:5x: «Pero y bodoni moda? No se iba a usar esa?»
   Los tres sistemas llevan Bodoni Moda (los archivos del hero c) como serif principal y su cursiva como acento.
   Cambian solo las otras voces, sacadas de cada referencia:
     S1 «Willow» → Instrument Sans (versal negra apretada, rótulos y texto, un solo archivo variable)
     S2 «Haven»  → Antonio (versal condensada negra) + Hanken Grotesk (texto y rótulos)
     S3 «Jamie»  → Schibsted Grotesk (rótulos, llamada y texto) + Cutive Mono (notas, la misma mono que usa Jamie)
   Origen, tamaño y SHA-256 de cada archivo: ../ORIGEN-FUENTES.md. Licencias: OFL-*.txt aquí al lado.
   Subconjunto «latin» de Google Fonts (U+0000-00FF y signos): trae á é í ó ú ü ñ ¿ ¡ « » € ’ … — · (comprobado en el cmap).

   Carga: font-display: swap en todo lo nuevo. El apartado 1 está bajo el hero, así que las fuentes suelen llegar antes de verse.
   No se precarga nada desde aquí: el hero ya precarga su Bodoni redonda y el retrato, y la cursiva la pide el «that» del hero.
   Cada sistema añade 57–61 KB a la home (§ ORIGEN-FUENTES). Las caras de reserva igualan el ancho de línea con
   size-adjust (medido con fontTools sobre el copy real del apartado) y la caja con ascent/descent-override, para que el cambio
   de letra no mueva el bloque. */

/* ─────────── Bodoni Moda · la del hero, sin descargar nada ───────────
   En la home ya la declara hero.css con este mismo nombre y estos mismos archivos: este bloque es para la lámina y, si un
   sistema pasa a la home, se borra. Variable: redonda wght 450–600 y cursiva 450–500, eje óptico 12–96 (font-optical-sizing: auto). */
@font-face {
  font-family: "Lawn Bodoni";
  src: url("../fonts/bodoni-moda-latin.woff2") format("woff2");
  font-weight: 450 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Lawn Bodoni";
  src: url("../fonts/bodoni-moda-italic-latin.woff2") format("woff2");
  font-weight: 450 500;
  font-style: italic;
  font-display: swap;
}

/* ─────────── Voces nuevas (Google Fonts, OFL) ─────────── */
@font-face { /* S1 · variable: ancho 75–100 %, peso 400–700 */
  font-family: "Instrument Sans";
  src: url("../fonts/instrument-sans-wdth-wght-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-style: normal;
  font-display: swap;
  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 { /* S2 · variable: peso 100–700 (se usa 700) */
  font-family: "Antonio";
  src: url("../fonts/antonio-wght-latin.woff2") format("woff2");
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
  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 { /* S2 · variable: peso 100–900 (se usan 400 y 500) */
  font-family: "Hanken Grotesk";
  src: url("../fonts/hanken-grotesk-wght-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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 { /* S3 · variable: peso 400–900 (se usan 400, 500 y 700) */
  font-family: "Schibsted Grotesk";
  src: url("../fonts/schibsted-grotesk-wght-latin.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
  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 { /* S3 · estática 400 */
  font-family: "Cutive Mono";
  src: url("../fonts/cutive-mono-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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;
}

/* ─────────── Reservas con métricas igualadas ───────────
   size-adjust = ancho del copy real del apartado en la webfont ÷ en la letra de sistema, medido en Chromium 151 con la
   instancia y el peso que se usan (Bodoni con eje óptico automático), con kerning y en versal donde el papel va en versal.
   ascent/descent-override = métrica hhea de la webfont ÷ size-adjust, para que la caja de línea no cambie.
   Cierre 19-10 09:3x: el cambio de letra con la red lenta movía líneas (los títulos de los libros pasaban de 2 a 3 líneas a 390,
   un rótulo de S3 de 2 a 1 a 1440). Se han vuelto a medir así y se corrigen Bodoni (redonda en caja baja 106,1 %, versal aparte
   99,8 %, cursiva 95,7 %), Schibsted en versal, Hanken en versal, Antonio y Cutive Mono. Versión anterior: ../versiones/fonts-0902.css.
   Bodoni Moda: ascent 1,125 y descent 0,400 (hhea). */
@font-face { font-family: "Lawn Bodoni Reserva"; src: local("Georgia"); font-weight: 400 500; font-style: normal; /* caja baja */
  size-adjust: 106.1%; ascent-override: 106%; descent-override: 37.7%; line-gap-override: 0%; }
@font-face { font-family: "Lawn Bodoni Reserva Versal"; src: local("Georgia"); font-weight: 400 500; font-style: normal; /* títulos en versal (S2) */
  size-adjust: 99.8%; ascent-override: 112.7%; descent-override: 40.1%; line-gap-override: 0%; }
@font-face { font-family: "Lawn Bodoni Reserva"; src: local("Georgia Bold"), local("Georgia-Bold"); font-weight: 600 900; font-style: normal;
  size-adjust: 91.4%; ascent-override: 123.1%; descent-override: 43.8%; line-gap-override: 0%; }
@font-face { font-family: "Lawn Bodoni Reserva"; src: local("Georgia Italic"), local("Georgia-Italic"); font-weight: 400 500; font-style: italic;
  size-adjust: 95.7%; ascent-override: 117.6%; descent-override: 41.8%; line-gap-override: 0%; }

@font-face { font-family: "Instrument Sans Reserva"; src: local("Arial"), local("ArialMT"), local("Helvetica"); font-weight: 400 500;
  size-adjust: 101.1%; ascent-override: 95.9%; descent-override: 24.7%; line-gap-override: 0%; }
@font-face { font-family: "Instrument Sans Reserva"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"); font-weight: 600 700;
  size-adjust: 97.1%; ascent-override: 99.9%; descent-override: 25.7%; line-gap-override: 0%; }

@font-face { font-family: "Antonio Reserva"; src: local("Impact"), local("Arial Narrow Bold"), local("ArialNarrow-Bold"); font-weight: 100 900;
  size-adjust: 90.4%; ascent-override: 127.7%; descent-override: 15.4%; line-gap-override: 0%; }

@font-face { font-family: "Hanken Grotesk Reserva"; src: local("Arial"), local("ArialMT"), local("Helvetica"); font-weight: 100 450;
  size-adjust: 100%; ascent-override: 100%; descent-override: 30.3%; line-gap-override: 0%; }
@font-face { font-family: "Hanken Grotesk Reserva"; src: local("Arial"), local("ArialMT"), local("Helvetica"); font-weight: 451 900; /* rótulos en versal */
  size-adjust: 92.6%; ascent-override: 108%; descent-override: 32.7%; line-gap-override: 0%; }

@font-face { font-family: "Schibsted Grotesk Reserva"; src: local("Arial"), local("ArialMT"), local("Helvetica"); font-weight: 400 450; /* lectura */
  size-adjust: 103.8%; ascent-override: 94.1%; descent-override: 24.8%; line-gap-override: 0%; }
@font-face { font-family: "Schibsted Grotesk Reserva"; src: local("Arial"), local("ArialMT"), local("Helvetica"); font-weight: 451 550; /* rótulos en versal */
  size-adjust: 97.1%; ascent-override: 100.5%; descent-override: 26.5%; line-gap-override: 0%; }
@font-face { font-family: "Schibsted Grotesk Reserva"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"); font-weight: 551 900;
  size-adjust: 99.9%; ascent-override: 97.7%; descent-override: 25.8%; line-gap-override: 0%; }

@font-face { font-family: "Cutive Mono Reserva"; src: local("Courier New"), local("CourierNewPSMT"), local("Courier");
  size-adjust: 96%; ascent-override: 86.3%; descent-override: 28.3%; line-gap-override: 0%; }

/* ─────────── Tokens ───────────
   Común a los tres: la serif es Bodoni Moda (titulares, cifras, nombres, cabeceras) y su cursiva, el acento. */
:root {
  --serif:        "Lawn Bodoni", "Lawn Bodoni Reserva", Didot, "Bodoni 72", serif;
  --serif-versal: "Lawn Bodoni", "Lawn Bodoni Reserva Versal", Didot, "Bodoni 72", serif; /* solo para Bodoni en versal: cambia la reserva, no la letra */

  /* S1 «Willow»: la cursiva de Bodoni manda; la versal es una grotesca negra de ancho normal, muy apretada y más pequeña. */
  --s1-versal: "Instrument Sans", "Instrument Sans Reserva", Arial, sans-serif;  /* 700 · 100 % · −0,035 em */
  --s1-rotulo: "Instrument Sans", "Instrument Sans Reserva", Arial, sans-serif;  /* 700 · versal · +0,02 em */
  --s1-texto:  "Instrument Sans", "Instrument Sans Reserva", Arial, sans-serif;  /* 400 · 17–18 px */

  /* S2 «Haven»: versal condensada negra con la cursiva de Bodoni dentro; Bodoni redonda en versal para los títulos de campo
     (esos títulos, con var(--serif-versal), para que la reserva mida lo mismo en versal). */
  --s2-versal: "Antonio", "Antonio Reserva", Impact, "Arial Narrow", sans-serif;   /* 700 · −0,005 em · interlínea 0,95 */
  --s2-rotulo: "Hanken Grotesk", "Hanken Grotesk Reserva", Arial, sans-serif;     /* 500 · versal · +0,08 em */
  --s2-texto:  "Hanken Grotesk", "Hanken Grotesk Reserva", Arial, sans-serif;     /* 400 · 16–17 px */

  /* S3 «Jamie Sea»: Bodoni en caja baja habla; la grotesca firma en versal; la mono anota. */
  --s3-versal: "Schibsted Grotesk", "Schibsted Grotesk Reserva", Arial, sans-serif; /* 700 · versal · −0,02 em (llamada) */
  --s3-rotulo: "Schibsted Grotesk", "Schibsted Grotesk Reserva", Arial, sans-serif; /* 500 · versal · +0,1 em */
  --s3-texto:  "Schibsted Grotesk", "Schibsted Grotesk Reserva", Arial, sans-serif; /* 400 · 18–19 px */
  --s3-nota:   "Cutive Mono", "Cutive Mono Reserva", "Courier New", monospace;     /* versal · +0,08 em · ≥ 14 px */
}
