/* Появление текста по буквам и словам — поведение в overrides/js/daruma-stagger.js.
   Текст прячется только когда работает скрипт (класс daruma-js ставится в <head> до отрисовки);
   если скрипт не загрузился за 6 с, класс daruma-reveal-fail показывает всё как есть. */

.daruma-js [data-stagger]:not(.dst-ready) { opacity: 0; }

.dst-word { display: inline-block; white-space: nowrap; }
.dst-c, .dst-w {
  display: inline-block;
  opacity: 0;
  transform: translateY(-0.55em);
  filter: blur(8px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--dst-base, 0s) + var(--i, 0) * var(--dst-step, 40ms));
  will-change: opacity, transform, filter;
}
.is-in .dst-c, .is-in .dst-w {
  opacity: 1;
  transform: none;
  filter: blur(0);
}
/* после выхода слой больше не нужен */
.dst-ready.is-in .dst-c, .dst-ready.is-in .dst-w { will-change: auto; }

/* первый экран: строки заголовка больше не выезжают целиком — выходят буквы */
.daruma-js [data-stagger].dh-title .dh-title__line,
.daruma-js [data-stagger].dh-sub { animation: none; }

.daruma-reveal-fail [data-stagger] { opacity: 1 !important; }
.daruma-reveal-fail .dst-c,
.daruma-reveal-fail .dst-w { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }

@media (prefers-reduced-motion: reduce) {
  .dst-c, .dst-w { opacity: 1; transform: none; filter: none; transition: none; }
}
