.calendar-booking[hidden]{display:none!important}
.calendar-booking{border-top:1px solid var(--navy);padding-top:24px;margin-bottom:30px;color:var(--navy)}
.calendar-label{font:10px/1.6 var(--mono);letter-spacing:.04em;margin:0 0 15px}
.calendar-booking h3{font:450 clamp(27px,2.8vw,38px)/1.1 var(--sans);letter-spacing:-.04em;margin:0 0 15px}
.calendar-booking .calendar-intro{font:15px/1.6 var(--sans);max-width:44ch;margin:0 0 22px}
.calendar-open{display:flex;justify-content:space-between;width:100%;padding:16px 20px;border:1px solid var(--navy);border-radius:0;background:var(--navy);color:var(--cream);font:500 16px/1.4 var(--sans);cursor:pointer;min-height:54px}
.calendar-open:hover{background:#214356}
.calendar-notice,.calendar-external{font:11px/1.65 var(--sans);margin:12px 0 18px}
.calendar-notice a,.calendar-external{text-decoration:underline;text-underline-offset:4px;color:inherit}
.calendar-booking iframe{display:block;width:100%;height:760px;border:0;background:white;margin-top:20px}
.calendar-external{display:block;margin-top:16px}
.calendar-alternative{border-top:1px solid var(--navy);padding-top:20px}
.calendar-alternative>summary{font:500 14px/1.5 var(--sans);letter-spacing:0;padding:0;cursor:pointer;display:list-item;border:0}
.calendar-alternative [data-calendar-fallback]{margin-top:25px}
.calendar-booking :focus-visible,.calendar-alternative>summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:760px){.calendar-booking iframe{height:780px}}
@media print{.calendar-booking,.calendar-alternative{display:none!important}}
