.preview-note{display:flex;gap:20px;align-items:center;padding-block:14px;background:var(--surface);font-size:var(--text-xs)}
.preview-note>span{letter-spacing:.12em;white-space:nowrap}.preview-note>a{margin-left:auto;text-decoration:underline;text-underline-offset:4px}
.booking-intro{display:grid;grid-template-columns:1fr .8fr;gap:var(--space-20);padding-block:var(--space-16);align-items:center}
.booking-intro h1{font-size:clamp(3rem,4.8vw,4.8rem);margin-block:20px;line-height:1.04}.booking-intro>div>p:last-child{max-width:440px}.booking-intro figure{position:relative;height:290px;overflow:hidden}.booking-intro img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.booking-intro figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;color:var(--on-dark);background:oklch(22% .002 280 / .72);font-size:var(--text-xs);letter-spacing:.1em}
.schedule-section{padding-bottom:var(--space-20)}.schedule-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.schedule-heading h2{margin-top:12px}.schedule-heading>.text-link{font-size:var(--text-sm)}
.booking-tabs{display:flex;border-bottom:1px solid var(--line);gap:36px}.booking-tabs button{padding:18px 0;color:var(--muted);border-bottom:2px solid transparent}.booking-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.schedule-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:28px}.schedule-toolbar p{font-size:var(--text-sm);margin-top:4px}.schedule-toolbar label{display:flex;gap:14px;align-items:center;font-size:var(--text-sm)}.schedule-toolbar select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;font:inherit;border-radius:0}
.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-picker button{border:1px solid var(--line);padding:15px 8px}.day-picker button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}.day-picker button:hover{border-color:var(--ink)}
.day-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-bottom:16px;border-bottom:1px solid var(--line)}.day-caption>span{font-size:var(--text-xs);color:var(--muted);letter-spacing:.1em}
.class-row{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:24px;padding-block:24px;border-bottom:1px solid var(--line)}.class-time{font-size:var(--text-lg);color:var(--ink)}.class-row h4{font:400 clamp(1.7rem,2.3vw,2.15rem)/1.2 var(--font-display);margin:0 0 6px}.class-row p:not(.class-time){font-size:var(--text-sm)}.class-row .button{min-width:138px;justify-content:center}.schedule-disclaimer{font-size:var(--text-xs);max-width:720px;margin-top:20px}
.empty-classes{padding:48px 24px;background:var(--surface);text-align:center}.empty-classes h4{font-size:var(--text-lg);margin:0 0 8px}
.private-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-block:40px}.private-options h3{font:400 var(--text-xl)/1.2 var(--font-display);margin-block:14px}.private-options p{max-width:440px}.private-options .text-link{margin-top:24px}
.booking-help{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:48px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-help h2{margin-block:12px}.booking-help p{max-width:520px}
#booking-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}#booking-dialog::backdrop{background:oklch(20% .003 280 / .55)}#booking-dialog h2{margin-block:20px}#booking-selection{color:var(--ink);margin-bottom:16px}#booking-dialog .button{margin-top:28px}.booking-fineprint{font-size:var(--text-xs);margin-top:12px}select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:800px){.booking-intro{gap:32px}.schedule-heading{display:block}.schedule-heading>.text-link{margin-top:20px}.class-row{grid-template-columns:95px 1fr auto;gap:16px}.private-options{gap:32px}}
@media(max-width:600px){.preview-note{flex-wrap:wrap;gap:6px 16px}.preview-note p{width:100%;order:3}.preview-note>a{font-size:11px}.booking-intro{grid-template-columns:1fr;padding-block:36px;gap:28px}.booking-intro figure{height:180px}.booking-intro h1{font-size:3.25rem}.schedule-heading h2{font-size:2rem}.booking-tabs{gap:24px;font-size:var(--text-sm)}.schedule-toolbar{display:block}.schedule-toolbar label{margin-top:20px;justify-content:space-between}.day-picker{gap:4px}.day-picker button{padding:12px 2px;font-size:var(--text-xs)}.class-row{grid-template-columns:80px 1fr;gap:12px}.class-row .button{grid-column:2;justify-self:start;padding:12px 18px;min-height:44px}.class-time{align-self:start;padding-top:5px;font-size:var(--text-base)}.day-caption>span{font-size:10px}.private-options{grid-template-columns:1fr}.booking-help{display:block}.booking-help .button{margin-top:24px}#booking-dialog{padding:40px 24px}}
.class-end-time{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:4px;white-space:nowrap}
.live-schedule-note{padding-block:24px;max-width:850px}
.live-schedule-note>p:not(.eyebrow){font-size:var(--text-sm);margin-top:8px}
#requested-class-note{padding:14px 18px;background:var(--surface);border-left:2px solid var(--mauve)}
.live-schedule-frame{background:#fff;color:#252525;min-height:500px;border:1px solid var(--line);padding:20px;color-scheme:light}
.live-schedule-frame iframe{width:100%;border:0;display:block}
.schedule-disclaimer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.live-schedule-frame{padding:8px 0}.preview-note>span{white-space:normal}}
@media(max-width:600px){
  .preview-note>a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-xs)}
}
