/* Optional custom CSS overrides */

html {
  scroll-behavior: smooth;
  font-size: 19px;
}

:root {
  --c-primary-dark: #1C2730;
  --c-accent: #2B4C5C;
  --c-accent-hover: #223E4B;
  --c-sage: #4A6741;
  --c-text: #374550;
  --c-bg: #F4F1EC;
  --c-bg-soft: #EEEAE3;
  --c-border: #C8D4DC;
  --c-white-soft: #FAF8F4;
}

body {
  background: var(--c-bg);
  color: var(--c-primary-dark);
}

/* Large editorial headline */
.hero-headline {
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.03em;
}

/* Thin section separators */
.section-rule {
  border-top: 1px solid var(--c-border);
}

/* Stat number size */
.stat-number {
  font-size: clamp(3.2rem, 5vw, 4.4rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
}

@media (max-width: 1023px) {
  html {
    font-size: 17px;
  }
}

[x-cloak] {
  display: none !important;
}

/* What We Offer – horizontal expand cards */
.offer-card {
  transition: flex 500ms cubic-bezier(0.4, 0, 0.2, 1),
              transform 400ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 400ms cubic-bezier(0.4, 0, 0.2, 1),
              background-color 300ms ease;
}

.section-pill {
  display: inline-block;
  border-radius: 0.7rem;
  border: 1px solid #b9c8d2;
  background-color: #e7edf0;
  color: var(--c-accent);
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (min-width: 640px) {
  .section-pill {
    font-size: 1rem;
  }
}

.section-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.8rem;
  border: 1px solid var(--c-border);
  background: var(--c-white-soft);
  color: var(--c-text);
  box-shadow: 0 5px 14px rgba(28, 39, 48, 0.08);
  transition: transform 220ms ease, color 220ms ease, border-color 220ms ease;
  animation: section-next-float 1.8s ease-in-out infinite;
}

.section-next svg {
  width: 1.4rem;
  height: 1.4rem;
}

.section-next:hover {
  transform: translateY(2px);
  border-color: var(--c-accent);
  color: var(--c-accent);
}

@keyframes section-next-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(4px);
  }
}

/* Muted editorial palette overrides for Tailwind utility classes used in HTML */
.bg-white {
  background-color: var(--c-white-soft) !important;
}

.bg-slate-50 {
  background-color: var(--c-bg-soft) !important;
}

.text-slate-900 {
  color: var(--c-primary-dark) !important;
}

.text-slate-700,
.text-slate-600,
.text-slate-500 {
  color: var(--c-text) !important;
}

.border-slate-100,
.border-slate-200,
.border-slate-300 {
  border-color: var(--c-border) !important;
}

[class*="text-blue-"] {
  color: var(--c-accent) !important;
}

[class*="hover:text-blue-"]:hover {
  color: var(--c-accent) !important;
}

.bg-blue-50,
.hover\:bg-blue-50:hover {
  background-color: #e7edf0 !important;
}

.border-blue-100,
.border-blue-200,
.border-blue-400,
.border-blue-500,
.border-blue-600,
.hover\:border-blue-500:hover {
  border-color: #9cb0bc !important;
}

.bg-blue-600,
.hover\:bg-blue-600:hover,
.focus\:bg-blue-600:focus {
  background-color: var(--c-accent) !important;
}

.hover\:bg-blue-700:hover,
.focus\:bg-blue-700:focus {
  background-color: var(--c-accent-hover) !important;
}

.ring-blue-500,
.focus\:ring-blue-500:focus,
.focus-visible\:ring-blue-600:focus-visible {
  --tw-ring-color: rgba(43, 76, 92, 0.45) !important;
}

/* Shift amber statuses to muted sage */
.bg-amber-50 {
  background-color: #e6eee4 !important;
}

.border-amber-200 {
  border-color: #a8bda2 !important;
}

.text-amber-700 {
  color: var(--c-sage) !important;
}

/* Tone down saturation-heavy inline gradients */
[style*="#1a11d4"],
[style*="#0F07A0"],
[style*="#07046e"] {
  background: linear-gradient(135deg, #22313a 0%, #2B4C5C 58%, #3f5864 100%) !important;
}

/* 30% less SaaS: reduce corner radius and heavy shadows */
.rounded-full {
  border-radius: 0.8rem !important;
}

.rounded-3xl {
  border-radius: 1rem !important;
}

.rounded-2xl {
  border-radius: 0.85rem !important;
}

.rounded-xl,
.rounded-lg {
  border-radius: 0.65rem !important;
}

.shadow-2xl,
.shadow-lg,
.shadow-md,
.shadow-sm {
  box-shadow: 0 4px 14px rgba(28, 39, 48, 0.08) !important;
}


