/* The homepage's full-image opening, shared by primary content pages. */
.interior .page-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: max(720px, 100svh);
  height: auto;
  max-height: none;
  padding: 180px var(--film-inset) 90px;
  overflow: hidden;
  border: 0;
  background: var(--ink);
  color: var(--cream);
}
.interior .page-hero > .page-hero-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  margin: 0;
  overflow: hidden;
}
.page-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-position, center); }
.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #202328e0 0%, #202328ad 38%, #20232820 76%, #20232808);
}
.interior .page-hero .opening-copy { width: min(var(--hero-copy-width, 720px), var(--hero-copy-percent, 62%)); max-width: none; }
.interior .page-hero h1 { font-size: clamp(76px, 8.8vw, 140px); line-height: .96; }
.page-hero .opening-copy > p:not(.page-label):not(.image-disclosure) { max-width: 43ch; margin-top: 28px; color: #eee8dd; }
.page-hero .opening-copy > .image-disclosure { max-width: 55ch; margin-top: 24px; font-size: 13px; line-height: 1.55; color: #d4cfc5; }
.page-hero .action { margin-top: 30px; }
.page-hero .solid-action { background: var(--cream); color: var(--ink); }
.page-hero .solid-action:hover { background: #fffdfa; }
.page-hero .text-action { color: var(--cream); }
.about-page { --hero-position: 70% center; }
.interior .page-hero .about-title { font: 400 16px/1.5 Karla, Arial, sans-serif; letter-spacing: 0; margin-bottom: 28px; }
.page-hero .founder-opening-quote blockquote { font-size: clamp(38px, 4.3vw, 64px); line-height: 1.08; }
.team-page { --hero-position: center top; }
.interior .team-opening.page-hero .opening-copy { width: min(700px, 56%); }
.interior .team-opening.page-hero h1 { font-size: clamp(72px, 8vw, 116px); }
.team-opening.page-hero::after { background: linear-gradient(90deg, #202328e6, #202328c2 38%, #20232870 54%, transparent 72%); }
.page-hero .team-founder-credit { margin-top: 28px; }
.page-hero .team-founder-credit .text-action { margin-top: 12px; }
.support-page { --hero-position: 65% center; }
.work-page { --hero-copy-width: 900px; --hero-copy-percent: 70%; }
.donate-page { --hero-position: 60% center; }
.gift-section { background: var(--cream); }
.gift-section .donation-panel { max-width: 760px; margin-inline: auto; padding: clamp(24px, 4vw, 56px); }
.hero-page .film-header:not(.is-scrolled):not(:has(.film-links.open)) { min-height: 136px; padding-block: 22px; background: transparent; border-bottom-color: transparent; }
.hero-page .film-header:not(.is-scrolled) .film-logo { width: 110px; height: 91px; }
body.hero-page:not(.js) .film-header:not(.is-scrolled):not(:has(.film-links.open)) { position: relative; background: var(--ink); }
@media (max-width: 1050px) {
  .interior .page-hero .opening-copy { width: min(720px, 78%); }
  .interior .team-opening.page-hero .opening-copy { width: 57%; }
  .interior .team-opening.page-hero h1 { font-size: clamp(68px, 8vw, 96px); }
}
@media (max-width: 850px) {
  .interior .page-hero { align-items: flex-end; min-height: max(780px, 100svh); padding: 180px var(--film-inset) 48px; }
  .interior .page-hero .opening-copy, .interior .team-opening.page-hero .opening-copy { width: 100%; max-width: 620px; }
  .interior .page-hero h1, .interior .team-opening.page-hero h1 { font-size: clamp(60px, 10vw, 86px); line-height: .98; }
  .page-hero::after { background: linear-gradient(180deg, transparent 0%, transparent 20%, #20232850 35%, #202328db 65%, #202328f5 100%); }
  .team-opening.page-hero::after { background: linear-gradient(180deg, transparent, #20232808 30%, #202328b8 53%, #202328f2 80%); }
  .team-opening .page-hero-photo img { object-position: 64% top; }
  .support-page { --hero-position: 82% center; }
  .page-hero .page-label { margin-bottom: 18px; }
  .page-hero .opening-copy > p:not(.page-label):not(.image-disclosure) { margin-top: 22px; font-size: 17px; line-height: 1.6; }
  .page-hero .founder-opening-quote blockquote { font-size: clamp(34px, 5.6vw, 46px); }
  .page-hero .team-founder-credit { margin-top: 22px; }
  .page-hero .team-founder-credit p { font-size: 16px; }
  .page-hero .team-founder-credit span { font-size: 14px; }
  .page-hero .support-question-link { margin-left: 24px; }
  .hero-page .film-header:not(.is-scrolled):not(:has(.film-links.open)) { min-height: 88px; padding-block: 12px; }
  .hero-page .film-header:not(.is-scrolled) .film-logo { width: 74px; height: 61px; }
}
@media (max-width: 520px) {
  .interior .page-hero { min-height: max(780px, 100svh); padding-bottom: 42px; }
  .interior .page-hero h1, .interior .team-opening.page-hero h1 { font-size: clamp(52px, 14.4vw, 74px); }
  .page-hero .opening-copy > p:not(.page-label):not(.image-disclosure) { font-size: 16px; }
  .page-hero .founder-opening-quote blockquote { font-size: clamp(30px, 8.1vw, 42px); }
  .page-hero .founder-opening-quote figcaption { margin-top: 24px; }
  .page-hero .support-question-link { display: inline-flex; margin-left: 18px; margin-top: 18px; }
  .page-hero .action { margin-top: 24px; }
}
@media (max-width: 360px) {
  .hero-page .film-header:not(.is-scrolled) .film-logo { width: 62px; height: 54px; }
  .page-hero .support-question-link { display: flex; width: max-content; margin-left: 0; }
}
