[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.enquiry-form{max-width:740px;margin:36px auto 0;text-align:left}
.enquiry-form fieldset{border:0;min-width:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-grid label{display:block;font-size:14px;font-weight:600;color:var(--txt)}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:14px;font:400 16px var(--b);color:var(--txt);background:var(--bg);border:1px solid var(--line-2);border-radius:4px}
.form-grid textarea{min-height:140px;resize:vertical}
.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible,.contact a:focus-visible,.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.form-grid [aria-invalid=true]{border-color:#ff9595}
.form-grid .field-error{display:block;margin-top:6px;color:#ffb4b4;font-size:13px;font-weight:400}
.form-grid .full-width,.form-grid>button{grid-column:1/-1}
.form-grid>button{justify-self:center}
.form-grid .form-note{margin:0;line-height:1.6;color:#b9b9cf}
.form-note a,.form-status a{color:var(--cyan);overflow-wrap:anywhere}
.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status,.availability-status{font-size:15px;line-height:1.6;min-height:1.6em;color:#c9c9dd}
.form-status{margin-top:20px;text-align:center}
.form-status[data-state=error]{color:#ffb4b4}
.form-status[data-state=success]{color:var(--green)}
.enquiry-form button:disabled{cursor:wait;opacity:.55}
.enquiry-form fieldset:disabled{opacity:.65}
.enquiry-form fieldset:disabled button{cursor:not-allowed}
.form-grid .refresh-slots{font-size:12px;padding:10px 16px}
.contact,.booking-content{scroll-margin-top:100px}
.booking-content{max-width:740px;margin:0 auto;text-align:left}
.booking-content .lead{max-width:none}
.consultation-form .form-grid{gap:24px}
.consultation-form .required-mark{color:#ff9595}
.consultation-form [type=submit]{width:100%}
.form-grid select:disabled{color:var(--muted);cursor:not-allowed}
.availability-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px}
.availability-feedback .availability-status:empty{display:none}
.availability-feedback .refresh-slots{flex-shrink:0;margin-left:auto}
.booking-captcha{min-width:0}
.captcha-status{font-size:14px;line-height:1.5;margin:10px 0;color:var(--muted)}
.booking-captcha .captcha-retry{font-size:12px;padding:10px 16px;margin-bottom:12px}
.booking-success{margin:auto;width:min(620px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:36px;border:1px solid var(--green);border-radius:12px;background:var(--bg);color:var(--txt);text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.booking-success::backdrop{background:rgba(0,0,0,.75)}
.booking-success-mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 20px;border:2px solid var(--green);border-radius:50%;color:var(--green);font-size:32px}
.booking-success h2{font-size:34px;line-height:1.2;letter-spacing:0;overflow-wrap:anywhere;margin:0 0 20px}
.booking-success p{font-size:18px;line-height:1.6;margin:0 0 28px;color:#d6d6e5}
.booking-success .btn{min-width:140px}
.booking-success :focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(max-width:600px){.form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.availability-feedback{align-items:flex-start;flex-direction:column}.availability-feedback .refresh-slots{margin-left:0}}
@media(max-width:600px){.booking-success{padding:28px 20px}.booking-success h2{font-size:28px}.booking-success p{font-size:16px}}
