/* Shared page-header proportions; photographs keep their natural aspect ratio. */
.story-hero.page-photo-hero {
  display: grid;
  align-items: end;
  height: auto;
  min-height: clamp(520px, 46vw, 680px);
}
.story-hero.page-photo-hero > img {
  transform: none;
  object-position: var(--header-focus, 50% 50%);
}
.page-photo-hero .story-shade {
  background: linear-gradient(90deg, rgba(24,27,24,.78), rgba(24,27,24,.32) 64%, rgba(24,27,24,.12)), linear-gradient(0deg, rgba(24,27,24,.48), transparent 70%);
}
.story-hero.page-photo-hero .story-copy {
  position: relative;
  inset: auto;
  z-index: 1;
  width: min(1180px, calc(100% - 3rem));
  margin-inline: auto;
  padding-block: clamp(3rem, 6vw, 5rem);
}
.page-photo-hero .story-copy h1 {
  max-width: 22ch;
  font-size: clamp(2.4rem, 4.6vw, 4.5rem);
  line-height: 1.1;
  letter-spacing: -.025em;
  hyphens: none;
  overflow-wrap: normal;
  text-wrap: balance;
}
.page-photo-hero .story-copy > p:not(.eyebrow) {
  max-width: 54ch;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}
.page-photo-hero.faq-photo-hero { --header-focus: 50% 49%; }
.page-photo-hero.gallery-photo-hero { --header-focus: 50% 43%; }
.page-photo-hero.menu-photo-hero { --header-focus: 50% 55%; min-height: clamp(420px, 37vw, 540px); }

/* All four celebration pages share one image stage on desktop and mobile. */
.event-repaired .event-hero {
  max-width: none;
  min-height: 720px;
  align-items: stretch;
}
.event-repaired .event-hero .story-copy {
  align-self: center;
  padding-left: max(1.5rem, calc((100vw - 1220px) / 2));
  padding-right: clamp(1.5rem, 4.5vw, 4.5rem);
}
.event-repaired .event-hero-image {
  position: relative;
  min-height: 720px;
  overflow: hidden;
}
.event-repaired .event-hero-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: var(--event-focus, center);
}
.event-repaired .event-hero.birthday-hero { --event-focus: 54% 50%; }
@media (max-width: 900px) and (min-width: 761px) {
  .event-repaired .event-hero, .event-repaired .event-hero-image { min-height: 640px; }
}
@media (max-width: 760px) {
  .story-hero.page-photo-hero { min-height: 560px; }
  .story-hero.page-photo-hero .story-copy {
    width: calc(100% - 2.5rem);
    padding-block: 2.5rem;
  }
  .page-photo-hero .story-copy h1 { font-size: clamp(2rem, 8.5vw, 3.2rem); }
  .page-photo-hero .story-shade {
    background: linear-gradient(0deg, rgba(24,27,24,.9), rgba(24,27,24,.48) 62%, rgba(24,27,24,.12));
  }
  .story-hero.menu-photo-hero { min-height: 350px; }
  .event-repaired .event-hero { min-height: 0; }
  .event-repaired .event-hero-image { min-height: 0; height: clamp(320px, 96vw, 480px); }
  .event-repaired .event-hero .story-copy { padding: 2rem 1.25rem 2.5rem; }
}


/* Give informational pages a compact, readable introduction. */
.story-hero.text-page-hero{min-height:360px;background:#30322f}
.text-page-hero .story-shade{display:none}
.text-page-hero .story-copy h1{max-width:24ch}
@media(max-width:760px){.story-hero.text-page-hero{min-height:0}.story-hero.text-page-hero .story-copy{padding-block:3rem}}
