/* ============================================
   ANIMATIONS — Slideshow, Marquee, Scroll Reveal
   ============================================ */

/* ---------- Marquee ---------- */
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee-track {
  animation: marqueeScroll 35s linear infinite;
}
.marquee-track:hover {
  animation-play-state: paused;
}

/* ---------- Scroll Reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity var(--dur-slow) var(--ease-luxury),
              transform var(--dur-slow) var(--ease-luxury);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger delays */
.reveal-d1 { transition-delay: 100ms; }
.reveal-d2 { transition-delay: 200ms; }
.reveal-d3 { transition-delay: 300ms; }
.reveal-d4 { transition-delay: 400ms; }
.reveal-d5 { transition-delay: 500ms; }

/* ---------- Hero entrance ---------- */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-label  { animation: heroFadeUp 0.8s var(--ease-luxury) 0.2s both; }
.hero h1     { animation: heroFadeUp 0.9s var(--ease-luxury) 0.35s both; }
.hero-sub    { animation: heroFadeUp 0.9s var(--ease-luxury) 0.5s both; }
.hero-actions{ animation: heroFadeUp 0.9s var(--ease-luxury) 0.65s both; }

/* ---------- Gold shimmer on logo ---------- */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer-text {
  background: linear-gradient(
    90deg,
    var(--gold) 0%,
    var(--gold-light) 40%,
    var(--gold) 60%,
    var(--gold-light) 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 3s linear infinite;
}

/* ---------- Pulse ring on CTA button ---------- */
@keyframes pulseRing {
  0%   { box-shadow: 0 0 0 0 rgba(184,150,46,0.5); }
  70%  { box-shadow: 0 0 0 14px rgba(184,150,46,0); }
  100% { box-shadow: 0 0 0 0 rgba(184,150,46,0); }
}
.btn-primary {
  animation: pulseRing 2.5s ease-out infinite;
}
.btn-primary:hover {
  animation: none;
}

/* ---------- Floating decoration ---------- */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
.float { animation: float 4s ease-in-out infinite; }

/* ---------- Counter count-up fade ---------- */
@keyframes countUp {
  from { opacity: 0; transform: scale(0.85); }
  to   { opacity: 1; transform: scale(1); }
}
.stat-number { animation: countUp 0.6s var(--ease-bounce) both; }

/* ---------- Loading bar ---------- */
@keyframes loadBar {
  from { width: 0; }
  to   { width: 100%; }
}
.page-loader {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  animation: loadBar 1.2s var(--ease-luxury) forwards;
  z-index: 9999;
}

/* ---------- Fade in overlay on page load ---------- */
@keyframes pageFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
body { animation: pageFadeIn 0.6s ease both; }
