:root {
  --fc-navy-950: #071a2d;
  --fc-navy-900: #0b253f;
  --fc-teal-700: #08747d;
  --fc-teal-100: #dff1f0;
  --fc-gold-500: #d3ad61;
  --fc-gold-600: #a97a22;
  --fc-ink: #1a2d3d;
  --fc-muted: #687b88;
  --fc-border: #d9e3e5;
  --fc-surface: #ffffff;
  --fc-surface-soft: #f5f9fa;
  --fc-radius-sm: 8px;
  --fc-radius-md: 14px;
  --fc-shadow: 0 14px 38px rgba(7, 37, 61, 0.1);
  --fc-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body.fc-shared-shell {
  color: var(--fc-ink);
  font-family: var(--fc-font-sans);
  text-rendering: optimizeLegibility;
}

body.fc-shared-shell > header,
body.fc-shared-shell header.site-header,
body.fc-shared-shell > .skip-link,
body.fc-shared-shell footer,
body.fc-shared-shell #mc-master-footer,
body.fc-shared-shell .fc-footer-standard,
body.fc-shared-shell .mobile-cta,
body.fc-shared-shell .fc-sticky-cta,
body.fc-shared-shell .sticky-sponsor-btn {
  display: none !important;
}

#fc-master-header,
#fc-master-footer {
  display: block;
}

body.fc-shared-shell main[id="main-content"] {
  scroll-margin-top: 130px;
}

body.fc-shared-shell :where(button, input, select, textarea) {
  font: inherit;
}

body.fc-shared-shell :where(input, select, textarea) {
  min-height: 44px;
  border-color: var(--fc-border);
  border-radius: var(--fc-radius-sm);
}

body.fc-shared-shell :where(input, select, textarea):focus {
  border-color: var(--fc-teal-700);
  outline: 3px solid color-mix(in srgb, var(--fc-teal-700) 22%, transparent);
  outline-offset: 1px;
}

body.fc-shared-shell :where(.btn, .button, button[type="submit"], input[type="submit"]) {
  border-radius: var(--fc-radius-sm);
}

body.fc-shared-shell :where(.card, .team-card, .speaker-card, .site-map-card, .price-card, .faq-item) {
  border-radius: var(--fc-radius-md);
}

body.fc-shared-shell img {
  max-width: 100%;
}

body.fc-shared-shell :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--fc-gold-500) !important;
  outline-offset: 3px;
}

.fc-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 640px) {
  body.fc-shared-shell {
    padding-bottom: 58px;
  }
}

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