/* Site-specific palette and native Moderna hero treatment. */
:root {
  --background-color: #ffffff;
  --surface-color: #ffffff;
  --default-color: #374151;
  --heading-color: #111827;
  --accent-color: #1d4ed8;
  --contrast-color: #ffffff;
  --default-font: Inter, 'Segoe UI', system-ui, sans-serif;
  --heading-font: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --nav-font: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --nav-color: #ffffff;
  --nav-hover-color: #b7faf0;
}
.light-background { --background-color: #f3f4f6; --surface-color: #ffffff; }
.dark-background {
  --background-color: #111827;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --accent-color: #5eead4;
  --contrast-color: #111827;
}
body { font-size: 16px; line-height: 1.6; }
.hero::after {
  background: radial-gradient(circle at 75% 35%, rgba(94,234,212,.22), transparent 35%),
              linear-gradient(145deg, #1d4ed8, #111827 80%);
}
.hero::before { background: #0f766e; opacity: .16; }
.hero .btn-get-started { color: #ffffff; border-color: #5eead4; }
.hero .btn-get-started:hover { background: #5eead4; color: #111827; }
.hero h2, .hero p { color: #ffffff; }
.fst-italic { color: #374151; }
.footer { background-color: #111827; }
.footer .footer-about { max-width: 42rem; }
@media (max-width: 767.98px) {
  .header .sitename { font-size: 1.05rem; }
  .hero { min-height: 34rem; }
  .hero .carousel-container { padding-top: 5rem; }
  .hero h2 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .hero p { width: 100%; }
}
