/* Version 22: verified shared header clearance and carousel behavior */
html{scroll-padding-top:130px!important}
body:not(.site18-home) .intro,body:not(.site18-home) .hero{padding-top:155px!important;min-height:245px;box-sizing:border-box}
body:not(.site18-home) .page-hero{padding-top:175px!important}
body:not(.site18-home) .tabs{scroll-margin-top:130px!important}
body:not(.site18-home) [id]{scroll-margin-top:130px}
/* Keep original main hero photography and text; animate only slide changes. */
.sc-kpDprT .swiper-slide.is-visible{animation:ge-hero-appear .65s ease both}
.sc-jlZhRR .swiper-slide.is-visible{animation:ge-service-appear .5s ease both}
@keyframes ge-hero-appear{from{opacity:.2}to{opacity:1}}
@keyframes ge-service-appear{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Ensure header doesn't overlap product intro even if an older stylesheet adds margins. */
body:not(.site18-home) .unified-header + .intro{margin-top:0!important}
@media(max-width:900px){body:not(.site18-home) .intro,body:not(.site18-home) .hero{padding-top:132px!important}html{scroll-padding-top:105px!important}}
@media(prefers-reduced-motion:reduce){.sc-kpDprT .swiper-slide.is-visible,.sc-jlZhRR .swiper-slide.is-visible{animation:none!important}}
