/* Final responsive visual consistency pass — no content or functional changes. */
html{overflow-x:clip}
body{min-width:0}
img,video,svg{max-width:100%}
header.site .wrap{gap:20px}
header.site nav.main{min-width:0}
header.site nav.main a{white-space:nowrap}
header.site .logo{flex-shrink:0}
header.site .logo img{flex-shrink:0}
/* The same footer geometry, typography and logo treatment on every page. */
footer.site{background:#F4F2EC!important;color:#263B35!important;font-family:Montserrat,Arial,sans-serif!important;font-size:15px!important;line-height:1.7!important}
footer.site a,footer.site h3{color:#263B35!important}
footer.site a:hover{color:#1B2528!important}
footer.site .fine{border-color:#CFD3C9!important}
footer.site .flogo{background:transparent!important;padding:0!important;border-radius:0!important;box-sizing:border-box!important;width:auto!important;height:auto!important;max-width:min(230px,75vw)!important}
/* Prevent long content from expanding a grid or spilling outside the viewport. */
.v2servicegrid,.v2twocol,.grid,.g2,.g3,.g4{min-width:0}
.v2servicegrid > *, .v2twocol > *, .grid > *{min-width:0}
.v2servicegrid h3,.card h3,.prose,.v2final-content{overflow-wrap:break-word}
@media(max-width:1150px) and (min-width:861px){
 header.site .wrap{gap:14px!important}
 header.site nav.main{gap:clamp(8px,1.2vw,16px)!important}
 header.site nav.main a:not(.btn){font-size:clamp(11px,1.05vw,14px)!important}
 header.site nav.main a.btn{padding:11px 13px!important}
 header.site .logo img{width:clamp(148px,16vw,190px)!important}
}
@media(max-width:860px){
 header.site nav.main{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;gap:14px!important;padding:20px!important}
 header.site nav.main a{white-space:normal;max-width:100%}
 header.site .menu-btn{flex-shrink:0}
 .v2sectionhead{gap:20px}
 .secondary-v2 .page-hero,.service-v2 .page-hero{background-position:center}
}
@media(max-width:520px){
 header.site nav.main{max-height:calc(100dvh - 76px)}
 .v2hero h1{font-size:clamp(37px,10vw,47px)!important}
 .v2final h2{font-size:clamp(34px,9vw,46px)!important}
 .v2button{max-width:100%;gap:20px;padding:16px 19px}
 .v2location-regions,.v2final-regions{overflow-wrap:anywhere}
 .secondary-v2 .page-hero,.service-v2 .page-hero{min-height:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
