/* FlockALS v4.7 — shared photo hero language for every page */
.site-page-hero{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:640px !important;
  display:flex;
  align-items:center;
  background:#073b40;
  color:#fff;
  overflow:hidden;
}
.site-page-hero .v5-hero-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;overflow:hidden}
.site-page-hero .v5-hero-photo img{width:100%;height:100%;display:block;object-fit:cover}
.site-page-hero .v5-hero-overlay{
  position:absolute;inset:0;z-index:-2;
  background:linear-gradient(90deg,rgba(3,39,44,.98) 0%,rgba(3,40,45,.95) 23%,rgba(4,43,47,.83) 42%,rgba(4,43,47,.38) 68%,rgba(4,43,47,.12) 100%);
}
.site-page-hero .v5-hero-shell{
  width:min(1390px,calc(100% - 90px)) !important;
  padding:68px 0 74px !important;
  margin:0 auto;
}
.site-page-hero .v5-hero-copy{width:min(100%,655px);max-width:655px !important}
.site-page-hero h1{
  max-width:655px !important;
  margin:19px 0 22px;
  font-size:clamp(3.25rem,5.2vw,5.55rem) !important;
  font-weight:800;
  line-height:1.045;
  letter-spacing:-.063em;
  text-wrap:balance;
  color:#fff;
}
.site-page-hero h1 em{font-style:normal;color:#ff8eaa}
.site-page-hero .v5-hero-lede{max-width:600px;color:#fff}
.site-page-hero .v5-hero-desc{max-width:580px;color:#e0f1ef;line-height:1.65}
.site-page-hero .v5-hero-caption{color:#fff}
/* Per-image subject positioning without changing the hero's common text alignment. */
.advocacy-photo-hero .v5-hero-photo img{object-position:center 52%;transform:scaleX(-1)}
.involved-photo-hero .v5-hero-photo img{object-position:center 41%}
.resources-photo-hero .v5-hero-photo img{object-position:center 40%}
.journey-photo-hero .v5-hero-photo img{object-position:center 41%}
.journey-photo-hero h1{font-size:clamp(3.15rem,4.8vw,5.15rem) !important}
/* Keep About's already-approved flipped Gala image and its intentional darker overlay. */
.about-hero.site-page-hero .v5-hero-overlay{background:linear-gradient(90deg,rgba(2,33,38,.99) 0%,rgba(2,35,40,.96) 19%,rgba(3,38,43,.92) 34%,rgba(3,40,45,.78) 48%,rgba(3,41,46,.46) 66%,rgba(3,41,46,.18) 85%,rgba(3,41,46,.08) 100%)}

/* Advocacy & Media's integrated photo album — concise until opened. */
.advocacy-photo-section{scroll-margin-top:90px;padding-top:78px;padding-bottom:92px}
.advocacy-photo-section .gallery-heading{margin-bottom:27px}
.adv-gallery-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}
.adv-gallery-preview figure{min-width:0;position:relative;overflow:hidden;border-radius:18px;margin:0;background:#e1efeb;aspect-ratio:4/3}
.adv-gallery-preview img{width:100%;height:100%;display:block;object-fit:cover}
.adv-gallery-preview figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(5,39,43,.8));padding:30px 16px 13px;font-weight:800;font-size:.86rem}
.adv-gallery-disclosure{border:1px solid #b9d7d2;background:#f1f8f6;border-radius:20px;overflow:hidden}
.adv-gallery-disclosure>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 25px;color:#083b40}
.adv-gallery-disclosure>summary::-webkit-details-marker{display:none}
.adv-gallery-disclosure>summary span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.adv-gallery-disclosure>summary strong{font-size:1.05rem;font-weight:800;line-height:1.3}
.adv-gallery-disclosure>summary small{font-size:.82rem;color:#527478;line-height:1.45}
.adv-gallery-chevron{font-size:1.85rem;font-weight:400;line-height:1;display:grid;place-items:center;background:#fff;border:1px solid #bad6d1;border-radius:50%;width:41px;height:41px;min-width:41px}
.adv-gallery-disclosure[open] .adv-gallery-chevron{transform:rotate(45deg)}
.adv-gallery-content{padding:0 23px 27px;background:#fff;border-top:1px solid #d3e4df}
.adv-gallery-content .filter-bar{top:82px}
.adv-gallery-content .gallery-result-count{margin-top:16px}
.adv-gallery-disclosure:focus-within{outline-offset:3px}

@media(max-width:1040px){
  .site-page-hero{min-height:615px !important}
  .site-page-hero h1{font-size:clamp(3rem,6.6vw,5.2rem) !important}
  .site-page-hero .v5-hero-shell{width:calc(100% - 62px) !important}
  .adv-gallery-preview{gap:11px}
}
@media(max-width:760px){
  .site-page-hero{min-height:0 !important;display:flex;flex-direction:column;align-items:stretch}
  .site-page-hero .v5-hero-photo{position:relative;inset:auto;z-index:auto;height:clamp(248px,67vw,385px);background:#e4f0ee}
  .site-page-hero .v5-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
  .site-page-hero .v5-hero-overlay{display:none !important}
  .site-page-hero .v5-hero-shell{width:calc(100% - 42px) !important;padding:42px 0 55px !important}
  .site-page-hero .v5-hero-copy{width:100%;max-width:655px !important}
  .site-page-hero h1{font-size:clamp(2.65rem,9.7vw,4.45rem) !important;max-width:655px !important;margin:15px 0 20px}
  .journey-photo-hero h1{font-size:clamp(2.5rem,9.3vw,4.15rem) !important}
  .site-page-hero .v5-hero-caption{position:absolute;bottom:auto;top:calc(clamp(248px,67vw,385px) - 27px);right:12px;text-align:right;max-width:72%;font-size:.65rem;line-height:1.3}
  .about-hero .v5-hero-photo img{object-position:center 36%;transform:scaleX(-1) scale(1.07)}
  .advocacy-photo-hero .v5-hero-photo img{object-position:center 42%;transform:scaleX(-1)}
  .involved-photo-hero .v5-hero-photo img{object-position:center 31%}
  .resources-photo-hero .v5-hero-photo img{object-position:center 32%}
  .journey-photo-hero .v5-hero-photo img{object-position:center 32%}
  .adv-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .advocacy-photo-section{padding:61px 0 70px}
  .adv-gallery-disclosure>summary{padding:15px 16px}
  .adv-gallery-content{padding:0 11px 20px}
  .adv-gallery-content .filter-bar{position:relative;top:0}
}
@media(max-width:390px){
  .site-page-hero .v5-hero-shell{width:calc(100% - 34px) !important}
  .site-page-hero h1{font-size:clamp(2.4rem,10vw,3.1rem) !important}
  .adv-gallery-preview figcaption{padding:22px 10px 10px;font-size:.76rem}
}


/* v4.8 hero-photo framing. Keep the shared hero text width, heights and overlays unchanged.
   Position faces near the top of the frame on desktop; preserve the intentional Gala/Advocacy mirror. */
@media (min-width: 761px) {
  /* Gala: show the standing family members' faces rather than cutting off heads. */
  .about-hero.site-page-hero .v5-hero-photo img {
    object-position: center 10%;
    transform: scaleX(-1);
  }
  /* Panel: keep the speaker's head and the audience in the visible frame. */
  .advocacy-photo-hero.site-page-hero .v5-hero-photo img {
    object-position: center 10%;
    transform: scaleX(-1);
  }
}
/* Get Involved: mirror only the photograph; all writing and buttons remain normal. */
.involved-photo-hero.site-page-hero .v5-hero-photo img {
  transform: scaleX(-1);
}
@media (max-width: 760px) {
  .involved-photo-hero.site-page-hero .v5-hero-photo img {
    object-position: center 31%;
    transform: scaleX(-1);
  }
}
