/* ===================================================
   Animations - Light Theme
   =================================================== */

/* Keyframes */
@keyframes fadeInUp { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:none; } }
@keyframes fadeInLeft { from { opacity:0; transform:translateX(-32px); } to { opacity:1; transform:none; } }
@keyframes fadeInRight { from { opacity:0; transform:translateX(32px); } to { opacity:1; transform:none; } }
@keyframes floatY { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes gradient-shift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }

/* Scroll Reveal */
.reveal { opacity:0; transform:translateY(28px); transition: opacity 0.65s cubic-bezier(0.4,0,0.2,1), transform 0.65s cubic-bezier(0.4,0,0.2,1); }
.reveal.from-left { transform:translateX(-28px); }
.reveal.from-right { transform:translateX(28px); }
.reveal.scale-in { transform:scale(0.92); }
.reveal.visible { opacity:1; transform:none; }

.stagger-1 { transition-delay:0.08s; }
.stagger-2 { transition-delay:0.16s; }
.stagger-3 { transition-delay:0.24s; }
.stagger-4 { transition-delay:0.32s; }
.stagger-5 { transition-delay:0.40s; }
.stagger-6 { transition-delay:0.48s; }

/* Hero Animations */
.hero-animate { animation: fadeInUp 0.9s cubic-bezier(0.4,0,0.2,1) both; opacity:0; }
.hero-delay-1 { animation-delay:0.15s; }
.hero-delay-2 { animation-delay:0.3s; }
.hero-delay-3 { animation-delay:0.45s; }
.hero-delay-4 { animation-delay:0.6s; }

/* Gradient Text */
.gradient-text {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* Float */
.float-anim { animation: floatY 4s ease-in-out infinite; }

/* Hover scale */
.hover-scale { transition: transform 0.3s ease; }
.hover-scale:hover { transform: scale(1.04); }

/* Counter */
.stat-number {
  font-size: clamp(2.2rem,4.5vw,3.6rem);
  font-weight: 900;
  font-family: 'Cormorant Garamond', serif;
  line-height: 1;
  color: var(--primary);
  display: inline-block;
}

/* 3D Dynamics & Nature Fluidity */
@keyframes float3D {
  0%, 100% {
    transform: translateY(0px) rotateX(0deg) rotateY(0deg);
  }
  25% {
    transform: translateY(-8px) rotateX(4deg) rotateY(-3deg);
  }
  50% {
    transform: translateY(-16px) rotateX(0deg) rotateY(4deg);
  }
  75% {
    transform: translateY(-8px) rotateX(-4deg) rotateY(-2deg);
  }
}

@keyframes pulseGoldGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(229, 161, 34, 0.25), 0 0 45px rgba(229, 161, 34, 0.1);
  }
  50% {
    box-shadow: 0 0 35px rgba(229, 161, 34, 0.5), 0 0 70px rgba(229, 161, 34, 0.25);
  }
}

@keyframes pulseEmeraldGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(46, 125, 50, 0.2), 0 0 40px rgba(46, 125, 50, 0.08);
  }
  50% {
    box-shadow: 0 0 35px rgba(46, 125, 50, 0.4), 0 0 65px rgba(46, 125, 50, 0.2);
  }
}

@keyframes honeyDropGleam {
  0%, 100% {
    transform: scale(1) translateY(0);
    filter: drop-shadow(0 15px 25px rgba(229, 161, 34, 0.35));
  }
  50% {
    transform: scale(1.04) translateY(-6px);
    filter: drop-shadow(0 25px 35px rgba(229, 161, 34, 0.55));
  }
}

@keyframes oilDropSway {
  0%, 100% {
    transform: scale(1) translateY(0) rotate(0deg);
    filter: drop-shadow(0 15px 25px rgba(46, 125, 50, 0.3));
  }
  50% {
    transform: scale(1.04) translateY(-6px) rotate(2deg);
    filter: drop-shadow(0 25px 35px rgba(46, 125, 50, 0.5));
  }
}

@keyframes lightSweep {
  0% { transform: translateX(-150%) skewX(-25deg); }
  100% { transform: translateX(250%) skewX(-25deg); }
}

@keyframes ambientDrift {
  0% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -25px) scale(1.08); }
  66% { transform: translate(-25px, 20px) scale(0.95); }
  100% { transform: translate(0, 0) scale(1); }
}

@keyframes bubbleFloat {
  0% { transform: translateY(0) scale(0.8); opacity: 0.2; }
  50% { opacity: 0.7; transform: translateY(-40px) scale(1.1); }
  100% { transform: translateY(-80px) scale(0.9); opacity: 0; }
}

.float-3d-slow { animation: float3D 7s ease-in-out infinite; }
.float-3d-fast { animation: float3D 4.5s ease-in-out infinite; }
.glow-gold-pulse { animation: pulseGoldGlow 3.5s ease-in-out infinite; }
.glow-emerald-pulse { animation: pulseEmeraldGlow 3.5s ease-in-out infinite; }
.honey-drop-anim { animation: honeyDropGleam 4s ease-in-out infinite; }
.oil-drop-anim { animation: oilDropSway 4.5s ease-in-out infinite; }

/* Luxury 3D Card Hover Perspective */
.card-3d-wrap {
  perspective: 1200px;
}
.card-3d {
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform-style: preserve-3d;
}
.card-3d:hover {
  transform: translateY(-8px) rotateX(4deg) rotateY(-3deg) scale(1.015);
}

/* Shimmer Highlight */
.shimmer-box {
  position: relative;
  overflow: hidden;
}
.shimmer-box::after {
  content: '';
  position: absolute;
  top: 0; left: 0; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: translateX(-150%) skewX(-25deg);
  pointer-events: none;
}
.shimmer-box:hover::after {
  animation: lightSweep 1.2s ease forwards;
}

/* Page Enter */
.page-enter { animation: fadeInUp 0.5s ease both; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
}
