.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* FPV SCROLL REVEAL */
.fpv-reveal {
  opacity: 0;
  transform: translateX(80px) rotate(6deg) rotateY(8deg);
  filter: blur(6px);
  transition: opacity 0.9s ease-out,
              transform 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              filter 0.8s ease-out;
}

.fpv-reveal.left {
  transform: translateX(-80px) rotate(-6deg);
}

.fpv-reveal.up {
  transform: translateY(80px) rotate(6deg);
}

.fpv-reveal.visible {
  opacity: 1;
  transform: translateX(0) translateY(0) rotate(0) rotateY(0);
  filter: blur(0);
}
