/* ===== KEYFRAME ANIMATIONS ===== */
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeInDown{
  from{opacity:0;transform:translateY(-20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeInLeft{
  from{opacity:0;transform:translateX(-30px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes fadeInRight{
  from{opacity:0;transform:translateX(30px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes scaleIn{
  from{opacity:0;transform:scale(.9)}
  to{opacity:1;transform:scale(1)}
}
@keyframes slideUp{
  from{transform:translateY(100%)}
  to{transform:translateY(0)}
}
@keyframes pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.05)}
}
@keyframes shimmer{
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* ===== ANIMATION CLASSES ===== */
.animate-in{opacity:1!important;transform:translateY(0)!important}
.animate-fade-up{opacity:0;transform:translateY(30px);transition:all .6s ease}
.animate-fade-up.animate-in{opacity:1;transform:translateY(0)}
.animate-fade-down{opacity:0;transform:translateY(-20px);transition:all .6s ease}
.animate-fade-down.animate-in{opacity:1;transform:translateY(0)}
.animate-fade-left{opacity:0;transform:translateX(-30px);transition:all .6s ease}
.animate-fade-left.animate-in{opacity:1;transform:translateX(0)}
.animate-fade-right{opacity:0;transform:translateX(30px);transition:all .6s ease}
.animate-fade-right.animate-in{opacity:1;transform:translateX(0)}
.animate-scale{opacity:0;transform:scale(.9);transition:all .6s ease}
.animate-scale.animate-in{opacity:1;transform:scale(1)}

/* Card stagger animation */
.card-animate{opacity:0;transform:translateY(20px);transition:all .5s ease}
.card-animate.animate-in{opacity:1;transform:translateY(0)}

/* ===== HOVER TRANSITIONS ===== */
.hover-lift{transition:transform .3s}
.hover-lift:hover{transform:translateY(-4px)}
.hover-glow{transition:box-shadow .3s}
.hover-glow:hover{box-shadow:0 12px 40px rgba(186,144,58,.15)}
.hover-scale{transition:transform .3s}
.hover-scale:hover{transform:scale(1.02)}

/* ===== ANIMATION DELAYS ===== */
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}
.delay-5{transition-delay:.5s}
.delay-6{transition-delay:.6s}

/* ===== LOADING / SHIMMER ===== */
.shimmer{
  background:linear-gradient(90deg,var(--gray-light) 25%,#e8e8e8 50%,var(--gray-light) 75%);
  background-size:200% 100%;
  animation:shimmer 1.5s infinite;
}

/* ===== PAGE TRANSITIONS ===== */
.page-enter{animation:fadeInUp .5s ease forwards}

/* ===== COUNTER ANIMATION (for stats) ===== */
.count-up{
  display:inline-block;
  font-variant-numeric:tabular-nums;
}

/* ===== SCROLL PROGRESS (optional) ===== */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;
  background:var(--gold);z-index:9999;
  transform-origin:left;transition:transform .1s;
}
