/* Contact additions: preserve the shared master styles and exact brand colours. */
.contact-grid { display:grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(38px,6vw,88px); align-items:start; }
.contact-grid > *, .contact-fields > * { min-width:0; }
.contact-intro .section-title { font-size:clamp(2.4rem,4.2vw,4rem); }
.contact-details { margin:36px 0; }
.contact-details > div { padding:20px 0; border-top:1px solid var(--line); }
.contact-details dt { color:var(--muted); font-size:.9rem; margin-bottom:6px; }
.contact-details dd { margin:0; color:var(--navy); font-size:1.15rem; }
.contact-details a, .contact-privacy a { color:var(--navy); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.contact-next { border-left:3px solid var(--orange); padding-left:24px; }
.contact-next h3 { color:var(--navy); margin-top:0; }
.contact-next p { color:var(--muted); }
.contact-form-panel { padding:clamp(24px,3vw,42px); background:var(--white); border:1px solid var(--line); border-radius:8px; }
.contact-form-panel > h3 { margin:0 0 12px; color:var(--navy); font-size:1.7rem; letter-spacing:-.03em; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; margin-top:28px; }
.field-wide { grid-column:1/-1; }
.field label { display:block; margin-bottom:8px; color:var(--navy); font-size:.95rem; font-weight:700; }
.field label span { font-weight:400; }
.field input, .field select, .field textarea { box-sizing:border-box; width:100%; max-width:100%; min-width:0; border:1px solid #768294; border-radius:3px; background:#fff; color:var(--navy); font:inherit; font-size:1rem; padding:12px; min-height:48px; }
.field textarea { resize:vertical; }
.field input::placeholder { color:#626d7c; opacity:1; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible, .photo-clear:focus-visible, .contact-privacy a:focus-visible, .contact-details a:focus-visible { outline:3px solid var(--navy); outline-offset:3px; }
.field input[type=file] { font-size:.9rem; padding:10px; }
.field input::file-selector-button { margin-right:10px; padding:8px 10px; border:1px solid #768294; background:#f3f1eb; color:var(--navy); border-radius:3px; font:inherit; cursor:pointer; }
.form-help, .contact-privacy { color:var(--muted); font-size:.875rem; line-height:1.65; }
.field .form-help { margin:10px 0 0; }
.contact-preview { margin:22px 0; padding:16px 18px; border-left:3px solid var(--orange); background:#f3f1eb; color:var(--navy); font-size:.9rem; }
.contact-preview p { margin:5px 0 0; }
.contact-privacy { margin:26px 0 22px; }
.contact-submit:disabled { cursor:not-allowed; background:var(--navy); color:#fff; opacity:1; border-color:var(--navy); }
.photo-clear { border:0; padding:10px 0; background:transparent; color:var(--navy); font:inherit; text-decoration:underline; cursor:pointer; }
.footer-contact-link { overflow-wrap:anywhere; }
@media(max-width:1000px) { .contact-grid { grid-template-columns:1fr; } .contact-intro { max-width:740px; } }
@media(max-width:620px) { .contact-fields { grid-template-columns:1fr; } .contact-form-panel { padding:24px 18px; } .contact-grid { gap:34px; } }

.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#enquiry-result { padding:24px; border-left:3px solid var(--orange); background:var(--paper); color:var(--navy); }
#enquiry-result:focus { outline:3px solid var(--navy); outline-offset:4px; }
#enquiry-security { margin:20px 0; min-height:65px; }
#enquiry-security iframe { max-width:100%; }
.privacy-page { padding-top:160px; }
.privacy-copy { max-width:850px; }
.privacy-copy h2 { margin:36px 0 12px; color:var(--navy); }
.privacy-copy a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
