/* =========================================================================
   SCROLL REVEAL — плавное появление слайдеров при прокрутке страницы.

   Логика "кому и когда добавить класс .is-in-view" — в
   assets/js/scroll-reveal.js (через IntersectionObserver). Здесь только
   CSS-переход между "скрытым" и "видимым" состоянием.

   Разметка: элементу вешаем data-reveal — он стартует невидимым/сдвинутым
   вниз и плавно "всплывает", когда попадает во вьюпорт при скролле.
   Необязательный data-reveal-group="имя" — несколько элементов одной
   группы (например 3 колонки hero-row) появляются по очереди, а не разом.

   !important — сознательно: у части слайдеров (news/members/partners)
   JS выставляет инлайн-transform прямо на .*-track для листания стрелками,
   а .hero-slide/.photos-gallery__img уже имеют свои transition в hero.css
   и photos.css. !important гарантирует, что переход "появления" всегда
   отработает поверх этого, независимо от порядка подключения стилей.
   ========================================================================= */

[data-reveal] {
	opacity: 0 !important;
	transform: translateY(40px) !important;
	transition:
		opacity .8s cubic-bezier(.22, 1, .36, 1) ,
		transform .8s cubic-bezier(.22, 1, .36, 1) !important;
	transition-delay: var(--toj-reveal-delay, 0s) !important;
	will-change: opacity, transform;
}

[data-reveal].is-in-view {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

/* Уважаем настройку ОС "меньше анимации" — показываем сразу, без сдвига. */
@media (prefers-reduced-motion: reduce) {
	[data-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
