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

@keyframes count-pulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
}

.animate-fade-up {
  animation: fade-up 0.7s ease-out forwards;
}

.stats-section.is-visible .stat-card:nth-child(1) .stat-value {
  animation: count-pulse 2.2s ease-in-out infinite;
  animation-delay: 0s;
}

.stats-section.is-visible .stat-card:nth-child(2) .stat-value {
  animation: count-pulse 2.2s ease-in-out infinite;
  animation-delay: 0.2s;
}

.stats-section.is-visible .stat-card:nth-child(3) .stat-value {
  animation: count-pulse 2.2s ease-in-out infinite;
  animation-delay: 0.4s;
}

.stats-section.is-visible .stat-card:nth-child(4) .stat-value {
  animation: count-pulse 2.2s ease-in-out infinite;
  animation-delay: 0.6s;
}

.swiper-reviews .swiper-button-next,
.swiper-reviews .swiper-button-prev {
  color: #ef4444;
}

.swiper-reviews .swiper-button-next::after,
.swiper-reviews .swiper-button-prev::after {
  font-size: 1.25rem;
}

body.nav-open {
  overflow: hidden;
}

body.cookie-banner-open {
  padding-bottom: min(42vh, 24rem);
}

#contact-success-toast {
  transition: opacity 0.25s ease;
}

[data-faq-trigger] .faq-chevron {
  transition: transform 0.2s ease;
}

[data-faq-item].is-open .faq-chevron {
  transform: rotate(180deg);
}
