/* ============================================================
   GAGOC — 02 SCROLL REVEAL (CSS)
   Куди: Bricks → Settings → Custom CSS (глобально), після токенів.
   Це домінантна анімація сайту (хук useReveal, 38 використань).
   У Bricks додаєш елементу клас reveal-up / reveal-scale / reveal-left /
   reveal-right, а контейнеру-сітці — reveal-stagger.
   JS зі снипета 03 додає клас .revealed при появі в кадрі.
   ============================================================ */

.reveal-up {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s var(--snap), transform 0.8s var(--snap);
}
.reveal-up.revealed { opacity: 1; transform: translateY(0); }

.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  filter: blur(3px);
  transition: opacity 0.6s var(--snap), transform 0.6s var(--snap), filter 0.6s var(--snap);
}
.reveal-scale.revealed { opacity: 1; transform: scale(1); filter: blur(0); }

.reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.7s var(--snap), transform 0.7s var(--snap);
}
.reveal-left.revealed { opacity: 1; transform: translateX(0); }

.reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.7s var(--snap), transform 0.7s var(--snap);
}
.reveal-right.revealed { opacity: 1; transform: translateX(0); }

/* Стаґер дочірніх елементів (картки сервісів, кроки workflow) */
.reveal-stagger > * {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s var(--snap), transform 0.6s var(--snap);
}
.reveal-stagger.revealed > *:nth-child(1)  { transition-delay: 0.05s; }
.reveal-stagger.revealed > *:nth-child(2)  { transition-delay: 0.10s; }
.reveal-stagger.revealed > *:nth-child(3)  { transition-delay: 0.15s; }
.reveal-stagger.revealed > *:nth-child(4)  { transition-delay: 0.20s; }
.reveal-stagger.revealed > *:nth-child(5)  { transition-delay: 0.25s; }
.reveal-stagger.revealed > *:nth-child(6)  { transition-delay: 0.30s; }
.reveal-stagger.revealed > *:nth-child(7)  { transition-delay: 0.35s; }
.reveal-stagger.revealed > *:nth-child(8)  { transition-delay: 0.40s; }
.reveal-stagger.revealed > *:nth-child(9)  { transition-delay: 0.45s; }
.reveal-stagger.revealed > *:nth-child(10) { transition-delay: 0.50s; }
.reveal-stagger.revealed > * { opacity: 1; transform: translateY(0); }

/* Доступність: вимкнути рух для тих, хто його не хоче */
@media (prefers-reduced-motion: reduce) {
  .reveal-up, .reveal-scale, .reveal-left, .reveal-right, .reveal-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
