html.tt :is(.hero__title, .page-hero__title, .section__title, .statement h2, .cta-band h2):not(.tt-listo) {
  opacity: 0;
  animation: tt-respaldo 0s 2.4s forwards;
}
@keyframes tt-respaldo { to { opacity: 1; } }
html.tt :is(.hero__content, .page-hero__inner) > :not(.tt-a):not(.hero__title):not(.page-hero__title) {
  opacity: 0;
  animation: tt-respaldo 0s 2.4s forwards;
}

.tt-a:not(.tt-a-on):not(.tt-a-fin) { opacity: 0; transform: translateY(16px); }
.tt-a.tt-a-on:not(.tt-a-fin) { animation: tt-acompana .76s var(--ease) var(--t, 0ms) both; }
@keyframes tt-acompana {
  from { opacity: 0; transform: translateY(16px); }
}

.tt-p {
  display: inline-block;
  padding: .14em .04em .2em;
  margin: -.14em -.04em -.2em;
  overflow: clip;
  vertical-align: top;
}
.tt-p > .tt-i {
  display: inline-block;
  transform: translateY(calc(100% + .4em)) rotate(4deg);
  transform-origin: 0 100%;
  opacity: 0;
}
.tt-w { display: inline-block; white-space: nowrap; }
.tt-l {
  display: inline-block;
  overflow: clip;
  padding: .14em 0 .2em;
  margin: -.14em 0 -.2em;
  vertical-align: top;
}
.tt-l > .tt-i {
  display: inline-block;
  transform: translateY(calc(100% + .4em));
}
.tt-d > .tt-i { transform: translateY(calc(-100% - .4em)); }

.tt-activo .tt-p > .tt-i {
  animation: tt-sube .9s var(--ease) var(--t, 0ms) both;
}
.tt-activo .tt-l > .tt-i {
  animation: tt-letra .62s cubic-bezier(.3, .9, .25, 1) var(--t, 0ms) both;
}
.tt-activo .tt-d > .tt-i {
  animation: tt-digito .7s cubic-bezier(.25, 1.2, .35, 1) var(--t, 0ms) both;
}

@keyframes tt-sube {
  0% { transform: translateY(calc(100% + .4em)) rotate(4deg); opacity: 0; }
  30% { opacity: 1; }
  100% { transform: none; opacity: 1; }
}
@keyframes tt-letra {
  from { transform: translateY(calc(100% + .4em)); }
  to { transform: none; }
}
@keyframes tt-digito {
  from { transform: translateY(calc(-100% - .4em)); }
  to { transform: none; }
}

.tt-fin .tt-p, .tt-fin .tt-l { overflow: visible; }
.tt-fin .tt-i { animation: none !important; transform: none !important; opacity: 1 !important; }

@media (prefers-reduced-motion: reduce) {
  html.tt :is(.hero__title, .page-hero__title, .section__title, .statement h2, .cta-band h2):not(.tt-listo),
  html.tt :is(.hero__content, .page-hero__inner) > :not(.tt-a) { opacity: 1; animation: none; }
}
