/* ADYAN — paquete de animaciones de títulos (opcional).
   Para quitarlo: borrar este archivo, js/animaciones.js y las 2 líneas "animaciones" de cada HTML. */
html.anim-pre h1, html.anim-pre h2, html.anim-pre h3 { visibility: hidden; }
html.anim-on h1, html.anim-on h2, html.anim-on h3 { visibility: visible; }

/* Titulares: cada palabra sube desde una máscara, en cascada */
.aw { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .16em; margin-bottom: -.16em; }
.aw > span {
  display: inline-block;
  transform: translateY(112%) rotate(3deg);
  transform-origin: 0 100%;
  transition: transform 1s cubic-bezier(.16, 1, .3, 1) calc(var(--i, 0) * 65ms + var(--d, 0ms));
}
.is-in .aw > span { transform: none; }

/* Sobretítulos (kicker): entran deslizando y abriendo el espaciado */
html.anim-on .kicker {
  opacity: 0; transform: translateX(-14px);
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1);
}
html.anim-on .kicker.is-in { opacity: 1; transform: none; }

/* Subtítulo bajo el H1 (.h-sub) y acento: aparecen un instante después */
.is-in .h-sub .aw > span { transition-duration: 1.1s; }

@media (prefers-reduced-motion: reduce) {
  html.anim-pre h1, html.anim-pre h2, html.anim-pre h3 { visibility: visible; }
  .aw > span { transform: none; transition: none; }
  html.anim-on .kicker { opacity: 1; transform: none; transition: none; }
}
