/* INNOVA Animated Micro-Interactions & FX */

@media (prefers-reduced-motion: no-preference) {
  /* Hero slide background subtle zoom */
  .hero-slide.is-active .hero-image {
    animation: hero-kenburns 16s ease-in-out infinite alternate;
  }
  
  /* Telemetry scanning line */
  .coordinate-rail i::after {
    animation: scan-pulse 3s ease-in-out infinite alternate;
  }
  
  /* Tech labels floating */
  .tech-label {
    animation: label-float 4s ease-in-out infinite alternate;
  }
  .tech-label:nth-of-type(2) {
    animation-delay: 1.2s;
  }
  .tech-label:nth-of-type(3) {
    animation-delay: 2.4s;
  }
  
  /* Scroll reveal elements */
  .reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.2, 0.7, 0.1, 1), transform 0.7s cubic-bezier(0.2, 0.7, 0.1, 1);
    will-change: opacity, transform;
  }
  .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Stagger delay classes */
  .stagger-1 { transition-delay: 0.1s; }
  .stagger-2 { transition-delay: 0.2s; }
  .stagger-3 { transition-delay: 0.3s; }
  .stagger-4 { transition-delay: 0.4s; }
  
  /* CAD Inspection rotation */
  .cad-graphic-display svg {
    animation: cad-subtle-rotate 25s ease-in-out infinite alternate;
  }
}

@keyframes hero-kenburns {
  0% { transform: scale(1); }
  100% { transform: scale(1.08) translate(-1%, -1%); }
}

@keyframes scan-pulse {
  0% { top: 0%; opacity: 0.4; }
  50% { opacity: 1; }
  100% { top: 92%; opacity: 0.4; }
}

@keyframes label-float {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-8px); }
}

@keyframes cad-subtle-rotate {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.03); }
  100% { transform: rotate(-2deg) scale(0.98); }
}

/* Reduced Motion Fallback */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
