/**
 * Aether AI — Premium Consulting & Strategy
 * Animations & Motion Stylesheet
 */

/* Scroll Reveal Classes */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Subtle Hero Card Floating Animation */
@keyframes floatSubtleA {
  0%, 100% {
    transform: rotate(-3deg) translateY(12px);
  }
  50% {
    transform: rotate(-3deg) translateY(4px);
  }
}

@keyframes floatSubtleB {
  0%, 100% {
    transform: translateY(-16px);
  }
  50% {
    transform: translateY(-24px);
  }
}

@keyframes floatSubtleC {
  0%, 100% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(-14px);
  }
}

@keyframes floatSubtleD {
  0%, 100% {
    transform: rotate(3deg) translateY(16px);
  }
  50% {
    transform: rotate(3deg) translateY(8px);
  }
}

@media (min-width: 992px) {
  .floating-card.card-angle-1 {
    animation: floatSubtleA 6s ease-in-out infinite;
  }
  .floating-card.card-angle-2 {
    animation: floatSubtleB 7s ease-in-out 0.5s infinite;
  }
  .floating-card.card-angle-3 {
    animation: floatSubtleC 6.5s ease-in-out 1s infinite;
  }
  .floating-card.card-angle-4 {
    animation: floatSubtleD 7.5s ease-in-out 1.5s infinite;
  }
}

/* Pulsing Badge Accent */
@keyframes pulseSubtle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.pulse-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-lime);
  box-shadow: 0 0 8px rgba(208, 255, 82, 0.8);
  animation: pulseSubtle 2.5s infinite ease-in-out;
}

/* Accessible 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;
  }
  .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
  }
  .floating-card {
    animation: none !important;
  }
}
