/*
 * Site-wide heading hierarchy.
 * Page opening > section heading > card heading > body copy.
 * Route-specific rules avoid inflating headings that are already appropriately small.
 */

/* Homepage: the carousel statement remains the highest level. */
html body[data-page="home"] main #landing .zf-home-hero-copy h1 {
  font-size: clamp(40px, 3.9vw, 58px) !important;
  line-height: 1.1 !important;
}

html body[data-page="home"] main #landing > .zf-home-large-home h2,
html body[data-page="home"] main #landing > .zf-home-nourish h2,
html body[data-page="home"] main #landing > .zf-home-health-comfort h2,
html body[data-page="home"] main #landing > .zf-home-narrative-bridge h2,
html body[data-page="home"] main #landing > .zf-home-proof-bridge h2,
html body[data-page="home"] main #landing > .zf-home-system-reveal h2,
html body[data-page="home"] main #landing > .zf-home-capabilities h2 {
  font-size: clamp(34px, 3.25vw, 44px) !important;
  line-height: 1.14 !important;
}

html body[data-page="home"] main #landing #home-capabilities h2 {
  font-size: clamp(32px, 3vw, 40px) !important;
  line-height: 1.14 !important;
}

html body[data-page="home"] main #landing > .zf-home-health-comfort .zf-home-health-comfort-grid h3 {
  font-size: clamp(26px, 2.3vw, 34px) !important;
}

html body[data-page="home"] main #landing > .zf-home-nourish article strong {
  font-size: clamp(24px, 2vw, 32px) !important;
}

/* Philosophy: opening proposition is primary; later chapters and cases step down. */
html body[data-page="philosophy"] main #home h1 {
  font-size: clamp(42px, 4vw, 56px) !important;
  line-height: 1.1 !important;
}

html body[data-page="philosophy"] main #home h2,
html body[data-page="philosophy"] main #dimensions > .section-heading h2,
html body[data-page="philosophy"] main #home-capabilities h2,
html body[data-page="philosophy"] main #philosophy-cases h2 {
  font-size: clamp(32px, 3.15vw, 42px) !important;
  line-height: 1.16 !important;
}

html body[data-page="philosophy"] main #philosophy-cases h3 {
  font-size: clamp(26px, 2.5vw, 34px) !important;
  line-height: 1.18 !important;
}

/* Air: climate opening leads; subsequent explanatory chapters stay secondary. */
html body[data-page="systems"] main #climate > .section-heading h2,
html body[data-page="systems"] main #climate .climate-stage h2 {
  font-size: clamp(38px, 3.6vw, 48px) !important;
  line-height: 1.12 !important;
}

html body[data-page="systems"] main > section:not(#climate) h1,
html body[data-page="systems"] main > section:not(#climate) h2 {
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1.16 !important;
}

/* Design & delivery: the image-led opening remains primary. */
html body[data-page="delivery"] main #fit .delivery-hero-copy h2 {
  font-size: clamp(40px, 3.8vw, 52px) !important;
  line-height: 1.12 !important;
}

html body[data-page="delivery"] main #fit h2,
html body[data-page="delivery"] main > section:not(#fit) h1,
html body[data-page="delivery"] main > section:not(#fit) h2 {
  font-size: clamp(28px, 2.7vw, 36px) !important;
  line-height: 1.16 !important;
}

html body[data-page="delivery"] main #fit .delivery-hero-copy h2 {
  font-size: clamp(40px, 3.8vw, 52px) !important;
  line-height: 1.12 !important;
}

html body[data-page="delivery"] main > section h3 {
  font-size: clamp(22px, 2.2vw, 32px) !important;
  line-height: 1.22 !important;
}

@media (max-width: 760px) {
  html body[data-page="home"] main #landing .zf-home-hero-copy h1,
  html body[data-page="philosophy"] main #home h1,
  html body[data-page="systems"] main #climate > .section-heading h2,
  html body[data-page="systems"] main #climate .climate-stage h2,
  html body[data-page="delivery"] main #fit .delivery-hero-copy h2 {
    font-size: clamp(34px, 9.4vw, 40px) !important;
  }

  html body[data-page="home"] main #landing > .zf-home-large-home h2,
  html body[data-page="home"] main #landing > .zf-home-nourish h2,
  html body[data-page="home"] main #landing > .zf-home-health-comfort h2,
  html body[data-page="home"] main #landing > .zf-home-narrative-bridge h2,
  html body[data-page="home"] main #landing > .zf-home-proof-bridge h2,
  html body[data-page="home"] main #landing > .zf-home-system-reveal h2,
  html body[data-page="home"] main #landing > .zf-home-capabilities h2,
  html body[data-page="philosophy"] main #home h2,
  html body[data-page="philosophy"] main #dimensions > .section-heading h2,
  html body[data-page="philosophy"] main #home-capabilities h2,
  html body[data-page="philosophy"] main #philosophy-cases h2,
  html body[data-page="systems"] main > section:not(#climate) h1,
  html body[data-page="systems"] main > section:not(#climate) h2,
  html body[data-page="delivery"] main #fit h2,
  html body[data-page="delivery"] main > section:not(#fit) h1,
  html body[data-page="delivery"] main > section:not(#fit) h2 {
    font-size: clamp(28px, 8vw, 34px) !important;
  }

  html body[data-page="delivery"] main #fit .delivery-hero-copy h2 {
    font-size: clamp(34px, 9.4vw, 40px) !important;
  }
}
