:root {
  --color-bg: #f5f9ff;
  --color-surface: #ffffff;
  --color-text: #1d2a3f;
  --color-muted: #5e718c;
  --color-border: #d6e1f2;
  --color-accent: #2f6fed;
  --color-accent-hover: #2459c5;
  --color-accent-soft: #e7eeff;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

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

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

.hero-animate {
  animation: hero-fade-in 0.7s ease-out both;
}

.stat-card {
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.stat-card:hover {
  box-shadow: 0 18px 40px rgba(47, 111, 237, 0.12);
}

.stat-number {
  font-variant-numeric: tabular-nums;
}

.stat-number.is-animating {
  animation: stat-pulse 0.6s ease;
}

.reviews-swiper .swiper-button-prev,
.reviews-swiper .swiper-button-next {
  color: var(--color-accent);
}

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

.cookie-consent-panel {
  box-shadow: 0 -8px 32px rgba(29, 42, 63, 0.12);
}

html.cookie-consent-stored [data-cookie-banner] {
  display: none !important;
}

.form-field--error input,
.form-field--error textarea {
  border-color: #dc2626 !important;
}

.form-field--error input:focus,
.form-field--error textarea:focus {
  outline-color: #dc2626;
}

[data-form-toast] {
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}
