@keyframes cc-fade-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cc-pulse-soft {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.85;
  }
}

.cc-animate-in {
  animation: cc-fade-in 0.55s ease-out both;
}

.cc-accent-pulse {
  animation: cc-pulse-soft 2.4s ease-in-out infinite;
}

@keyframes stat-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.stat-animate {
  animation: stat-rise 0.7s ease-out both;
}

.stat-animate-delay-1 {
  animation-delay: 0.12s;
}

.stat-animate-delay-2 {
  animation-delay: 0.24s;
}

.stat-animate-delay-3 {
  animation-delay: 0.36s;
}

.site-nav__link {
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #b6a9c9;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.site-nav__link:hover {
  color: #f5f0ff;
}

.site-nav__link:focus {
  outline: none;
}

.site-nav__link:focus-visible {
  box-shadow: 0 0 0 2px #141018, 0 0 0 4px #a3e635;
}

.site-nav__link--active {
  color: #141018;
  background-color: #a3e635;
  font-weight: 600;
}

.site-nav__link--active:hover {
  color: #141018;
  background-color: #84cc16;
}

.site-nav__link--active:focus-visible {
  box-shadow: 0 0 0 2px #141018, 0 0 0 4px #f5f0ff;
}

.js-faq-trigger[aria-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
}

.faq-chevron {
  transition: transform 0.2s ease;
}
