/* Final mobile rhythm, loaded after page-specific styles. */
@media(max-width:900px){
:root{--mobile-text:#526069;--mobile-space:20px}
html{scroll-padding-top:0;scroll-padding-bottom:84px}
main{min-width:0}
main p{font-size:15px;line-height:1.7;color:var(--mobile-text)}
main h1{font-size:clamp(30px,8.5vw,38px);line-height:1.16;letter-spacing:-.9px;overflow-wrap:break-word}
main h2{font-size:clamp(26px,7.4vw,30px);line-height:1.25;letter-spacing:-.7px;font-weight:500}
main h3{line-height:1.4;letter-spacing:-.2px}
section,.legacy-services-section,.customer-reviews-section,.why-handystav,.process,.service-page-related{padding-block:32px}
.wrap{width:calc(100% - 40px)}
main .btn{font-size:14px;line-height:1.5;min-height:48px;padding:12px 16px;justify-content:center;text-align:center;gap:10px}
main a,main button,main summary{-webkit-tap-highlight-color:rgba(184,38,33,.1)}
main :is(section,details,h2,h3,[id]){scroll-margin-top:100px}
main :is(.mobile-enquiry-card,.service-scope,.service-technical-item,.revision-check,.contact-company-card,.contact-map-card){border-color:#e2e6e9;border-radius:16px;box-shadow:none}
.section-head,.legacy-services-heading{margin-bottom:20px}
.section-head p,.legacy-services-heading>p{margin-top:12px}
.reference-content{padding-block:28px}
.reference-hero h1{font-size:clamp(30px,8.5vw,38px);line-height:1.14;margin-block:18px}
.reference-hero .reference-left>p{font-size:16px;line-height:1.65;margin-bottom:20px}
.reference-hero .hero-actions{gap:10px}
.reference-proof{gap:6px 14px;font-size:12px;margin-top:18px}
.customer-stats-grid{padding-block:18px}
.legacy-services-heading h2,.why-copy h2,.pricing-layout h2,.contact h2,.contact-page-cta h2{font-size:clamp(26px,7.4vw,30px);line-height:1.25;letter-spacing:-.7px}
.legacy-services-section .legacy-service{box-shadow:none}
.legacy-services-section .legacy-service p{font-size:14px;line-height:1.6}
.service-tabs button{font-weight:500}
.why-layout{gap:22px}.why-video-caption{font-size:19px;line-height:1.4;margin:16px 0 8px}
.why-benefits{gap:16px}.why-benefits h3{font-size:16px;line-height:1.5;margin-bottom:4px}
.why-benefits p{font-size:15px;line-height:1.65}
.why-phone{margin-top:4px}
.customer-review-card{box-shadow:none;border-radius:16px}
.customer-review-author h3{font-size:16px;line-height:1.45}
.customer-review-card blockquote{font-size:15px;line-height:1.7}
.price-factors>div{padding-top:14px;padding-bottom:14px}
.price-factors b{font-size:16px;line-height:1.5}
.price-factors p{font-size:14px;line-height:1.65;margin:6px 0 0}
.faq-layout{gap:20px}
summary{font-size:16px;line-height:1.55;min-height:44px;gap:16px}
details p{font-size:15px;line-height:1.7;margin-top:12px}
.contact-page-cta{gap:20px}
.service-page-hero{padding-block:24px 28px}
.service-breadcrumb{font-size:12px;line-height:1.6;margin-bottom:18px;gap:8px;flex-wrap:wrap}
.service-page-grid{gap:24px}
.service-page-grid h1{font-size:clamp(30px,8.5vw,38px);line-height:1.18;margin:16px 0 18px;overflow-wrap:break-word}
.service-page-grid h2{font-size:25px;line-height:1.35;letter-spacing:-.5px}
.service-page-grid p{font-size:15px;line-height:1.7}
.service-page-image{height:210px;border-radius:16px}
.service-page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.service-page-actions .btn{flex:1;min-width:120px;margin:0}
.service-page-content,.service-page-contact-grid{gap:24px}
.service-page-article h2{font-size:28px;line-height:1.3;letter-spacing:-.6px}
.service-page-article h3,.service-expert-article h3{font-size:20px;line-height:1.4;margin:24px 0 10px}
.service-page-article p,.service-expert-article p,.service-expert-scope p{font-size:15px;line-height:1.75;color:var(--mobile-text)}
.service-technical-grid,.revision-checks{gap:12px;margin:18px 0}
.service-technical-item,.revision-check{padding:18px}
.service-technical-item h4,.revision-check h4{font-size:16px;line-height:1.5;font-weight:600;margin:0 0 7px}
.service-technical-item p,.revision-check p{margin:0}
.service-scope{padding:20px}
.service-scope h3{font-size:20px;line-height:1.4;margin:0 0 12px}
.service-scope li{font-size:15px;line-height:1.7;margin-block:10px}
.service-scope a:not(.btn){display:inline-flex;align-items:center;min-height:44px;font-size:15px;line-height:1.5}
.mobile-service-details{margin-top:18px;padding-top:10px}
.mobile-service-details>summary{font-size:16px;font-weight:600}
.smart-installation-panel,.modernisation-panel{border-radius:16px;box-shadow:none}
.smart-installation-copy,.modernisation-copy,.modernisation-action{padding:22px}
.smart-installation-photo{height:190px;min-height:0}
.smart-installation-copy h2,.modernisation-copy h2{font-size:28px;line-height:1.3;letter-spacing:-.6px;margin:14px 0}
.smart-installation-copy p,.modernisation-copy p,.modernisation-action p{font-size:15px;line-height:1.75;color:var(--mobile-text)}
.smart-installation-copy .smart-installation-lead,.modernisation-copy .modernisation-lead{font-size:17px;line-height:1.6;color:var(--dark)}
.smart-installation-copy .smart-installation-note{font-size:13px;line-height:1.7}
.smart-installation-features{gap:10px;margin-block:18px}
.smart-installation-features li{font-size:15px;line-height:1.6}
.modernisation-action h3{font-size:22px;line-height:1.4;margin:12px 0}
.modernisation-phone{display:inline-flex;align-items:center;min-height:44px}
.service-page-contact h2{font-size:28px;line-height:1.3}
.service-page-contact p{font-size:15px;line-height:1.7}
.mobile-enquiry-card{padding:20px}.mobile-enquiry-card h3{font-size:20px;margin-bottom:8px}
.mobile-enquiry-card p{margin-bottom:16px}
.mobile-enquiry-actions{gap:10px}
.contact-page-lead{padding-block:24px}
.contact-page-lead h1{font-size:34px;line-height:1.2;margin-block:16px}
.contact-page-lead>p{font-size:15px;line-height:1.7}
.contact-company-grid{gap:20px;margin-top:24px}
.contact-company-card{padding:22px}
.related-links{display:flex;flex-wrap:wrap;gap:8px}
.related-links a{font-size:14px;line-height:1.5;min-height:44px;padding:10px 14px}
.service-page-related h2{font-size:26px;margin-bottom:18px}
.revision-card{border-radius:16px;box-shadow:none}
.revision-card h3{font-size:18px;line-height:1.4;min-height:0;margin:0 0 8px}
.revision-card p{font-size:14px;line-height:1.65;margin:0 0 12px;color:var(--mobile-text)}
.revision-link{font-size:14px;line-height:1.5;min-height:28px;display:inline-flex;align-items:center;margin-top:auto}
.revision-table{font-size:14px;line-height:1.65;table-layout:fixed;width:100%}
.revision-table th,.revision-table td{padding:12px 8px;overflow-wrap:break-word;vertical-align:top}
.revision-table th:last-child,.revision-table td:last-child{width:88px;white-space:normal}
.revision-note,.revision-sources{font-size:14px;line-height:1.75}
.site-footer .footer-brand-row{gap:14px;padding-block:22px}
.site-footer .footer-brand-row p{font-size:14px;line-height:1.7}
.site-footer .footer-column h3{font-size:16px;line-height:1.5}
.site-footer .footer-contact-card{min-height:72px}
}
@media(max-width:600px){
.revision-grid{grid-template-columns:1fr;gap:12px}
.revision-card,.revision-card:nth-child(n){display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:16px;grid-column:auto;align-items:start}
.revision-photo{height:86px;width:76px;overflow:hidden;border-radius:10px}
.revision-card .revision-photo img{width:100%;height:100%;object-fit:cover;transform:none}
.revision-card-body{min-width:0;padding:0;display:flex;flex-direction:column;align-self:stretch}
.revision-card h3{font-size:17px}
.revision-card:hover,.revision-card:focus-visible{transform:none}
.revision-card:hover .revision-card-body,.revision-card:focus-visible .revision-card-body{background:transparent;color:var(--dark)}
.revision-card:hover .revision-link,.revision-card:focus-visible .revision-link{color:var(--red)}
.smart-installation-copy .btn,.modernisation-action .btn{width:100%;align-self:stretch}
}
@media(max-width:360px){
.wrap{width:calc(100% - 32px)}
.smart-installation-copy,.modernisation-copy,.modernisation-action,.contact-company-card{padding:18px}
.revision-card,.revision-card:nth-child(n){grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px}
.revision-photo{width:64px;height:78px}
.reference-hero .hero-actions .btn{font-size:14px}
}
/* Clear, consistent contact actions and service-area strip. */
body>header .nav-quote{background:#15191c;color:#fff;border-color:#15191c;font-weight:600}
body>header .nav-quote:hover{background:#30373b;border-color:#30373b}
body main a.btn[href*="wa.me"],body .mobile-contact-bar a[href*="wa.me"]{background:#25d366;border-color:#25d366;color:#073b1b;font-weight:600}
body main a.btn[href*="wa.me"]:hover,body .mobile-contact-bar a[href*="wa.me"]:hover{background:#20c55e;border-color:#20c55e;color:#052e15}
body main a.btn[href*="wa.me"]:focus-visible,body .mobile-contact-bar a[href*="wa.me"]:focus-visible{outline-color:#075e54}
.utility .wrap>.utility-coverage{display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.5}
.utility .coverage-service{text-transform:uppercase}
@media(max-width:1024px){
.utility .wrap>span:nth-child(2){display:none}
.utility .wrap{height:auto;min-height:36px;padding-block:7px;justify-content:center;gap:0}
.utility .wrap>.utility-coverage{max-width:100%;justify-content:center;font-size:11px;line-height:1.5;gap:6px}
}
@media(max-width:500px){
.utility .wrap{min-height:50px;padding-block:7px}
.utility .wrap>.utility-coverage{flex-direction:column;gap:1px}
.utility .coverage-service{font-size:11px;letter-spacing:.7px;font-weight:600}
.utility .coverage-areas{font-size:12px;line-height:1.45;letter-spacing:0;font-weight:600}
.utility .coverage-separator{display:none}
}
