.booking-hero{isolation:isolate;background:var(--navy-deep);color:#fff;text-align:center;position:relative;overflow:hidden}.booking-hero__photo{z-index:-2;object-fit:cover}.booking-hero:after{content:"";z-index:-1;background:linear-gradient(#112b4380,#112b43c7);position:absolute;inset:0}.booking-hero__copy{justify-items:center;gap:12px;padding-block:56px 60px;display:grid}.booking-hero__title{letter-spacing:-.03em;font-size:clamp(2.25rem,1.6rem + 3vw,3.75rem);font-weight:800;line-height:1.05}.booking-hero__lede{color:#ffffffe0;max-width:36em;font-size:1.0625rem;line-height:1.55}.booking-hero__offer{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:20px;font-size:1.25rem;display:flex}.booking-hero__offer strong{letter-spacing:-.01em;font-size:1.5rem;font-weight:800}.booking-hero__offer s{color:#ff8a80}.booking-hero__pay{color:#ffffffe0;margin-top:8px;font-size:.9375rem}.offer-save{background:var(--green-bright);color:var(--navy-deep);letter-spacing:.02em;border-radius:999px;padding:4px 10px;font-size:.8125rem;font-weight:700}.booking{gap:24px;padding-block:40px 88px;display:grid}@media (min-width:960px){.booking{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:32px}.booking__aside{top:calc(var(--header-h) + 20px);position:sticky}}.booking-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:clamp(20px,4vw,32px)}.booking-card__title{color:var(--ink);letter-spacing:-.015em;font-size:1.375rem}.booking-card__title:focus,.booking-success h2:focus{outline:none}.booking-steps{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-bottom:16px;padding:16px clamp(16px,3vw,28px)}.booking-steps ol{justify-content:space-between;gap:8px;margin:0;padding:0;list-style:none;display:flex}.booking-steps button,.booking-steps__label{min-height:44px;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-weight:600;display:inline-flex}.booking-steps button{cursor:pointer}.booking-steps button:hover span:last-child{text-decoration:underline}.booking-steps__dot{border:2px solid;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:.9375rem;display:inline-grid}.booking-steps li[data-state=todo]{color:#9aa3ab}.booking-steps li[data-state=current]{color:var(--green-ink)}.booking-steps li[data-state=done]{color:var(--ink)}.booking-steps li[data-state=done] .booking-steps__dot{border-color:var(--green-ink);background:var(--green-ink);color:#fff}@media (max-width:559px){.booking-steps li:not([data-state=current]) .booking-steps__dot+span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.booking-form{gap:22px}.booking-form__lede,.booking-form__aside{color:var(--ink-soft);font-size:.9375rem;line-height:1.55}.booking-form__aside a{color:var(--green-ink);font-weight:600}.booking-form__row{gap:20px;display:grid}@container (min-width:520px){.booking-form__row{grid-template-columns:1fr 1fr}}.booking-form__actions{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.inquiry-form .booking-form__actions button[type=submit]{flex:auto;width:auto;max-width:100%}@container (min-width:520px){.inquiry-form .booking-form__actions button[type=submit]{flex:0 auto;min-width:14em}}.lesson-option{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--green-tint);padding:20px}.lesson-option h2{color:var(--navy);letter-spacing:-.015em;margin-block:0 6px;font-size:1.375rem}.lesson-option h2:focus{outline:none}.lesson-option p{color:var(--ink-soft);font-size:.9375rem;line-height:1.55}.lesson-option .lesson-option__price{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:14px;font-size:1rem;display:flex}.lesson-option__price strong{color:var(--navy);font-size:1.25rem;font-weight:800}.lesson-option__price s{color:#c62828}.lesson-option__perks{gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.lesson-option__perks li{color:var(--ink);gap:8px;font-size:.9375rem;line-height:1.45;display:flex}.lesson-option__perks svg{width:18px;height:18px;color:var(--green-ink);flex:none;margin-top:1px}.choice-group,.day-picker,.time-picker{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.choice-group legend,.day-picker legend,.time-picker legend{color:var(--ink);margin-bottom:10px;padding:0;font-size:.9375rem;font-weight:600}.choice-group__options{flex-wrap:wrap;gap:8px;display:flex}.inquiry-form .choice,.inquiry-form .day-option{cursor:pointer;font-size:1rem;font-weight:500;position:relative}.inquiry-form .choice input,.inquiry-form .day-option input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.choice span{border-radius:var(--radius-sm);background:var(--paper);min-height:46px;color:var(--ink);border:1.5px solid #b9c2bb;justify-content:center;align-items:center;padding:10px 18px;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.choice:hover span{border-color:#8f9a92}.choice:has(input:checked) span{border-color:var(--green-ink);background:var(--green-tint);color:var(--green-ink);font-weight:600}.choice:has(input:focus-visible) span{box-shadow:0 0 0 3px #2c823a59}.day-option:has(input:focus-visible){box-shadow:0 0 0 3px #2c823a59}.day-picker__track{scroll-snap-type:x proximity;overscroll-behavior-x:contain;grid-auto-columns:74px;grid-auto-flow:column;gap:8px;margin-inline:-3px;padding:3px 3px 8px;display:grid;overflow-x:auto}.inquiry-form .day-option{border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);scroll-snap-align:start;border:1.5px solid #b9c2bb;justify-items:center;gap:2px;padding:10px 4px;transition:border-color .15s,background-color .15s,color .15s;display:grid}.day-option:hover{border-color:#8f9a92}.day-option__weekday,.day-option__month{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.day-option__date{font-size:1.375rem;font-weight:700;line-height:1.2}.inquiry-form .day-option:has(input:checked){border-color:var(--navy);background:var(--navy);color:#fff}:is(.day-option:has(input:checked) .day-option__weekday,.day-option:has(input:checked) .day-option__month){color:#fffc}.time-picker__grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;display:grid}.choice--time span{width:100%}.inquiry-form fieldset:disabled{opacity:.6}.booking-summary{gap:12px;display:grid}.booking-summary__map{border-radius:var(--radius-sm);aspect-ratio:16/9;background:var(--paper-soft);overflow:hidden}.booking-summary__map iframe{border:0;width:100%;height:100%;display:block}.booking-summary__place{color:var(--navy);letter-spacing:-.015em;margin-top:8px;font-size:1.375rem}.booking-summary__address{color:var(--ink-soft);text-underline-offset:3px;align-items:flex-start;gap:8px;font-size:.9375rem;line-height:1.45;display:inline-flex}.booking-summary__address svg{color:var(--green-ink);flex:none;margin-top:2px}.booking-summary__title{border-bottom:1px solid var(--line);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:16px;padding-bottom:12px;font-size:.8125rem;font-weight:700}.booking-summary__list{gap:12px;margin:0;display:grid}.booking-summary__list div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.booking-summary__list dt{color:var(--ink-soft);font-size:.9375rem}.booking-summary__list dd{color:var(--ink);text-align:right;margin:0;font-weight:600}.booking-summary__was{color:#c62828;font-weight:400}.booking-summary__list dd small{color:var(--green-ink);margin-top:2px;font-size:.8125rem;font-weight:600;display:block}.booking-summary__list dd[data-empty]{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem}.booking-summary__list s{color:#b42318;margin-left:4px;font-weight:500}.booking-help{border-radius:var(--radius);background:var(--navy);color:#fff;margin-top:16px;padding:clamp(20px,4vw,28px)}.booking-help h2{letter-spacing:-.01em;font-size:1.25rem}.booking-help p{color:#ffffffd1;margin-block:6px 16px;font-size:.9375rem;line-height:1.55}.booking-help ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.booking-help a{border:1px solid var(--navy-line);border-radius:var(--radius-sm);color:#fff;align-items:center;gap:12px;min-height:48px;padding:10px 14px;font-size:.9375rem;text-decoration:none;transition:background-color .15s;display:flex}.booking-help a:hover{background:#ffffff14}.booking-help svg{color:var(--green-bright);flex:none}.booking-success{text-align:center;justify-items:center;gap:12px;padding-block:16px;display:grid}.booking-success__icon{background:var(--green-ink);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.booking-success h2{color:var(--navy);letter-spacing:-.02em;font-size:1.625rem}.booking-success p{max-width:32em;color:var(--ink-soft);line-height:1.6}.booking-success p a{color:var(--green-ink);font-weight:600}.booking-success .button{margin-top:8px}.booking-form__empty{border-radius:var(--radius-sm);background:var(--paper-soft);color:var(--ink-soft);padding:14px 16px;font-size:.9375rem;line-height:1.55}
