/* glue between the old Elementor pages and the new site shell */
.legacy-wrap{overflow-x:hidden;font-family:'Montserrat',system-ui,sans-serif}
.legacy-wrap img{max-width:100%}
.legacy-wrap :is(h1,h2,h3,h4,h5,h6){letter-spacing:normal}
.legacy-wrap .elementor-kit-5{min-height:60vh}
/* the fixed pill header floats over the first section, like the old transparent header did */
.legacy-wrap .elementor-section:first-of-type,.legacy-wrap .e-con.e-parent:first-of-type{scroll-margin-top:90px}
/* testimonials carousel */
.legacy-wrap .testimonials_author_rotator{display:none}
.legacy-wrap .testimonials_rotator{position:relative}
.legacy-wrap .testimonials_rotator>.testimonials_item{display:none}
.legacy-wrap .testimonials_rotator>.testimonials_item.is-active{display:block;animation:legacyFade .6s ease}
@keyframes legacyFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.legacy-testi-nav{display:flex;gap:10px;justify-content:center;margin-top:16px}
.legacy-testi-nav button{width:42px;height:42px;border-radius:50%;border:1px solid #d6dbe6;background:#fff;font-size:22px;line-height:1;cursor:pointer;transition:.2s}
.legacy-testi-nav button:hover{background:#6254e7;color:#fff;border-color:#6254e7}
/* responsive video */
.legacy-wrap .legacy-video{position:relative;padding-top:56.25%}
.legacy-wrap .legacy-video iframe,.legacy-wrap iframe[src*="youtube"]{width:100%;border:0}
.legacy-wrap .legacy-video iframe{position:absolute;inset:0;height:100%}
.legacy-wrap iframe[src*="google.com/maps"]{width:100%;border:0}
.legacy-wrap .elementor-widget-container .shortcode_button{cursor:pointer}
/* hide leftover Woo/Elementor bits that only worked with the plugins */
.legacy-wrap .elementor-widget-gt3-core-shoplist,.legacy-wrap .elementor-widget-gt3-core-portfolio .gt3_portfolio__filter{display:none}

/* video lightbox (shared with the homepage) */
.vb{position:fixed;inset:0;background:rgba(5,8,20,.88);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.vb.on{display:flex}
.vb-box{position:relative;width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.vb-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vb-x{position:absolute;top:-46px;right:0;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}
