.contact-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);min-height:calc(100vh - 88px)}
.contact-intro{padding:clamp(65px,10vw,150px) clamp(20px,5vw,90px);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.contact-intro h1{font-size:clamp(76px,10vw,155px);margin:20px 0 30px}
.contact-intro h1 em{font-style:normal;color:var(--orange)}
.contact-lead{max-width:480px;margin:0;color:var(--cream);font-size:clamp(18px,2vw,25px);line-height:1.35}
.contact-intro blockquote{max-width:440px;margin:clamp(50px,8vw,120px) 0 0;padding:0 0 0 22px;border-left:2px solid var(--orange);font-size:clamp(19px,2vw,28px);line-height:1.35}
.contact-intro cite{display:block;margin-top:14px;color:var(--orange);font-size:11px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.contact-direct{margin-top:auto;padding-top:48px;display:grid;gap:10px}
.contact-direct span{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.contact-direct a{color:var(--cream);font-size:22px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:7px}
.contact-direct a:hover{border-color:var(--orange);color:var(--orange)}
.contact-form-panel{padding:clamp(65px,8vw,120px) clamp(20px,5vw,80px);background:var(--ink2)}
.contact-form-panel h2{margin:20px 0 45px;font-size:clamp(48px,6vw,86px);line-height:.84}
.contact-form{max-width:100%}
@media(max-width:900px){.contact-page{grid-template-columns:1fr}
.contact-intro{border-right:0;border-bottom:1px solid var(--line)}
.contact-direct{margin-top:55px}
.contact-form-panel{padding-bottom:70px}
}


.form-required-note{margin:0;color:var(--muted);font-size:12px}
.required-mark{color:var(--orange)}
.form-trap{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}
.form-errors{padding:18px;border:1px solid var(--orange);background:rgba(232,93,38,.08);color:var(--cream)}
.form-errors[hidden],.field-error[hidden]{display:none}
.form-errors p{margin:0 0 10px;font-weight:650}
.form-errors ul{margin:0;padding-left:20px}
.form-errors a,.field-error,.form-note a,.form-response-links>a:not(.button){color:var(--cream);text-underline-offset:4px}
.form-errors a:hover,.form-note a:hover,.form-response-links>a:not(.button):hover{color:var(--orange)}
.field-error{margin:0;color:#ff9a72;font-size:13px;line-height:1.4}
.contact-form [aria-invalid="true"]{border-color:#ff9a72;box-shadow:0 0 0 1px #ff9a72}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form select:focus-visible,.form-errors:focus-visible,.form-status:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.form-status{min-height:1.5em}
.form-status:empty{min-height:0}
.form-status[data-state="success"]{color:var(--cream);border-left:3px solid var(--orange);padding-left:14px}
.form-status[data-state="error"]{color:#ffb195;border-left:3px solid #ff9a72;padding-left:14px}
.form-status[data-state="verification"]{color:#ffb195;border-left:3px solid #ff9a72;padding-left:14px}
.form-status[data-state="pending"]{color:var(--cream)}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.turnstile-field{display:block;min-width:0}
.turnstile-field .cf-turnstile{width:100%;max-width:420px}
.turnstile-note{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.contact-submit{border:0;cursor:pointer}
.form-actions .contact-submit{min-width:min(100%,376px);min-height:74px;padding-inline:32px;font-family:var(--body);font-size:14px;font-weight:800;letter-spacing:.14em;line-height:1}
.contact-submit:disabled{cursor:wait;opacity:.72;transform:none!important;box-shadow:none!important}
.contact-form[aria-busy="true"] input,.contact-form[aria-busy="true"] textarea,.contact-form[aria-busy="true"] select{opacity:.82}
.contact-result-page{min-height:calc(100vh - 88px);padding:clamp(60px,9vw,120px) clamp(20px,5vw,80px)}
.contact-result{max-width:920px}
.contact-result h1{font-size:clamp(64px,10vw,140px);margin:22px 0 36px}
.contact-result .contact-correction-form{margin-top:45px}
.form-response-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:36px}


@media(max-width:480px){.form-actions,.form-response-links{align-items:stretch;flex-direction:column}
.form-actions .button,.form-response-links .button{width:100%}
.form-response-links>a:not(.button),.form-note a,.form-status,.field-error{overflow-wrap:anywhere}
.contact-result-page{padding-top:50px}
}
.contact-booking-link{margin-top:24px}.contact-booking-link .button{font-size:11px}
.form-privacy-notice{gap:0;padding:18px 0 2px;border-top:1px solid var(--line)}.form-privacy-notice p{margin:0;max-width:650px;color:var(--muted);font-size:13px;line-height:1.48}.form-privacy-notice p + p{margin-top:8px}.form-privacy-notice p:last-child{color:var(--cream)}
