/* Page-local integration: no Elementor kit, theme, form or tracking overrides. */
body.bs-landing{margin:0;background:#f2f0e9}
.bs-landing .bs-landing-container{--gap:0;--widgets-spacing:0;gap:0!important;padding:0!important;max-width:none;width:100%}
.bs-landing .bs-landing-container>.elementor-element{width:100%;max-width:none;margin:0}
.bs-site{font-family:BSManrope,Arial,sans-serif;font-size:16px;line-height:1.65;color:#142e36;width:100%;min-width:0;background:#f2f0e9}
.bs-site .hero{isolation:isolate;position:relative}
/* Each composited video surface stays in the bottom stacking context. */
.bs-site .hero-media{z-index:0;isolation:isolate;pointer-events:none}
.bs-site .hero-media video,.bs-site .hero-media picture{z-index:0}
.bs-site .hero-media .hero-final{z-index:1}
/* This overlay is a sibling of the media, never a playback-state descendant. */
.bs-site .hero>.hero-shade{display:block!important;position:absolute;inset:0;z-index:10;opacity:1!important;visibility:visible!important;pointer-events:none;animation:none!important;transition:none!important}
.bs-site .hero>.hero-copy{z-index:20}
.bs-site .hero>.hero-baseline,.bs-site .hero>.hero-scroll{z-index:21}
.bs-site .hero>.hero-shade{background:linear-gradient(90deg,rgba(8,29,36,.82),rgba(10,26,34,.65) 29%,rgba(10,26,34,.08) 72%),linear-gradient(0deg,rgba(7,22,26,.60),transparent 38%)}
.bs-site .hero-media .bs-image-placeholder{height:100%}
.bs-site .bs-image-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;padding:20px;background:#263d43;color:#f2f0e9;font-size:14px}
.bs-site .bs-documentation .bs-image-placeholder{position:absolute;inset:0;aspect-ratio:auto}
.bs-site a,.bs-site button{transition:color 140ms ease-out,background-color 140ms ease-out,border-color 140ms ease-out,transform 140ms ease-out}
.bs-site a:focus-visible,.bs-site button:focus-visible,.bs-site summary:focus-visible{outline:3px solid #de913a;outline-offset:4px;box-shadow:0 0 0 2px #142e36}
.bs-site .service-panel{animation:none;min-height:0}
.bs-site .service-panel[hidden]{display:none!important}
.bs-site[data-bs-section=faq] .faq{padding-top:80px}
.bs-site .form-preview>.button{margin-top:24px;width:100%}
/* Immersive V3.0: only transient interaction states; approved geometry stays intact. */
.bs-site .button>span,.bs-site .text-link>span,.bs-site .request-phone>span,.bs-site .tab-arrow,.bs-site .option-arrow{transition:transform 160ms cubic-bezier(.2,.7,.2,1),opacity 160ms ease-out}
.bs-site .hotspot{transition:background-color 160ms ease-out,box-shadow 180ms ease-out}
.bs-site .hotspot>span{display:block;transition:transform 160ms ease-out}
.bs-site .hotspot[aria-pressed=true]>span{transform:scale(1.04)}
.bs-site .roof-options button,.bs-site .service-tabs button{transition:color 160ms ease-out,border-color 160ms ease-out,background-color 160ms ease-out}
.bs-site .faq-list summary{transition:color 160ms ease-out}
.bs-site .faq-list summary>span::after{transition:transform 160ms cubic-bezier(.2,.7,.2,1)}
.bs-site .button:focus-visible>span,.bs-site .text-link:focus-visible>span,.bs-site .request-phone:focus-visible>span{transform:translate(2px,-2px)}
@media(hover:hover) and (pointer:fine){
 .bs-site .button:hover>span,.bs-site .text-link:hover>span,.bs-site .request-phone:hover>span{transform:translate(2px,-2px)}
 .bs-site .roof-options button:hover .option-arrow{transform:translate(2px,-2px)}
 .bs-site .service-tabs button:hover .tab-arrow{transform:translate(2px,-2px)}
}
@media(min-width:851px){.bs-site .roof-options button:hover{padding-left:0}}
.bs-site[data-reduced-motion=true] *,.bs-site[data-reduced-motion=true] *::before,.bs-site[data-reduced-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:850px){.bs-site[data-bs-section=faq] .faq{padding-top:64px}}
@media(max-width:600px){
 .bs-site .hero>.hero-shade{background:linear-gradient(180deg,rgba(12,33,41,.24),rgba(12,33,41,.25) 100px,rgba(12,33,41,.64) 270px,rgba(12,33,41,.95) 74%,#102b34)}
 .bs-site{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 .bs-site *,.bs-site *::before,.bs-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
