/* Invitaria — las tipografías propias.
   ────────────────────────────────────────────────────────────────────────────
   Por qué existe este archivo.

   Hasta acá todo el proyecto pedía las letras por nombre y confiaba en que
   estuvieran instaladas: Didot, Bodoni 72, Optima, Gill Sans, Avenir. Son
   familias que vienen con macOS y iOS, y con ningún otro sistema. En Android
   —que es la mayoría del mercado argentino— el navegador las reemplazaba por
   las suyas, y las doce plantillas terminaban con la misma letra de sistema.
   La invitación se veía igual de bien en el iPhone de la clienta y perdía toda
   su identidad en el teléfono de la mitad de sus invitados.

   Ahora las letras viajan con el sitio. Cuatro archivos, 133 KB en total, servidos
   desde el mismo CDN que el resto: sin pedidos a terceros y sin una conexión
   extra que abrir en la puerta del salón con datos móviles.

   Y ninguna página baja las cuatro, que es la parte que importa. Medido el
   31-ago-26 en el navegador:

       web de venta   Playfair + Manrope  →  62 KB   (Bodoni y Jost, sin cargar)
       invitación     Bodoni + Jost       →  71 KB   (Playfair y Manrope, sin cargar)

   Un @font-face declarado no se descarga hasta que un glifo lo necesita, así que
   alcanza con que cada superficie use sólo las suyas. Se respeta hasta en las
   miniaturas de invitación de la landing: usan la letra de la MARCA aunque
   retraten al producto, porque hacer que se parecieran de verdad obligaba a bajar
   una segunda serif —46 KB— en la página que recibe la pauta. Son sellos chicos
   donde la serif exacta casi no se distingue; los 46 KB en datos móviles sí.

   Las cuatro son variables: un solo archivo cubre todos los grosores en vez de uno
   por peso. Por eso pesan lo que pesan.

   ── Qué reemplaza a qué ──────────────────────────────────────────────────────
   Playfair Display ← la serif de los TITULOS de la web de venta
       Reemplazo a Bodoni Moda el 30-ago-26 en los titulos, el precio y el logo.

       Antes de esta estuvo Instrument Serif unas horas, y se cambio por pedido. Vale anotar lo
       que se aprendio en el camino, porque no era la letra: el titular del hero tenia un efecto
       que lo partia LETRA POR LETRA en spans para que siguieran al mouse. Eso desarma el kerning
       y desplaza cada letra distinto, y en cualquier serif de contraste alto se lee como una
       tipografia rota. El efecto se elimino; el problema era ese, no la fuente.

       Playfair es la mas legible de las que se probaron —altura de equis 52 contra 46 de Bodoni,
       la mayor del grupo— y la mas parecida a lo que el mercado de bodas espera ver. Es variable,
       asi que un solo archivo cubre todos los pesos.   Bodoni Moda  ← Didot, Bodoni 72, Hoefler Text, Big Caslon
       Una didone de verdad: el contraste fuerte entre el trazo grueso y el fino,
       que es exactamente lo que las plantillas venían pidiendo. Trae eje óptico
       (opsz), así que afina los remates sola cuando el nombre va a 100 px y los
       engorda cuando el mismo tipo se usa a 12 px.
   Manrope      ← el sans de la WEB de venta (landing, formulario, panel, galería)
       Reemplazó a Jost el 30-ago-26 por una razón medible, no de gusto: **Jost
       dibuja las minúsculas más chicas que cualquier otra al mismo tamaño de
       letra**. Medido con canvas a 100px, la altura de la equis daba 46 en Jost
       contra 54 en Manrope — 17% más. Ésa es la causa de que el sitio se leyera
       con esfuerzo sin que se notara por qué: no era el tamaño declarado, era la
       letra. Manrope sigue siendo semi-geométrica, así que el sitio no cambió de
       carácter; sólo se lee.

   Jost         ← el sans de las DOCE PLANTILLAS de invitación
       Se queda donde estaba. Las plantillas son doce diseños distintos y su
       tipografía es parte de cada diseño, no de la marca: cambiarlas es rediseñar
       el producto, no ajustar el sitio. Además están calzadas a las métricas de
       Jost, y Manrope ocupa 5,6% más de ancho — el texto reflowea. Si algún día
       se migran, hay que revisar las doce, no cambiar la variable y confiar.

       Consecuencia práctica: los tres archivos viajan, pero una página sólo baja
       los que usa. Un @font-face declarado no se descarga hasta que un glifo lo
       necesita. Comprobado en la landing el 30-ago-26: `document.fonts` reporta
       Manrope como "loaded" y Jost como "unloaded", y de los tres woff2 sólo
       Manrope se transfirió por red (25 KB); el jost.woff2 que figura en el
       listado de recursos vino de la caché del navegador con 0 bytes
       transferidos, resabio de haber visitado una invitación antes.

   Las dos son SIL Open Font License 1.1 — libres también para uso comercial.
   El texto de la licencia está en tipografias/OFL.txt.

   ── Regla al agregar una plantilla nueva ─────────────────────────────────────
   Poner "Bodoni Moda" o "Jost" PRIMERO en el font-family, y dejar detrás las
   familias de sistema como red de seguridad. Si la fuente no llega a cargar,
   un iPhone sigue cayendo en Didot y no en Times New Roman.                    */

@font-face {
  font-family: "Playfair Display";
  src: url("/tipografias/playfair-display.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Bodoni Moda";
  src: url("/tipografias/bodoni-moda.woff2") format("woff2-variations");
  font-weight: 400 900;
  font-style: normal;
  /* swap: el texto se ve desde el primer cuadro con la letra de sistema y salta
     a la buena cuando llega. Con block, la portada arranca en blanco. */
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("/tipografias/manrope.woff2") format("woff2-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Jost";
  src: url("/tipografias/jost.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ── El salto de la letra provisoria a la definitiva ──────────────────────────
   Con font-display:swap hay un momento en que se ve la letra de sistema. Si sus
   proporciones no coinciden con las de la buena, al llegar el archivo el texto
   cambia de tamaño y todo lo de abajo se corre: es el salto que arruina la
   lectura justo cuando la persona empezó a leer.

   Estas dos familias no se usan directamente: son la de sistema, estirada para
   que ocupe lo mismo que la definitiva mientras carga. Los números NO son a ojo:
   size-adjust sale de medir la misma frase con las dos letras en el navegador, y
   ascent/descent salen de leer las métricas verticales de los propios archivos.  */
@font-face {
  font-family: "Playfair Display repuesto";
  src: local("Georgia"), local("Times New Roman"), local("serif");
  /* Medido el 30-ago-26 con canvas, la misma frase a 100px: Playfair ocupa 98,3% de lo que
     ocupa Georgia y 99,7% de lo que ocupa Palatino. Se toma 98%, que es Georgia — la primera de
     la lista y la que hay en casi todos los escritorios. Es un repuesto muy parejo: Playfair y
     Georgia son ambas serifs de proporciones anchas, así que el salto al cargar casi no se ve. */
  size-adjust: 98%;
  ascent-override: 108%;   /* medido del archivo: fontBoundingBoxAscent 1,08 em */
  descent-override: 25%;   /* medido del archivo: fontBoundingBoxDescent 0,25 em */
  line-gap-override: 0%;
}

@font-face {
  font-family: "Bodoni Moda repuesto";
  src: local("Georgia"), local("Times New Roman"), local("serif");
  size-adjust: 101%;      /* medido: Bodoni Moda ocupa 101,4% de lo que ocupa Georgia */
  ascent-override: 112.5%; /* del archivo: ascendente 2250/2000 upm */
  descent-override: 40%;   /* del archivo: descendente 800/2000 upm */
  line-gap-override: 0%;
}

@font-face {
  font-family: "Manrope repuesto";
  src: local("Segoe UI"), local("Roboto"), local("Helvetica Neue"), local("sans-serif");
  /* Medido el 30-ago-26 con canvas, la misma frase a 100px: Manrope ocupa 103,2% de lo
     que ocupa Segoe UI y 101% de lo que ocupa Arial. Se toma 103% porque Segoe UI es la
     primera de la lista y la que va a aparecer en la mayoría de los escritorios.
     Contra Roboto no se pudo medir: no está instalada en la máquina donde se hizo esto,
     y el número que devolvía era el de la fuente por defecto del navegador disfrazado.
     Queda anotado como pendiente, no como dato. */
  size-adjust: 103%;
  ascent-override: 107%;   /* medido del archivo: fontBoundingBoxAscent 1,07 em */
  descent-override: 30%;   /* medido del archivo: fontBoundingBoxDescent 0,30 em */
  line-gap-override: 0%;
}

@font-face {
  font-family: "Jost repuesto";
  src: local("Segoe UI"), local("Roboto"), local("Helvetica Neue"), local("sans-serif");
  size-adjust: 96%;        /* medido: 97,2% contra Segoe UI y 95% contra Roboto */
  ascent-override: 107%;   /* del archivo: ascendente 1070/1000 upm */
  descent-override: 37.5%; /* del archivo: descendente 375/1000 upm */
  line-gap-override: 0%;
}

/* Las pilas completas, para que nadie tenga que rearmarlas de memoria.
   El orden es: la propia · el repuesto medido · las de sistema · el genérico. */
:root {
  --tipo-serif: "Playfair Display", "Playfair Display repuesto", Georgia,
                "Times New Roman", serif;
  /* La de las doce plantillas y la de las miniaturas que las imitan en la landing. */
  --tipo-serif-invitacion: "Bodoni Moda", "Bodoni Moda repuesto", "Didot", "Bodoni 72",
                "Hoefler Text", Garamond, Georgia, serif;
  --tipo-sans:  "Manrope", "Manrope repuesto", "Segoe UI", system-ui, sans-serif;
  /* La pila de las doce plantillas de invitación, que siguen en Jost. */
  --tipo-sans-invitacion: "Jost", "Jost repuesto", "Optima", "Gill Sans MT", Candara,
                "Segoe UI", system-ui, sans-serif;
}
