/* AOS overrides — tighter timing for premium feel */
[data-aos] { transition-timing-function: cubic-bezier(.16, 1, .3, 1) !important; }
[data-aos="fade-up"] { transform: translate3d(0, 32px, 0); }
[data-aos="fade-right"] { transform: translate3d(-32px, 0, 0); }
[data-aos="fade-left"] { transform: translate3d(32px, 0, 0); }

/* Float animation for icons */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Glow pulse */
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 24px rgba(0, 229, 255, 0.3); }
  50% { box-shadow: 0 0 36px rgba(0, 229, 255, 0.55); }
}

/* Subtle shine sweep — applied to featured pricing */
@keyframes shine {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Hero entrance */
@keyframes heroFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Service card icon hover float */
.service-card:hover .service-card__icon { animation: float 2s ease-in-out infinite; }

/* Featured pricing ribbon glow */
.price-card--featured .price-card__ribbon { animation: glowPulse 2.4s ease-in-out infinite; }

/* ============ HERO VISUAL keyframes ============ */
@keyframes carHover {
  0%, 100% { transform: translate(-50%, -50%); }
  50%      { transform: translate(-50%, calc(-50% - 10px)); }
}

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

@keyframes heroGlowPulse {
  0%, 100% { opacity: .55; transform: scale(1); }
  50%      { opacity: .95; transform: scale(1.08); }
}

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

@keyframes chipFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

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

@keyframes chipFloatRating {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(-10px); }
}

@keyframes sparkle {
  0%, 100% { opacity: .25; transform: scale(.8); }
  50%      { opacity: 1;   transform: scale(1.5); }
}

@keyframes streak {
  0%   { background-position: -50% 0; opacity: 0; }
  50%  { opacity: 1; }
  100% { background-position: 150% 0; opacity: 0; }
}

/* Reduced motion override */
@media (prefers-reduced-motion: reduce) {
  .service-card:hover .service-card__icon,
  .price-card--featured .price-card__ribbon,
  .hero__mouse span,
  .timeline::before,
  .hero__car,
  .hero__wheel,
  .hero__glow,
  .hero__ring,
  .hero__chip,
  .hero__sparkle,
  .hero__streaks span {
    animation: none !important;
  }
  .hero__chip { opacity: 1 !important; }
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
  }
}
