/* V15 — final responsive stability pass */

/* Program arrows: bold chevrons, optically centered. */
.program-mobile-arrow{display:grid!important;place-items:center!important;line-height:1!important}
.program-mobile-arrow::before{content:''!important;display:block!important;width:14px!important;height:14px!important;border-top:5px solid #fff!important;border-right:5px solid #fff!important;border-radius:2px!important;box-sizing:border-box!important}
.program-mobile-arrow--prev::before{transform:translateX(2px) rotate(-135deg)!important}
.program-mobile-arrow--next::before{transform:translateX(-2px) rotate(45deg)!important}

/* Hero divider: one stable, full-width curve instead of a bitmap/SVG that can expose seams. */
.ref-hero::after{
  content:''!important;position:absolute!important;left:50%!important;right:auto!important;bottom:-46px!important;
  width:124%!important;height:92px!important;transform:translateX(-50%)!important;
  background:#fff!important;border-radius:50% 50% 0 0 / 100% 100% 0 0!important;
  box-shadow:none!important;z-index:8!important;pointer-events:none!important
}

/* Keep all transparent children behind the white crop mask. */
.ref-hero__inner{z-index:4!important}.hero-people{z-index:5!important}.hero-people__stage{overflow:hidden!important}

/* Intermediate desktop: robust contained composition. */
@media (min-width:1021px) and (max-width:1280px){
  .ref-hero{height:590px!important;min-height:590px!important}
  .ref-hero__inner{height:590px!important;min-height:590px!important;padding:82px 0 44px!important;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr)!important;gap:10px!important}
  .ref-hero__copy{align-self:center!important;max-width:560px!important}
  .ref-hero h1{font-size:clamp(39px,4.25vw,50px)!important}
  .ref-hero p{font-size:15px!important;line-height:1.46!important;margin-top:18px!important}
  .ref-actions{margin-top:22px!important}
  .hero-people{min-height:430px!important;height:430px!important;align-self:end!important;overflow:hidden!important}
  .hero-people__stage{inset:0!important}
  .hero-people__halo{bottom:-92px!important;width:470px!important}
  .hero-person--one{--person-width:360px!important;--person-right:calc(50% - 180px)!important;--person-bottom:-76px!important}
  .hero-person--two{--person-width:370px!important;--person-right:calc(50% - 185px)!important;--person-bottom:-80px!important}
  .hero-person--three{--person-width:265px!important;--person-right:calc(50% - 132px)!important;--person-bottom:-80px!important}
  .hero-person--four{--person-width:330px!important;--person-right:calc(50% - 165px)!important;--person-bottom:-80px!important}
  .ref-hero::after{bottom:-42px!important;height:84px!important;width:126%!important}
}

/* Tablet: use a deliberate stacked hero instead of halfway desktop absolute positioning. */
@media (min-width:781px) and (max-width:1020px){
  .ref-hero{height:auto!important;min-height:650px!important}
  .ref-hero__inner{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-height:650px!important;height:auto!important;padding:92px 0 0!important}
  .ref-hero__copy{max-width:690px!important;margin:0 auto!important;text-align:center!important}
  .ref-hero h1{font-size:clamp(38px,5.2vw,48px)!important;text-align:center!important}
  .ref-hero p{max-width:680px!important;margin:16px auto 0!important;text-align:center!important;font-size:15px!important}
  .ref-actions{justify-content:center!important;margin-top:18px!important}
  .hero-people{position:relative!important;inset:auto!important;width:min(520px,72vw)!important;height:280px!important;min-height:0!important;margin:2px auto 0!important;overflow:hidden!important}
  .hero-people__stage{position:absolute!important;inset:0!important;overflow:hidden!important}
  .hero-people__halo{left:50%!important;right:auto!important;bottom:-88px!important;width:390px!important;transform:translateX(-50%)!important}
  .hero-person--one{--person-width:320px!important;--person-right:calc(50% - 160px)!important;--person-bottom:-61px!important}
  .hero-person--two{--person-width:332px!important;--person-right:calc(50% - 166px)!important;--person-bottom:-64px!important}
  .hero-person--three{--person-width:228px!important;--person-right:calc(50% - 114px)!important;--person-bottom:-65px!important}
  .hero-person--four{--person-width:286px!important;--person-right:calc(50% - 143px)!important;--person-bottom:-64px!important}
  .ref-hero::after{bottom:-42px!important;height:84px!important;width:130%!important}
}

/* Phones: bring headline + CTA + kids into one compact visual group. */
@media (max-width:780px){
  .ref-hero{height:auto!important;min-height:0!important}
  .ref-hero__inner{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;height:auto!important;min-height:0!important;padding:90px 0 0!important}
  .ref-hero__copy{width:100%!important;max-width:450px!important;margin:0 auto!important;text-align:center!important}
  .ref-hero h1{margin:0 auto!important;font-size:clamp(27px,7.8vw,34px)!important;line-height:1.04!important;text-align:center!important}
  .ref-hero p{max-width:420px!important;margin:13px auto 0!important;font-size:12.8px!important;line-height:1.42!important;text-align:center!important}
  .ref-actions{justify-content:center!important;margin-top:14px!important}
  .ref-actions .ref-button--primary-cta{width:min(250px,74vw)!important;min-height:50px!important}
  .hero-people{position:relative!important;inset:auto!important;width:min(390px,92vw)!important;height:225px!important;min-height:0!important;margin:-2px auto 0!important;overflow:hidden!important}
  .hero-people__stage{position:absolute!important;inset:0!important;overflow:hidden!important}
  .hero-people__halo{left:50%!important;right:auto!important;bottom:-78px!important;width:330px!important;transform:translateX(-50%)!important}
  .hero-person--one{--person-width:286px!important;--person-right:calc(50% - 143px)!important;--person-bottom:-58px!important}
  .hero-person--two{--person-width:294px!important;--person-right:calc(50% - 147px)!important;--person-bottom:-60px!important}
  .hero-person--three{--person-width:206px!important;--person-right:calc(50% - 103px)!important;--person-bottom:-61px!important}
  .hero-person--four{--person-width:254px!important;--person-right:calc(50% - 127px)!important;--person-bottom:-60px!important}
  .ref-hero::after{bottom:-36px!important;height:72px!important;width:136%!important}

  .program-mobile-controls{grid-template-columns:58px 1fr 58px!important;gap:13px!important}
  .program-mobile-arrow{width:58px!important;height:58px!important;border-radius:17px!important}
  .program-mobile-arrow::before{width:16px!important;height:16px!important;border-width:0!important;border-top:6px solid #fff!important;border-right:6px solid #fff!important}
}

@media (max-width:390px){
  .ref-hero__inner{padding-top:84px!important}
  .ref-hero h1{font-size:27px!important}
  .ref-hero p{font-size:12.2px!important}
  .hero-people{height:215px!important;width:min(360px,94vw)!important}
  .hero-person--one{--person-width:270px!important;--person-right:calc(50% - 135px)!important}
  .hero-person--two{--person-width:278px!important;--person-right:calc(50% - 139px)!important}
  .hero-person--three{--person-width:195px!important;--person-right:calc(50% - 97px)!important}
  .hero-person--four{--person-width:240px!important;--person-right:calc(50% - 120px)!important}
}

/* Archive: denser, predictable season blocks. */
.archive-body .season-block{margin-top:54px!important}
.archive-body .season-title{text-align:center!important}
.archive-body .album-grid{gap:22px!important}
.archive-body .album-card{min-height:0!important;padding-bottom:22px!important}
@media(max-width:780px){.archive-body .season-block{margin-top:34px!important}.archive-body .album-grid{gap:16px!important}}
