/* Final responsive stability layer. Keep this stylesheet last. */
html,body{max-width:100%;overflow-x:clip}
.home-project-carousel,.service-marquee{max-width:100%;overflow-x:hidden}

/* Desktop tool rail: expanding labels must not move the rail or page. */
@media(min-width:1101px){
 .quick-tools{right:18px!important;left:auto!important;width:64px!important;max-width:64px!important;overflow:visible!important}
 .quick-tools>a,.quick-tools>button{flex:none!important;align-self:flex-end!important;min-width:48px!important;max-width:148px!important}
 .quick-tools>a:active,.quick-tools>button:active{transform:none!important}
}

@media(max-width:1100px){
 body{padding-bottom:104px}
 .site-header{left:0!important;right:0!important;width:auto!important;max-width:100vw!important}
 .site-header .site-nav{inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;transform:translateX(105%)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:108px 24px 125px!important}
 .site-header .site-nav.open{inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;transform:translateX(0)!important;opacity:1!important;visibility:visible!important}
 .site-nav .mobile-nav-head{position:absolute!important;top:18px!important;left:20px!important;right:20px!important;margin:0!important}
 .site-nav .mobile-nav-head img{max-width:min(56vw,210px)!important;height:auto!important}
 .site-nav>a,.site-nav .nav-service>a{flex:0 0 auto;width:100%!important}

 .quick-tools{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important;justify-content:stretch!important;gap:0!important;left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 16px)!important;height:86px!important;padding:6px!important;border-radius:44px!important;overflow:hidden!important;transform:none!important}
 .quick-tools>a,.quick-tools>button,.quick-tools>a:hover,.quick-tools>button:hover,.quick-tools>a:focus,.quick-tools>button:focus,.quick-tools>a:active,.quick-tools>button:active{box-sizing:border-box!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;width:100%!important;min-width:0!important;max-width:none!important;height:72px!important;margin:0!important;padding:0 2px!important;border-radius:24px!important;overflow:hidden!important;background:transparent!important;box-shadow:none!important;transform:none!important}
 .quick-tools span{flex:0 0 38px!important;display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;margin:0!important}
 .quick-tools svg{width:21px!important;height:21px!important}
 .quick-tools b{position:static!important;display:block!important;width:100%!important;min-width:0!important;margin:0!important;overflow:hidden!important;opacity:1!important;transform:none!important;color:#fff!important;font-size:9px!important;line-height:1.05!important;text-align:center!important;text-overflow:ellipsis!important;white-space:nowrap!important}
 .fixed-quote-orb{right:14px!important;left:auto!important;bottom:calc(104px + env(safe-area-inset-bottom))!important;top:auto!important;width:74px!important;height:74px!important;transform:none}

 .routing-modal,.modal{box-sizing:border-box!important;padding:10px!important}
 .routing-modal .modal-panel{box-sizing:border-box!important;width:min(680px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;padding:24px!important;overflow-y:auto!important;overflow-x:hidden!important}
 .route-stage,.division-list,.emirate-list{max-width:100%!important}
 .division-list button,.emirate-list a{box-sizing:border-box!important;max-width:100%!important}
 .map-modal{padding:0!important}
 .map-modal-panel{inset:8px!important;box-sizing:border-box!important;width:auto!important;max-width:none!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:0!important;border-radius:20px!important;overflow:hidden!important}
 .map-modal-panel>header{flex:0 0 auto}
 #client-leaflet-map{min-height:280px!important}
}

@media(max-width:620px){
 body{padding-bottom:94px}
 .site-header .site-nav{padding:96px 18px 112px!important}
 .site-nav>a,.site-nav .nav-service>a{padding:12px 6px!important;font-size:23px!important}
 .service-menu-toggle{right:5px!important}
 .quick-tools{left:5px!important;right:5px!important;max-width:calc(100vw - 10px)!important;height:78px!important;padding:5px 3px!important}
 .quick-tools>a,.quick-tools>button,.quick-tools>a:hover,.quick-tools>button:hover{height:66px!important;padding:0 1px!important}
 .quick-tools span{flex-basis:34px!important;width:34px!important;min-width:34px!important;height:34px!important}
 .quick-tools svg{width:19px!important;height:19px!important}
 .quick-tools b{font-size:8px!important}
 .fixed-quote-orb{right:10px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;width:68px!important;height:68px!important;font-size:11px!important}
 .routing-modal .modal-panel{padding:22px 16px!important;border-radius:20px!important}
 .routing-modal .modal-panel>img{width:150px!important;margin-bottom:12px!important}
 .routing-modal .modal-panel>h2{margin-top:14px!important;font-size:30px!important}
 .map-modal-panel{inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 .map-modal-panel>header h2{font-size:clamp(24px,7vw,34px)!important}
 .map-controls{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
 .site-header .site-nav,.quick-tools>a,.quick-tools>button{transition:none!important}
}
