/* Responsive polish for the compact homepage form and fixed CTA. */
.home-hero-copy{padding:clamp(1.4rem,3vw,3rem) clamp(1.5rem,3vw,3rem) 1.8rem}
.home-hero h1{font-size:clamp(2.75rem,4.4vw,4.1rem);margin:.5rem 0 .75rem}
.lead-card .field:has(#email),.lead-card .field:has(#message){display:none}
.lead-card .field:has(#city){grid-column:1/-1}
.lead-card form>.form-hint{display:none}
.section-deep h1{color:#fff}
.section-deep .btn-outline{border-color:rgba(255,255,255,.65);color:#fff!important}
.section-deep .btn-outline:hover{background:#fff;color:var(--deep)!important}
.contact-layout{padding-right:180px}
.contact-form-card input,.contact-form-card textarea{scroll-margin-block:5.5rem}
@media(max-width:850px){
 .home-hero-copy{padding:2rem 1.2rem 1.4rem}
 .home-hero h1{font-size:clamp(2.65rem,9.2vw,4.2rem)}
 .contact-layout{padding-right:0}
}
@media(max-width:560px){
 .home-hero-copy{padding:1.65rem .9rem 1.1rem}
 .home-hero h1{font-size:clamp(2.5rem,12vw,3.65rem)}
 .floating-cta{min-height:42px;padding:.5rem .7rem;font-size:.72rem}
 .contact-form-card{padding-bottom:5rem}
 .contact-form-card input,.contact-form-card textarea{scroll-margin-block:6rem}
}

@media(max-width:850px){.floating-cta.form-visible{visibility:hidden;pointer-events:none}}

/* Keep the first-screen estimate flow concise at standard laptop heights. */
@media(min-width:851px){
 .home-hero-copy{padding:clamp(1.1rem,2vw,2rem) clamp(1.25rem,3vw,3rem) 1.35rem}
 .home-hero .lead{font-size:1.02rem;line-height:1.48}
 .hero-phone{margin:.15rem 0 .55rem}
 .lead-card{padding:.82rem .9rem .78rem}
 .lead-card h2{margin:.05rem 0 .35rem}
 .lead-card .form-hint{margin:.3rem 0 .4rem}
 .lead-card .form-grid{gap:.35rem .7rem}
 .lead-card .field label{margin-bottom:.12rem}
 .lead-card .field input{min-height:39px}
 .lead-card .form-note{margin:.4rem 0 0}
}
@media(max-width:850px){.home-hero-copy{padding:2rem 1.2rem 1.4rem}.home-hero .lead{font-size:1.02rem;line-height:1.48}}
@media(max-width:560px){.home-hero-copy{padding:1.65rem .9rem 1.1rem}.home-hero .lead{font-size:.99rem;line-height:1.5}.lead-card .field input{min-height:42px}}

/* Google Maps location section */
.location-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}.location-copy h2{font-size:clamp(2rem,3.5vw,3rem)}.location-map{min-height:390px;border:1px solid rgba(23,49,56,.15);border-radius:.4rem;overflow:hidden;background:#e5e9e4;box-shadow:var(--shadow)}.location-map iframe{display:block;width:100%;height:390px;border:0}
@media(max-width:850px){.location-grid{grid-template-columns:1fr}.location-map,.location-map iframe{height:340px;min-height:340px}}
@media(max-width:560px){.location-map,.location-map iframe{height:290px;min-height:290px}}
