:root{color-scheme:light;--site-ink:#17212b;--site-focus:#005fcc}
html{scroll-behavior:auto;scroll-padding-top:100px}
body{font-size:17px;line-height:1.65;overflow-wrap:break-word}
*,*::before,*::after{box-sizing:border-box}
img,video{max-width:100%}
main{min-width:0}
main:focus{outline:none}
.elementor-widget-text-editor,.elementor-testimonial__text{font-size:17px!important;line-height:1.7!important}
.elementor-widget-text-editor p,.elementor-widget-text-editor li{line-height:1.7}
.elementor-widget-text-editor p a:not(.elementor-button),.site-privacy-note a{text-decoration:underline;text-underline-offset:.2em}
.elementor-invisible{visibility:visible!important;opacity:1!important}
.animated,[class*="elementor-animation-"]{animation:none!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--site-focus)!important;outline-offset:4px!important;box-shadow:0 0 0 3px #fff!important}
.skip-link{position:fixed!important;top:12px!important;left:12px!important;z-index:1000000!important;background:#fff!important;color:#101820!important;padding:12px 20px!important;border:3px solid var(--site-focus)!important;border-radius:4px!important;font:700 17px/1.4 Arial,sans-serif!important}
.skip-link:not(:focus){clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;padding:0!important;border:0!important}
.skip-link:focus{clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important}
.elementor-button,.elementor-menu-toggle,.elementor-swiper-button,.swiper-pagination-bullet{min-height:44px;min-width:44px}
.elementor-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.4!important}
.elementor-menu-toggle{display:flex;align-items:center;justify-content:center}
.elementor-menu-toggle:focus-visible{outline-offset:-3px!important}
.swiper-pagination-bullet{background:transparent!important;position:relative;opacity:1!important;margin:0!important}
.swiper-pagination-bullet::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;top:17px;left:17px;background:#737373}
.swiper-pagination-bullet-active::after{background:#101820;outline:2px solid #fff;box-shadow:0 0 0 3px #101820}
.elementor-testimonial__icon:empty{display:none}
.site-map-card,.site-privacy-note{padding:24px;border:1px solid #c4cbd0;border-radius:8px;background:#f6f7f8;color:var(--site-ink);font:17px/1.65 Arial,sans-serif}
.site-map-card{display:flex;min-height:220px;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}
.site-map-card p{margin:0;font-size:18px;line-height:1.6}
.site-map-card a,.site-action-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:#17212b;color:#fff!important;border:2px solid #17212b;border-radius:4px;font:600 16px/1.5 Arial,sans-serif;text-decoration:none}
.site-map-card a:hover,.site-action-link:hover{background:#fff;color:#17212b!important}
.site-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin:24px auto;width:100%;max-width:1200px;white-space:normal}
.site-review{margin:0;padding:24px;background:#f6f7f8;color:#17212b;border:1px solid #c4cbd0;border-radius:8px;font:17px/1.7 Arial,sans-serif;min-width:0}
.site-review p{white-space:pre-line;margin:12px 0 20px}
.site-review cite{font-style:normal;font-weight:700}
.site-review time{display:block;font-size:15px;color:#46515b}
.site-motion-toggle{position:absolute;right:16px;top:90px;bottom:auto;z-index:9;min-height:44px;max-width:calc(100% - 32px);padding:10px 14px;border:2px solid #fff;border-radius:4px;background:#17212b;color:#fff;font:600 15px/1.4 Arial,sans-serif;cursor:pointer}
.site-hero video{object-fit:cover;width:100%;height:100%}
.site-hero .elementor-background-video-container{background:#17212b}
.site-privacy-note{margin:16px 0 28px}
@media(max-width:1024px){
 .elementor-nav-menu--dropdown a{min-height:48px;display:flex;align-items:center;font-size:17px!important;line-height:1.5!important}
 .elementor-nav-menu--dropdown{max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}
 .elementor-nav-menu--dropdown .sub-menu a{padding-top:12px!important;padding-bottom:12px!important}
}
@media(max-width:767px){
 body{font-size:17px;padding-bottom:env(safe-area-inset-bottom)}
 .elementor-location-header .elementor-widget-image img{max-width:calc(100vw - 92px)!important;height:auto}
 .elementor-menu-toggle{padding:10px!important;min-width:44px!important;min-height:44px!important}
 .elementor-widget-text-editor,.elementor-testimonial__text{font-size:17px!important;line-height:1.65!important}
 .elementor-widget-heading h1,.site-mobile-identity{font-size:clamp(30px,8vw,40px)!important;line-height:1.2!important}
 .site-mobile-identity{color:#17212b!important;margin:0 0 12px!important}
 .elementor-widget-heading h2{font-size:clamp(26px,7vw,34px)!important;line-height:1.25!important}
 .elementor-widget-heading h3{font-size:24px!important;line-height:1.3!important}
 .elementor-flip-box{height:auto!important;min-height:280px}
 .elementor-flip-box__front{display:none!important}
 .elementor-flip-box__back{position:relative!important;transform:none!important;min-height:280px;backface-visibility:visible!important}
 .elementor-flip-box__back .elementor-flip-box__layer__overlay{position:relative!important;background:rgba(0,0,0,.76)!important;min-height:280px;padding:24px!important}
 .elementor-flip-box__back .elementor-flip-box__layer__title,.elementor-flip-box__back .elementor-flip-box__layer__description{color:#fff!important}
 .elementor-flip-box__layer__description{font-size:17px!important;line-height:1.6!important}
 .site-motion-toggle{font-size:14px;top:90px;bottom:auto;right:12px;max-width:calc(100% - 24px)}
 .site-map-card,.site-review,.site-privacy-note{padding:20px}
 .site-review-grid{gap:16px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .swiper-wrapper{transition-duration:0ms!important}
}
/* Hover-only content must also be available to keyboard and touch users. */
.ser-box:focus-within .ser-list{display:flex!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important}
@media(max-width:1024px){
 .elementor-flip-box__back{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
 .ser-box{height:auto!important;min-height:360px!important;padding:24px!important;background:#17212b!important}
 .ser-box>.e-con-inner{justify-content:flex-start!important;gap:20px!important}
 .ser-box .ser-list{display:flex!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;max-height:none!important;position:relative!important}
 .ser-box h2,.ser-box .elementor-icon-list-text{color:#fff!important}
 .ser-box .elementor-icon-list-item a{min-height:44px!important;padding:8px 0!important;line-height:1.5!important}
 .ser-box .elementor-heading-title{font-size:28px!important;line-height:1.25!important}
}
.site-mobile-nav{display:none!important}
@media(max-width:1024px){
 .site-mobile-nav.site-nav-open{display:block!important;position:fixed!important;top:var(--site-nav-top,68px)!important;left:0!important;right:0!important;width:100vw!important;max-height:calc(100dvh - var(--site-nav-top,68px) - 60px)!important;transform:none!important;opacity:1!important;visibility:visible!important;z-index:99999!important;background:#fff!important;color:#17212b!important;padding:8px 12px!important;overflow:auto!important}
 .site-mobile-nav.site-nav-open ul{display:block!important;position:static!important;width:auto!important;max-height:none!important;transform:none!important;opacity:1!important;visibility:visible!important;margin:0!important;overflow:visible!important}
 .site-mobile-nav.site-nav-open .sub-menu{padding-left:18px!important;border-left:1px solid #c4cbd0!important}
 .site-mobile-nav.site-nav-open a{display:flex!important;min-height:44px!important;padding:10px 12px!important;color:#17212b!important;background:#fff!important;white-space:normal!important}
 .site-mobile-nav.site-nav-open a:hover,.site-mobile-nav.site-nav-open a:focus{background:#e9edf0!important}
 .site-mobile-nav.site-nav-open .sub-arrow{display:none!important}
}
.elementor-button[href^="tel:"]{background:#505050!important;color:#fff!important;font-size:17px!important;min-height:48px!important}
.site-navigation{display:none}
@media(max-width:1024px){
 .elementor-menu-toggle{display:none!important}
 .site-navigation{display:block;position:relative;color:#17212b;text-align:left}
 .site-navigation>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:44px;height:44px;border:1px solid #17212b;border-radius:3px;background:#fff;color:#17212b;font:700 27px/1 Arial,sans-serif;cursor:pointer}
 .site-navigation>summary::-webkit-details-marker{display:none}
 .site-native-menu{position:fixed;top:74px;left:0;width:100vw;max-height:calc(100dvh - 134px);overflow:auto;overscroll-behavior:contain;z-index:99999;background:#fff;color:#17212b;padding:12px 20px;border-bottom:2px solid #17212b;box-shadow:0 10px 20px #0003}
 .site-native-menu ul{list-style:none;margin:0;padding:0;display:block}
 .site-native-menu ul ul{padding-left:16px;border-left:1px solid #c4cbd0}
 .site-native-menu a{display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#17212b!important;background:#fff;line-height:1.5;font-size:17px;white-space:normal}
 .site-native-menu a:hover,.site-native-menu a:focus{background:#e9edf0}
}
