/* Shared public heading system. Loaded after page styles by withNavigation.
   Keep the homepage's larger display title; all seven inner pages share a scale. */
:root {
  --heading-font: 'Arial Black', Arial, Helvetica, sans-serif;
  --page-title-size: clamp(40px, 7vw, 96px);
  --section-title-size: clamp(32px, 4vw, 56px);
}
body :is(.hc-services-hero, .samples-hero, .model-hero, .assessment-hero, .case-hero, .ai-hero) h1 {
  font-family: var(--heading-font);
  font-size: var(--page-title-size);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.06em;
  color: var(--ink);
  margin: 24px 0 30px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body :is(.hc-services-hero, .samples-hero, .model-hero, .assessment-hero, .case-hero, .ai-hero) h1 span {
  color: var(--red);
}
/* Major section and closing headings share a scale. Document subsections,
   dashboard labels and case-study detail headings retain their smaller roles. */
body :is(.hc-service-section, .hc-service-cta, .sample-body, .samples-cta,
  .model-section, .assessment-intro, .session-section, .case-detail aside,
  .case-takeaway, .ai-section, .ai-cta) h2 {
  font-family: var(--heading-font);
  font-size: var(--section-title-size);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -.045em;
  color: inherit;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  :root {
    --page-title-size: clamp(36px, 9.4vw, 66px);
    --section-title-size: clamp(28px, 7vw, 36px);
  }
}
