/* Keep the heading hierarchy while making the LP's reading text more legible. */
body {
  font-size: 16px;
}

.main-nav {
  font-size: 14px;
}

.main-nav .button-small {
  font-size: 16px;
}

.hero-copy .eyebrow {
  font-size: 18px;
}

.hero h1 {
  font-size: clamp(48px, 4.7vw, 64px);
}

.hero-lead,
.solution-support > p,
.service-intro > p,
.contact-description {
  font-size: 17px;
  line-height: 1.9;
}

.service-step-card h5,
.service-step-list--four h5 {
  font-size: 18px;
}

.service-step-list--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-title-row {
  align-items: baseline;
}

.service-title-row .service-index {
  font-size: 64px;
  line-height: 1;
}

#training .service-highlight {
  color: inherit;
  background: linear-gradient(transparent 62%, #ffe0b8 62%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.service-step-card > p,
.flow-step-copy > p:last-child,
.faq-list summary,
.faq-list details > div,
.quote-description,
.document-heading > p:last-child:not(.eyebrow),
.document-preparation > p {
  font-size: 16px;
  line-height: 1.9;
}

.section-heading .eyebrow,
.flow-step-number {
  font-size: 14px;
}

.case-client > span,
.case-services > dt,
.case-services > dd > span,
.site-footer .footer-tagline,
.site-footer .footer-right a {
  font-size: 14px;
}

.client-proof-note,
.results .section-footnote,
.site-footer .footer-address,
.site-footer .footer-right > small {
  font-size: 13px;
}

.client-proof-note {
  width: min(1440px, calc(100% - 80px));
  color: #000;
  font-weight: 400;
  line-height: 1.6;
  text-align: right;
  margin: 8px auto 0;
}

.hero .achievement-label,
.hero .achievement-number,
.hero .achievement-number small {
  font-size: 13px;
}

@media (max-width: 960px) {
  .service-title-row .service-index {
    font-size: 56px;
  }
}

@media (max-width: 1100px) {
  .client-proof-note {
    width: calc(100% - 56px);
  }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .hero-copy .eyebrow {
    font-size: 16px;
  }
}

@media (min-width: 761px) and (max-width: 850px) {
  .hero h1 {
    font-size: 41px;
  }
}

@media (max-width: 760px) {
  .client-proof-note {
    width: calc(100% - 40px);
  }

  .service-title-row .service-index {
    font-size: 44px;
  }

  .hero-copy .eyebrow {
    font-size: clamp(14px, 4vw, 16px);
  }

  .hero h1 {
    font-size: clamp(34px, 10.5vw, 54px);
  }

  .hero-lead,
  .solution-support > p,
  .service-intro > p,
  .contact-description {
    font-size: 16px;
  }

  .service-step-card h5,
  .service-step-list--four h5 {
    font-size: 17px;
  }

  .service-step-list--two {
    grid-template-columns: 1fr;
  }

  #training .service-step-visual,
  #development .service-step-visual,
  #advisory .service-step-visual {
    grid-row: 2;
  }

  #training .service-step-card > p,
  #development .service-step-card > p,
  #advisory .service-step-card > p {
    grid-column: 1 / -1;
  }

  .service-intro > p br {
    display: none;
  }

  .section-heading .eyebrow,
  .flow-step-number {
    font-size: 13px;
  }

  .hero .achievement-label,
  .hero .achievement-number,
  .hero .achievement-number small {
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .service-title-row .service-index {
    font-size: 40px;
  }
}
