/* Shared persistent header. The height stays stable while scrolling. */
html{scroll-padding-top:120px}
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #d7ded6;box-shadow:0 2px 8px rgba(0,0,0,.035)}
.header .nav{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
.hero-images .hero-frame[data-image-id]{background-image:var(--hero-image);transition:opacity 700ms ease}
.hero-images .hero-frame.is-previous{opacity:1;transition:none}
@media(max-width:900px){html{scroll-padding-top:106px}.header .nav{max-height:calc(100dvh - 86px)}}
@media(max-width:767px){
  html{scroll-padding-top:100px}
  .header .nav{max-height:calc(100dvh - 80px)}
  .home-v21 .hero-images{aspect-ratio:1/1}
  .home-v21 .hero-images .hero-frame[data-image-id]{
    background-image:var(--hero-mobile-image,var(--hero-image));
    background-size:var(--hero-mobile-size,cover);
    background-position:var(--hero-mobile-position,100% 50%);
    background-repeat:no-repeat;
  }
}
@media(prefers-reduced-motion:reduce){.hero-images .hero-frame{transition:none}}
