/* ==========================================================================
   NIVESHALAYA LLP - ADVANCED ANIMATIONS & MOTION FX
   ========================================================================== */

/* Cursor Blink */
@keyframes cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Marquee / Stock Ticker */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Floating Card Animation */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}

.float-slow {
  animation: float 5s ease-in-out infinite;
}

.float-fast {
  animation: float 3.5s ease-in-out infinite;
}

/* Pulse Glow & Rings */
@keyframes pulse-ring {
  0% {
    transform: scale(0.95);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.25);
    opacity: 0;
  }
  100% {
    transform: scale(0.95);
    opacity: 0;
  }
}

@keyframes pulse-dot {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.3);
    opacity: 0.6;
  }
}

/* Aurora Glow Shift */
@keyframes aurora {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.aurora-bg {
  background: linear-gradient(125deg, #031710, #093323, #052419, #031710);
  background-size: 300% 300%;
  animation: aurora 16s ease infinite;
}

/* Shimmer Light Sweep */
@keyframes shimmer-sweep {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.shimmer-text {
  background: linear-gradient(90deg, #ffffff 0%, var(--cyan-primary) 25%, #ffffff 50%, var(--gold-primary) 75%, #ffffff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer-sweep 6s linear infinite;
}

/* Reveal on Scroll (AOS alternative / native Intersection Observer) */
.reveal-init {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-init.revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Safety: Content on inner page white cards is never hidden on initial load */
.section-white .glass-card,
.section-white .glass-card.reveal-init {
  opacity: 1 !important;
  transform: none !important;
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }

/* Scale Reveal */
.reveal-scale-init {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-scale-init.revealed {
  opacity: 1;
  transform: scale(1);
}

/* Spin Rotate */
@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.spin-slow {
  animation: spin-slow 20s linear infinite;
}

/* Interactive Magnetic 3D Tilt Card */
.tilt-card {
  transform-style: preserve-3d;
  perspective: 1000px;
}
