/* Animacje wejścia */
.anim-in {
  opacity: 0;
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(.22, .61, .36, 1);
  will-change: opacity, transform;
}

/* Wjazd z lewej */
.anim-in--left {
  transform: translateX(-55px);
}

/* Wjazd z prawej */
.anim-in--right {
  transform: translateX(55px);
}

/* Opcjonalnie z dołu */
.anim-in--up {
  transform: translateY(45px);
}

/* Stan po pojawieniu się w przeglądarce */
.anim-in.is-visible {
  opacity: 1;
  transform: translateX(0) translateY(0);
}

/* Delikatne opóźnienia */
.anim-delay-1 {
  transition-delay: 0.12s;
}

.anim-delay-2 {
  transition-delay: 0.24s;
}

.anim-delay-3 {
  transition-delay: 0.36s;
}

/* Dostępność — wyłączenie animacji, jeśli ktoś ma tak ustawione w systemie */
@media (prefers-reduced-motion: reduce) {
  .anim-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
