/* The sticky header occupies normal flow. Heroes use the space below it,
   and remain free to grow when content or enlarged text needs more room. */
:root { --landing-height: calc(100svh - var(--site-header-height)); }
body main > :is(.cr2-hero, .forestry-hero, .carbon-page-hero, .lu-hero) {
  box-sizing: border-box;
  height: auto;
  max-height: none;
  min-height: var(--landing-height) !important;
}

.catchment-page-v2 .cr2-hero-copy-panel {
  min-height: 0;
  justify-content: center;
  padding: clamp(24px, 4svh, 40px) clamp(24px, 6vw, 112px);
}
.catchment-page-v2 .cr2-hero-copy { width: 100%; }
.catchment-page-v2 .cr2-hero-copy h1 { max-width: none; }
.catchment-page-v2 .cr2-hero-copy > p:not(.cr2-eyebrow) { margin-top: 20px; }
.catchment-page-v2 .cr2-hero .cr2-actions { margin-top: 20px; }
.catchment-page-v2 .cr2-hero-signoff { margin-top: 0; padding-top: 24px; }

.forestry-page .forestry-hero { align-items: center; }
.forestry-page .forestry-hero-copy { padding-block: clamp(24px, 5svh, 56px); }
.carbon-page .carbon-page-hero { padding-block: clamp(24px, 5svh, 56px); }
.landuse-page-v2 .lu-hero { padding-block: clamp(24px, 5svh, 56px); align-items: center; }

/* Team photo framing and introduction sizing are owned by team-hero.css. */

@media (max-width: 1080px) {
  .catchment-page-v2 .cr2-hero-copy-panel { padding-inline: var(--page-gutter); }
}
@media (max-width: 720px) {
  .catchment-page-v2 .cr2-hero-copy-panel { padding: 24px; }
  .catchment-page-v2 .cr2-hero-signoff { padding-top: 16px; }
  .catchment-page-v2 .cr2-hero-copy h1 > span { display: inline; }
  .catchment-page-v2 .cr2-hero .cr2-button-solid { min-width: 0; max-width: 100%; }
}
@media (max-width: 760px) {
  body.home-page main #hero { min-height: min(620px, var(--landing-height)); }
}
