/* Tipografía fluida: escala linealmente entre 320px y 2560px de ancho de
   viewport, se achica/agranda de golpe. Fórmula precomputada como
   clamp(min, pendiente·vw + intercepto, max) — evita anidar calc()
   (var(--a) + (var(--b) - var(--a)) * (...)) porque Chromium descarta esa
   forma en tiempo de cómputo (no solo en parseo): la declaración entera
   queda vacía y el elemento cae al tamaño heredado. Verificado con
   CSS.supports y con getComputedStyle en aislamiento antes de aplicar acá.
   Para recalcular pendiente/intercepto de un min/max nuevo:
     pendiente = (max_px - min_px) * 100 / (2560 - 320)   → "Xvw"
     intercepto = min_px - (max_px - min_px) * 320 / (2560 - 320)  → "Yrem" (Yrem = intercepto_px / 16) */

.fluid-p {
  /* min 1rem (16px) → max 1.5rem (24px) */
  font-size: clamp(1rem, calc(0.3571vw + 0.9286rem), 1.5rem);
}

/* Títulos y citas — mismo esquema fluido que .fluid-p (320px→2560px).
   Reemplaza el bloque muerto `@media (min-width:1440px){ h1,h2,blockquote }`
   que quedó en styles.css: ese apuntaba a selectores de etiqueta simple,
   siempre superados en especificidad por las clases de Tailwind
   (.text-3xl, .lg:text-6xl, etc.), así que nunca se aplicó. */
.h1-fluid {
  /* min 2.25rem (36px) → max 4rem (64px). Curva más conservadora que un
     min/max ingenuo: a los 1024px (donde el grid del hero pasa de 1 a 2
     columnas y el ancho disponible se reduce a la mitad de golpe) da ~45px,
     que sigue entrando en la columna angosta sin forzar una línea extra. */
  font-size: clamp(2.25rem, calc(1.25vw + 2rem), 4rem);
}
.h2-fluid {
  /* min 1.875rem (30px) → max 3.5rem (56px) */
  font-size: clamp(1.875rem, calc(1.1607vw + 1.6429rem), 3.5rem);
}
.quote-fluid {
  /* min 1.5rem (24px) → max 2.5rem (40px) */
  font-size: clamp(1.5rem, calc(0.7143vw + 1.1429rem), 2.5rem);
}
.quote-fluid-sm {
  /* min 1.25rem (20px) → max 2rem (32px) */
  font-size: clamp(1.25rem, calc(0.5357vw + 0.9821rem), 2rem);
}

/* H2 de una sola línea garantizada (ej. CTA de contacto), NO la escala
   320→2560 estándar de arriba: esa curva sigue creciendo con el viewport
   incluso después de que su contenedor (max-w-xl) deja de crecer a los
   640px, y a partir de ahí el texto se desborda a 2 líneas otra vez en
   desktop. Esta pendiente está calculada para tocar el techo (2.5rem)
   justo cuando el contenedor llega a su ancho fijo (~512px de texto),
   y quedar plana de ahí en más — verificado con Playwright a los anchos
   320/375/428/480/640/768/1024/1280/1440/1920 sin wrap en ninguno. */
.h2-fluid-oneline {
  font-size: clamp(1.2rem, calc(6.3vw - 0.06rem), 2.46rem);
  white-space: nowrap;
}
