.contact-next{margin-top:38px;border-top:1px solid var(--line);padding-top:24px}.contact-next h2{font-size:23px;margin-bottom:20px}.contact-next ol{list-style:none;counter-reset:next;padding:0}.contact-next li{counter-increment:next;position:relative;padding:0 0 22px 34px}.contact-next li:before{content:counter(next,decimal-leading-zero);position:absolute;left:0;top:2px;font-size:11px;color:var(--blue)}.contact-next strong{display:block;font-size:14px;font-weight:600;line-height:1.6}.contact-next span{display:block;font-size:13px;color:var(--muted);line-height:1.8;margin-top:5px}.field-hint{font-size:12px;line-height:1.75;color:var(--muted);margin:9px 0 0}.field label .optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:6px}.field input[type=file]{padding:12px;font-size:12px}.field input[type=file]::file-selector-button{border:0;background:var(--wash);color:var(--blue);padding:9px 12px;font:inherit;margin-right:12px;cursor:pointer}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-error{padding:14px 16px;background:#fff3f0;color:#9d291e;border-left:3px solid #9d291e;font-size:14px;line-height:1.7}.enquiry-form button:disabled{opacity:.65;cursor:wait}.form-grid[hidden]{display:none}.form-result h3{font-size:28px;line-height:1.3;margin:13px 0 18px}.contact-details>.text-link{font-size:13px!important;display:inline-flex!important;border-bottom:1px solid var(--line)!important;padding-bottom:8px!important}

.contact-follow-through{grid-column:1/-1;margin-top:0;padding-top:32px}.contact-follow-through ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.contact-follow-through li{padding-bottom:0}.contact-details>.text-link{margin-top:25px!important}@media(max-width:760px){.contact-details h1{font-size:39px}.contact-location{margin-top:23px!important;padding-top:20px!important}.contact-details>.text-link{margin-top:16px!important}.contact-follow-through ol{grid-template-columns:1fr;gap:23px}.contact-follow-through{padding-top:24px}.contact-layout{gap:32px!important}}

/* Keep the enquiry route direct and readable independently of shared page styles. */
/* Without JavaScript, native form focus still clears the floating contact actions. */
@media(max-width:760px){
 body:not(.quick-contact-enhanced):has(.contact-section .enquiry-form:focus-within) .mobile-contact-bar{display:none}
 body:not(.quick-contact-enhanced):has(.contact-section .enquiry-form:focus-within){padding-bottom:0}
}
.contact-section .enquiry-form{scroll-margin-top:8px}
/* Native validation scrolls to the control; leave room for its label below the sticky header. */
.contact-section .enquiry-form .field :is(input,select,textarea){scroll-margin-top:44px}
.contact-section .enquiry-form .form-intro{margin-bottom:15px;max-width:54ch}
.contact-section .enquiry-form .form-essentials{font-size:12px;line-height:1.7;margin:0 0 20px;color:var(--muted)}
.contact-section .enquiry-form .enquiry-context{margin:0 0 22px;padding:12px 14px;border-left:2px solid var(--cyan);background:#fff;font-size:13px;line-height:1.7;color:var(--text)}
.contact-section .enquiry-form .enquiry-context[hidden]{display:none}
.contact-section .enquiry-form .field [aria-invalid=true]{border-color:#9d291e;box-shadow:0 0 0 1px #9d291e}
.contact-section .enquiry-form .form-error:focus-visible{outline:2px solid #9d291e;outline-offset:4px}
.contact-section .enquiry-form #send-enquiry{min-width:180px}
@media(max-width:900px){
 .contact-section .contact-layout{grid-template-columns:minmax(0,1fr);gap:28px!important}
 .contact-section .contact-details{max-width:650px}
 .contact-section .contact-details h1{font-size:clamp(36px,5.3vw,44px);margin-bottom:17px}
 .contact-section .contact-details>p:not(.eyebrow){margin-bottom:13px;max-width:53ch;font-size:15px;line-height:1.75}
 .contact-section .contact-details>a{display:inline-flex;align-items:center;gap:8px;margin:8px 22px 0 0;font-size:15px;min-height:36px}
 .contact-section .enquiry-form{padding:28px}
}
@media(max-width:480px){
 .contact-section .contact-details>.eyebrow{margin-bottom:15px}
 .contact-section .enquiry-form{padding:23px 20px}
 .contact-section .enquiry-form h2{font-size:26px;line-height:1.3;margin-bottom:12px}
 .contact-section .enquiry-form .form-intro{font-size:13px;line-height:1.7;margin-bottom:12px}
 .contact-section .enquiry-form .form-essentials{margin-bottom:18px}
 .contact-section .enquiry-form .form-grid{gap:19px}
 .contact-section .enquiry-form #send-enquiry{width:100%}
}

/* Short service groups keep project choices clear and easy to select on phones. */
.enquiry-service-groups{display:grid;gap:18px}
.service-group-title{font-size:12px;font-weight:600;line-height:1.6;color:var(--blue);margin:0 0 6px}
.enquiry-service-group .checkbox-grid{gap:0}
.enquiry-service-group .checkbox{align-items:center;min-height:44px}
.enquiry-service-group .checkbox input{margin:0}
