.cat-chips{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.cat-chip{justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target);padding:0 var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);display:inline-flex}.cat-chip:hover{background:var(--color-bg-tertiary)}.cat-chip[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--color-bg-secondary));color:var(--color-text-primary)}.cat-chip--teal[aria-pressed=true]{border-color:var(--color-teal);background:var(--color-teal);color:var(--color-bg-primary)}.cat-chip__count{border-radius:var(--radius-full);background:var(--accent);min-width:20px;height:20px;color:var(--accent-contrast);font-size:var(--font-size-xs);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.cat-check{align-self:flex-start;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-base);cursor:pointer;user-select:none;display:inline-flex;position:relative}.cat-check__input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.cat-check__box{box-sizing:border-box;border:var(--border-width-focus) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:#0000;width:18px;height:18px;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cat-check:hover .cat-check__box{border-color:var(--accent)}.cat-check__input:checked+.cat-check__box{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.cat-check__input:focus-visible+.cat-check__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent)}.cat-badge{padding:1px var(--spacing-sm);border:var(--border-width) solid transparent;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-base);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.cat-badge--new{background:var(--accent);color:var(--accent-contrast)}.cat-badge--open{background:var(--color-success-light);color:var(--color-success-dark)}.cat-badge--later{background:var(--color-amber-light);color:var(--color-amber-dark)}.cat-badge--closed{border-color:var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-muted)}.cat-badge--beg{background:var(--color-teal-light);color:var(--color-teal-dark)}.cat-badge--mid{background:var(--color-info-light);color:var(--color-secondary-hover)}.cat-badge--pro{background:var(--color-violet-light);color:var(--color-violet-dark)}.cat-cta{min-height:var(--tap-target);padding:0 var(--spacing-md);border:var(--border-width-focus) solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-contrast);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.cat-cta:hover{background:color-mix(in srgb, var(--accent) 90%, #000);border-color:color-mix(in srgb, var(--accent) 90%, #000);color:var(--accent-contrast)}.cat-cta--ghost{border-color:var(--color-action-border);color:var(--color-text-primary);background:0 0}.cat-cta--ghost:hover{border-color:var(--color-text-secondary);background:var(--color-bg-tertiary);color:var(--color-text-primary)}.cat-photo-btn{color:inherit;font:inherit;cursor:zoom-in;background:0 0;border:none;padding:0;display:block;position:relative}.cat-photo-badge{right:var(--spacing-xs);bottom:var(--spacing-xs);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-black) 55%, transparent);width:24px;height:24px;color:var(--color-white);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.cat-photo-badge--lg{right:var(--spacing-sm);bottom:var(--spacing-sm);width:36px;height:36px}.cat-photo-badge--sm{width:20px;height:20px;bottom:-2px;right:-2px}.cat-note{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);justify-items:start;display:grid}.cat-note p{color:var(--color-text-secondary);margin:0}.cat-skeleton{gap:var(--spacing-sm);display:grid}.cat-skeleton__line{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 50%, var(--color-bg-secondary) 100%);background-size:200% 100%;height:72px;animation:1.4s ease-in-out infinite cat-shimmer}.cat-skeleton__line--short{width:60%;height:44px}@keyframes cat-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.cat-skeleton__line{animation:none}}.cat-icon[data-v-f1bae8c4]{flex-shrink:0;display:block}.ribbon[data-v-1d8b5ecd]{min-width:0;margin:0 calc(-1 * var(--spacing-md));padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm);border-bottom:var(--border-width) solid var(--color-border-light)}.ribbon__scroller[data-v-1d8b5ecd]{gap:var(--spacing-xs);scrollbar-width:thin;padding-block:2px;padding-inline:var(--spacing-lg);scroll-padding-inline:var(--spacing-lg);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--spacing-lg), #000 calc(100% - var(--spacing-lg)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--spacing-lg), #000 calc(100% - var(--spacing-lg)), transparent);display:flex;overflow-x:auto}.ribbon__day[data-v-1d8b5ecd]{min-width:3rem;min-height:var(--tap-target);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.ribbon__day--active[data-v-1d8b5ecd]{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--color-text-primary)}.ribbon__num[data-v-1d8b5ecd]{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);position:relative}.ribbon__num--relative[data-v-1d8b5ecd]{font-size:var(--font-size-sm);line-height:calc(var(--font-size-md) * var(--line-height-tight));text-transform:lowercase}.ribbon__dot[data-v-1d8b5ecd]{background-color:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:-7px}.ribbon__day--active .ribbon__dot[data-v-1d8b5ecd]{background-color:var(--color-text-primary)}.ribbon__day--muted[data-v-1d8b5ecd]{color:var(--color-text-disabled)}.ribbon__day--muted .ribbon__num[data-v-1d8b5ecd]{font-weight:var(--font-weight-medium)}.ribbon__day--active.ribbon__day--muted[data-v-1d8b5ecd]{color:var(--color-text-primary)}.ribbon__day--disabled[data-v-1d8b5ecd]{color:var(--color-text-disabled);cursor:default}.ribbon__month[data-v-1d8b5ecd]{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);writing-mode:vertical-rl;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0 2px;line-height:1;display:flex;transform:rotate(180deg)}.ribbon__month--split[data-v-1d8b5ecd]{margin-left:var(--spacing-xs);border-right:var(--border-width) solid var(--color-border)}.ribbon__sub[data-v-1d8b5ecd]{color:inherit;font-size:var(--font-size-xs);text-transform:lowercase;opacity:.85}.sheet[data-v-1b82327f]{z-index:var(--z-modal);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__overlay[data-v-1b82327f]{animation:sheet-fade-1b82327f var(--transition-slow) both;background:#0000008c;position:absolute;inset:0}.sheet__panel[data-v-1b82327f]{width:100%;max-width:560px;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-bg-secondary);border-top:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:var(--color-text-primary);animation:sheet-up-1b82327f var(--transition-slow) both;outline:none;flex-direction:column;display:flex;position:relative;box-shadow:0 -10px 30px #00000080}.sheet__panel[data-v-1b82327f]:focus-visible{outline:var(--border-width-focus) solid var(--accent);outline-offset:-2px}.sheet__handle[data-v-1b82327f]{width:40px;height:4px;margin:var(--spacing-sm) auto 0;border-radius:var(--radius-full);background:var(--color-gray-500);flex-shrink:0}.sheet__header[data-v-1b82327f]{align-items:center;gap:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm) calc(var(--tap-target) + var(--spacing-md)) var(--spacing-base) var(--spacing-md);flex-wrap:wrap;flex-shrink:0;display:flex;position:relative}.sheet__title[data-v-1b82327f]{font-size:var(--font-size-lg);line-height:var(--line-height-tight);overflow-wrap:anywhere;margin:0}.sheet__close[data-v-1b82327f]{top:0;right:var(--spacing-sm);width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.sheet__close[data-v-1b82327f]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sheet__body[data-v-1b82327f]{overscroll-behavior:contain;padding:0 var(--spacing-md) var(--spacing-lg);flex:1;overflow-y:auto}.sheet__footer[data-v-1b82327f]{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);border-top:var(--border-width) solid var(--color-divider);flex-shrink:0}@media (width>=720px){.sheet[data-v-1b82327f]{padding:var(--spacing-xl);align-items:center}.sheet__panel[data-v-1b82327f]{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);max-width:520px;max-height:90vh;overflow:hidden}.sheet__handle[data-v-1b82327f]{display:none}.sheet__header[data-v-1b82327f]{padding-top:var(--spacing-md)}.sheet__close[data-v-1b82327f]{top:var(--spacing-xs)}}@keyframes sheet-up-1b82327f{0%{transform:translateY(100%)}}@keyframes sheet-fade-1b82327f{0%{opacity:0}}@keyframes sheet-pop-1b82327f{0%{opacity:0;transform:translateY(16px)}}@media (width>=720px){.sheet__panel[data-v-1b82327f]{animation-name:sheet-pop-1b82327f}}@media (prefers-reduced-motion:reduce){.sheet__overlay[data-v-1b82327f],.sheet__panel[data-v-1b82327f]{animation:none}}.filters[data-v-b6732da3]{gap:var(--spacing-lg);display:grid}.filters__section[data-v-b6732da3]{border:none;min-width:0;margin:0;padding:0}.filters__label[data-v-b6732da3]{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:0}.filters__style[data-v-b6732da3]{text-transform:uppercase}.filters__wrap[data-v-b6732da3]{white-space:normal;text-align:left}.filters__level--beg[aria-pressed=true][data-v-b6732da3]{border-color:var(--color-teal);background:var(--color-teal);color:var(--color-bg-primary)}.filters__level--mid[aria-pressed=true][data-v-b6732da3]{border-color:var(--color-info);background:var(--color-info);color:var(--color-bg-primary)}.filters__level--pro[aria-pressed=true][data-v-b6732da3]{border-color:var(--color-violet-dark);background:var(--color-violet-dark);color:var(--color-bg-primary)}.filters__nothing[data-v-b6732da3]{margin:0 0 var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filters__footer[data-v-b6732da3]{gap:var(--spacing-sm);display:flex}.filters__apply[data-v-b6732da3]{flex:1}.photo-viewer[data-v-7cdbc629]{z-index:var(--z-modal-above);overscroll-behavior:contain;position:fixed;inset:0}.photo-viewer__backdrop[data-v-7cdbc629]{background:color-mix(in srgb, var(--color-black) 92%, transparent);position:absolute;inset:0}.photo-viewer__stage[data-v-7cdbc629]{padding:calc(var(--tap-target) + var(--spacing-md) + env(safe-area-inset-top,0px)) var(--spacing-md) calc(var(--spacing-xl) + env(safe-area-inset-bottom,0px));justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.photo-viewer__img[data-v-7cdbc629]{object-fit:contain;border-radius:var(--radius-lg);-webkit-user-drag:none;max-width:100%;max-height:100%;display:block}.photo-viewer__error[data-v-7cdbc629]{color:var(--color-white);font-size:var(--font-size-sm);margin:0}.photo-viewer__close[data-v-7cdbc629]{top:calc(var(--spacing-sm) + env(safe-area-inset-top,0px));right:var(--spacing-sm);width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-white) 14%, transparent);color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.photo-viewer__close[data-v-7cdbc629]:hover{background:color-mix(in srgb, var(--color-white) 24%, transparent)}.photo-viewer-enter-active[data-v-7cdbc629],.photo-viewer-leave-active[data-v-7cdbc629]{transition:opacity var(--transition-base)}.photo-viewer-enter-from[data-v-7cdbc629],.photo-viewer-leave-to[data-v-7cdbc629]{opacity:0}@media (prefers-reduced-motion:reduce){.photo-viewer-enter-active[data-v-7cdbc629],.photo-viewer-leave-active[data-v-7cdbc629]{transition:none}}.prices[data-v-ce8edf77]{gap:var(--spacing-xs);display:grid}.prices__list[data-v-ce8edf77]{gap:var(--spacing-xs);margin:0;padding:0;list-style:none;display:grid}.prices__group[data-v-ce8edf77]{margin:var(--spacing-sm) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.prices__group[data-v-ce8edf77]:first-child{margin-top:0}.prices--page .prices__group[data-v-ce8edf77]{margin:var(--spacing-lg) 0 var(--spacing-xs);color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.prices--page .prices__group[data-v-ce8edf77]:first-child{margin-top:0}.prices__row[data-v-ce8edf77]{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);display:flex}.prices__name[data-v-ce8edf77]{min-width:0;display:grid}.prices__title[data-v-ce8edf77]{color:var(--color-text-primary);overflow-wrap:anywhere}.prices__meta[data-v-ce8edf77]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.prices__price[data-v-ce8edf77]{color:var(--color-text-primary);font-weight:var(--font-weight-bold);white-space:nowrap;flex-shrink:0}.avatar[data-v-a69f0bf8]{border-radius:var(--radius-full);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-weight:var(--font-weight-bold);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar--md[data-v-a69f0bf8]{width:44px;height:44px;font-size:var(--font-size-md)}.avatar--lg[data-v-a69f0bf8]{border-radius:var(--radius-xl);width:88px;height:88px;font-size:var(--font-size-2xl)}.avatar__img[data-v-a69f0bf8]{object-fit:cover;width:100%;height:100%}.group[data-v-c071e671]{gap:var(--spacing-lg);display:grid}.group__photo-btn[data-v-c071e671]{border-radius:var(--radius-lg);width:100%}.group__photo[data-v-c071e671]{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);background:var(--color-bg-tertiary);width:100%;height:auto}.group__head[data-v-c071e671]{gap:var(--spacing-sm);display:grid}.group__chips[data-v-c071e671]{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.group__chip[data-v-c071e671]{padding:var(--spacing-xs) var(--spacing-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.group__summary[data-v-c071e671]{gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;padding:0;list-style:none;display:grid}.group__summary li[data-v-c071e671]{align-items:center;gap:var(--spacing-xs);overflow-wrap:anywhere;min-width:0;display:flex}.group__summary li[data-v-c071e671]:first-child{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.group__summary-icon[data-v-c071e671]{color:var(--accent);flex-shrink:0}.group__description[data-v-c071e671]{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:pre-line;overflow-wrap:anywhere;margin:0;line-height:1.5}.group__hint[data-v-c071e671]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.group__section[data-v-c071e671]{gap:var(--spacing-sm);display:grid}.group__label[data-v-c071e671]{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:0}.group__lessons[data-v-c071e671]{border:0;min-width:0;margin:0;padding:0}.group__lessons>.group__label[data-v-c071e671]{margin-bottom:var(--spacing-sm);padding:0}.group__lesson[data-v-c071e671]{min-height:calc(var(--tap-target) + var(--spacing-md));padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);cursor:pointer;gap:2px;display:grid;position:relative}.group__lesson-list[data-v-c071e671]{gap:var(--spacing-sm);margin:0;padding:0;list-style:none;display:grid}.group__lesson--static[data-v-c071e671]{cursor:default;min-height:0}.group__lesson--selected[data-v-c071e671]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--color-bg-tertiary))}.group__lesson[data-v-c071e671]:has(.group__radio:focus-visible){outline:var(--border-width-focus) solid var(--accent);outline-offset:var(--border-width-focus)}.group__radio[data-v-c071e671]{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.group__lesson-when[data-v-c071e671]{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.group__lesson-sub[data-v-c071e671]{color:var(--color-text-muted);font-size:var(--font-size-sm)}.group__teacher[data-v-c071e671]{align-items:center;gap:var(--spacing-sm);min-height:var(--tap-target);padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex}.group__teacher-body[data-v-c071e671]{flex:1;min-width:0;display:grid}.group__teacher-name[data-v-c071e671]{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.group__teacher-styles[data-v-c071e671]{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.group__chevron[data-v-c071e671]{color:var(--color-text-muted);flex-shrink:0}.group__muted[data-v-c071e671]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.group__cta[data-v-c071e671]{gap:var(--spacing-xs);display:grid}.group__cta-btn[data-v-c071e671]{width:100%}.group__cta-note[data-v-c071e671]{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;margin:0}.group__cta-note--lead[data-v-c071e671]{margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);text-align:left}.row[data-v-0edb31f5]{background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast);display:flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.row[data-v-0edb31f5]:hover{border-color:var(--color-action-border)}}.row--muted .row__main[data-v-0edb31f5]{opacity:.78}.row__stripe[data-v-0edb31f5]{flex:0 0 4px;align-self:stretch}.row__body[data-v-0edb31f5]{gap:var(--spacing-xs);min-width:0;padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm);flex-direction:column;flex:1;display:flex}.row__main[data-v-0edb31f5]{gap:var(--spacing-xs);flex-direction:column;flex:1 0 auto;min-width:0;display:flex}.row__top[data-v-0edb31f5]{align-items:center;gap:var(--spacing-xs) var(--spacing-sm);flex-wrap:wrap;display:flex}.row__time[data-v-0edb31f5]{align-items:center;gap:var(--spacing-xs);min-width:0;color:var(--color-text-primary);font-weight:var(--font-weight-medium);flex:auto;display:flex}.row__time>span[data-v-0edb31f5]{overflow-wrap:anywhere;min-width:0}.row__aside[data-v-0edb31f5]{flex:none;margin-left:auto;display:flex}.row__icon[data-v-0edb31f5]{color:var(--accent)}.row__spacer[data-v-0edb31f5]{flex:0 0 16px}.row__title[data-v-0edb31f5]{align-items:flex-start;gap:var(--spacing-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);display:flex}.row__title .cat-badge[data-v-0edb31f5]{margin-block:-1px}.row__name[data-v-0edb31f5]{overflow-wrap:anywhere;flex:auto;min-width:0}.row__suffix[data-v-0edb31f5]{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.row__meta[data-v-0edb31f5]{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.row__meta>span[data-v-0edb31f5]{overflow-wrap:anywhere;min-width:0}.row__actions[data-v-0edb31f5]{align-items:center;gap:0 var(--spacing-md);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.row__details[data-v-0edb31f5]{align-items:center;gap:var(--spacing-xs);min-height:var(--tap-target);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.row__details[data-v-0edb31f5]:hover{color:var(--color-text-primary)}}.modes[data-v-dd2588d0]{background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}.modes__item[data-v-dd2588d0]{min-height:var(--tap-target);padding:0 var(--spacing-xs);border-radius:var(--radius-md);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none}.modes__item[data-v-dd2588d0]:hover{color:var(--color-text-primary)}.modes__item[aria-pressed=true][data-v-dd2588d0]{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:inset 0 -2px 0 var(--accent)}@media (width>=400px){.modes__item[data-v-dd2588d0]{font-size:var(--font-size-base)}}@media (width>=720px){.modes[data-v-dd2588d0]{max-width:520px}}.quick[data-v-b6125db1]{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-base);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.quick__main[data-v-b6125db1]{gap:var(--spacing-sm);flex-direction:column;flex:auto;min-width:0;display:flex}.quick__ages[data-v-b6125db1]{gap:var(--spacing-xs);scrollbar-width:none;margin:-2px;padding:2px;display:flex;overflow-x:auto}.quick__ages[data-v-b6125db1]::-webkit-scrollbar{display:none}.quick__ages .cat-chip[data-v-b6125db1]{padding:0 var(--spacing-base);flex-shrink:0}.quick__level[data-v-b6125db1]{display:flex}.quick__filters[data-v-b6125db1]{width:var(--tap-target);height:var(--tap-target);border:var(--border-width-focus) solid var(--color-action-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.quick__filters[data-v-b6125db1]:hover{border-color:var(--color-text-secondary)}.quick__count[data-v-b6125db1]{position:absolute;top:-6px;right:-6px}.tiles[data-v-e39c14c9]{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=720px){.tiles[data-v-e39c14c9]{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile[data-v-e39c14c9]{min-height:84px;padding:var(--spacing-base);border:var(--border-width-focus) solid transparent;border-top:4px solid var(--tile-accent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--tile-accent) 25%, var(--color-bg-secondary));color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), opacity var(--transition-fast);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;display:flex;position:relative}.tile[data-v-e39c14c9]:hover{background:color-mix(in srgb, var(--tile-accent) 30%, var(--color-bg-secondary))}.tile[aria-pressed=true][data-v-e39c14c9]{border-color:var(--tile-accent);background:color-mix(in srgb, var(--tile-accent) 30%, var(--color-bg-secondary));border-top-width:4px}.tiles--picked .tile[data-v-e39c14c9]:not([aria-pressed=true]){opacity:.45}.tiles--picked .tile[data-v-e39c14c9]:not([aria-pressed=true]):hover{opacity:.8}.tile--with-new[data-v-e39c14c9]{padding-top:34px}.tile__new[data-v-e39c14c9]{top:9px;left:var(--spacing-base);border-radius:var(--radius-full);background:var(--accent);color:var(--accent-contrast);font-size:11px;font-weight:var(--font-weight-semibold);padding:4px 7px;line-height:1;position:absolute}.tile__title[data-v-e39c14c9]{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);overflow-wrap:anywhere}.tile__meta[data-v-e39c14c9]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.teachers[data-v-54ba4532]{gap:var(--spacing-md);display:grid}.teacher[data-v-54ba4532]{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid}.teacher__heading[data-v-54ba4532]{font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}.teacher__head[data-v-54ba4532]{align-items:center;gap:var(--spacing-sm);width:100%;min-height:var(--tap-target);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.teacher__text[data-v-54ba4532]{flex-direction:column;flex:1;min-width:0;display:flex}.teacher__name[data-v-54ba4532]{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);overflow-wrap:anywhere}.teacher__name--plain[data-v-54ba4532]{min-height:var(--tap-target);align-items:center;display:flex}.teacher__styles[data-v-54ba4532]{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.teacher__chevron[data-v-54ba4532]{color:var(--color-text-muted)}@media (hover:hover) and (pointer:fine){.teacher__head:hover .teacher__chevron[data-v-54ba4532]{color:var(--color-text-primary)}}.teacher__groups[data-v-54ba4532]{gap:var(--spacing-sm);display:grid}@media (width>=720px){.teacher__groups[data-v-54ba4532]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.teacher[data-v-da063b54]{gap:var(--spacing-md);display:grid}.teacher__head[data-v-da063b54]{align-items:center;gap:var(--spacing-md);display:flex}.teacher__photo[data-v-da063b54]{border-radius:var(--radius-xl);flex:none}.teacher__styles[data-v-da063b54]{min-width:0;color:var(--color-text-secondary);font-size:var(--font-size-base);overflow-wrap:anywhere;margin:0}.teacher__section[data-v-da063b54]{gap:var(--spacing-sm);display:grid}.teacher__label[data-v-da063b54]{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:0}.teacher__bio[data-v-da063b54]{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-base);white-space:pre-line;overflow-wrap:anywhere;margin:0}.teacher__empty[data-v-da063b54]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.teacher__group[data-v-da063b54]{align-items:center;gap:var(--spacing-sm);width:100%;min-height:var(--tap-target);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex}@media (hover:hover) and (pointer:fine){.teacher__group[data-v-da063b54]:hover{border-color:var(--color-action-border)}}.teacher__group-body[data-v-da063b54]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.teacher__group-name[data-v-da063b54]{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);overflow-wrap:anywhere}.teacher__group-meta[data-v-da063b54]{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);display:inline-flex}.teacher__icon[data-v-da063b54]{color:var(--accent)}.teacher__chevron[data-v-da063b54]{color:var(--color-text-muted)}.catalog[data-v-5e1f86c1]{gap:var(--spacing-md);grid-template-columns:minmax(0,1fr);display:grid}.catalog__list[data-v-5e1f86c1]{gap:var(--spacing-lg);grid-template-columns:minmax(0,1fr);display:grid}.catalog__block[data-v-5e1f86c1]{gap:var(--spacing-sm);display:grid}@media (width>=720px){.catalog__block[data-v-5e1f86c1]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.catalog__block>.catalog__day[data-v-5e1f86c1],.catalog__block>.catalog__style-head[data-v-5e1f86c1]{grid-column:1/-1}}.catalog__day[data-v-5e1f86c1]{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;margin:0}.catalog__style-list[data-v-5e1f86c1]{scroll-margin-top:calc(var(--header-height) + var(--section-nav-height,0px) + var(--spacing-md))}.catalog__style-head[data-v-5e1f86c1]{align-items:center;gap:var(--spacing-xs) var(--spacing-sm);min-height:var(--tap-target);flex-wrap:wrap;display:flex}.catalog__style-head .catalog__day[data-v-5e1f86c1]:focus{outline:none}.catalog__hint[data-v-5e1f86c1]{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.catalog__hint[data-v-5e1f86c1]:focus{outline:none}.catalog__style-chip[data-v-5e1f86c1]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--color-bg-secondary));max-width:100%;color:var(--color-text-primary)}.catalog__empty-actions[data-v-5e1f86c1]{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.price-table[data-v-a4ae8957]{gap:var(--spacing-lg);max-width:640px;display:grid}.price-table__special[data-v-a4ae8957]{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-left:3px solid var(--accent);border-radius:var(--radius-md);display:grid}.price-table__special-title[data-v-a4ae8957]{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.price-table__special-title span[data-v-a4ae8957]{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.price-table__cells[data-v-a4ae8957]{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fit,minmax(84px,1fr));margin:0;padding:0;list-style:none;display:grid}.price-table__cell[data-v-a4ae8957]{padding:var(--spacing-sm) var(--spacing-xs);background:var(--color-bg-tertiary);border-radius:var(--radius-md);text-align:center;justify-items:center;display:grid}.price-table__cell-label[data-v-a4ae8957]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.price-table__cell-price[data-v-a4ae8957]{color:var(--color-text-primary);font-weight:var(--font-weight-bold);white-space:nowrap}.price-table__term[data-v-a4ae8957]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.price-table__term a[data-v-a4ae8957]{color:var(--accent)}.discounts[data-astro-cid-ikxdc7hy]{gap:var(--spacing-md);display:grid}@media (width>=720px){.discounts[data-astro-cid-ikxdc7hy]{grid-template-columns:1fr 1fr;align-items:start}}.discount[data-astro-cid-ikxdc7hy]{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-radius:var(--radius-lg);border:var(--border-width) solid color-mix(in srgb, var(--accent) 40%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, var(--color-bg-secondary)), var(--color-bg-secondary))}.discount__title[data-astro-cid-ikxdc7hy]{font-size:var(--font-size-lg);margin:0}.discount__subtitle[data-astro-cid-ikxdc7hy]{margin:var(--spacing-xs) 0 0;color:var(--color-text-secondary)}.discount__table[data-astro-cid-ikxdc7hy]{width:100%;margin-top:var(--spacing-md);border-collapse:collapse}.discount__table[data-astro-cid-ikxdc7hy] th[data-astro-cid-ikxdc7hy]{padding:0 0 var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-muted);text-align:left}.discount__table[data-astro-cid-ikxdc7hy] th[data-astro-cid-ikxdc7hy]:last-child,.discount__percent[data-astro-cid-ikxdc7hy]{text-align:right}.discount__table[data-astro-cid-ikxdc7hy] td[data-astro-cid-ikxdc7hy]{padding:var(--spacing-sm) 0;border-top:var(--border-width) solid var(--color-divider)}.discount__percent[data-astro-cid-ikxdc7hy]{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--accent)}.discount__note[data-astro-cid-ikxdc7hy]{margin:var(--spacing-md) 0 0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.faq[data-astro-cid-hemr5th4]{gap:var(--spacing-sm);display:grid}.faq__item[data-astro-cid-hemr5th4]{scroll-margin-top:calc(var(--header-height) + var(--section-nav-height,0px) + var(--spacing-md));background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg)}.faq__q[data-astro-cid-hemr5th4]{justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:var(--tap-target);padding:var(--spacing-base) var(--spacing-md);font-weight:var(--font-weight-semibold);cursor:pointer;list-style:none;display:flex}.faq__q[data-astro-cid-hemr5th4]::-webkit-details-marker{display:none}.faq__icon[data-astro-cid-hemr5th4]{flex:none;width:14px;height:14px;position:relative}.faq__icon[data-astro-cid-hemr5th4]:before,.faq__icon[data-astro-cid-hemr5th4]:after{content:"";background:var(--accent);width:14px;height:2px;transition:transform var(--transition-fast);border-radius:1px;position:absolute;top:6px;left:0}.faq__icon[data-astro-cid-hemr5th4]:after{transform:rotate(90deg)}.faq__item[data-astro-cid-hemr5th4][open] .faq__icon[data-astro-cid-hemr5th4]:after{transform:rotate(0)}.faq__a[data-astro-cid-hemr5th4]{padding:0 var(--spacing-md) var(--spacing-md);color:var(--color-text-secondary)}.faq__a[data-astro-cid-hemr5th4] p[data-astro-cid-hemr5th4]{white-space:pre-line;margin:0}.faq__a[data-astro-cid-hemr5th4] p[data-astro-cid-hemr5th4]+p[data-astro-cid-hemr5th4]{margin-top:var(--spacing-sm)}.section-nav[data-astro-cid-jvi5vibn]{top:var(--header-height);z-index:calc(var(--z-sticky) - 1);background:color-mix(in srgb, var(--color-bg-primary) 96%, transparent);border-bottom:var(--border-width) solid var(--color-border);backdrop-filter:blur(6px);position:sticky}.section-nav__inner[data-astro-cid-jvi5vibn]{height:var(--section-nav-height);scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.section-nav__link[data-astro-cid-jvi5vibn]{height:32px;padding:0 var(--spacing-base);border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.section-nav__link[data-astro-cid-jvi5vibn][aria-current=true]{background:var(--accent);color:var(--accent-contrast)}.hero[data-astro-cid-pzvewvd3]{padding:var(--spacing-xl) 0 var(--spacing-md)}.audience[data-astro-cid-pzvewvd3]{--section-nav-height:44px}.audience--kids[data-astro-cid-pzvewvd3] .hero[data-astro-cid-pzvewvd3]{background:radial-gradient(120% 90% at 100% 0,#f472b64d,#0000 60%),radial-gradient(90% 80% at 0 100%,#f59e0b29,#0000 60%)}.audience--adults[data-astro-cid-pzvewvd3] .hero[data-astro-cid-pzvewvd3]{background:radial-gradient(120% 90% at 100% 0,#a855f752,#0000 60%),radial-gradient(90% 80% at 0 100%,#38bdf829,#0000 60%)}.hero__inner[data-astro-cid-pzvewvd3]{gap:var(--spacing-lg);display:grid}.hero__text[data-astro-cid-pzvewvd3]{max-width:720px}.hero__title[data-astro-cid-pzvewvd3]{margin:0 0 var(--spacing-base);font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.hero__lead[data-astro-cid-pzvewvd3]{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0}@media (width>=720px){.hero__title[data-astro-cid-pzvewvd3]{font-size:var(--font-size-hero)}.hero__lead[data-astro-cid-pzvewvd3]{font-size:var(--font-size-lg)}}.hero__cross[data-astro-cid-pzvewvd3]{min-height:var(--tap-target);margin-top:var(--spacing-sm);color:var(--accent);align-items:center;display:inline-flex}.catalog-stub[data-astro-cid-pzvewvd3]{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) dashed var(--color-action-border);border-radius:var(--radius-lg);justify-items:start;display:grid}.catalog-stub[data-astro-cid-pzvewvd3] p[data-astro-cid-pzvewvd3]{color:var(--color-text-secondary);margin:0}.ask[data-astro-cid-pzvewvd3]{margin:var(--spacing-lg) 0 0;color:var(--color-text-secondary)}.ask[data-astro-cid-pzvewvd3] a[data-astro-cid-pzvewvd3]{color:var(--accent);font-weight:var(--font-weight-semibold);white-space:nowrap;margin:-12px 0;padding:12px 0;display:inline-block}.sticky-cta[data-astro-cid-pzvewvd3]{bottom:var(--cookie-banner-offset,0px);z-index:var(--z-sticky);margin-top:var(--spacing-2xl);margin-bottom:calc(-1 * var(--spacing-3xl));padding:var(--spacing-sm) 0 var(--spacing-md);background:color-mix(in srgb, var(--color-bg-primary) 92%, transparent);border-top:var(--border-width) solid var(--color-border);backdrop-filter:blur(6px);position:sticky}.sticky-cta--hidden[data-astro-cid-pzvewvd3]{visibility:hidden;opacity:0}.sticky-cta[data-astro-cid-pzvewvd3]{transition:opacity var(--transition-fast), visibility var(--transition-fast)}@media (prefers-reduced-motion:reduce){.sticky-cta[data-astro-cid-pzvewvd3]{transition:none}}.sticky-cta__btn[data-astro-cid-pzvewvd3]{width:100%}@media (width>=720px){.sticky-cta__btn[data-astro-cid-pzvewvd3]{width:auto;min-width:320px}.sticky-cta[data-astro-cid-pzvewvd3] .container[data-astro-cid-pzvewvd3]{justify-content:center;display:flex}}
