/*
 * Dune Global FZ LLC â€” Scroll Animations
 * Premium bezier curves and longer durations for a corporate feel.
 */

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

.reveal--left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.reveal--left.revealed {
  opacity: 1;
  transform: translateX(0);
}

.reveal--right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.reveal--right.revealed {
  opacity: 1;
  transform: translateX(0);
}

.reveal--scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.reveal--scale.revealed {
  opacity: 1;
  transform: scale(1);
}

/* Stagger delays for grid items */
.reveal--delay-1 { transition-delay: 0.1s; }
.reveal--delay-2 { transition-delay: 0.2s; }
.reveal--delay-3 { transition-delay: 0.3s; }
.reveal--delay-4 { transition-delay: 0.4s; }
.reveal--delay-5 { transition-delay: 0.5s; }

/* GOLD LINE ANIMATION */
.gold-line {
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s;
}

.gold-line.revealed {
  transform: scaleX(1);
}

/* HERO ENTRANCE */
.hero__label,
.hero__title,
.hero__subtitle,
.hero__actions {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.hero.loaded .hero__label   { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }
.hero.loaded .hero__title   { opacity: 1; transform: translateY(0); transition-delay: 0.4s; }
.hero.loaded .hero__subtitle { opacity: 1; transform: translateY(0); transition-delay: 0.6s; }
.hero.loaded .hero__actions  { opacity: 1; transform: translateY(0); transition-delay: 0.8s; }

/* NUMBER COUNTER ANIMATION */
.stat-number {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal--left, .reveal--right, .reveal--scale, .hero__label, .hero__title, .hero__subtitle, .hero__actions {
    opacity: 1; transform: none; transition: none;
  }
  .gold-line { transform: scaleX(1); transition: none; }
}
