/* ═══════════════════════════════════════════════════════════
   OZMO ELEVATE — Premium Animations
   animations.css
═══════════════════════════════════════════════════════════ */

/* ── Hero Text Reveal ── */
.reveal-up {
  opacity: 0;
  transform: translateY(20px);
  animation: revealUpAnim 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hero-headline .line {
  overflow: visible;
  padding-bottom: 0.1em;
}

.reveal-up[data-delay="0"] {
  animation-delay: 0s;
}
.reveal-up[data-delay="0.1"] {
  animation-delay: 0.1s;
}
.reveal-up[data-delay="0.2"] {
  animation-delay: 0.2s;
}
.reveal-up[data-delay="0.3"] {
  animation-delay: 0.3s;
}
.reveal-up[data-delay="0.4"] {
  animation-delay: 0.4s;
}

@keyframes revealUpAnim {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Scroll Reveals (Intersection Observer) ── */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

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

/* Staggering delays for scroll elements */
.fade-in-up[data-delay="0"] {
  transition-delay: 0s;
}
.fade-in-up[data-delay="0.1"] {
  transition-delay: 0.1s;
}
.fade-in-up[data-delay="0.2"] {
  transition-delay: 0.2s;
}
.fade-in-up[data-delay="0.3"] {
  transition-delay: 0.3s;
}
.fade-in-up[data-delay="0.4"] {
  transition-delay: 0.4s;
}
.fade-in-up[data-delay="0.5"] {
  transition-delay: 0.5s;
}

/* ── Magnetic Hover ── */
.magnetic {
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

/* ── 3D Card Tilt ── */
[data-tilt] {
  transition:
    transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.4s;
  will-change: transform;
}
