/* Shared hero geometry. Existing page palettes, type scales and copy are retained. */
body.marketing-page{--hero-top:56px;--hero-bottom:56px;--hero-gutter:28px;--hero-gap:56px}
body.marketing-page .about-hero{padding:0!important}
body.marketing-page :is(.hero,.audience-hero){min-height:0!important}
body.marketing-page .hero-layout{
  position:relative;display:grid!important;
  width:min(calc(100% - var(--hero-gutter) * 2),1220px)!important;
  max-width:1220px;margin-inline:auto!important;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;
  gap:var(--hero-gap)!important;align-items:start!important;
  min-height:0!important;padding:var(--hero-top) 0 var(--hero-bottom)!important;
}
body.marketing-page .hero-layout-copy:not(.hero-layout-single){width:100%!important;max-width:none!important;min-width:0;align-self:start!important}
body.marketing-page .hero-layout-single{display:block!important}
body.marketing-page .hero-layout-kicker{
  display:flex;align-items:center;gap:13px;
  margin:0 0 24px!important;font-size:.76rem!important;
  line-height:1.5!important;letter-spacing:.19em!important;
}
body.marketing-page .hero-layout-kicker::before{flex-shrink:0}
body.marketing-page .hero-layout h1{max-width:100%!important;margin:0 0 28px!important}
body.marketing-page .hero-layout :is(.lead,.audience-lead){max-width:100%;margin:0 0 32px!important}
body.marketing-page .hero-layout .about-tagline{margin:0!important}
body.marketing-page .hero-layout .contact-intro{margin:0!important}
body.marketing-page .hero-layout .about-hero-intro{align-self:start}
body.marketing-page .hero-layout .hero-layout-photo{
  position:relative!important;inset:auto!important;display:block;
  width:100%!important;max-width:none!important;
  height:auto!important;min-height:0!important;aspect-ratio:3/2!important;
  margin:0!important;align-self:start;overflow:hidden;
  transform:none!important;border-radius:7px 7px 70px 7px;
}
body.marketing-page .hero-layout .hero-layout-photo img{
  position:static!important;inset:auto!important;display:block;
  width:100%!important;max-width:none!important;height:100%!important;
  max-height:none!important;aspect-ratio:auto!important;
  object-fit:cover;transform:none!important;
  opacity:1!important;filter:none!important;border-radius:0!important;
}
@media(max-width:860px){
  body.marketing-page{--hero-top:44px;--hero-bottom:44px;--hero-gap:32px}
  body.marketing-page .hero-layout{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:620px){
  body.marketing-page{--hero-top:36px;--hero-bottom:36px;--hero-gutter:18px}
  /* Reserve equal space for the longest audience label at narrow widths. */
  body.marketing-page .hero-layout-kicker{font-size:.7rem!important;letter-spacing:.12em!important;min-height:3em}
  body.marketing-page .hero-layout .hero-layout-photo{border-radius:6px 6px 42px 6px}
}
