/* Shared layout fixes: keep form controls inside their grid tracks. */
.enquiry-form{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.enquiry-form>*{min-width:0;max-width:100%}
.enquiry-form .form-control{width:100%;min-width:0;max-width:100%;font-size:1rem}
.enquiry-form .form-message,.enquiry-form .form-privacy-note,.enquiry-form .form-consent,.enquiry-form .form-status,.enquiry-form>button,.enquiry-form>noscript{grid-column:1/-1}
.enquiry-form .form-consent label{display:flex;align-items:flex-start;font-weight:400;overflow-wrap:anywhere}
.enquiry-form .form-privacy-note{overflow-wrap:anywhere}
.quote-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-form>div:nth-child(3){grid-column:auto}
.phone-submit{min-width:0}
.enquiry-form>button[type=submit]{max-width:100%;white-space:normal}
.service-hero-layout>*,.location-layout>*,.project-grid>*,.project-study>*,.section-heading>*{min-width:0}
.breadcrumb{flex-wrap:wrap;overflow-wrap:anywhere}
.geo-table{overflow-wrap:anywhere}
@media(max-width:991.98px){.quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form>div:nth-child(3){grid-column:1/-1}}
@media(max-width:767.98px){
 .row.g-5{--bs-gutter-x:2rem}
 .enquiry-form,.quote-form{grid-template-columns:minmax(0,1fr)}
 .enquiry-form>*,.quote-form>div:nth-child(3){grid-column:1/-1}
 .enquiry-form>button[type=submit]{width:100%;justify-content:center}
 /* Let each slide grow with its text instead of clipping long headings. */
 .home-slider .carousel-item{min-height:540px;background:#111}
 .home-slider .slider-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .home-slider .slide-copy{position:relative;width:100%;padding-bottom:100px;min-height:540px}
 .home-slider .slide-copy h1,.home-slider .slide-copy h2{overflow-wrap:break-word}
 .home-jump-links{max-width:100%;min-width:0}
}
