/* Scoutletic site-wide typography system — 2026-09-23
   One consistent type scale for semantic content headings and body copy. */
:root {
  --sl-font-body: 'Scoutletic-Web-Regular-Embedded', Arial, sans-serif;
  --sl-font-heading: 'Scoutletic-Web-Main-Bold-Embedded', 'Scoutletic-Web-Regular-Embedded', Arial, sans-serif;
  --sl-h1-size: 56px;
  --sl-h2-size: 40px;
  --sl-h3-size: 26px;
  --sl-h4-size: 20px;
  --sl-body-size: 16px;
  --sl-lead-size: 18px;
  --sl-heading-line: 1.12;
  --sl-body-line: 1.7;
  --sl-heading-color: #000000;
  --sl-body-color: #000000;
}

html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sl-font-body) !important;
  font-size: var(--sl-body-size) !important;
  line-height: var(--sl-body-line) !important;
}

/* Global semantic heading scale. Page-specific layouts may change color,
   alignment and spacing, but not heading size/weight/line-height. */
main h1, main .h1 {
  font-family: var(--sl-font-heading) !important;
  font-size: var(--sl-h1-size) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}
main h2, main .h2 {
  font-family: var(--sl-font-heading) !important;
  font-size: var(--sl-h2-size) !important;
  line-height: var(--sl-heading-line) !important;
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
}
main h3, main .h3 {
  font-family: var(--sl-font-heading) !important;
  font-size: var(--sl-h3-size) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
main h4, main .h4 {
  font-family: var(--sl-font-heading) !important;
  font-size: var(--sl-h4-size) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* Consistent normal reading text. Navigation, buttons, badges and form controls
   keep their component-specific sizing. */
main p,
main .content p,
main article p,
main section li:not(.nav-item) {
  font-size: var(--sl-body-size) !important;
  line-height: var(--sl-body-line) !important;
}
main .lead,
main p.lead {
  font-size: var(--sl-lead-size) !important;
  line-height: 1.65 !important;
}
main .eyebrow,
main .pricing-eyebrow,
main .inner-hero-copy > span {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

/* Preserve white/light hero text colors while enforcing the same scale. */
main .scoutletic-inner-hero h1,
main .sl-pricing-reference-hero h1,
main .contact-photo-hero h1,
main .hero-contact h1,
main .hero-about h1,
main .hero-faq h1 {
  font-size: var(--sl-h1-size) !important;
  line-height: 1.08 !important;
}

@media (max-width: 991.98px) {
  :root {
    --sl-h1-size: 48px;
    --sl-h2-size: 36px;
    --sl-h3-size: 24px;
    --sl-h4-size: 20px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --sl-h1-size: 38px;
    --sl-h2-size: 30px;
    --sl-h3-size: 22px;
    --sl-h4-size: 19px;
    --sl-body-size: 16px;
    --sl-lead-size: 17px;
  }
  main h1, main .h1 { letter-spacing: -0.02em !important; }
  main h2, main .h2 { letter-spacing: -0.012em !important; }
}
