/* A form-first contact page. Preserve readable text and clear labels. */
.contact-page .breadcrumbs{margin-top:18px;margin-bottom:0}
.contact-page .contact-opening,.contact-page .enquiry-layout,.contact-page .contact-alternatives{width:min(820px,calc(100% - 96px))}
.contact-opening{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-block:30px 26px}
.contact-opening h1{font-size:clamp(2rem,3vw,2.7rem);line-height:1.15;max-width:18ch;margin:0 0 14px}
.contact-opening h1 em{font-style:normal;color:var(--gold)}
.contact-opening p{font-size:1.125rem;line-height:1.5;color:var(--muted);max-width:42ch}
.booking-link{display:inline-flex;gap:10px;align-items:center;flex-shrink:0;min-height:48px;font-size:1rem;border-bottom:1px solid var(--line);color:var(--gold);padding-block:8px}
.booking-link svg{flex-shrink:0}
.contact-page .enquiry-layout{display:block;padding-block:0 22px}
.contact-page #enquiry{background:#f1ebe0;color:#17343a;padding:28px 32px;border:1px solid #e1c59060}
.contact-page #form-note{font-size:1rem;line-height:1.5;color:#40595b;margin:0 0 20px;max-width:none}
.contact-page #form-note a{color:#5d4622;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.contact-page .enquiry-progress{font-size:.9375rem;line-height:1.5;color:#526465;margin-bottom:8px}
.contact-page #enquiry fieldset{border:0;padding:0;margin:0;min-width:0}
.contact-page #enquiry legend{font-family:'DM Sans',Arial,sans-serif;font-size:1.25rem;font-weight:500;line-height:1.3;padding:0;margin-bottom:20px;color:#17343a}
.contact-page .enquiry-step:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 22px}
.contact-page .enquiry-step .field{margin:0;min-width:0;grid-column:1/-1}
.contact-page .enquiry-step:first-of-type .field:nth-of-type(1),.contact-page .enquiry-step:first-of-type .field:nth-of-type(2){grid-column:auto}
.contact-page .field label{font-size:1rem;line-height:1.5;font-weight:500;color:#17343a;display:block;margin-bottom:7px}
.contact-page .field input:not([type=checkbox]),.contact-page .field select,.contact-page .field textarea{font-family:'DM Sans',Arial,sans-serif;font-size:1.125rem;line-height:1.5;width:100%;min-height:50px;border:1px solid #637977;background:#fffdf8;color:#17343a;border-radius:0;padding:10px 12px}
.contact-page .field select{padding-right:35px}
.contact-page .field textarea{min-height:116px;resize:vertical}
.contact-page .field p{font-size:1rem;line-height:1.5;color:#526465;margin-top:6px}
.contact-page .field input:focus-visible,.contact-page .field select:focus-visible,.contact-page .field textarea:focus-visible{outline:3px solid #8d692f;outline-offset:2px}
.contact-page .field .acknowledgement{display:flex;gap:12px;align-items:flex-start;font-size:1rem;font-weight:400;line-height:1.5;margin-top:2px}
.contact-page .acknowledgement input{width:22px;height:22px;flex-shrink:0;accent-color:#17343a;margin:2px 0 0}
.contact-page .enquiry-controls{margin-top:24px;gap:20px}
.contact-page #enquiry .button{background:#17343a;color:#fff8e9;border-color:#17343a;min-height:50px;font-size:1rem}
.contact-page #enquiry .button:hover{background:#284d50}
.contact-page .enquiry-controls .textlink{color:#17343a;border-color:#637977}
.contact-page #enquiry>button[type=submit]{margin-top:22px}
.contact-page #enquiry-status:empty{display:none}
.contact-page #enquiry-status{font-size:1rem;color:#17343a;margin-top:16px}
.contact-page #enquiry-review p,.contact-page #enquiry-review h2{color:#17343a}
.contact-page #enquiry-review .button{margin-top:20px}
.contact-page .contact-alternatives{padding-block:0 24px}
.contact-page .contact-alternatives .direct-contact{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.contact-page .contact-alternatives .contact-email,.contact-page .contact-alternatives .contact-number{font-size:1rem}
.contact-page .contact-alternatives .contact-detail-line{min-height:48px;gap:10px}
.contact-page .contact-alternatives .contact-mobile{gap:12px}
.contact-page .contact-alternatives .contact-icon{width:48px;height:48px}
.contact-page .footer{margin-top:16px}
.contact-page [hidden]{display:none!important}
@media(max-width:650px){.contact-page .contact-opening,.contact-page .enquiry-layout,.contact-page .contact-alternatives{width:calc(100% - 40px)}.contact-opening{display:block;padding-block:22px}.contact-opening h1{font-size:2rem;max-width:18ch}.booking-link{margin-top:10px}.contact-page #enquiry{padding:24px 20px}.contact-page .enquiry-step:not([hidden]){grid-template-columns:1fr;gap:18px}.contact-page .enquiry-step:first-of-type .field:nth-of-type(1),.contact-page .enquiry-step:first-of-type .field:nth-of-type(2){grid-column:1/-1}.contact-page .contact-alternatives .direct-contact{display:flex;flex-direction:column;align-items:flex-start;gap:0}.contact-page #form-note{margin-bottom:18px}}
@media(forced-colors:active){.contact-page #enquiry,.contact-page .field input,.contact-page .field select,.contact-page .field textarea{border-color:CanvasText}.contact-page #enquiry .button{border:1px solid ButtonText}}

.contact-page .field .acknowledgement span{color:#17343a;opacity:1}
.contact-page .enquiry-controls button.textlink{background:transparent;border:0;border-bottom:1px solid #637977;padding:8px 0;color:#17343a}
