.booking-main{background:#f4f0e5;padding:68px 28px 84px}
.booking-wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,90px);align-items:start}
.booking-intro h1{font-family:"Gill Sans","Gill Sans MT",Calibri,Arial,sans-serif;font-size:clamp(48px,5vw,72px);line-height:1.02;letter-spacing:-.03em;font-weight:500;margin:0 0 28px}
.booking-intro>p:not(.eyebrow){font-size:19px}
.booking-direct{border-top:1px solid #c8c2b4;padding-top:24px;margin-top:36px}
.booking-direct a{font-weight:700;text-underline-offset:4px}
.booking-form{background:#fff;padding:clamp(26px,4vw,50px);box-shadow:0 18px 48px rgba(25,22,15,.08)}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.booking-fields label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700}
.booking-fields label:first-child,.booking-fields .full{grid-column:1/-1}
.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;min-height:49px;border:1px solid #aaa79f;border-radius:0;background:white;color:#1d1d1a;padding:12px 13px;font:17px "Myriad Pro",Myriad,Arial,sans-serif}
.booking-fields textarea{resize:vertical;min-height:140px}
.booking-fields :is(input,select,textarea):focus-visible,.booking-form button:focus-visible{outline:3px solid #b49335;outline-offset:2px}
.optional{color:#69665e;font-weight:400}
.booking-privacy{font-size:14px;color:#59564e;margin:22px 0 12px}
.booking-form .button{border:0;cursor:pointer;margin-top:0}
.booking-form .button:disabled{opacity:.65;cursor:wait}
.booking-status{min-height:1.5em;font-weight:700;margin:14px 0 0}
.booking-status.success{color:#225b31}.booking-status.error{color:#9b2922}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.booking-wrap{grid-template-columns:1fr;gap:28px}.booking-main{padding-top:48px}}
@media(max-width:580px){.booking-main{padding:36px 18px 65px}.booking-fields{grid-template-columns:1fr}.booking-form{padding:24px}.booking-intro h1{font-size:47px}}

#booking-content[hidden]{display:none}
.booking-status.success{margin:0;padding:20px 0;font-weight:400;color:#1d1d1a}
.booking-status.success h2{font-family:"Gill Sans","Gill Sans MT",Calibri,Arial,sans-serif;font-size:clamp(30px,4vw,44px);line-height:1.1;font-weight:500;margin:0 0 24px}
.booking-status.success p{font-size:19px;margin:0 0 18px}
.booking-status.success .button{margin-top:12px}
