.contact-page{background:var(--cream)}
.contact-page__hero{display:grid;min-height:min(64svh,760px);grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);background:var(--espresso);color:var(--cream)}
.contact-page__hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(48px,7vw,120px)}
.contact-page__hero-copy .eyebrow{margin-bottom:18px;color:var(--amber-light)}
.contact-page__hero-copy h1{max-width:11ch;color:var(--cream);font-size:clamp(58px,6vw,88px);line-height:.98}
.contact-page__hero-copy h1 em{color:var(--amber-light)}
.contact-page__hero-copy>p:not(.eyebrow){max-width:43ch;margin-top:24px;color:rgb(241 237 232 / 80%);font-size:18px;line-height:1.7}
.contact-page__hero-copy .button{margin-top:32px;background:var(--amber);border-color:var(--amber);color:var(--ink)}
.contact-page__hero-copy .button:hover{background:var(--amber-light);border-color:var(--amber-light)}
.contact-page__hero-image{position:relative;min-height:100%;overflow:hidden;margin:0;background:#101012}
.contact-page__hero-image:after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(40 26 27 / 18%),transparent 42%),linear-gradient(0deg,rgb(23 18 20 / 40%),transparent 36%);content:"";pointer-events:none}
.contact-page__hero-image img{width:100%;height:100%;min-height:min(64svh,760px);object-position:52% center}
.contact-page__hero-image figcaption{position:absolute;right:28px;bottom:24px;z-index:1;color:var(--cream);font-size:16px;letter-spacing:.08em;text-transform:uppercase}
.contact-page__enquiry{padding-block:clamp(76px,9vw,128px);background:var(--cream)}
.contact-page__layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(48px,8vw,128px)}
.contact-page__intro{position:sticky;top:calc(var(--header-height) + 36px)}
.contact-page__intro>.eyebrow,.contact-page__form-heading .eyebrow{margin-bottom:16px;color:var(--accent)}
.contact-page__intro h2,.contact-page__form-heading h2{font-size:clamp(42px,4.4vw,64px)}
.contact-page__intro h2 em,.contact-page__form-heading h2 em{color:var(--accent)}
.contact-page__intro>p:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:16px;line-height:1.7}
.contact-page__topics{display:grid;gap:12px;margin-top:32px}
.contact-page__topic{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:14px;padding:16px 18px;background:var(--paper);text-decoration:none;transition:background-color 180ms ease,color 180ms ease}
.contact-page__topic:hover{background:var(--sand);color:var(--ink)}
.contact-page__topic strong,.contact-page__topic small{display:block}
.contact-page__topic strong{font-size:16px;font-weight:600}
.contact-page__topic small{margin-top:3px;color:var(--muted);font-size:16px;line-height:1.45}
.contact-page__topic .icon{width:16px;height:16px;color:var(--accent)}
.contact-page__form-panel{min-width:0;padding:clamp(28px,4vw,56px);background:var(--paper)}
.contact-page__form-heading{margin-bottom:30px}
.contact-page__form-heading .eyebrow{margin-bottom:12px}
.contact-page__form-heading>p:not(.eyebrow){margin-top:14px;color:var(--muted)}
.contact-page__form-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.contact-page__field{display:flex;min-width:0;flex-direction:column;gap:8px}
.contact-page__field--half{grid-column:span 1}
.contact-page__field:not(.contact-page__field--half){grid-column:1/-1}
.contact-page__field label{color:var(--ink);font-size:16px;font-weight:600}
.contact-page__field label span{color:var(--accent)}
.contact-page__field input,.contact-page__field select,.contact-page__field textarea{width:100%;min-height:54px;border:1px solid rgb(40 26 27 / 22%);border-radius:0;padding:13px 15px;background:#fffaf4;color:var(--ink);font:inherit;font-size:16px}
.contact-page__field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23171214' stroke-width='1.3'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:48px}
.contact-page__field textarea{min-height:148px;resize:vertical}
.contact-page__field input::placeholder,.contact-page__field textarea::placeholder{color:rgb(98 76 64 / 68%)}
.contact-page__field :disabled{cursor:not-allowed;opacity:.82}
.contact-page__form-bottom{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:24px;margin-top:4px}
.contact-page__form-bottom p{max-width:37ch;color:var(--muted);font-size:12px;line-height:1.55}
.contact-page__form-bottom .button{flex:0 0 auto;background:var(--accent);border-color:var(--accent);color:var(--cream)}
.contact-page__form-bottom .button:disabled{cursor:not-allowed;opacity:.62}
.contact-page :focus-visible{outline-color:var(--accent)}
@media(max-width:1000px){.contact-page__layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px}.contact-page__hero-copy{padding-inline:48px}}
@media(max-width:800px){.contact-page__hero{grid-template-columns:minmax(0,1fr)}.contact-page__hero-copy{padding:72px max(24px,calc((100vw - 680px)/2))}.contact-page__hero-image{grid-row:2;max-height:54svh}.contact-page__hero-image img{min-height:0;aspect-ratio:16/10;object-position:50% 38%}.contact-page__layout{grid-template-columns:minmax(0,1fr)}.contact-page__intro{position:static;max-width:680px}.contact-page__topics{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-page__topic{grid-template-columns:minmax(0,1fr) 18px;align-items:start;padding:18px}}
@media(max-width:620px){.contact-page__hero-copy{padding:64px 24px}.contact-page__hero-copy h1{font-size:clamp(48px,12vw,64px)}.contact-page__topics{grid-template-columns:minmax(0,1fr)}.contact-page__topic{grid-template-columns:minmax(0,1fr) 18px}.contact-page__form-panel{padding:24px 18px}.contact-page__form-preview{grid-template-columns:minmax(0,1fr)}.contact-page__field--half{grid-column:1/-1}.contact-page__form-bottom{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.contact-page__topic{transition:none}}
.contact-page .get-in-touch{display:none}
.contact-page .main-menu-full-width-v1__booking{border-color:var(--amber);background:var(--amber);color:var(--ink)}
.contact-page .main-menu-full-width-v1__booking:hover{border-color:var(--amber-light);background:var(--amber-light);color:var(--ink)}
.contact-page__form-panel .wsf-form{margin:0}
.contact-page__form-panel .wsf-form .wsf-section{min-width:0;margin:0;border:0;padding:0;background:transparent}
.contact-page__form-panel .wsf-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin:0!important}
.contact-page__form-panel .wsf-fields>.wsf-field-wrapper{grid-column:1/-1;min-width:0;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;flex:none!important}
.contact-page__form-panel .wsf-fields>.wsf-field-wrapper.contact-page__field--half{grid-column:span 1}
.contact-page__form-panel .wsf-label{display:block;margin:0 0 8px!important;color:var(--ink)!important;font-family:var(--sans)!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important}
.contact-page__form-panel .wsf-required-wrapper strong{color:var(--accent)!important;font-weight:600!important}
.contact-page__form-panel .wsf-form .wsf-field{width:100%!important;height:54px!important;min-height:54px;border:1px solid rgb(40 26 27 / 22%)!important;border-radius:0!important;padding:13px 15px!important;background:#fffaf4!important;box-shadow:none!important;color:var(--ink)!important;font-family:var(--sans)!important;font-size:16px!important;line-height:1.5!important}
.contact-page__form-panel .wsf-form select.wsf-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23171214' stroke-width='1.3'/%3E%3C/svg%3E")!important;background-position:right 16px center!important;background-repeat:no-repeat!important;padding-right:48px!important}
.contact-page__form-panel .wsf-form textarea.wsf-field{min-height:148px;resize:vertical}
.contact-page .contact-page__form-panel .wsf-form fieldset.wsf-section .wsf-field-wrapper select.wsf-field+span.wsf-select-arrow{display:none!important}
.contact-page__form-panel .wsf-form .wsf-field::placeholder{color:rgb(98 76 64 / 68%)!important;opacity:1}
.contact-page__form-panel .wsf-form .wsf-field:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px rgb(116 45 59 / 14%)!important;outline:0}
.contact-page__form-panel .wsf-fields>.contact-page__form-submit{grid-column:1/-1;display:flex;justify-content:flex-end!important;align-items:center}
.contact-page__form-panel .wsf-fields>.contact-page__form-submit .wsf-button{margin-inline-start:auto!important;margin-inline-end:0!important}
.contact-page__form-panel .wsf-button::after{content:"→";display:inline-block;margin-inline-start:14px;font-size:21px;font-weight:400;line-height:1}
.contact-page__form-panel .wsf-form .wsf-button{width:auto!important;min-height:56px;border:1px solid var(--accent)!important;border-radius:0!important;padding:14px 22px!important;background:var(--accent)!important;box-shadow:none!important;color:var(--cream)!important;font-family:var(--sans)!important;font-size:16px!important;font-weight:500!important;line-height:1.4!important;transition:background-color 180ms ease,border-color 180ms ease}
.contact-page__form-panel .wsf-form .wsf-button:hover{border-color:var(--accent-hover)!important;background:var(--accent-hover)!important}
.contact-page__form-panel .wsf-form .wsf-button:focus-visible{outline:2px solid var(--accent)!important;outline-offset:4px}
.contact-page__form-panel .wsf-form .wsf-field[aria-invalid="true"]{border-color:var(--accent)!important;background:#fffaf4!important;box-shadow:0 0 0 2px rgb(116 45 59 / 12%)!important}
.contact-page__form-panel .wsf-form .wsf-invalid-feedback{display:block;margin:7px 0 0!important;padding-left:12px;border-left:2px solid var(--accent);color:var(--accent)!important;font-family:var(--sans)!important;font-size:14px!important;line-height:1.5!important}
.contact-page__form-panel .wsf-form .wsf-alert-danger{margin:0 0 18px!important;border:0!important;border-left:3px solid var(--accent)!important;border-radius:0!important;padding:14px 18px!important;background:rgb(116 45 59 / 6%)!important;color:var(--accent)!important;font-family:var(--sans)!important;font-size:15px!important;line-height:1.55!important}
.contact-page__form-panel:has([data-wsf-message]) .contact-page__form-heading{display:none}
.contact-page__form-panel [data-wsf-message] .wsf-alert-success{margin:0!important;border:0!important;-webkit-border-start:0!important;border-inline-start:0!important;border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;font-family:var(--sans)!important}
.contact-page__success{display:grid;justify-items:start;gap:14px;padding:clamp(28px,4vw,48px);border-left:4px solid var(--amber);background:var(--cream);color:var(--ink)}
.contact-page__success-mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--amber);color:var(--ink);font-size:26px;line-height:1}
.contact-page__success-eyebrow{margin:2px 0 0!important;color:var(--accent)!important;font-size:13px!important;font-weight:700;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}
.contact-page__success h2{margin:0;color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(36px,4vw,54px);font-weight:500;line-height:1.05}
.contact-page__success>p:not(.contact-page__success-eyebrow){max-width:40ch;margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.contact-page__success-link{display:inline-flex;align-items:center;gap:18px;margin-top:8px;border:1px solid var(--amber);padding:14px 18px;background:var(--amber);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;transition:background-color 180ms ease,border-color 180ms ease}
.contact-page__success-link:hover{border-color:var(--amber-light);background:var(--amber-light);color:var(--ink)}
.contact-page__success-link span{font-size:20px;line-height:1}
.contact-page__success-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:620px){.contact-page__form-panel .wsf-fields{grid-template-columns:minmax(0,1fr)}.contact-page__form-panel .wsf-fields>.wsf-field-wrapper.contact-page__field--half{grid-column:1/-1}.contact-page__form-panel .wsf-fields>.contact-page__form-submit{justify-content:flex-start!important}.contact-page__form-panel .wsf-fields>.contact-page__form-submit .wsf-button{margin-inline-start:0!important;margin-inline-end:auto!important}}
@media(prefers-reduced-motion:reduce){.contact-page__form-panel .wsf-button{transition:none}}
