[data-cal=week]{display:grid;gap:var(--space-sm)}[data-cal=week] .cal-weeknav{display:flex;align-items:center;justify-content:center;gap:14px}[data-cal=week] .cal-step{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--cream);color:var(--ink-muted);font-size:20px;line-height:1;cursor:pointer;transition:border-color .22s ease,color .22s ease}[data-cal=week] .cal-step:hover:not([disabled]){border-color:var(--moss);color:var(--moss)}[data-cal=week] .cal-step[disabled]{opacity:.35;cursor:default}[data-cal=week] .cal-week-label{min-width:120px;text-align:center;font-family:var(--mono);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-muted)}[data-cal=week] .cal-daystrip{display:flex;gap:6px}[data-cal=week] .cal-chip{flex:1 1 0;min-width:0;min-height:48px;padding:7px 2px;border:1px solid transparent;border-radius:10px;background:none;color:var(--ink-muted);font-family:var(--mono);font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .22s ease,color .22s ease}[data-cal=week] .cal-chip[data-cal-today]{background:var(--cal-today-chip);color:var(--ink)}[data-cal=week] .cal-chip[data-cal-selected]{background:var(--moss);color:var(--cream)}[data-cal=week] .cal-chip-letter{display:block;font-size:12px}[data-cal=week] .cal-chip-num{display:block;margin-top:2px;font-size:16px}[data-cal=week] .cal-lead,[data-cal=week] .cal-trail{display:flex;width:38px;flex:0 0 38px}[data-cal=week] .cal-weeknav:has(.cal-trail){gap:10px}[data-cal=week] .cal-lead~.cal-week-label{min-width:0;flex:0 1 120px}[data-cal=week] .cal-weeknav:has(.cal-trail) .cal-step{flex:0 0 44px}[data-cal=week] .cal-lead{justify-content:flex-start}[data-cal=week] .cal-trail{justify-content:flex-end}[data-cal=week] .cal-filter{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--cal-card-rule);border-radius:var(--radius-pill);background:var(--cal-card);color:var(--ink-muted);cursor:pointer}[data-cal=week] .cal-filter:before{content:"";position:absolute;inset:-6px}[data-cal=week] .cal-filter.is-on{border-color:var(--moss);background:var(--moss);color:var(--cream)}[data-cal=week] .cal-filter:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.cal-filter-menu{position:absolute;top:50px;right:0;z-index:20;width:152px;padding:4px 0;border:1px solid var(--cal-card-rule);border-radius:10px;background:var(--cal-card);box-shadow:0 6px 18px #0000001f;overflow:hidden}.cal-filter-menu[hidden]{display:none}.cal-filter-menu [data-cal-filter-option]{display:flex;align-items:center;width:100%;min-height:44px;padding:0 12px;border:0;background:none;color:var(--ink-muted);font-family:var(--display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:left;cursor:pointer}.cal-filter-menu [data-cal-filter-option][aria-checked=true]{background:var(--leaf-soft);color:var(--moss)}.cal-filter-menu [data-cal-filter-option]:focus-visible{outline:2px solid var(--moss);outline-offset:-2px}[data-cal=week] .cal-days{display:block}[data-cal=week] .cal-day{display:none}[data-cal=week] .cal-day[data-cal-selected]{display:block}[data-cal=week] .cal-day-head{display:none}[data-cal=week] .cal-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}[data-cal=week] .cal-row{position:relative;isolation:isolate;min-height:68px;border:1px solid var(--cal-card-rule);border-radius:14px;background:var(--cal-card)}[data-cal=week] .cal-row.is-booked{border:2px solid var(--moss);background:var(--cal-booked)}[data-cal=week] .cal-row.is-cancelled{opacity:.75}[data-cal=week] .cal-row.is-intent{box-shadow:0 0 0 2px var(--leaf-soft)}[data-cal=week] .cal-open{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 14px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}[data-cal=week] .cal-open.is-static{cursor:default}[data-cal=week] .cal-time{position:relative;display:flex;align-items:baseline;gap:4px;width:76px;flex:0 0 auto;font-family:var(--display);font-weight:700;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}[data-cal=week] .cal-digits{font-size:24px}[data-cal=week] .cal-meridiem{font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--ink-muted)}[data-cal=week] .is-cancelled .cal-time{color:var(--ink-muted)}[data-cal=week] .cal-centre{pointer-events:none;position:absolute;inset:0;z-index:-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 14px;text-align:center}[data-cal=week] .cal-name{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1;color:var(--ink)}[data-cal=week] .is-cancelled .cal-name{color:var(--ink-muted);text-decoration:line-through}[data-cal=week] .cal-faces{display:flex;align-items:center}[data-cal=week] .cal-face{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--ink);color:var(--paper);box-shadow:0 0 0 2px var(--card-fill, var(--cal-card));overflow:hidden;font-family:var(--display);font-weight:600;font-size:9px}[data-cal=week] .is-booked .cal-face{box-shadow:0 0 0 2px var(--card-fill, var(--cal-booked))}[data-cal=week] .cal-face+.cal-face{margin-left:-6px}[data-cal=week] .cal-face img{width:100%;height:100%;object-fit:cover;border-radius:999px}[data-cal=week] .cal-meta{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--display);font-size:13px;line-height:1.4;color:var(--ink-muted)}[data-cal=week] .cal-tail{position:relative;margin-left:auto;display:flex;align-items:baseline;gap:8px;flex:0 0 auto}[data-cal=week] .cal-mins{display:none}[data-cal=week] .cal-count{font-family:var(--display);font-weight:600;font-size:13.5px;text-transform:uppercase;letter-spacing:.05em;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}[data-cal=week] .cal-count.is-moss{color:var(--moss)}[data-cal=week] .cal-count.is-muted{color:var(--ink-muted)}[data-cal=week] .cal-opens{display:none}[data-cal=week] .cal-empty{margin:0;padding:26px 4px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-muted)}[data-cal=week] .cal-empty-short{display:none}[data-cal=week] [hidden]{display:none!important}[data-cal=week][data-cal-layout=wide] .cal-daystrip{display:none}[data-cal=week][data-cal-layout=wide] .cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;border-top:1px solid var(--cal-card-rule);overflow-x:auto}[data-cal=week][data-cal-layout=wide] .cal-day{display:block;min-width:0;padding:12px 8px 16px;border-left:1px solid var(--cal-card-rule)}[data-cal=week][data-cal-layout=wide] .cal-day:first-child{border-left:0}[data-cal=week][data-cal-layout=wide] .cal-day[data-cal-today]{background:var(--cal-today-col)}[data-cal=week][data-cal-layout=wide] .cal-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--cal-card-rule)}[data-cal=week][data-cal-layout=wide] .cal-day-name{font-family:var(--display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted)}[data-cal=week][data-cal-layout=wide] .cal-day[data-cal-today] .cal-day-name{color:var(--moss)}[data-cal=week][data-cal-layout=wide] .cal-day-num{font-family:var(--display);font-weight:700;font-size:17px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}[data-cal=week][data-cal-layout=wide] .cal-rows{gap:6px}[data-cal=week][data-cal-layout=wide] .cal-row{height:98px;min-height:0;border-radius:12px}[data-cal=week][data-cal-layout=wide] .cal-open{flex-direction:column;align-items:stretch;justify-content:center;gap:3px;height:100%;padding:10px}[data-cal=week][data-cal-layout=wide] .cal-time{width:100%;gap:3px}[data-cal=week][data-cal-layout=wide] .cal-digits{font-size:14px;line-height:1.1}[data-cal=week][data-cal-layout=wide] .cal-meridiem{letter-spacing:.04em}[data-cal=week][data-cal-layout=wide] .cal-centre{position:static;z-index:auto;padding:0;gap:3px}[data-cal=week][data-cal-layout=wide] .cal-name{font-size:14px;line-height:1.15;width:100%}[data-cal=week][data-cal-layout=wide] .cal-faces{height:20px}[data-cal=week][data-cal-layout=wide] .cal-face{width:20px;height:20px;font-size:8px}[data-cal=week][data-cal-layout=wide] .cal-meta{font-size:12px;height:20px}[data-cal=week][data-cal-layout=wide] .cal-centre:not(:has(.cal-faces)):not(:has(.cal-meta)):after{content:"";display:block;height:20px}[data-cal=week][data-cal-layout=wide] .cal-tail{margin:0;justify-content:center;width:100%}[data-cal=week][data-cal-layout=wide] .cal-mins{display:inline;font-family:var(--display);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted)}[data-cal=week][data-cal-layout=wide] .cal-count{font-size:11px;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}[data-cal=week][data-cal-layout=wide] .cal-empty{padding:8px 0;font-size:13px}[data-cal=week][data-cal-layout=wide] .cal-empty-long{display:none}[data-cal=week][data-cal-layout=wide] .cal-empty-short{display:inline}@media(min-width:960px){[data-cal=week][data-cal-layout=auto] .cal-daystrip{display:none}[data-cal=week][data-cal-layout=auto] .cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;border-top:1px solid var(--cal-card-rule);overflow-x:auto}[data-cal=week][data-cal-layout=auto] .cal-day{display:block;min-width:0;padding:12px 8px 16px;border-left:1px solid var(--cal-card-rule)}[data-cal=week][data-cal-layout=auto] .cal-day:first-child{border-left:0}[data-cal=week][data-cal-layout=auto] .cal-day[data-cal-today]{background:var(--cal-today-col)}[data-cal=week][data-cal-layout=auto] .cal-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--cal-card-rule)}[data-cal=week][data-cal-layout=auto] .cal-day-name{font-family:var(--display);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted)}[data-cal=week][data-cal-layout=auto] .cal-day[data-cal-today] .cal-day-name{color:var(--moss)}[data-cal=week][data-cal-layout=auto] .cal-day-num{font-family:var(--display);font-weight:700;font-size:17px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}[data-cal=week][data-cal-layout=auto] .cal-rows{gap:6px}[data-cal=week][data-cal-layout=auto] .cal-row{height:98px;min-height:0;border-radius:12px}[data-cal=week][data-cal-layout=auto] .cal-open{flex-direction:column;align-items:stretch;justify-content:center;gap:3px;height:100%;padding:10px}[data-cal=week][data-cal-layout=auto] .cal-time{width:100%;gap:3px}[data-cal=week][data-cal-layout=auto] .cal-digits{font-size:14px;line-height:1.1}[data-cal=week][data-cal-layout=auto] .cal-meridiem{letter-spacing:.04em}[data-cal=week][data-cal-layout=auto] .cal-centre{position:static;z-index:auto;padding:0;gap:3px}[data-cal=week][data-cal-layout=auto] .cal-name{font-size:14px;line-height:1.15;width:100%}[data-cal=week][data-cal-layout=auto] .cal-faces{height:20px}[data-cal=week][data-cal-layout=auto] .cal-face{width:20px;height:20px;font-size:8px}[data-cal=week][data-cal-layout=auto] .cal-meta{font-size:12px;height:20px}[data-cal=week][data-cal-layout=auto] .cal-centre:not(:has(.cal-faces)):not(:has(.cal-meta)):after{content:"";display:block;height:20px}[data-cal=week][data-cal-layout=auto] .cal-tail{margin:0;justify-content:center;width:100%}[data-cal=week][data-cal-layout=auto] .cal-mins{display:inline;font-family:var(--display);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted)}[data-cal=week][data-cal-layout=auto] .cal-count{font-size:11px;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}[data-cal=week][data-cal-layout=auto] .cal-empty{padding:8px 0;font-size:13px}[data-cal=week][data-cal-layout=auto] .cal-empty-long{display:none}[data-cal=week][data-cal-layout=auto] .cal-empty-short{display:inline}}[data-cal=week][data-cal-layout=phone] .cal-daystrip{display:flex}[data-cal=week][data-cal-layout=phone] .cal-days{display:block}[data-cal=week][data-cal-layout=phone] .cal-day{display:none}[data-cal=week][data-cal-layout=phone] .cal-day[data-cal-selected]{display:block}[data-astro-cid-32bpopzd][hidden]{display:none!important}.sc[data-astro-cid-32bpopzd]{min-width:0}.sc-cal[data-astro-cid-32bpopzd]{position:relative}.sc-through[data-astro-cid-32bpopzd]{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-muted);margin:var(--space-lg) 0 0;padding-top:var(--space-md);border-top:1px solid var(--rule);max-width:none}.sk[data-astro-cid-32bpopzd]{display:block;background:var(--paper-2);border-radius:2px}.sk-bar[data-astro-cid-32bpopzd]{height:44px;max-width:320px;margin:0 auto;border-radius:var(--radius-pill)}.sk-days[data-astro-cid-32bpopzd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:var(--space-lg) var(--space-md);margin-top:var(--space-lg)}.sk-day[data-astro-cid-32bpopzd]{min-width:0}.sk-head[data-astro-cid-32bpopzd]{height:14px;width:55%;margin-bottom:var(--space-md)}.sk-row[data-astro-cid-32bpopzd]{height:68px;margin-bottom:8px;border-radius:14px}.sc-skeleton[data-astro-cid-32bpopzd] .sk[data-astro-cid-32bpopzd]{animation:sc-pulse 1.4s ease-in-out infinite}@keyframes sc-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.sc-skeleton[data-astro-cid-32bpopzd] .sk[data-astro-cid-32bpopzd]{animation:none}}#class-times .section-head{text-align:center}#class-times .section-name,#class-times .section-sub{margin-inline:auto}#class-times[hidden]{display:none!important}
