@keyframes rotateSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@keyframes float {
  0%, 100% { transform: translateY(0) rotate(5deg); }
  50% { transform: translateY(-30px) rotate(-5deg); }
}

@keyframes slide { from { transform: translateX(0) rotate(15deg); } to { transform: translateX(100%) rotate(15deg); } }

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes floatOrbs { 0% { transform: translate(0, 0); } 100% { transform: translate(5%, 5%); } }

@keyframes hologram {
  0% { filter: drop-shadow(0 0 2px var(--primary)); }
  25% { filter: drop-shadow(0 0 4px var(--secondary)); }
  50% { filter: drop-shadow(0 0 6px var(--accent)); }
  100% { filter: drop-shadow(0 0 2px var(--primary)); }
  will-change: filter;
}

@-webkit-keyframes hologram {
  0% { filter: drop-shadow(0 0 2px var(--primary)); }
  25% { filter: drop-shadow(0 0 4px var(--secondary)); }
  50% { filter: drop-shadow(0 0 6px var(--accent)); }
  100% { filter: drop-shadow(0 0 2px var(--primary)); }
}

@keyframes hologramShift {
  0% { color: var(--primary); text-shadow: 0 0 5px rgba(107, 72, 255, 0.5); }
  50% { color: var(--accent); text-shadow: 0 0 15px rgba(107, 72, 255, 0.8); }
  100% { color: var(--primary); text-shadow: 0 0 5px rgba(107, 72, 255, 0.5); }
  will-change: color, text-shadow;
}

@-webkit-keyframes hologramShift {
  0% { color: var(--primary); text-shadow: 0 0 5px rgba(107, 72, 255, 0.5); }
  50% { color: var(--accent); text-shadow: 0 0 15px rgba(107, 72, 255, 0.8); }
  100% { color: var(--primary); text-shadow: 0 0 5px rgba(107, 72, 255, 0.5); }
}

@keyframes iconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

@keyframes float-shadow {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-15px) scale(1.03); }
}

@keyframes holographic-pulse {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}

@keyframes textGlow {
  0% { text-shadow: 0 2px 10px rgba(107, 72, 255, 0.3); }
  50% { text-shadow: 0 4px 20px rgba(0, 221, 235, 0.5); }
  100% { text-shadow: 0 2px 10px rgba(107, 72, 255, 0.3); }
}

@keyframes scanPulse {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

@keyframes floatSphere {
  0% { transform: translateY(0) translateZ(0); }
  50% { transform: translateY(-30px) translateZ(10px); }
  100% { transform: translateY(0) translateZ(0); }
}

@keyframes orbitRotate {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes pulseGlow {
  0% { box-shadow: 0 0 5px rgba(107, 72, 255, 0.3); }
  50% { box-shadow: 0 0 15px rgba(107, 72, 255, 0.7); }
  100% { box-shadow: 0 0 5px rgba(107, 72, 255, 0.3); }
  will-change: box-shadow;
}

@-webkit-keyframes pulseGlow {
  0% { box-shadow: 0 0 5px rgba(107, 72, 255, 0.3); }
  50% { box-shadow: 0 0 15px rgba(107, 72, 255, 0.7); }
  100% { box-shadow: 0 0 5px rgba(107, 72, 255, 0.3); }
}

@keyframes floatDot {
  0% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0); }
}

@keyframes ringSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.pulse-on-hover:hover { animation: pulse 1.5s infinite; }
.tech-circle { animation: rotateSlow 60s linear infinite; }
.tech-triangle { animation: float 8s ease-in-out infinite alternate; }
.tech-line { animation: slide 20s linear infinite; }
.icon-hologram:hover { animation: hologram 1.5s infinite; transform-style: preserve-3d; }
.icon-float { animation: float 3s ease-in-out infinite; }
.nav-link:hover i { animation: iconPulse 0.6s ease; }
.header .btn:hover i { transform: translateX(3px) rotate(15deg); transition: transform 0.3s ease, color 0.3s ease; color: var(--accent); }