/* Sistema tipográfico y de ritmo compartido por los casos.
   Unifica ESCALAS (tamaños, interlineados, medidas, espaciado, radios, sombras, tiempos).
   No toca familias ni colores: cada caso conserva su identidad. */
:root{
  /* titulares: máx. 4 líneas; mayúsculas solo con fuente condensada */
  --t-h1:clamp(2.25rem,5vw,4.5rem);   --t-h1-lh:1.04;
  --t-h2:clamp(1.75rem,3.2vw,2.75rem); --t-h2-lh:1.1;  --t-h2-ls:-.02em;
  --t-h3:1.375rem;                     --t-h3-lh:1.25;
  /* cuerpo 16-17 px / 1.6, medida 62-68ch */
  --t-body:clamp(1rem,.975rem + .1vw,1.0625rem); --t-body-lh:1.6;
  --t-lead:clamp(1.0625rem,1rem + .3vw,1.25rem); --t-lead-lh:1.55;
  --t-measure:66ch;
  /* mini / eyebrow: 11-12 px mono o versalitas con tracking .14em */
  --t-mini:.75rem; --t-mini-ls:.14em;
  /* radios y sombra */
  --r-sm:12px; --r-md:16px; --r-pill:999px;
  --sh-card:0 24px 60px -24px rgb(0 0 0/.5);
  /* movimiento: entradas 520 ms con desfase 60 ms (máx. 5), micro 140-180, colapsables 280 */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-enter:520ms; --dur-micro:160ms; --dur-fold:280ms; --stagger:60ms;
  /* espacio: base 8 px */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:48px;
  --sec-y:clamp(72px,10vw,140px);
  --pad-card:24px; --gutter:20px;
}
@media(min-width:641px){:root{--pad-card:32px;--gutter:48px}}

/* desfase de entradas: hermanos .rv/.reveal que aparecen a la vez, máx. 5 pasos de 60 ms */
.rv:nth-child(2),.reveal:nth-child(2){transition-delay:calc(var(--stagger)*1)}
.rv:nth-child(3),.reveal:nth-child(3){transition-delay:calc(var(--stagger)*2)}
.rv:nth-child(4),.reveal:nth-child(4){transition-delay:calc(var(--stagger)*3)}
.rv:nth-child(5),.reveal:nth-child(5){transition-delay:calc(var(--stagger)*4)}
.rv:nth-child(n+6),.reveal:nth-child(n+6){transition-delay:calc(var(--stagger)*5)}
@media(prefers-reduced-motion:reduce){.rv,.reveal{transition-delay:0s!important}}
