/* Fluid editorial typography: balanced from wide desktop to small mobile. */
.hero h1 {
  max-width: 16ch;
  font-size: clamp(3rem, 4.3vw, 4.9rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.page-hero h1 {
  font-size: clamp(3.25rem, 5vw, 5.75rem);
  line-height: 0.96;
}

.page-lead h2,
.section-head h2 {
  font-size: clamp(2.15rem, 3.2vw, 3.75rem);
  line-height: 1.06;
}

.method-title,
.contact-grid h2 {
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  line-height: 1.02;
}

.case-content h3 {
  font-size: clamp(2rem, 3vw, 3.4rem);
  line-height: 1.06;
}

.quote,
.field-caption h3 {
  font-size: clamp(1.85rem, 2.6vw, 2.9rem);
  line-height: 1.1;
}

.article-hero h1 {
  font-size: clamp(3rem, 5vw, 5.5rem);
  line-height: 1;
}

.analysis-body h2,
.article-content h2 {
  font-size: clamp(2.15rem, 3.4vw, 3.75rem);
  line-height: 1.06;
}

@media (max-width: 980px) {
  .hero h1 {
    max-width: 18ch;
    font-size: clamp(2.8rem, 7vw, 4.2rem);
  }

  .hero-copy {
    padding-block: 54px;
  }
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.2rem);
    line-height: 1.02;
  }

  .page-hero h1 {
    font-size: clamp(2.75rem, 13vw, 3.4rem);
  }

  .page-lead h2,
  .section-head h2,
  .analysis-body h2,
  .article-content h2 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.08;
  }

  .method-title,
  .contact-grid h2,
  .article-hero h1 {
    font-size: clamp(2.25rem, 10vw, 2.85rem);
    line-height: 1.05;
  }

  .case-content h3,
  .field-caption h3,
  .quote {
    font-size: clamp(1.9rem, 8vw, 2.3rem);
    line-height: 1.1;
  }

  .insight h3,
  .expertise-card h3 {
    font-size: clamp(1.55rem, 7vw, 1.9rem);
  }
}

@media (max-width: 380px) {
  .hero h1 {
    font-size: 2.3rem;
  }

  .page-hero h1,
  .article-hero h1 {
    font-size: 2.6rem;
  }
}
