/* ============================================
   ANIMATIONS.CSS — анимации появления
   ============================================ */

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0);    }
}

@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(32px); }
  to   { opacity: 1; transform: translateX(0);    }
}

/* Начальное скрытое состояние */
.fade-in-up,
.fade-in-right {
  opacity: 0;
}

/* Класс добавляется через JS когда элемент в viewport */
.fade-in-up.visible {
  animation: fadeInUp .55s cubic-bezier(.16,1,.3,1) forwards;
}

.fade-in-right.visible {
  animation: fadeInRight .6s cubic-bezier(.16,1,.3,1) forwards;
}

/* Задержки для группы элементов */
.fade-in-up.d1 { animation-delay: .05s; }
.fade-in-up.d2 { animation-delay: .12s; }
.fade-in-up.d3 { animation-delay: .20s; }