.timetable-page{background:var(--paper);color:var(--ink)}.timetable-page .timetable-intro{background:var(--paper);padding:126px clamp(20px,4vw,48px) 22px}.timetable-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.timetable-heading h1{letter-spacing:-.02em;font-size:clamp(2.5rem,4vw,3.6rem);line-height:1}.timetable-heading p{font:italic 500 21px/1.3 var(--serif);color:#737378}.timetable-page .band.timetable-schedule{padding:0 clamp(20px,4vw,48px) 56px}.timetable-filters{margin:0}#timetable.timetable-page .timetable-filters{margin-top:28px}#timetable.timetable-page .timetable-lead{max-width:66ch;margin-top:20px}#timetable.timetable-page .academy-schedule-head h2{font-size:24px}#timetable.timetable-page .academy-schedule-head{flex-wrap:wrap}#timetable.timetable-page .academy-schedule-head .academy-schedule-live{margin:0}.academy-tabs{border-bottom:1px solid var(--line-ink);scrollbar-width:thin;gap:28px;scroll-padding-inline:4px;display:flex;overflow-x:auto}.academy-tabs button{appearance:none;color:#737378;font:500 13px/1.4 var(--body);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:14px 0 12px;position:relative}.academy-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--carmine)}.academy-tabs button:hover{color:var(--ink)}.class-filters{scrollbar-width:thin;gap:7px;padding:15px 0 10px;display:flex;overflow-x:auto}.class-filters button{appearance:none;color:#65656b;min-height:38px;font:400 11px/1.4 var(--body);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e3e3e6;border-radius:3px;flex:none;padding:9px 13px;transition:background .15s,color .15s}.class-filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.class-filters button:hover:not([aria-pressed=true]){color:var(--ink);background:#f2f2f4}.timetable-filters button:focus-visible{outline:2px solid var(--carmine);outline-offset:-2px}.timetable-result-count{font:400 10px/1.5 var(--mono);color:#77777e;letter-spacing:.025em;margin:0;padding:2px 0 12px}.academy-schedule{border-bottom:1px solid var(--line-ink);margin-bottom:24px;padding:0 0 28px}.academy-schedule-head{justify-content:space-between;align-items:center;gap:16px;padding:12px 0 16px;display:flex}.academy-schedule-head .eyebrow{display:none}.academy-schedule-head h2{font:500 24px/1 var(--display);letter-spacing:0}.academy-schedule-link{font:400 9px/1.5 var(--mono);letter-spacing:.05em;color:#737378;text-decoration:none}.academy-schedule-link:hover{color:var(--carmine)}.timetable-page .academy-schedule .tt-grid{border-top:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink);background:#f7f7f8;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;margin:0;display:grid}.timetable-page .academy-schedule .tt-col{opacity:1;background:0 0;border:0;border-right:1px solid #e1e1e4;min-width:0;padding:0 10px 14px}.academy-schedule .tt-col:last-child{border-right:0}.academy-schedule .tt-col h3{font:500 10px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;min-height:44px;padding:14px 2px 12px}.academy-schedule .tt-col.is-today h3{color:var(--carmine)}.academy-schedule .tt-col.is-today{background:#ededf0}.academy-schedule .today-tag{background:var(--carmine);letter-spacing:.06em;padding:2px 4px;font-size:7px}.academy-schedule .tt-class{background:var(--paper);border:1px solid #e4e4e7;border-left:2px solid #bcbcc2;gap:5px;margin:0 0 7px;padding:12px 10px;transform:none}.academy-schedule .tt-class .t{font:400 10px/1.5 var(--mono);letter-spacing:0;color:#727279;font-variant-numeric:tabular-nums}.academy-schedule .tt-class .n{font:500 17px/1.2 var(--display);color:var(--ink)}.academy-schedule .tt-class .l{font:400 9px/1.4 var(--body);letter-spacing:0;text-transform:none;color:#7d7d85}.academy-schedule .tt-class[data-class-type=kids]{border-left-color:#8b7896}.academy-schedule .tt-class[data-class-type=nogi]{border-left-color:#363638}.academy-schedule .tt-class[data-class-type=women]{border-left-color:#a46168}.academy-schedule .tt-class[data-class-type=adults]{border-left-color:#6c8192}.academy-schedule .tt-note{max-width:85ch;font:400 11px/1.65 var(--body);text-transform:none;letter-spacing:0;color:#76767e;margin-top:16px}.academy-schedule-live{margin-top:14px}.academy-schedule-live .btn{color:var(--ink);border:1px solid var(--line-ink);background:0 0;padding:10px 14px;font-size:9px}.timetable-empty{font:400 14px/1.6 var(--body);color:#737378;padding:32px 0}.timetable-page .timetable-schedule [hidden]{display:none!important}.timetable-context{grid-template-columns:1fr 1.2fr;gap:40px;margin-top:8px;padding-top:28px;display:grid}.timetable-context h2{max-width:17ch;font-size:clamp(2rem,3vw,3rem);line-height:1.05}.timetable-context-copy p{font:400 14px/1.8 var(--body);color:#737378}.timetable-context-copy p+p{margin-top:14px}.timetable-schedule .cta-row{margin-top:24px}.timetable-class-photo{margin:40px 0 0}.timetable-class-photo img{aspect-ratio:21/9;object-fit:cover;filter:grayscale();width:100%;display:block}.timetable-class-photo figcaption{font:400 9px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#76767e;margin-top:12px}@media (width<=760px){.timetable-page .timetable-intro{padding-top:120px;padding-bottom:16px}.timetable-heading h1{font-size:36px}.timetable-heading p{font-size:18px}.academy-tabs{gap:23px}.academy-tabs button{padding-top:10px;font-size:12px}.class-filters{padding-top:12px}.class-filters button{min-height:38px;padding:8px 11px}.academy-schedule-head{padding-top:6px;padding-bottom:12px}.timetable-page .academy-schedule .tt-grid{background:0 0;display:block}.timetable-page .academy-schedule .tt-col{border:0;border-bottom:1px solid var(--line-ink);grid-template-columns:58px minmax(0,1fr);gap:0 12px;padding:12px 0;display:grid}.academy-schedule .tt-col:last-child{border-bottom:0}.academy-schedule .tt-col h3{flex-direction:column;grid-area:1/1/span 30;justify-content:flex-start;align-items:flex-start;gap:6px;padding:11px 0 0;font-size:10px;display:flex}.academy-schedule .tt-class{background:#f4f4f6;border-top:0;border-bottom:0;border-right:0;grid-column:2;grid-template-columns:95px minmax(0,1fr);gap:3px 10px;margin-bottom:5px;padding:11px 12px;display:grid}.academy-schedule .tt-class:last-child{margin-bottom:0}.academy-schedule .tt-class .t{grid-area:1/1/span 2;padding-top:2px;font-size:10px}.academy-schedule .tt-class .n{grid-column:2;font-size:19px}.academy-schedule .tt-class .l{grid-column:2}.academy-schedule .tt-col.is-today{background:0 0}.timetable-context{grid-template-columns:1fr;gap:18px}}@media (width<=430px){.timetable-page .timetable-intro{padding-top:100px}.timetable-heading h1{font-size:32px}.timetable-heading p{font-size:16px}.timetable-page .academy-schedule .tt-col{grid-template-columns:42px minmax(0,1fr);gap:0 8px}.academy-schedule .tt-class{grid-template-columns:78px minmax(0,1fr);column-gap:7px;padding:10px 9px}.academy-schedule .tt-class .t{font-size:9px}.academy-schedule .tt-class .n{font-size:18px}}@media (prefers-reduced-motion:reduce){.class-filters button{transition:none}}.timetable-page .academy-schedule .reveal,.timetable-page .academy-schedule .tt-col{opacity:1;transition:none;transform:none}.mobile-timetable-filters{display:none}@media (width<=760px){.timetable-page .academy-tabs,.timetable-page .class-filters{display:none}.mobile-timetable-filters{gap:8px;margin:4px 0 12px;display:grid}.mobile-timetable-filters label{background:#f7f7f8;border:1px solid #e3e3e6;border-radius:3px;align-items:center;gap:12px;min-width:0;padding:0 12px;display:flex}.mobile-timetable-filters label span{font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#737378;flex:0 0 40px}.mobile-timetable-filters select{width:0;min-width:0;min-height:44px;color:var(--ink);font:400 16px/1.4 var(--body);cursor:pointer;background:0 0;border:0;border-radius:0;flex:1}.mobile-timetable-filters select:focus-visible{outline:2px solid var(--carmine);outline-offset:2px}}@media (width<=360px){.mobile-timetable-filters label{flex-direction:column;align-items:stretch;gap:0;padding-top:8px}.mobile-timetable-filters label span{flex-basis:auto}.mobile-timetable-filters select{flex:auto;width:100%}}
