/* Use the available screen width consistently, including at browser zoom levels. */
.wrap,.header-shell.wrap{width:min(1600px,calc(100% - clamp(32px,5vw,100px)))}
.hero-copy{padding-left:clamp(24px,3vw,64px);padding-right:clamp(24px,3vw,64px)}
.hero-copy-inner{max-width:none;width:100%;min-width:0}
.hero h1{max-width:none;font-size:clamp(56px,4.8vw,80px);line-height:1.06}
.hero p{font-size:clamp(17px,1.15vw,20px);max-width:660px}
.hero-actions{margin-bottom:55px}

.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,90px)}
.about-copy h2,.section-heading h2,.why h2,.contact h2{font-size:clamp(42px,3.6vw,66px)}
.about-copy p,.about-copy .lead,.service-card p,.contact p,.commitment p{font-size:clamp(16px,1.12vw,19px);line-height:1.7}
.section-heading p{font-size:clamp(16px,1.1vw,18px);width:min(340px,30%)}
.service-card h3{font-size:clamp(30px,2.2vw,40px)}
.service-card li,.benefit strong,.customer-card strong{font-size:clamp(15px,1vw,18px)}
.customer-card{min-height:150px}

.footer-v4-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.75fr) minmax(0,1.15fr);gap:clamp(36px,4vw,88px)}
.footer-v4-brand p{max-width:440px;font-size:clamp(17px,1.15vw,20px)}
.footer-v4-nav a{max-width:none;font-size:clamp(15px,1vw,18px)}
.footer-v4-contact a{font-size:clamp(18px,1.3vw,24px);overflow-wrap:anywhere}
.footer-v4-bottom{font-size:clamp(10px,.8vw,13px)}

@media(max-width:950px){
  .hero h1{font-size:clamp(48px,6vw,68px)}
  .footer-v4-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px}
}
@media(max-width:760px){
  .wrap,.header-shell.wrap{width:calc(100% - 40px)}
  .hero-copy{padding:66px 20px 54px}
  .hero h1{font-size:clamp(42px,9vw,65px)}
  .about-layout{grid-template-columns:minmax(0,1fr);gap:50px}
  .section-heading p{width:auto}
  .footer-v4-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:390px){
  .wrap,.header-shell.wrap{width:calc(100% - 32px)}
  .hero h1{font-size:clamp(39px,10vw,44px)}
}
