:root {
  --vc-brand-primary: #1792A9;
  --vc-brand-secondary: #CFDD7F;
  --vc-brand-neutral: #908E8E;
  --vc-teal-50: #E8F5F8;
  --vc-teal-100: #C8E5EC;
  --vc-teal-200: #A4D3DE;
  --vc-teal-300: #7FC1CF;
  --vc-teal-400: #56ADC0;
  --vc-teal-500: #1792A9;
  --vc-teal-600: #127A8E;
  --vc-teal-700: #0D6272;
  --vc-teal-800: #084B57;
  --vc-teal-900: #04333C;
  --vc-sage-50: #F7FAEB;
  --vc-sage-100: #EEF4CF;
  --vc-sage-300: #DCE89D;
  --vc-sage-500: #CFDD7F;
  --vc-warm-50: #FAFAFA;
  --vc-warm-100: #F2F2F2;
  --vc-warm-200: #E2E1E1;
  --vc-warm-800: #747171;
  --vc-warm-900: #4F4C4C;
  --vc-accent: #1792A9;
  --vc-accent-light: #E8F5F8;
  --color-text-primary: var(--vc-warm-900);
  --color-text-secondary: #908E8E;
  --color-bg: #ffffff;
  --color-bg-page: var(--vc-warm-100);
  --color-border: rgba(0, 0, 0, 0.09);
  --font-body: 'Manrope', system-ui, sans-serif;
  --font-display: 'Syncopate', 'Sora', system-ui, sans-serif;
  --font: var(--font-body);
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.10), 0 4px 8px rgba(0, 0, 0, 0.05);
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

h1,
h2,
h3,
.hero-h1,
.section-title,
.about-card-headline,
.exam-title {
  font-family: var(--font-display);
  font-feature-settings: "liga", "kern";
}

.delay-80 {
  transition-delay: 80ms;
}

.delay-100 {
  transition-delay: 100ms;
}

.delay-160 {
  transition-delay: 160ms;
}

.delay-240 {
  transition-delay: 240ms;
}

.mt-1 {
  margin-top: 1rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 1rem;
}

.text-white {
  color: white;
}

.text-teal-300 {
  color: var(--vc-teal-300);
}

.text-required {
  color: var(--vc-teal-500);
}

.section-sub-on-dark {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
}

.section-border-y {
  border-top: 0.5px solid var(--color-border);
  border-bottom: 0.5px solid var(--color-border);
}

.services-cta {
  text-align: center;
  margin-top: 2.5rem;
}

.services-cta-note {
  font-size: 13px;
  font-weight: 300;
  color: var(--color-text-secondary);
  margin-top: 12px;
}

.form-label-spaced {
  margin-bottom: 6px;
}

.form-label-flush {
  margin-bottom: 0;
}

.contact-cta {
  transition-delay: 240ms;
  margin-top: 8px;
}

.fit-content {
  width: fit-content;
}
