/* Targeted behavior and accessibility additions over the reference layout. */
.sr-only,.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:99999;background:#fff;padding:12px 20px;color:#142c3f}.skip-link:focus{transform:none}
.header .logo{flex-shrink:0}.header .logo img{width:180px;height:auto;object-fit:contain}.header .nav{margin-left:auto}.header .phone-link{display:none}
.form-box .form-text p{font-size:22px;font-weight:700;line-height:1.25}.form-box .form-text span{font-weight:500}
.quote-form label{display:block}.quote-form .form-consent{font-size:12px!important;line-height:1.35!important;margin:10px 0 14px!important}.form-consent a{text-decoration:underline;color:inherit}.quote-form .form-status:empty{display:none}.quote-form .form-status{font-size:15px;margin-top:14px}.quote-form [aria-busy=true]{opacity:.7}.quote-form button{cursor:pointer;width:100%}.quote-form select{color:#111}.quote-form input,.quote-form textarea{min-width:0;max-width:100%}
.dropdown-menu{display:none}.btn-group.dropdown-open>.dropdown-menu{display:block}.header .btn-group:focus-within>.dropdown-menu{display:block}
.faq-section .accordion.opened .accordion-body{display:block}.faq-section .accordion-body[hidden]{display:none!important}
.before-after-section .swiper-wrapper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;transform:none!important}.before-after-section .swiper-slide{width:auto!important;margin:0!important}.before-after-section .swiper-button-prev,.before-after-section .swiper-button-next,.before-after-section .swiper-pagination{display:none}
.areas-grid .icon span{font-family:Arial,sans-serif;font-size:30px;color:#d19a21}
.review-placeholder{border:1px solid #e3e8ed;border-radius:12px;background:#fff;padding:35px;max-width:760px}.review-placeholder a{text-decoration:underline;color:#765300}
.footer .bottom-box{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:35px}.footer .contact-links>p{margin-top:20px}.footer nav nav ul{padding:0}.footer .contact-links a{align-self:flex-start}
.back-to-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border-radius:50%;background:#f2a900;z-index:50;font-size:24px;cursor:pointer;box-shadow:0 2px 12px #0002}
.photo-dialog{border:0;padding:0;border-radius:10px;max-width:90vw;max-height:90vh;background:#14212b}.photo-dialog::backdrop{background:#000c}.photo-dialog img{max-width:90vw;max-height:85vh;object-fit:contain}.photo-close{position:absolute;right:10px;top:7px;color:white;background:#0009;border-radius:50%;font-size:30px;width:40px;height:40px;cursor:pointer;z-index:1}
:focus-visible{outline:3px solid #294a93;outline-offset:4px}.home-hero :focus-visible{outline-color:#ffbe40}
@media(max-width:1024px){.header .logo img{width:155px}.header .nav{margin-left:0}}
@media(max-width:768px){.before-after-section .swiper-wrapper{display:flex!important;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory}.before-after-section .swiper-slide{flex:0 0 88%;scroll-snap-align:start}.header .logo img{width:155px}.photo-dialog{max-width:96vw}.home-hero .form-box{margin-top:24px}.quote-form .form-consent{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.form-box .form-text p{font-weight:500;font-size:22px}.form-box .form-text span{font-weight:500}
.gallery-grid .img-box>a{display:block;position:absolute;inset:0}.gallery-grid .img-box>a:focus-visible{outline-offset:-4px;z-index:1}
