/* v46 — only the requested final corrections. */

/* =========================================================
   1) No grey page backgrounds anywhere.
   Blue and green brand wave bands keep their brand colours;
   all paper / transition surfaces are pure white.
   ========================================================= */
:root{
  --paper:#fff !important;
  --ref-soft:#fff !important;
  --v8-soft:#fff !important;
  --v11-paper:#fff !important;
}
html,body,main,
.reference-home,
.ref-surface:not(.wave-band),
.ref-benefits,
.section--paper,
.section--wave,
.page-hero,
.home-winter-showcase,
.archive-history:not(.archive-history--middle),
.archive-video-section,
.extras-intro,
.extras-grid-section,
.extras-final,
.ref-map{
  background-color:#fff !important;
}
.archive-wave{background:#fff !important;}

.wave-edge path{fill:#fff !important;}

/* Old wave layers used encoded #f6f7fb/#f7f7f7 fills.
   Replace only the transition colour, not the blue/green section itself. */
.wave-band::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 0H1440V40C1195 145 955 18 716 84C470 153 238 18 0 102V0Z'/%3E%3C/svg%3E") !important;
}
.wave-band::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 55C220 145 470 24 720 91C985 162 1210 28 1440 86V160H0V55Z'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   2) Shift dates: restore the approved plain-text appearance.
   No rectangle, border or background around the date line.
   ========================================================= */
.ref-shift__dates{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* =========================================================
   3) Ordinary MOBILE hero only.
   Restore the previously approved mobile composition and only
   move the whole people layer slightly lower. Desktop untouched.
   The white wave sits above the cutout layer and hides its flat bottom.
   ========================================================= */
@media(max-width:780px){
  body:not(.vision-mode) .ref-hero{
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  body:not(.vision-mode) .ref-hero__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:min(calc(100% - 32px),520px) !important;
    height:auto !important;
    min-height:0 !important;
    padding:96px 0 0 !important;
  }
  body:not(.vision-mode) .ref-hero__copy{
    width:100% !important;
    max-width:500px !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:center !important;
  }
  body:not(.vision-mode) .ref-hero h1,
  body:not(.vision-mode) .ref-hero p{
    text-align:center !important;
    margin-inline:auto !important;
  }
  body:not(.vision-mode) .ref-actions{
    justify-content:center !important;
    margin-bottom:0 !important;
  }
  body:not(.vision-mode) .hero-people{
    position:relative !important;
    inset:auto !important;
    width:min(390px,94vw) !important;
    height:230px !important;
    min-height:0 !important;
    margin:-26px auto -4px !important;
    overflow:visible !important;
    z-index:5 !important;
    transform:translateY(22px) !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:-78px !important;
    width:340px !important;
    transform:translateX(-50%) !important;
  }
  body:not(.vision-mode) .hero-person{
    transition:none !important;
  }
  body:not(.vision-mode) .hero-person--one{
    --person-width:280px !important;
    --person-right:calc(50% - 140px) !important;
    --person-bottom:-54px !important;
  }
  body:not(.vision-mode) .hero-person--two{
    --person-width:290px !important;
    --person-right:calc(50% - 145px) !important;
    --person-bottom:-56px !important;
  }
  body:not(.vision-mode) .hero-person--three{
    --person-width:205px !important;
    --person-right:calc(50% - 102.5px) !important;
    --person-bottom:-58px !important;
  }
  body:not(.vision-mode) .hero-person--four{
    --person-width:250px !important;
    --person-right:calc(50% - 125px) !important;
    --person-bottom:-56px !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{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:-26px !important;
    width:148% !important;
    height:96px !important;
    transform:translateX(-50%) !important;
    background:#fff !important;
    border-radius:50% 50% 0 0 / 100% 100% 0 0 !important;
    z-index:20 !important;
    pointer-events:none !important;
  }
}
@media(max-width:430px){
  body:not(.vision-mode) .ref-hero__inner{
    padding-top:92px !important;
    width:calc(100% - 24px) !important;
  }
  body:not(.vision-mode) .hero-people{
    height:218px !important;
    width:min(360px,96vw) !important;
    margin-top:-30px !important;
    transform:translateY(24px) !important;
  }
}

/* MAX button stays one line on mobile. */
@media(max-width:1080px){
  .mobile-menu-contact__action--max{
    white-space:nowrap !important;
    flex-wrap:nowrap !important;
  }
}
