.contact-page{background:var(--mm-c-bab0a0,#bab0a0)}
.contact-enquiry-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,80px);align-items:start}
.contact-intro h1{font-size:clamp(46px,7vw,90px);line-height:1;letter-spacing:-.045em;margin:20px 0 30px}
.contact-page .direct{margin-bottom:25px}
.contact-page .direct a{font-size:var(--body-copy-size);line-height:var(--body-copy-leading);text-decoration:none;overflow-wrap:anywhere}
.contact-page .contact-value{text-decoration:underline}
.contact-page .contact-form h2{margin:0 0 10px;font-size:30px}
.contact-page .contact-form>label{margin:0;gap:10px}
.contact-page .contact-form textarea{font:inherit;resize:vertical;min-height:150px;width:100%;color:var(--purple)}
.contact-page .contact-form .pill{align-self:flex-start}
.contact-page .contact-form-note{margin:0}
.contact-page #contact-enquiry-status{margin:0;min-height:1.5em}
.contact-booking{background:var(--mm-c-d0c8bc,#d0c8bc);scroll-margin-top:95px}
.contact-booking-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 550ms cubic-bezier(.22,.61,.36,1),opacity 550ms cubic-bezier(.22,.61,.36,1)}
.contact-booking-reveal.is-open{grid-template-rows:1fr;opacity:1}
.contact-booking-inner{min-height:0;overflow:hidden}
.contact-booking-inner>.study-section{padding:40px 0 0!important}
@media(max-width:900px){.contact-enquiry-layout{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-booking-reveal{transition:none}}

.home-contact-actions{align-self:center}
.contact-page .contact-form label.booking-consent{flex-direction:row;align-items:flex-start;gap:12px}

.contact-enquiry{scroll-margin-top:95px}

.contact-booking .booking-layout.booking-panel{background:transparent;padding-top:0;padding-left:0;padding-right:0}

html.contact-calendar-entry{scroll-behavior:auto}
.contact-calendar-entry body{visibility:hidden}
.contact-calendar-entry .contact-booking-reveal{transition:none}

.contact-calendar-entry .mm-layout-frame{transition:none}

.contact-booking:has(#contact-booking-toggle[aria-expanded=true]){min-height:100vh}

.contact-booking-panel{--booking-content-gap:clamp(24px,2.7vw,42px);background:transparent;padding:0}
@media(max-width:900px){.contact-booking-panel{--booking-content-gap:22px}}
@media(max-width:600px){.contact-booking-panel{--booking-content-gap:20px}}

.contact-booking-panel .booking-layout{column-gap:var(--booking-content-gap)}
.contact-booking-panel #booking-form .booking-person-fields{column-gap:var(--booking-content-gap)}
