@font-face {
  font-family: 'Capriola';
  src: url('../fonts/Capriola-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Quicksand';
  src: url('../fonts/Quicksand-Variable.ttf') format('truetype-variations');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', sans-serif;
}

h1, h2, h3, .font-heading {
  font-family: 'Capriola', serif;
}

nav a, .font-accent, button, .badge, .btn {
  font-family: 'Quicksand', sans-serif;
}

/* Scroll offset so anchored sections aren't hidden under the sticky header */
section[id] {
  scroll-margin-top: 96px;
}

/* FAQ accordion chevron */
details > summary {
  list-style: none;
  cursor: pointer;
}
details > summary::-webkit-details-marker {
  display: none;
}
details summary .faq-chevron {
  transition: transform 0.25s ease;
}
details[open] summary .faq-chevron {
  transform: rotate(180deg);
}
details[open] .faq-answer {
  animation: faq-open 0.25s ease;
}
@keyframes faq-open {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Mobile menu */
#mobile-menu {
  transition: max-height 0.3s ease, opacity 0.25s ease;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
#mobile-menu.open {
  max-height: 480px;
  opacity: 1;
}

/* Soft floating shapes */
.blob-blur {
  filter: blur(60px);
}

/* Header shadow once page is scrolled */
#site-header.is-scrolled {
  box-shadow: 0 8px 24px -12px rgba(31, 99, 174, 0.18);
}
