/* Enquiry layout: the form comes first on small screens and in reading order. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-page .page-hero{padding-bottom:32px}
.contact-page .page-hero h1{max-width:15ch;font-size:clamp(2.5rem,5.4vw,5rem)}
.contact-page #enquiry{padding-top:24px;scroll-margin-top:110px}
.contact-layout{grid-template-areas:"details form";gap:clamp(32px,5vw,72px)}
.contact-layout .contact-form{grid-area:form}
.contact-layout .contact-details{grid-area:details}
.contact-form fieldset{display:grid;gap:22px;min-width:0;margin:0;padding:0;border:0}
.contact-form fieldset[disabled]{opacity:.72}
.contact-form .form-intro h2{font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}
.contact-form .form-intro .section-kicker{font-size:11px;margin:0 0 14px;color:#9bc3b6}
.contact-form .field{min-width:0}
.contact-form .field label{font-size:14px}
.contact-form .field label span{font-size:12px;color:#9eacba;font-weight:400}
.enquiry-optional{border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c}
.enquiry-optional summary{cursor:pointer;min-height:52px;padding:15px 0;font-size:14px;font-weight:600}
.enquiry-optional summary span{font-weight:400;color:#9eacba;margin-left:5px;font-size:12px}
.enquiry-optional .form-grid{padding:6px 0 20px}
.contact-form .enquiry-consent{margin:0;line-height:1.6;align-items:flex-start}
.contact-form .enquiry-consent input{flex-shrink:0;margin-top:3px}
.form-privacy{font-size:12px;line-height:1.6;color:#9eacba;margin:16px 0 0}
.contact-form .form-note:empty{display:none}
.contact-form .form-note{padding:14px 16px;border-left:2px solid #93b8aa;background:#ffffff05;line-height:1.65}
.contact-form .button-row .button{min-height:48px;border-radius:8px}
.contact-form .button-primary{background:#1b5144;border:1px solid #ffffff24;color:#fff;border-radius:8px;min-height:48px}
.contact-form .button-primary:hover{background:#246554}
.contact-form [hidden]{display:none!important}
.contact-form .preview-handoff p{font-size:14px;line-height:1.6;color:#b8c3d0;margin:0 0 14px}
.contact-form .preview-handoff{margin-bottom:16px}
.contact-details .section-title{font-size:clamp(1.9rem,3.2vw,3rem);max-width:12ch}
.enquiry-steps{display:grid;gap:0;list-style:none;margin:0;padding:0}
.enquiry-steps li{display:flex;gap:18px;border-top:1px solid #ffffff1c;padding:23px 0}
.enquiry-steps li>span{font-size:12px;color:#9bc3b6;padding-top:4px}
.enquiry-steps h3{font-size:16px;line-height:1.45;margin:0 0 8px;letter-spacing:-.02em}
.enquiry-steps p{font-size:14px;line-height:1.65;color:#aab5c4;margin:0}
.contact-direct{display:grid;gap:10px;border-top:1px solid #ffffff1c;padding-top:24px}
.contact-direct .section-kicker{margin:0 0 4px}
.contact-direct>a{width:fit-content;min-height:44px;display:flex;align-items:center;font-size:17px;font-weight:500;overflow-wrap:anywhere}
.contact-direct p:last-child{font-size:13px;color:#aab5c4;line-height:1.6;margin:0}
.contact-form :is(input,select,textarea,summary,button,a):focus-visible{outline:2px solid #b9ddcf;outline-offset:4px}
@media(max-width:980px){
 .contact-layout{grid-template-areas:"form" "details";gap:44px}
 .contact-layout .contact-form{width:100%;max-width:none}
 .contact-layout .contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px}
 .contact-details>div:first-child{grid-column:1/-1}
 .contact-details .section-title{max-width:none}
}
@media(max-width:680px){
 .contact-page .page-hero{padding-top:30px;padding-bottom:20px}
 .contact-page .page-hero h1{font-size:clamp(2.4rem,10vw,3.2rem);line-height:1.07;max-width:12ch}
 .contact-page .page-hero .hero-copy{font-size:16px;line-height:1.65;margin-top:18px}
 .contact-page #enquiry{padding-top:12px;scroll-margin-top:94px}
 .contact-layout .contact-details{grid-template-columns:1fr;gap:12px}
 .contact-form{padding:26px 20px}
 .contact-form fieldset{gap:20px}
 .contact-form .button-row{display:grid;grid-template-columns:1fr;width:100%}
 .contact-form .button-row .button,.contact-form .preview-handoff .button{width:100%;justify-content:center}
 .contact-form .field input,.contact-form .field select,.contact-form .field textarea{font-size:16px}
}
