/* Shared photo heroes: contrast comes from the scrim, never a blurred text shadow. */
.page-hero.page-hero--photo {
  isolation: isolate;
  color: #fbfaf8;
  padding-block: calc(var(--header-h, 80px) + clamp(3rem, 5vw, 5rem)) clamp(3.5rem, 6vw, 5.5rem);
}
.page-hero.page-hero--photo::after {
  pointer-events: none;
  background: linear-gradient(180deg,
    rgba(4, 30, 27, .92) 0%,
    rgba(4, 30, 27, .78) 28%,
    rgba(4, 30, 27, .84) 75%,
    rgba(4, 30, 27, .88) 100%);
}
.page-hero.page-hero--photo > .wrap {
  text-shadow: none;
}
.page-hero.page-hero--photo h1 {
  color: #fbfaf8;
  max-width: 23ch;
  margin: 1rem auto 1.5rem;
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  font-weight: 500;
  line-height: 1.12;
  text-wrap: balance;
}
.page-hero.page-hero--photo h1 em {
  color: #f3cee0;
}
.page-hero.page-hero--photo .kicker {
  color: #e4edea;
  font-size: .8125rem;
  letter-spacing: .14em;
}
.page-hero.page-hero--photo .lead,
.page-hero.page-hero--photo .hero-meta {
  max-width: 58ch;
  margin-inline: auto;
  color: #fbfaf8;
  font-size: clamp(1.0625rem, 1.3vw, 1.25rem);
  line-height: 1.7;
  text-wrap: pretty;
}
.page-hero.page-hero--photo .hero-meta {
  margin-top: 1.5rem;
  font-weight: 600;
}
.page-hero.page-hero--photo .btn {
  --button-fill: #fbfaf8;
  --button-ink: #043d37;
  --button-hover: #e4edea;
  --button-outline: #fbfaf8;
  --button-text: #fbfaf8;
  --button-focus: #fbfaf8;
  text-shadow: none;
}
.page-hero.page-hero--photo .hero-stats {
  gap: 1.5rem 2rem;
  border-top-color: rgba(251, 250, 248, .35);
}
.page-hero.page-hero--photo .hero-stats .item {
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}
@media (max-width: 600px) {
  .page-hero.page-hero--photo {
    padding-block: calc(var(--header-h, 80px) + 2.5rem) 3rem;
  }
  .page-hero.page-hero--photo h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.16;
  }
  .page-hero.page-hero--photo h1 br { display: none; }
  .page-hero.page-hero--photo .cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: .875rem;
  }
  .page-hero.page-hero--photo .cta-row .btn { flex: 1 1 100%; }
  .page-hero.page-hero--photo .hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-hero.page-hero--photo .hero-stats .item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
