/* Shared reading rhythm. Preserve navigation, hero design and existing colors. */
body #main-content :is(.service-hero__content, .references-hero__inner, .article-hero__inner, .ms-guide-hero, .entry-header) h1 {
  font-size: clamp(1.875rem, 3.6vw, 3rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body #main-content :is(.section-heading, .references-section__head, .discipline-heading) h2,
body #main-content :is(.ms-services-projects, .ms-guide-start, .service-cta) h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  line-height: 1.35 !important;
  text-wrap: balance;
}
body #main-content :is(.article-content, .entry-content) h2 {
  font-size: clamp(1.375rem, 2.1vw, 1.75rem) !important;
  line-height: 1.4 !important;
  margin-top: 1.6em;
  margin-bottom: .75em;
  overflow-wrap: break-word;
}
body #main-content :is(.reference-item__title, .guide-card, .practice-focus__grid, .home-projects__grid) h3 {
  font-size: clamp(1.125rem, 1.65vw, 1.375rem) !important;
  line-height: 1.45 !important;
  overflow-wrap: break-word;
}
body #main-content :is(.article-content, .entry-content, .about-copy, .content-grid, .practice-focus__grid, .ms-service-card, .faq-item) :is(p, li) {
  font-size: 1.0625rem !important;
  line-height: 1.75 !important;
}
body #main-content :is(.article-content, .entry-content) p {
  max-width: 72ch;
  margin-bottom: 1.15em;
}
body #main-content :is(.article-content, .entry-content) li + li { margin-top: .45em; }
body #main-content :is(.service-hero, .references-hero, .article-hero, .ms-guide-hero, .ms-services-intro) .lead {
  font-size: 1.125rem !important;
  line-height: 1.75 !important;
  max-width: 68ch;
}
body #main-content .reference-fact :is(strong, span),
body #main-content .guide-card p,
body #main-content .faq-item summary {
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
body #main-content .faq-item summary { font-size: 1.125rem !important; }
body #main-content :is(.references-disclaimer, .article-meta, .ms-guide-reading, .guide-filter__status) {
  font-size: .9375rem !important;
  line-height: 1.65 !important;
}
body #main-content :is(.guide-filter__button, .service-jump-links a, .ms-service-links a, .ms-services-project-links a, .ms-guide-toc a, .related-links a) {
  font-size: .9375rem !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  overflow-wrap: break-word;
}
body #main-content .ms-guide-toc h2,
body #main-content .related-links h2 {
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}
body #main-content .contact-form :is(input, select, textarea) {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
/* Smaller containers may wrap naturally instead of forcing tiny type. */
@media (max-width: 720px) {
  body #main-content :is(.article-content, .entry-content, .about-copy, .content-grid, .practice-focus__grid, .ms-service-card, .faq-item) :is(p, li),
  body #main-content :is(.service-hero, .references-hero, .article-hero, .ms-guide-hero, .ms-services-intro) .lead {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
  body #main-content h2.ms-region-heading {
    font-size: 1.25rem !important;
    line-height: 1.4 !important;
  }
  body #main-content .ms-region-heading .ms-region-heading__sub {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }
  body #main-content .ms-service-card__heading h2 {
    font-size: 1.375rem !important;
    line-height: 1.4 !important;
  }
  body #main-content :is(.article-content, .entry-content) { min-width: 0; overflow-wrap: break-word; }
}
