/* v44 — pre-release polish + mobile corrections + white background cleanup */

/* Project rule: page surfaces are white, while blue/green wave sections keep their brand colours. */
:root{
  --paper:#fff !important;
  --ref-soft:#fff !important;
  --v11-paper:#fff !important;
}
html,body,main,.reference-home{background:#fff !important;}
.home-winter-showcase,
.section--paper,
.section--wave,
.archive-history,
.archive-video-section,
.extras-intro,
.extras-grid-section,
.extras-final,
.ref-map{
  background:#fff !important;
}
.archive-history--middle{background:#4d5dfa !important;}
body.vision-mode .ref-hero::after{background:#fff !important;}

/* Replace pale-grey UI fills with white cards/borders. */
@media(max-width:780px){
  .mobile-nav a{
    background:#fff !important;
    border:1px solid rgba(77,93,250,.12) !important;
  }
}
.ref-shift__dates,
.service-meta span,
.status--full,
.camp-moments__points span{
  background:#fff !important;
  border:1px solid rgba(77,93,250,.12) !important;
}

/* Winter campaign poster: the CARD owns the outside rounding; the poster itself stays square. */
.home-winter-showcase__card{overflow:hidden !important;}
.home-winter-showcase__poster,
.home-winter-showcase__poster img{
  border-radius:0 !important;
}
.home-winter-showcase__poster img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Mobile drawer: accessibility control is a distinct action, not glued to Contacts. */
@media(max-width:1080px){
  .mobile-menu{overflow-y:auto !important;overscroll-behavior:contain;}
  .mobile-menu .a11y-entry--mobile{
    margin-top:16px !important;
    margin-bottom:26px !important;
  }
  .mobile-menu-contact{
    margin-top:0 !important;
  }
  .mobile-menu-contact__row--address{
    display:flex !important;
    align-items:flex-start !important;
    gap:9px !important;
    margin-top:9px !important;
    color:#4d5dfa !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.28 !important;
  }
  .mobile-menu-contact__row--address img{
    flex:0 0 19px !important;
    width:19px !important;
    height:19px !important;
    margin-top:1px !important;
  }
}

/* Ordinary mobile hero: keep people below the CTA, smaller and consistently centered. */
@media(max-width:780px){
  body:not(.vision-mode) .ref-hero{
    height:auto !important;
    min-height:680px !important;
    overflow:hidden !important;
  }
  body:not(.vision-mode) .ref-hero__inner{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    min-height:680px !important;
    height:auto !important;
    padding:88px 12px 68px !important;
  }
  body:not(.vision-mode) .ref-hero__copy{
    width:100% !important;
    max-width:460px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  body:not(.vision-mode) .ref-hero h1,
  body:not(.vision-mode) .ref-hero p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body:not(.vision-mode) .ref-actions{
    width:100% !important;
    margin-top:18px !important;
    margin-bottom:0 !important;
    justify-content:center !important;
  }
  body:not(.vision-mode) .hero-people{
    position:relative !important;
    width:min(320px,82vw) !important;
    height:226px !important;
    min-height:226px !important;
    margin:10px auto -12px !important;
    align-self:center !important;
    overflow:visible !important;
  }
  body:not(.vision-mode) .hero-people__stage{
    position:absolute !important;
    inset:0 !important;
    overflow:visible !important;
  }
  body:not(.vision-mode) .hero-people__halo{
    left:50% !important;
    right:auto !important;
    bottom:-54px !important;
    width:285px !important;
    transform:translateX(-50%) !important;
  }
  body:not(.vision-mode) .hero-person--one{
    --person-width:240px !important;
    --person-right:calc(50% - 120px) !important;
    --person-bottom:-30px !important;
  }
  body:not(.vision-mode) .hero-person--two{
    --person-width:246px !important;
    --person-right:calc(50% - 123px) !important;
    --person-bottom:-28px !important;
  }
  body:not(.vision-mode) .hero-person--three{
    --person-width:150px !important;
    --person-right:calc(50% - 75px) !important;
    --person-bottom:-34px !important;
  }
  body:not(.vision-mode) .hero-person--four{
    --person-width:160px !important;
    --person-right:calc(50% - 80px) !important;
    --person-bottom:-34px !important;
  }
  body:not(.vision-mode) .hero-people__dots,
  body:not(.vision-mode) .hero-people__dots--edge{display:none !important;}
  body:not(.vision-mode) .ref-hero::after{
    z-index:8 !important;
    background:#fff !important;
  }
}

@media(max-width:390px){
  body:not(.vision-mode) .hero-people{
    width:min(300px,80vw) !important;
    height:214px !important;
    min-height:214px !important;
    margin-top:8px !important;
  }
  body:not(.vision-mode) .hero-person--one{--person-width:224px !important;--person-right:calc(50% - 112px) !important;}
  body:not(.vision-mode) .hero-person--two{--person-width:230px !important;--person-right:calc(50% - 115px) !important;}
  body:not(.vision-mode) .hero-person--three{--person-width:142px !important;--person-right:calc(50% - 71px) !important;}
  body:not(.vision-mode) .hero-person--four{--person-width:152px !important;--person-right:calc(50% - 76px) !important;}
}
