/* V4 phone pass: contain every grid, modal and third-party embed. */
@media(max-width:650px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:66px}
  .header,.hero,.hero-content,.hero-actions,.quick-help,.home-os,.os-shell,.os-grid,.os-problems,.problem-grid,.area-check,.section,.section-heading,.service-grid,.service-card,.process,.process-copy,.steps,.proof-lab,.proof-grid,.proof-card,.social-work,.social-inner,.social-copy,.instagram-shell,.reviews,.review-grid,.cta,.footer,.quote-panel,.quote-layout,.quote-services,.quote-detail,.chat{min-width:0;max-width:100%}
  h1,h2,h3,p,small,strong,span,li,a,button{overflow-wrap:anywhere}
  .trustbar{width:100%;overflow:hidden;white-space:nowrap}
  .header{padding-inline:14px;gap:10px}
  .brand{min-width:0;max-width:245px}
  .brand>span:last-child{min-width:0}
  .brand strong,.brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hero{width:100%;min-height:630px}
  .hero-content{padding:170px 0 38px}
  .hero h1{font-size:clamp(39px,12vw,48px);line-height:1.01}
  .hero-content>p{font-size:14px;max-width:100%}
  .hero-actions,.hero-actions .btn{width:100%}
  .hero-proof{grid-template-columns:1fr;gap:7px}
  .quick-help{overflow:hidden}
  .quick-card{width:100%;min-width:0}
  .live-ribbon{width:100%;padding:10px 16px;display:block;text-align:center}
  .live-ribbon span{display:none}
  .live-ribbon span:first-child{display:block;overflow:hidden;text-overflow:ellipsis}
  .home-os{width:100%;padding:62px 12px}
  .os-shell{width:100%;border-radius:17px}
  .os-head{padding:18px}
  .os-head h2{font-size:18px}
  .os-problems{width:100%;padding:20px 15px}
  .os-problems>p{font-size:13px;line-height:1.5;width:100%}
  .problem-card{width:100%;grid-template-columns:40px minmax(0,1fr);padding:14px 12px}
  .problem-card b{width:38px;height:38px}
  .problem-card span{min-width:0}
  .area-check{width:100%;padding:27px 16px}
  .area-check h3{font-size:27px}
  .area-check>p{font-size:13px;width:100%}
  .postcode-form{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;padding:4px}
  .postcode-form input{width:100%;min-width:0;padding:10px 8px;font-size:13px}
  .postcode-form button{min-width:70px;padding:0 10px;font-size:12px}
  .section{width:100%;padding-inline:16px}
  .section-heading{width:100%}
  .section-heading h2{font-size:clamp(35px,10.5vw,45px);max-width:100%}
  .section-heading>p{width:100%;font-size:14px}
  .service-grid{width:100%}
  .service-card{width:100%;padding:22px}
  .service-card p{max-width:100%}
  .process{width:100%;padding-inline:18px}
  .process-copy{padding:0;width:100%}
  .steps{width:100%}
  .steps li{width:100%;gap:15px}
  .steps li>div{min-width:0}
  .proof-lab{width:100%;padding:66px 14px}
  .proof-grid{width:100%;gap:11px}
  .proof-card{width:100%;padding:24px}
  .proof-main{min-height:365px}
  .proof-main h3{font-size:32px}
  .proof-main .big-number{font-size:105px;left:20px;bottom:28px}
  .proof-main .big-number small{font-size:13px;margin-left:8px}
  .social-work{width:100%;padding:66px 12px}
  .social-inner{width:100%;gap:34px}
  .social-copy{padding:0 5px}
  .social-copy h2{font-size:42px}
  .social-profile{max-width:100%;font-size:12px;padding:10px}
  .instagram-shell{width:100%;padding:6px;overflow:hidden;min-height:330px}
  .instagram-shell .instagram-media{width:100%!important;min-width:0!important;max-width:100%!important}
  .reviews,.review-grid{width:100%}
  .review-grid blockquote{width:100%;padding:24px}
  .cta{width:100%;padding-inline:18px}
  .footer{width:100%;padding-inline:18px}
  .quote-panel{left:6px;right:6px;width:auto;transform:translateY(-50%);max-height:calc(100dvh - 12px)}
  .quote-services button{grid-template-columns:32px minmax(0,1fr) 18px}
  .quote-detail{width:100%;overflow-x:hidden}
  .chat{max-height:calc(100dvh - 78px);bottom:72px;height:auto;min-height:min(520px,calc(100dvh - 84px))}
  .chat-launch{display:none!important}
  .mobile-dock{width:100%;max-width:100%;height:66px}
}
