/* Typography scale from the supplied amko-html reference. Loaded last so the
   reference values also win at the existing responsive breakpoints. */

.brand,
.nav nav a,
.btn,
.nav__mobile .nav__mobile-cta,
.footer__main > div > a,
.footer__main > div > button {
  font-size: 14px;
}

.hero h1 {
  font-size: 68px;
  line-height: 1.04;
  letter-spacing: -.035em;
  font-weight: 600;
}

.hero-title__line {
  display: inline-block;
}

.hero-title__dot {
  color: var(--accent) !important;
  -webkit-text-fill-color: var(--accent);
}

.hero__copy > p:first-child {
  font-size: 18px;
  line-height: 1.7;
}

.stats strong {
  font-size: 36px;
  line-height: 40px;
}

.stats span {
  font-size: 12px;
  line-height: 1.4;
}

.section-intro h2,
.contact h2 {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: -.035em;
  font-weight: 600;
}

.section-intro--wide h2 {
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: 0;
  font-weight: 400;
}

.section-intro > div > p,
.contact__grid > div > p:last-child {
  font-size: 16px;
  line-height: 1.7;
}

.team .section-intro > div > p {
  line-height: 1.625;
}

.section-intro small {
  font-size: 12px;
  line-height: 1.4;
}

.project h3 {
  min-height: 64px;
  margin-top: 20px;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 600;
}

.project--featured h3 {
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.project__copy > p:first-child {
  font-size: 16px;
  line-height: 1.7;
}

.meta p {
  font-size: 14px;
  line-height: 20px;
}

.service-grid h3 {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 600;
}

.service-grid p,
.reason-grid p,
.steps p {
  font-size: 14px;
  line-height: 1.625;
}

.reason-grid h3 {
  font-size: 18px;
  line-height: 1.375;
  font-weight: 500;
}

.steps h3 {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 400;
}

.team-grid .kicker {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 1.8px;
}

.team-grid h3 {
  font-size: 36px;
  line-height: 1.15;
  font-weight: 400;
}

.team-grid article > p:not(.kicker) {
  font-size: 14px;
  line-height: 1.625;
}

.footer__bottom {
  font-size: 11px;
}

/* The larger reference service type needs natural card height so translated
   copy cannot collide with the next row. */
.services {
  height: auto;
}

.work {
  height: auto;
  min-height: 0;
}

.service-grid article {
  height: auto;
  min-height: 205px;
}

@media (max-width: 900px) {
  .hero h1 {
    font-size: 68px;
  }

  .section-intro h2,
  .section-intro--wide h2,
  .contact h2 {
    font-size: 48px;
    line-height: 1.1;
  }
}

@media (max-width: 767px) {
  .hero h1 {
    font-size: 52px;
  }

  .section-intro h2,
  .section-intro--wide h2,
  .contact h2 {
    font-size: 40px;
  }

  .project h3,
  .project--featured h3 {
    min-height: 0;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.02em;
  }

  .nav__mobile nav > a {
    font-size: 14px;
    line-height: 20px;
  }

  .service-grid article {
    min-height: 0;
  }
}
