/* Contact page: a clear invitation, direct channels, and one event brief. */
.contact-hero{padding:170px 0 70px;min-height:620px;display:flex;align-items:center;background:var(--black)}
.contact-hero-image,.contact-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.contact-hero-image{object-position:75% 40%}.contact-hero-shade{z-index:-1;background:linear-gradient(90deg,#110e0df5 0%,#201014e0 43%,#1b0e126b 78%),linear-gradient(0deg,#11100f70,transparent)}
.contact-hero .contact-hero-content{position:relative}.contact-hero h1{font-size:clamp(3.4rem,5.7vw,5.4rem);max-width:900px;line-height:1.06;letter-spacing:-.045em}.contact-hero .eyebrow{margin:0 0 22px;font-size:.65rem;max-width:none;color:var(--gold)}.contact-hero .lead{max-width:510px;line-height:1.75;font-size:.98rem;margin-top:25px;color:#e3d6c7}.contact-hero .button{margin-top:28px}
.contact-options{border-bottom:1px solid var(--line);padding-block:32px}.contact-options-grid{display:grid;grid-template-columns:1fr 1fr 1fr}.contact-options-grid>a{display:block;text-decoration:none;padding:5px 30px;border-left:1px solid #cdbfaa;min-width:0}.contact-options-grid>a:first-child{padding-left:0;border:0}.contact-options-grid>a:last-child{padding-right:0}.contact-option-label{display:flex;justify-content:space-between;gap:10px;font-size:.6rem;font-weight:700;letter-spacing:.13em;color:var(--red)}.contact-options-grid strong{display:block;font:1.6rem/1.25 var(--serif);margin-top:14px;overflow-wrap:anywhere;letter-spacing:-.025em}.contact-options-grid>a>span:last-child{display:block;color:#655d52;font-size:.76rem;line-height:1.6;margin-top:10px}.contact-options-grid>a:hover strong{color:var(--red)}
.contact-booking-section{padding-block:76px 85px;scroll-margin-top:25px}.contact-booking-section .booking-layout{grid-template-columns:.85fr 1.15fr;gap:85px}.contact-booking-section .booking-aside{position:static}.contact-booking-section .booking-aside h2{font-size:clamp(2.9rem,4.3vw,4.1rem)}.contact-booking-section .booking-aside>p{max-width:425px;font-size:.93rem;line-height:1.8}.contact-planning-steps{list-style:none;padding:0;margin:32px 0}.contact-planning-steps>li{display:flex;gap:20px;padding:23px 0;border-top:1px solid #cdbfaa}.contact-planning-steps>li>span{font-size:.65rem;letter-spacing:.08em;color:var(--red);padding-top:5px}.contact-planning-steps h3{font-size:1.4rem;line-height:1.2}.contact-planning-steps p{font-size:.82rem;line-height:1.75;color:#655d52;margin-top:9px}.contact-person{display:flex;align-items:center;gap:18px;padding:22px 0;border-block:1px solid #cdbfaa}.contact-person img{width:64px;height:78px;object-fit:cover;object-position:center 25%}.contact-person strong{display:block;font:1.3rem/1.3 var(--serif)}.contact-person span{display:block;font-size:.72rem;line-height:1.6;color:#655d52;margin-top:6px}
.contact-booking-section .booking-panel{padding:38px;background:var(--paper);border:1px solid #cdbfaa;border-top:3px solid var(--red);min-width:0;box-shadow:0 16px 45px #35201809}.contact-booking-section .booking-panel>.eyebrow{color:var(--red);font-size:.6rem;letter-spacing:.15em}.contact-booking-section .step-indicator{gap:12px;margin:22px 0 28px}.contact-booking-section .step-indicator li{font-size:.6rem;line-height:1.5;padding-bottom:11px;letter-spacing:.02em}.contact-booking-section #booking-form legend{font-size:1.8rem;line-height:1.2;margin-bottom:26px}.contact-booking-section .form-grid{gap:20px}.contact-booking-section .form-field input,.contact-booking-section .form-field select,.contact-booking-section .form-field textarea{background:#fffdf9;min-height:51px}.contact-booking-section .form-field label{font-size:.74rem}.contact-booking-section .form-field label span{font-size:.64rem}.contact-booking-section .local-form-note{font-size:.66rem;color:#655d52;line-height:1.7}.contact-booking-section .form-actions .button{letter-spacing:.025em}
@media(max-width:1100px){.contact-booking-section .booking-layout{gap:40px}.contact-options-grid>a{padding-inline:22px}.contact-options-grid strong{font-size:1.4rem}.contact-booking-section .booking-panel{padding:30px}.contact-hero{min-height:590px}}
@media(max-width:800px){.contact-hero{padding:145px 0 60px;min-height:560px}.contact-hero h1{font-size:clamp(3rem,7vw,4.4rem)}.contact-hero .lead{max-width:470px}.contact-hero-shade{background:linear-gradient(90deg,#110e0df0,#241117bd 65%,#1b0e1290)}.contact-options-grid strong{font-size:1.2rem}.contact-options-grid>a{padding-inline:18px}.contact-options-grid>a>span:last-child{font-size:.7rem}.contact-option-label{font-size:.53rem;letter-spacing:.08em}.contact-booking-section{padding-block:55px 65px}.contact-booking-section .booking-layout{grid-template-columns:1fr;gap:35px}.contact-booking-section .booking-aside>p{max-width:630px}.contact-planning-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px}.contact-planning-steps>li{gap:12px;padding-block:20px}.contact-planning-steps h3{font-size:1.2rem}.contact-person{max-width:460px}.contact-booking-section .booking-panel{max-width:none}}
@media(max-width:520px){.contact-hero{padding:135px 0 52px;min-height:560px}.contact-hero h1{font-size:clamp(2.6rem,10.6vw,3.6rem)}.contact-hero .eyebrow{font-size:.56rem;letter-spacing:.13em}.contact-hero .lead{font-size:.9rem}.contact-hero-image{object-position:61% center}.contact-hero .button{font-size:.68rem;padding-inline:16px}.contact-options{padding-block:10px}.contact-options-grid{grid-template-columns:1fr}.contact-options-grid>a,.contact-options-grid>a:first-child,.contact-options-grid>a:last-child{border-left:0;padding:22px 0;border-bottom:1px solid #cdbfaa}.contact-options-grid>a:last-child{border-bottom:0}.contact-options-grid strong{font-size:1.5rem;margin-top:9px}.contact-option-label{font-size:.58rem}.contact-options-grid>a>span:last-child{font-size:.73rem;margin-top:7px}.contact-booking-section{padding-block:45px 55px}.contact-booking-section .booking-aside h2{font-size:2.9rem}.contact-planning-steps{display:block}.contact-planning-steps>li{padding-block:19px;gap:18px}.contact-planning-steps h3{font-size:1.35rem}.contact-booking-section .booking-panel{padding:27px 20px;margin-inline:0}.contact-booking-section .step-indicator{gap:7px}.contact-booking-section .step-indicator li{font-size:.53rem}.contact-booking-section #booking-form legend{font-size:1.55rem}.contact-booking-section .form-grid{grid-template-columns:1fr}.contact-booking-section .form-actions .button{font-size:.65rem;padding-inline:14px;gap:8px}.contact-booking-section .booking-summary dl{grid-template-columns:1fr;gap:5px}}
@media(max-width:800px){.contact-booking-section .booking-panel{order:-1}}
/* Keep the profile and booking note below both columns. */
.contact-booking-section .booking-layout{row-gap:30px}
.booking-reassurance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:36px;border-block:1px solid #cdbfaa;padding:22px 0}
.booking-reassurance .contact-person{border:0;padding:0;flex:1}
.booking-reassurance>.small-text{max-width:340px;margin:0;font-size:.78rem;line-height:1.7}
@media(max-width:800px){.booking-reassurance{flex-direction:column;gap:20px;text-align:center}.booking-reassurance .contact-person{flex-direction:column;text-align:center}.booking-reassurance>.small-text{max-width:340px}}
