:root {
  --font-display: "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-body: Inter, "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

html {
  font-size: 16px;
}

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

body {
  font-size: 15px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.brand strong {
  font-family: var(--font-display);
}

.eyebrow,
.section-kicker,
.kicker,
.brand small,
.case-visual small {
  font-family: Inter, "DIN Alternate", Arial, sans-serif;
}

.hero h1 {
  max-width: 800px;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 600;
  letter-spacing: -.048em;
  line-height: 1.09;
}

.hero-lead {
  max-width: 650px;
  font-size: 16px;
  line-height: 1.85;
}

.section-heading h2,
.about-copy h2,
.contact-copy h2 {
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 600;
  letter-spacing: -.042em;
  line-height: 1.17;
}

.page-hero h1 {
  max-width: 730px;
  font-size: clamp(46px, 4.2vw, 60px);
  font-weight: 520;
  letter-spacing: -.042em;
  line-height: 1.14;
  text-shadow: 0 8px 34px rgba(0, 0, 0, .22);
}

.hero-summary {
  color: rgba(255, 255, 255, .76);
  font-size: 14px;
  line-height: 1.9;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

.crumbs {
  color: rgba(255, 255, 255, .48);
}

.section-head h2 {
  max-width: 700px;
  font-size: clamp(34px, 3.3vw, 46px);
  font-weight: 520;
  letter-spacing: -.038em;
  line-height: 1.22;
}

.section-head p,
.contact-copy p {
  font-size: 14px;
  line-height: 1.9;
}

.editorial-card h3,
.case-body h3,
.timeline h3 {
  font-weight: 550;
}

.editorial-card p,
.case-body p,
.timeline p {
  font-size: 13px;
  line-height: 1.85;
}

.article-content {
  font-size: 16px;
  line-height: 1.95;
}

.article-content h2 {
  font-size: 30px;
  font-weight: 600;
}

.contact-copy h2 {
  font-size: clamp(38px, 4vw, 52px);
}

.sub-cta h2 {
  font-weight: 600;
}

@media (min-width: 721px) and (max-width: 900px) {
  .page-hero h1 {
    font-size: 38px;
  }

  .hero-summary,
  .section-head p,
  .contact-copy p {
    font-size: 13px;
  }

  .section-head h2 {
    font-size: 34px;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 14px;
  }

  .hero h1 {
    font-size: clamp(40px, 10vw, 44px);
    letter-spacing: -.045em;
  }

  .hero-lead {
    font-size: 15px;
    line-height: 1.8;
  }

  .section-heading h2,
  .about-copy h2,
  .contact-copy h2 {
    font-size: 36px;
  }
}

@media (max-width: 560px) {
  .page-insights .page-hero h1 br {
    display: none;
  }

  .page-hero h1 {
    font-size: clamp(31px, 8.4vw, 35px);
    letter-spacing: -.042em;
    line-height: 1.16;
  }

  .hero-summary,
  .section-head p,
  .contact-copy p {
    font-size: 13px;
    line-height: 1.82;
  }

  .section-head h2 {
    font-size: 30px;
    line-height: 1.22;
  }

  .article-content {
    font-size: 15px;
    line-height: 1.9;
  }
}
