/* Rev47: responsive consistency and lead friction fixes; scoped, one cached stylesheet. */
:root{--wms-page-gutter:clamp(16px,4vw,28px)}
html{overflow-x:clip;scroll-padding-top:90px}
body{overflow-x:clip}
main,main section,main .container,main .wrap,main article{box-sizing:border-box;min-width:0}
main img,main video{max-width:100%;height:auto}
/* Keep section content centered and protect city templates from overflowing legacy widths. */
.rev25-legacy>.section .container,.rev25-legacy>.section .wrap,.rev25-legacy .section>.container,.rev25-legacy .section>.wrap,.rev25-legacy .r42-unique-local,.rev25-legacy .wms-why-service__inner{max-width:1160px;min-width:0;margin-inline:auto}
.rev25-legacy .custom-stack>*{min-width:0;overflow-wrap:break-word}
.rev25-legacy .r42-unique-local{width:min(100%,1160px)}
/* Service cards: icons cannot steal half of a small-screen card. */
.offer-grid,.offer-card,.offer-card>div,.custom-stack,.custom-stack>*{min-width:0}
.offer-card{align-items:flex-start;gap:14px;overflow-wrap:break-word}
.offer-card .icon-block{flex:0 0 43px;width:43px;height:43px}
.offer-card h3{font-size:clamp(16px,1.55vw,18px);line-height:1.35;letter-spacing:-.01em;overflow-wrap:break-word}
.offer-card p{font-size:clamp(14px,1.2vw,15px);line-height:1.56;overflow-wrap:break-word}
/* Trust is two intentional rows, rather than independent fragments floating around. */
.lead-form .lead-trust{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;margin:13px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e4ecf2!important;color:#36546a!important;text-align:left!important;max-width:none!important;width:100%!important;font-size:13px!important;line-height:1.5!important;float:none!important;clear:both!important}
.lead-form .lead-trust-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 16px;width:100%;min-width:0}
.lead-form .lead-trust-row span{font-size:13px!important;color:#254d5e!important;font-weight:500!important;white-space:normal}
.lead-form .lead-trust-links{gap:10px 18px}
.lead-form .lead-trust a{display:inline-flex;min-height:36px;align-items:center;padding:4px 0!important;font-size:13px!important;font-weight:500!important;color:#116084!important;text-decoration:underline;text-underline-offset:3px;white-space:normal;line-height:1.4}
.lead-form .lead-estimate{gap:11px;line-height:1.5;font-weight:500;font-size:14px}
.lead-form .lead-estimate input{width:20px;height:20px;margin:0}
.lead-form .lead-stage-head h2{overflow-wrap:normal;word-break:normal;text-wrap:pretty}
.lead-form .lead-navigation{margin-top:12px}
/* Preserve accessible focus while avoiding misaligned sticky headers. */
.lead-form [data-step]{scroll-margin-top:100px}
@media(max-width:760px){
 .offer-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .offer-card{display:flex!important;align-items:flex-start!important;min-height:0!important;padding:17px!important;gap:13px!important}
 .offer-card .icon-block{flex:0 0 44px!important;min-width:44px!important;width:44px!important;height:44px!important}
 .offer-card h3{font-size:17px!important;line-height:1.32!important;margin:0 0 6px!important}
 .offer-card p{font-size:14px!important;line-height:1.55!important}
 .rev25-legacy .container,.rev25-legacy .wrap,.rev25-legacy .audit-container{width:calc(100% - 32px)!important;max-width:100%!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important}
 .rev25-legacy .section{padding-left:0!important;padding-right:0!important}
 .rev25-legacy .section-intro{max-width:100%!important}
 .rev25-legacy .custom-stack,.rev25-legacy .r42-contract__grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 .rev25-legacy .product-hero>.container,.rev25-legacy .product-hero>.wrap{max-width:100%!important}
 .rev25-legacy .audit-section .lead-form{width:100%!important;max-width:100%!important;margin-inline:auto!important}
 .lead-form .lead-trust{gap:6px!important}
 .lead-form .lead-trust-row{gap:4px 12px}
 .lead-form .lead-trust a,.lead-form .lead-trust-row span{font-size:12.5px!important}
}
@media(max-width:400px){.lead-form .lead-stage-head h2{font-size:1.22rem!important}.lead-form .lead-trust-links{gap:0 16px}.offer-card h3{font-size:16px!important}}
/* No second fixed CTA over the offer form: reduces competing actions and hidden fields. */
@media(max-width:760px){body.wms-lead-visible .mobile-cta{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(100%)!important;transition:opacity .18s ease,transform .18s ease!important}}
@media(max-width:760px){body:has(form[data-lead-form]:focus-within) .mobile-cta{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(100%)!important}}
