/* Contact and privacy refinements; existing visual tokens and hero stay intact. */
.contact-page .contact-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.contact-page .contact-details, .contact-page .enquiry-form { min-width:0; }
.contact-page .contact-office { margin-top:32px; }
.contact-page .enquiry-form h2 { font-size:24px; margin:0 0 12px; }
.enquiry-form fieldset { border:0; padding:0; margin:24px 0 0; min-width:0; }
.enquiry-form .field { min-width:0; }
.enquiry-form .field :is(input,select,textarea) { border-color:#738084; }
.enquiry-form .field [aria-invalid=true] { border-color:var(--site-accent-text); }
.enquiry-form .field select { background-color:var(--paper); }
.enquiry-form :is(input,select,textarea,button):focus-visible { outline:2px solid var(--site-accent-text); outline-offset:4px; }
.enquiry-form :is(input,select,textarea) { scroll-margin-block:120px 30px; }
.enquiry-form .site-button { min-width:180px; min-height:48px; }
.enquiry-form .site-button:disabled { cursor:default; opacity:.75; }
.enquiry-form .privacy-note { font-size:14px; }
.enquiry-form .form-status { scroll-margin-block:120px 30px; overflow-wrap:anywhere; }
.enquiry-form .form-alternatives { font-size:14px; line-height:1.8; }
.enquiry-form .form-alternatives a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.privacy-page .policy-body section { scroll-margin-top:120px; }
.privacy-page .policy-updated { margin-bottom:28px; font-size:14px; color:var(--site-muted); }
@media(max-width:760px) {
 .contact-page .contact-grid { grid-template-columns:minmax(0,1fr); }
}
