/* The homepage header overlays the banner; interior pages keep their existing layout. */
:root{--sm-header-height:100px}
body.home>.header{position:fixed;inset:0 0 auto;width:100%;height:var(--sm-header-height);background:transparent;border-bottom-color:transparent;backdrop-filter:none;box-shadow:none;transition:background .25s,border-color .25s,box-shadow .25s}
body.home>.header.is-solid,body.home>.header:has(nav.open){background:#fffffff5;border-bottom-color:#e3e8f0;backdrop-filter:blur(14px);box-shadow:0 6px 24px #101b3010}
body.home>.header:not(.is-solid):not(:has(nav.open)) .brand{background:transparent;border-radius:0;padding:0}
body.home>.header:not(.is-solid):not(:has(nav.open)) .brand-name{text-shadow:0 1px 6px #fff}
body.home>.header:not(.is-solid):not(:has(nav.open)) nav a{color:#101b30;text-shadow:0 1px 8px #fff,0 0 3px #fff}
body.home>.header:not(.is-solid):not(:has(nav.open)) nav a:hover{color:var(--blue)}
body.home>.header:not(.is-solid):not(:has(nav.open)) .remote{color:#fff;text-shadow:0 1px 4px #000}
body.home>.header:not(.is-solid):not(:has(nav.open)) .icon-button{color:#fff;text-shadow:0 1px 4px #000;filter:drop-shadow(0 1px 2px #0008)}
body.home>.header:not(.is-solid):not(:has(nav.open)) .icon-button:hover{background:#ffffff30}
body.home>.header.hero-dark:not(:has(nav.open)) nav a{color:#fff;text-shadow:none}
body.home>.header.hero-dark:not(:has(nav.open)) nav a:hover{color:#a9c2ff}
body.home>.header.hero-dark:not(:has(nav.open)) .brand-name{color:#fff;text-shadow:none}
/* Contain the complete source image, including its phone number, without cropping. */
.hero-track{max-height:100svh}
.hero-carousel .hero-inner{padding-top:calc(var(--sm-header-height) + 20px);padding-bottom:40px}
@media(min-width:641px) and (max-width:1100px){.hero-carousel .hero-inner{padding-top:calc(var(--sm-header-height) + 16px);padding-bottom:24px}}
@media(max-width:900px){:root{--sm-header-height:84px}body.home>.header nav.open{top:var(--sm-header-height);max-height:calc(100svh - var(--sm-header-height) - 78px);overflow-y:auto}}
@media(max-width:640px){:root{--sm-header-height:78px}.hero-track{height:calc(100vh - 78px - env(safe-area-inset-bottom));height:calc(var(--sm-visible-viewport-height,100svh) - var(--sm-mobile-dock-height,calc(78px + env(safe-area-inset-bottom))));aspect-ratio:auto;max-height:none}.hero-carousel .hero-inner{padding-top:calc(var(--sm-header-height) + 24px);padding-bottom:24px}.hero-carousel .hero-visual{height:clamp(220px,70vw,340px)}.hero-carousel .hero-system{max-height:100%}}
/* Preserve the original portrait layout and fill only its side letterboxing. */
@media(max-width:640px){
  .hero-slide-original img{width:100%;height:100%;object-fit:fill}
  .hero-slide-current .hero-inner{justify-content:flex-start;gap:16px}
  .hero-slide-current .hero-copy{flex-shrink:0}
  .hero-slide-current .hero-visual{flex:1;min-height:0;height:auto;max-height:340px}
}
@media(prefers-reduced-motion:reduce){body.home>.header{transition:none}}
