/* ==========================================================================
   MINDMATRIX - KEYFRAME ANIMATIONS, 3D CARD VISUALS & MOTION EFFECTS
   ========================================================================== */

@keyframes shineGradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes pulseGlow {
  0%, 100% { transform: scale(0.95); opacity: 0.7; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes spinReverse {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

@keyframes logoFloat3D {
  0%, 100% {
    transform: translateY(0px) rotateY(0deg) rotateX(0deg);
  }
  50% {
    transform: translateY(-7px) rotateY(12deg) rotateX(6deg);
  }
}

@keyframes floatCardA {
  0%, 100% { transform: translate3d(0, 0px, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}

@keyframes floatCardB {
  0%, 100% { transform: translate3d(0, 0px, 0); }
  50% { transform: translate3d(0, 9px, 0); }
}

@keyframes travelPulse {
  0% { left: 0%; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { left: calc(100% - 70px); opacity: 0; }
}

@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes radarPing {
  0% {
    transform: scale(0.8);
    opacity: 0.9;
  }
  100% {
    transform: scale(2.8);
    opacity: 0;
  }
}

@keyframes barGrowPulse {
  0%, 100% { transform: scaleY(0.85); }
  50% { transform: scaleY(1.08); }
}

/* Floating animations for hero cards */
.hfc-1 { animation: floatCardA 5.2s ease-in-out infinite; }
.hfc-2 { animation: floatCardB 5.8s ease-in-out infinite 0.5s; }
.hfc-3 { animation: floatCardA 6.4s ease-in-out infinite 1.1s; }
.hfc-4 { animation: floatCardB 5.5s ease-in-out infinite 0.7s; }
.hfc-5 { animation: floatCardA 6.0s ease-in-out infinite 1.4s; }

/* Animated SVG Neural Dashes */
.neural-dash-line {
  stroke-dasharray: 8 8;
  animation: dashFlow 20s linear infinite;
}

@keyframes dashFlow {
  to {
    stroke-dashoffset: -320;
  }
}

/* Radar Ping Node on Northeast India Map */
.map-ping-circle {
  transform-box: fill-box;
  transform-origin: center;
  animation: radarPing 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* ==========================================================================
   3D SOLUTION CARD VISUALS
   ========================================================================== */
.sol-3d-chip {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 20px;
  background: linear-gradient(135deg, #0D326E, #06152E);
  border: 2px solid var(--color-bright-cyan);
  box-shadow: 0 0 28px rgba(0, 212, 255, 0.45), inset 0 0 18px rgba(8, 123, 255, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--color-golden-yellow);
  animation: logoFloat3D 4.5s ease-in-out infinite;
}

.sol-3d-chip::before,
.sol-3d-chip::after {
  content: '';
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  border: 1px dashed rgba(0, 212, 255, 0.45);
  animation: spinSlow 14s linear infinite;
}

.sol-3d-chip::after {
  inset: -22px;
  border-color: rgba(255, 198, 41, 0.35);
  animation: spinReverse 18s linear infinite;
}

.sol-gear-main {
  animation: spinSlow 12s linear infinite;
  transform-origin: center;
  transform-box: fill-box;
}

.sol-gear-sub {
  animation: spinReverse 9s linear infinite;
  transform-origin: center;
  transform-box: fill-box;
}

.sol-chart-bar {
  transform-origin: bottom;
  transform-box: fill-box;
  animation: barGrowPulse 3s ease-in-out infinite;
}

/* ==========================================================================
   REDUCED MOTION SUPPORT
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

