/* Ethereal radio-wave overlay for Wireless Radio Communication Systems */
.wexon-radio-waves {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  overflow: hidden;
}

.wexon-radio-waves svg {
  width: 100%;
  height: 100%;
  display: block;
}

.wexon-radio-waves .rw-arc {
  fill: none;
  stroke: rgba(0, 190, 208, 0.7);
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: url(#wexon-rw-glow);
}

.wexon-radio-waves .rw-pulse {
  /* Scale from emitter (local 0,0 of translated group) */
  transform-origin: 0px 0px;
  opacity: 0;
  animation: wexon-rw-pulse 3.9s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.wexon-radio-waves .rw-a1 {
  animation-delay: 0s;
}

.wexon-radio-waves .rw-a1 .rw-arc {
  stroke-width: 0.45;
}

.wexon-radio-waves .rw-a2 {
  animation-delay: 0.9s;
}

.wexon-radio-waves .rw-a2 .rw-arc {
  stroke: rgba(0, 190, 208, 0.5);
  stroke-width: 0.35;
}

.wexon-radio-waves .rw-a3 {
  animation-delay: 1.8s;
}

.wexon-radio-waves .rw-a3 .rw-arc {
  stroke: rgba(0, 190, 208, 0.32);
  stroke-width: 0.28;
}

.wexon-radio-waves .rw-group-top .rw-pulse {
  animation-duration: 3.3s;
}

.wexon-radio-waves .rw-group-top .rw-a1 {
  animation-delay: 0.4s;
}

.wexon-radio-waves .rw-group-top .rw-a2 {
  animation-delay: 1.2s;
}

.wexon-radio-waves .rw-group-top .rw-a3 {
  animation-delay: 2s;
}

@keyframes wexon-rw-pulse {
  0% {
    opacity: 0;
    transform: scale(0.55);
  }
  14% {
    opacity: 0.75;
  }
  55% {
    opacity: 0.28;
  }
  100% {
    opacity: 0;
    transform: scale(1.22);
  }
}

@media (max-width: 640px) {
  .wexon-radio-waves .rw-a1 .rw-arc {
    stroke-width: 0.4;
  }
  .wexon-radio-waves .rw-a2 .rw-arc {
    stroke-width: 0.3;
  }
  .wexon-radio-waves .rw-a3 .rw-arc {
    stroke-width: 0.24;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wexon-radio-waves .rw-pulse {
    animation: none;
    opacity: 0.22;
    transform: scale(1);
  }
  .wexon-radio-waves .rw-a2 {
    opacity: 0.14;
  }
  .wexon-radio-waves .rw-a3 {
    opacity: 0.08;
  }
}
