
/* ==========================================================
   V9.5 — Moving Circular Waves
   Restores the animated wave signature in the first screen.
   Only transform + opacity are animated for better performance.
   ========================================================== */

.hero .wave-field{
  overflow:hidden;
}

.hero .ripple{
  will-change:transform,opacity;
}

.hero .ripple i{
  animation:parvazHeroRipple 7.2s cubic-bezier(.16,.72,.22,1) infinite !important;
  will-change:transform,opacity;
  transform:translateZ(0) scale(.38);
  backface-visibility:hidden;
}

.hero .ripple i:nth-child(1){animation-delay:0s !important}
.hero .ripple i:nth-child(2){animation-delay:1.15s !important}
.hero .ripple i:nth-child(3){animation-delay:2.30s !important}
.hero .ripple i:nth-child(4){animation-delay:3.45s !important}

.hero .ripple.blue i{
  border-color:rgba(93,211,255,.31);
}
.hero .ripple.orange i{
  border-color:rgba(255,144,61,.25);
}
.hero .ripple.lime i{
  border-color:rgba(183,255,83,.20);
}

@keyframes parvazHeroRipple{
  0%{
    transform:translateZ(0) scale(.36);
    opacity:0;
  }
  9%{
    opacity:.88;
  }
  58%{
    opacity:.28;
  }
  100%{
    transform:translateZ(0) scale(1.34);
    opacity:0;
  }
}

.hero .wave-dot{
  animation:parvazWaveDot 3.4s ease-in-out infinite !important;
  will-change:transform,opacity;
}
@keyframes parvazWaveDot{
  0%,100%{transform:translateZ(0) scale(.82);opacity:.52}
  50%{transform:translateZ(0) scale(1.18);opacity:1}
}

/* On weaker phones keep the signature moving,
   but animate only the first wave cluster to reduce GPU work. */
.low-power .hero .ripple.blue{
  display:grid !important;
}
.low-power .hero .ripple.blue i{
  animation:parvazHeroRippleMobile 8s cubic-bezier(.18,.72,.24,1) infinite !important;
}
.low-power .hero .ripple.blue i:nth-child(1){animation-delay:0s !important}
.low-power .hero .ripple.blue i:nth-child(2){animation-delay:1.45s !important}
.low-power .hero .ripple.blue i:nth-child(3){animation-delay:2.9s !important}
.low-power .hero .ripple.blue i:nth-child(4){animation-delay:4.35s !important}

.low-power .hero .wave-dot.d1{
  display:block !important;
  animation:parvazWaveDot 4s ease-in-out infinite !important;
}

@keyframes parvazHeroRippleMobile{
  0%{transform:translateZ(0) scale(.40);opacity:0}
  11%{opacity:.70}
  62%{opacity:.20}
  100%{transform:translateZ(0) scale(1.22);opacity:0}
}

/* keep motion accessible when the OS explicitly requests reduced motion */
@media (prefers-reduced-motion: reduce){
  .hero .ripple i,
  .low-power .hero .ripple.blue i,
  .hero .wave-dot,
  .low-power .hero .wave-dot.d1{
    animation:none !important;
  }
}


/* V9.6.1 — do not re-enable continuous hero animation on touch phones */
@media(max-width:1050px) and (pointer:coarse){
  .hero .ripple i,
  .low-power .hero .ripple.blue i,
  .hero .wave-dot,
  .low-power .hero .wave-dot.d1{
    animation:none!important;
    will-change:auto!important;
  }
  .hero .ripple{will-change:auto!important}
}
