
/* Phone layout and touch refinements. */
@media(max-width:600px){
 html{scroll-padding-top:100px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .hero .hero-content{padding-top:155px;padding-bottom:110px}
 .hero{height:auto;min-height:0;max-height:none}
 .hero .review-pill{margin-bottom:24px}
 .hero h1{margin-top:0}
 .hero .hero-actions{gap:14px}
 .hero .hero-bottom{position:relative;inset:auto;margin-inline:5.2%;padding-block:16px;flex-wrap:wrap;gap:12px}
 .hero .hero-bottom .motion{min-height:44px}
 .hero .hero-actions .button{min-height:52px}
 .floating-cta{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .floating-cta a{min-height:48px;display:flex;align-items:center;justify-content:center}
 .side-menu{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 .side-menu a,.side-menu summary{min-height:44px}
 .side-menu-top button,.viewer-bar button,.dialog-top button{min-width:44px;min-height:44px}
 .page-content{padding-block:44px}
 .page-hero{padding-bottom:42px}
 .service-card{min-height:330px}
 .service-card h3,.service-card h2{overflow-wrap:normal}
 .inner-cta>.wrap{align-items:stretch}
 .inner-cta .button{white-space:normal;min-height:50px}
 .roof-build-controls input{min-height:44px}
 .roof-build-controls button{min-height:44px}
 .roof-build-controls{gap:10px}
 .project-viewer{max-width:calc(100vw - 20px);max-height:90dvh;overflow:auto}
 .project-viewer>img{max-height:65dvh;object-fit:contain;background:#101832}
 .project-film-player{min-width:0}
 .film-play{width:54px;height:54px}
 .film-watch{font-size:9px;left:14px;bottom:14px}
 input,select,textarea{font-size:16px}
 .mobile-map-picker{display:grid;gap:10px;margin-top:18px;font-size:14px;font-weight:600}
 .mobile-map-picker select{min-height:50px;padding:12px;border:1px solid #cbd2df;border-radius:10px;background:white;color:#142035;width:100%;font:inherit;font-size:16px}
 .area-selector:has(.mobile-map-picker) #city-buttons{display:none}
 #service-map{height:360px}
 .map-key{line-height:1.6;flex-wrap:wrap}
 .footer a{display:inline-block;padding-block:7px}
}
@media(min-width:601px){.mobile-map-picker{display:none}}
@media(max-width:600px){.gallery-toolbar,.gallery-toolbar>div{width:100%;min-width:0}.gallery-toolbar select{min-width:0;max-width:100%}.gallery-film-feature>*{min-width:0}.gallery-film-feature h2{overflow-wrap:anywhere}.project-viewer:not([open]){display:none}}
@media(max-width:600px){.hero{padding-top:0}.floating-cta{max-width:calc(100vw - 32px);box-sizing:border-box}.floating-cta a{min-width:0;flex:1}}
