/* R10-CAMP-01 · Section builder hero. Everything else is the Classic campaign hero
   (.hero + .cp-hero in site.css / campaign.css) and the home hero's video layer (.hero-video). */

/* no image chosen yet: a navy field keeps the white title readable */
.cb-hero.cb-hero-noimg { background: var(--navy); }

/* a hero placed under the jump menu keeps its own vertical centring */
.cb-jumpnav + .cb-section.cb-hero { padding-top: 0; }

/* a second hero further down the page titles with an h2 set like the hero h1 */
.cb-hero .hero-content .cb-hero-title {
  font-family: var(--serif); font-size: 64px; line-height: 72px; letter-spacing: -0.02em;
  color: var(--white); margin-bottom: 22px;
}
@media (min-width: 901px) {
  .cb-hero .hero-content .cb-hero-title { max-width: 18ch; margin-left: auto; margin-right: auto; text-wrap: balance; }
}
@media (max-width: 900px) {
  .cb-hero .hero-content .cb-hero-title { font-size: 44px; line-height: 52px; }
  /* the shared hero has no side gutter; keep long titles off the screen edges */
  .cb-hero .hero-content { padding: 0 var(--pad); max-width: 100%; }
  .cb-hero .hero-content h1, .cb-hero .hero-content .cb-hero-title { overflow-wrap: break-word; }
}

/* a first hero with nothing filled in prints only the page's h1, for screen readers and search
   (site.css has no visually-hidden utility; style.css's .screen-reader-text isn't enqueued) */
.cb-hero-sr-title {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
