/* ─────────────────────────────────────────────────────────────
   Animations
   ───────────────────────────────────────────────────────────── */

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

@keyframes pulse-ring {
  0% {
    box-shadow: 0 0 0 0 rgba(61, 220, 151, 0.55);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(61, 220, 151, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(61, 220, 151, 0);
  }
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.service-card {
  animation: fade-up var(--dur-med) var(--ease-out) both;
}

.service-grid .service-card:nth-child(1) {
  animation-delay: 40ms;
}
.service-grid .service-card:nth-child(2) {
  animation-delay: 90ms;
}
.service-grid .service-card:nth-child(3) {
  animation-delay: 140ms;
}
.service-grid .service-card:nth-child(4) {
  animation-delay: 190ms;
}

#refresh-btn.is-spinning {
  opacity: 0.6;
  pointer-events: none;
}

