@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap');

:root {
  --brand-blue: #061bb0;
  --brand-blue-dark: #041090;
  --brand-green: #eef8eb;
  --accent: #0369a1;
  --text: #0f172a;
  --text-muted: #475569;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: 'Open Sans', sans-serif;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.font-display {
  font-family: 'Poppins', sans-serif;
}

/* Navbar */
.nav-scrolled {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

/* Hero gradient overlay */
.hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(6, 27, 176, 0.88) 0%,
    rgba(6, 27, 176, 0.65) 45%,
    rgba(3, 105, 161, 0.55) 100%
  );
}

/* Cards */
.service-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(6, 27, 176, 0.12);
}

/* FAQ accordion */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
}

.faq-item.active .faq-answer {
  max-height: 600px;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

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

/* Fade-in on scroll */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Article prose */
.prose-article h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--brand-blue);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.prose-article h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.prose-article p {
  margin-bottom: 1rem;
  line-height: 1.75;
  color: var(--text-muted);
}

.prose-article ul,
.prose-article ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  color: var(--text-muted);
  line-height: 1.75;
}

.prose-article li {
  margin-bottom: 0.5rem;
}

.prose-article a {
  color: var(--accent);
  text-decoration: underline;
}

/* Focus states */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Mobile menu */
.mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.mobile-menu.open {
  max-height: 80vh;
}

/* Breadcrumb */
.breadcrumb a:hover {
  color: var(--brand-blue);
}

/* CTA band */
.cta-band {
  background: linear-gradient(135deg, var(--brand-blue) 0%, var(--accent) 100%);
}

/* Stat counter */
.stat-number {
  font-variant-numeric: tabular-nums;
}
