/* =========================================================
   Появление блоков при прокрутке (reveal)
   Блоки плавно проявляются и поднимаются, когда попадают в область
   видимости (js/reveal.js через IntersectionObserver).

   Скрытие включается только когда на <html> есть класс .reveal-active
   (его ставит крошечный инлайн-скрипт в <head> ДО отрисовки — поэтому
   нет «мигания»). Если JS выключен — класс не появится, и весь контент
   виден сразу.
   ========================================================= */

html.reveal-active .hero__content,
html.reveal-active .section-head,
html.reveal-active .content-split,
html.reveal-active .advantages__item,
html.reveal-active .case-card,
html.reveal-active .steps__item,
html.reveal-active .tariff-card,
html.reveal-active .feedback-panel,
html.reveal-active .legal-page,
html.reveal-active .case-content {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}

html.reveal-active .hero__content.is-visible,
html.reveal-active .section-head.is-visible,
html.reveal-active .content-split.is-visible,
html.reveal-active .advantages__item.is-visible,
html.reveal-active .case-card.is-visible,
html.reveal-active .steps__item.is-visible,
html.reveal-active .tariff-card.is-visible,
html.reveal-active .feedback-panel.is-visible,
html.reveal-active .legal-page.is-visible,
html.reveal-active .case-content.is-visible {
  opacity: 1;
  transform: none;
}
