/* ==========================================================================
   SRUSHTI VENTURES - ANIMATIONS & MICRO-INTERACTIONS
   Smooth 60fps Keyframes, Scroll Triggers, and Dynamic Visual Effects
   ========================================================================== */

/* Keyframe Animations */
@keyframes heroZoom {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.06);
  }
}

@keyframes blinkCursor {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@keyframes pulseGlow {

  0%,
  100% {
    box-shadow: 0 0 10px rgba(192, 153, 98, 0.2);
    border-color: rgba(192, 153, 98, 0.35);
  }

  50% {
    box-shadow: 0 0 22px rgba(192, 153, 98, 0.45);
    border-color: rgba(192, 153, 98, 0.85);
  }
}

@keyframes pulseWhatsApp {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
  }

  70% {
    box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);
  }
}

@keyframes shimmerGlow {
  0% {
    background-position: -200% center;
  }

  100% {
    background-position: 200% center;
  }
}

@keyframes floatGentle {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-6px);
  }
}

/* ==========================================================================
   Scroll Reveal System (Optimized for Mobile & Desktop 60fps GPU acceleration)
   ========================================================================== */
.reveal {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-up {
  transform: translateY(32px);
}

.reveal-down {
  transform: translateY(-32px);
}

.reveal-left {
  transform: translateX(-30px);
}

.reveal-right {
  transform: translateX(30px);
}

.reveal-scale {
  transform: scale(0.93);
}

/* Activated state via Intersection Observer & Touch Scroll */
.reveal.active {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

/* Mobile Responsive Reveal Tuning */
@media (max-width: 768px) {
  .reveal {
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .reveal-up {
    transform: translateY(18px);
  }

  .reveal-down {
    transform: translateY(-18px);
  }

  .reveal-left {
    transform: translateX(-16px);
  }

  .reveal-right {
    transform: translateX(16px);
  }

  .reveal-scale {
    transform: scale(0.96);
  }
}

/* Stagger Delays */
.delay-100 {
  transition-delay: 0.08s;
}

.delay-200 {
  transition-delay: 0.16s;
}

.delay-300 {
  transition-delay: 0.24s;
}

.delay-400 {
  transition-delay: 0.32s;
}

.delay-500 {
  transition-delay: 0.4s;
}

/* Subtle Gold Hover Glow on Cards */
.glow-on-hover {
  position: relative;
}

.glow-on-hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  box-shadow: 0 10px 30px rgba(192, 153, 98, 0.2);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.glow-on-hover:hover::after {
  opacity: 1;
}

/* Floating element utility */
.floating-item {
  animation: floatGentle 4s ease-in-out infinite;
}

/* Floating WhatsApp Pulse Active */
.floating-whatsapp {
  animation: pulseWhatsApp 2.2s infinite !important;
}