/* Small native interaction layer over locally preserved original presentation styles. */
[hidden]{display:none!important}
.visually-hidden,.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:white;color:#355952;z-index:10000}.skip-link:focus{top:12px}
.elementor-invisible{visibility:visible}
.elementor-location-header{position:relative;z-index:100}
.elementor-nav-menu--main .menu-item-has-children{position:relative}
.elementor-nav-menu--main .menu-item-has-children>.sub-menu{position:absolute;top:100%;left:0;min-width:230px;width:max-content;max-width:340px;display:none;z-index:110}
.elementor-nav-menu--main .menu-item-has-children:hover>.sub-menu,.elementor-nav-menu--main .menu-item-has-children:focus-within>.sub-menu,.elementor-nav-menu--main .menu-item-has-children.submenu-open>.sub-menu{display:block}
.submenu-toggle{border:0!important;background:transparent!important;color:inherit!important;font-size:18px;padding:0 8px!important;cursor:pointer}
.elementor-nav-menu--main .menu-item-has-children>a{padding-right:0!important}
.elementor-nav-menu--main .submenu-toggle{align-self:center}
nav.elementor-nav-menu--dropdown:not(.native-menu-open){display:none!important}
nav.elementor-nav-menu--dropdown.native-menu-open{display:block!important;max-height:75vh!important;overflow:auto!important;transform:none!important;position:absolute;right:0;top:100%;min-width:290px;z-index:150}
nav.elementor-nav-menu--dropdown .sub-menu{display:none;position:static!important;margin:0!important}
nav.elementor-nav-menu--dropdown .submenu-open>.sub-menu{display:block}
nav.elementor-nav-menu--dropdown li.menu-item-has-children{display:flex;flex-wrap:wrap}
nav.elementor-nav-menu--dropdown li.menu-item-has-children>a{flex:1}
nav.elementor-nav-menu--dropdown li.menu-item-has-children>.sub-menu{width:100%}
.native-gallery{display:grid!important;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:var(--gap,10px);height:auto!important}
.native-gallery>.e-gallery-item{position:relative!important;width:auto!important;height:auto!important;aspect-ratio:var(--ratio,3/2);overflow:hidden;transform:none!important;opacity:1!important}
.native-gallery .e-gallery-image{height:100%;width:100%;background-size:cover;background-position:center}
.elementor-gallery-title{cursor:pointer}
.elementor-gallery-title.is-active{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.product-dialog{width:min(1100px,94vw);max-width:94vw;max-height:90vh;padding:24px;background:#fff;border:0;overflow:auto;box-shadow:0 10px 60px #0005}
.product-dialog .elementor-location-popup{display:block!important}
.product-dialog::backdrop,.lightbox::backdrop{background:rgba(0,0,0,.85)}
.dialog-close{position:sticky;top:0;float:right;z-index:20;width:42px;height:42px;padding:0;border:0;background:#fff;color:#222;font:30px/1 Arial;cursor:pointer}
.lightbox{width:min(1300px,96vw);max-width:96vw;background:#151515;color:#fff;padding:18px;border:0;text-align:center;overflow:auto}
.lightbox img{display:block;max-width:100%;max-height:77vh;object-fit:contain;margin:auto}
.lightbox p{margin:12px 40px 0;font-size:14px}
.lightbox-prev,.lightbox-next{position:absolute;top:45%;border:0;background:#fff;color:#222;font-size:30px;padding:8px 14px;z-index:5}.lightbox-prev{left:10px}.lightbox-next{right:10px}
.elementor-tab-title[role=button]{cursor:pointer}.elementor-tab-content:not(.elementor-active){display:none}
.form-status{width:100%;font-size:14px;margin:14px 0 0!important}.form-status:empty{display:none}.form-status.success{color:#12654b}.elementor-form button:disabled{opacity:.6;cursor:wait}
.native-carousel .swiper-wrapper{display:block;transform:none!important}.native-carousel .swiper-slide{display:none;width:100%!important}.native-carousel .swiper-slide.is-current{display:block}.native-carousel .elementor-swiper-button{cursor:pointer}
.resource-page{max-width:1140px;margin:70px auto;padding:0 24px;min-height:35vh}.resource-page h1{font-family:Raleway,sans-serif;color:#355952}.resource-list a{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #ddd;color:#355952}.resource-list span{white-space:nowrap}
@media(max-width:1024px){.native-gallery{grid-template-columns:repeat(var(--tablet-columns,2),minmax(0,1fr))}}
@media(max-width:767px){.native-gallery{grid-template-columns:repeat(var(--mobile-columns,1),minmax(0,1fr))}.product-dialog{padding:12px}.elementor-nav-menu--dropdown.native-menu-open{position:absolute!important;min-width:280px!important;right:0!important;left:auto!important}.resource-page{margin:40px auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.native-gallery .e-gallery-image img{height:100%;width:100%;object-fit:cover;display:block}
#contact{scroll-margin-top:125px}
.native-carousel .swiper-slide-bg{height:100%;background-size:cover;background-position:center}
.native-carousel .swiper-slide img{object-fit:cover}
.dialog-close:hover,.dialog-close:focus{background:#355952;color:#fff}
@media(max-width:1024px){nav.elementor-nav-menu--dropdown.native-menu-open{position:fixed!important;left:0!important;right:auto!important;top:var(--menu-top,140px)!important;width:100vw!important;max-width:100%!important;min-width:0!important;box-shadow:0 8px 14px #0002}}
.native-carousel .swiper-wrapper{display:grid!important;grid-template-columns:repeat(var(--visible-slides,1),minmax(0,1fr));gap:10px}
.native-carousel .swiper-pagination-bullet{padding:0;border:0;width:8px;height:8px;background:#222;opacity:.2;margin:0 5px}.native-carousel .swiper-pagination-bullet-active{opacity:1}
.elementor-headline-dynamic-wrapper{width:auto!important}.elementor-headline-dynamic-text{display:none!important}.elementor-headline-dynamic-text.elementor-headline-text-active{position:relative!important;display:inline-block!important;opacity:1!important;visibility:visible!important}
.elementor-background-video-hosted{width:100%!important;height:100%!important;object-fit:cover}
.elementor-toggle .elementor-tab-content.elementor-active,.elementor-accordion .elementor-tab-content.elementor-active{display:block}
