.contact-heading{padding-block:80px 66px;display:flex;gap:48px;justify-content:space-between;align-items:flex-end}
.contact-heading h1{font-size:clamp(42px,5.2vw,72px);line-height:1.12;max-width:19ch;margin:0 0 26px}
.contact-heading h1 em{font-style:normal;color:var(--accent)}
.contact-heading>div>p{max-width:62ch;font-size:18px;color:var(--text);margin:0}
.contact-person{flex-shrink:0;font-weight:600;margin:0 0 4px}.contact-person span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:4px}
.contact-paper{background:var(--white)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);padding-block:64px 80px}
.contact-layout h2{font-size:clamp(26px,2.5vw,34px);line-height:1.18;margin:0 0 18px}
.contact-form-intro{color:var(--text);font-size:14px;margin:0 0 30px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.contact-field{min-width:0}.contact-field-wide{grid-column:1/-1}
.contact-field label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}
.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid var(--muted);border-radius:0;background:var(--white);color:var(--ink);font:inherit;line-height:1.6;padding:12px 14px;caret-color:var(--accent);transition:border-color .18s var(--ease)}
.contact-field textarea{resize:vertical;min-height:140px}.contact-field input:hover,.contact-field textarea:hover{border-color:var(--ink)}
.contact-field input:user-invalid{border-color:#9a362b}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-privacy{font-size:12px;line-height:1.7;color:var(--muted);max-width:70ch;margin:24px 0}.contact-privacy a{color:var(--accent)}
.contact-form .button{border:0;min-height:54px}.contact-form .button:disabled{opacity:1;background:var(--text);color:var(--white);cursor:wait}
.contact-status{font-size:14px;line-height:1.6;margin:20px 0 0;max-width:65ch}.contact-status:empty{margin:0}.contact-status[data-state="error"]{color:#9a362b}.contact-status[data-state="success"]{color:#245640}
.contact-direct dl{margin:0}.contact-direct dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.contact-direct dt{font-size:12px;color:var(--muted)}.contact-direct dd{margin:0;overflow-wrap:anywhere;font-size:15px}.contact-direct dd a{text-decoration:none}.contact-direct dd a:hover{text-decoration:underline}
.contact-locations{font-size:13px;color:var(--muted);margin:22px 0 12px}.contact-direct>.text-link{font-size:13px}
.contact-booking{background:var(--paper);padding:28px;margin:0 0 36px}.contact-booking h2{font-size:26px}.contact-booking p{font-size:14px;color:var(--text);margin:0 0 24px}.contact-booking .button{font-size:12px;padding:15px 18px;white-space:normal}
@media(max-width:900px){.contact-heading{padding-block:54px 42px}.contact-person{display:none}.contact-layout{gap:40px}.contact-fields{grid-template-columns:1fr}.contact-direct dl>div{display:block}.contact-direct dt{margin-bottom:5px}.contact-booking{padding:22px}}
@media(max-width:700px){.contact-heading{display:block}.contact-heading h1{font-size:42px}.contact-heading>div>p{font-size:16px}.contact-layout{grid-template-columns:1fr;padding-block:40px 48px;gap:50px}.contact-direct{border-top:1px solid var(--line);padding-top:36px}.contact-direct dl>div{display:grid;grid-template-columns:95px 1fr}.contact-booking{margin-bottom:28px}.contact-field input,.contact-field textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea{transition:none}}

.contact-shortcuts{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:24px;font-size:14px}.contact-shortcuts a{display:inline-flex;gap:10px;align-items:center}.contact-shortcuts .icon{width:18px;height:18px}
