/* Homepage heading hierarchy. Loaded after section styles so every section
   shares the same typography, including shared FAQ and contact components. */
.pm-home {
  --home-heading-font: var(--font-display);
  --home-heading-1: clamp(36px, 5.7vw, 76px);
  --home-heading-2: var(--pm-type-display-sm);
  --home-heading-3: var(--pm-type-title);
}
.pm-home #root :is(h1, h2, h3, h4) {
  font-family: var(--home-heading-font);
  font-weight: 500;
  text-wrap: balance;
  white-space: normal;
}
.pm-home #root h1 {
  font-family: var(--font-h1);
  font-size: var(--home-heading-1);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.pm-home #root h2 {
  font-family: var(--font-h1);
  font-size: var(--home-heading-2);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.pm-home #root h3 {
  font-weight: 400;
  font-size: var(--home-heading-3);
  line-height: 1.4;
  letter-spacing: -.02em;
}
.pm-home #root h4 {
  font-weight: 400;
  font-size: var(--pm-type-lead);
  line-height: 1.5;
  letter-spacing: -.01em;
}
/* Shared label hierarchy; retain each section's contrast colour. */
.pm-home #root :is(.home-stance-eyebrow, .pain-points-eyebrow,
  .engineer-role-eyebrow, .home-products-eyebrow, .why-callout-eyebrow,
  .eyebrow) {
  font-family: var(--font-mono);
  font-size: var(--pm-type-eyebrow);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
}
