﻿/* ===================================================
   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;
}

/* 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; }
}
