/* Mobile hero: photo first, fading into a branded copy and action area. */
@media(max-width:650px){
  body.home-page main#top .hero.hero-carousel{
    --home-hero-available-height:calc(100svh - var(--home-hero-chrome-height,132px));
    min-height:var(--home-hero-available-height)!important;padding:0 6vw!important;background:#b50e18;color:#fff;
    display:flex;align-items:stretch;isolation:isolate;
  }
  body.home-page .hero-carousel .hero-slides{bottom:auto;height:min(68%,90vw);min-height:0}
  /* Keep the family centered in the mobile crop, with feet below the photo edge. */
  body.home-page .hero-carousel .hero-slide{background-position:88% top;background-size:auto 125%}
  body.home-page .hero-carousel .hero-gradient{
    /* Match the photo height so the fade is fully opaque before its bottom edge. */
    bottom:auto;height:min(68%,90vw);
    background:linear-gradient(180deg,rgba(181,14,24,0) 42%,rgba(181,14,24,.12) 58%,rgba(181,14,24,.45) 73%,rgba(181,14,24,.85) 89%,#b50e18 100%);
  }
  body.home-page .hero-carousel .hero-carousel-copy{
    width:100%;max-width:none;min-height:var(--home-hero-available-height);box-sizing:border-box;
    padding:0 0 max(16px,env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;justify-content:flex-end;
  }
  body.home-page .hero-carousel .hero-carousel-copy::before{content:"";display:block;flex:1 1 auto;min-height:min(20svh,140px)}
  body.home-page main#top .hero-carousel #heroTitle{
    color:#fff!important;font-size:clamp(26px,7.8vw,34px)!important;line-height:1.13!important;
    margin:10px 0 12px!important;letter-spacing:-.035em!important;
  }
  body.home-page main#top .hero-carousel #heroTitle em{color:#fff!important}
  body.home-page main#top .hero-carousel #heroEyebrow{color:#fff!important;font-size:10px!important;line-height:1.4!important}
  body.home-page main#top .hero-carousel #heroSubtitle{color:#fff!important;font-size:13px!important;line-height:1.65!important;margin:0;max-width:40em}
  body.home-page .hero-carousel .hero-actions{margin:16px 0 0!important;padding:0!important;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}
  body.home-page .hero-carousel .hero-actions .button{width:auto;min-width:125px;flex:1 1 130px;min-height:44px;height:auto;padding:12px 16px;box-sizing:border-box;font-size:11px}
  body.home-page .hero-carousel #heroPrimaryButton{background:#fff!important;color:#a70e13!important;border:1px solid #fff!important;box-shadow:none}
  body.home-page .hero-carousel #heroSecondaryButton{background:transparent!important;color:#fff!important;border:1px solid #fff!important;box-shadow:none}
  body.home-page .hero-carousel .hero-dots{margin:12px 0 0}
  body.home-page .hero-carousel .hero-dots:empty{display:none}
  body.home-page .hero-carousel .hero-dot{border-color:#fff;background:rgba(255,255,255,.4)}
  body.home-page .hero-carousel .hero-dot.active{background:#fff}
}
@media(max-width:650px) and (max-height:500px){
  body.home-page .hero-carousel .hero-carousel-copy::before{min-height:0}
}
