/* Stable controls and a reserved list area keep schedule transitions smooth. */
#timetable.timetable-section{background:#111213;padding:112px 0;margin-bottom:112px;--schedule-bg:#111213;--schedule-fg:#dedfe0;--schedule-muted:#b3b5b8;--schedule-line:#34363a}
.timetable-inner{max-width:1400px}
.timetable-heading-group{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);column-gap:64px;align-items:end;margin-bottom:46px}
.timetable-eyebrow{grid-column:1/-1;margin-bottom:24px;font-size:12px}
.timetable-title{font-size:clamp(72px,7.3vw,104px);line-height:.94;margin:0;letter-spacing:-.02em;text-wrap:balance;max-width:16ch}
.timetable-intro{font-size:18px;line-height:1.65;max-width:42ch;padding-bottom:3px}
.timetable-widget{padding:30px 32px 24px;background:#171819;border:1px solid var(--schedule-line);border-radius:26px}
.timetable-filter-label{font:600 12px/1.4 var(--type-body);letter-spacing:.075em;text-transform:uppercase;color:var(--schedule-muted);margin:0 0 12px}
.mh-branch-tabs{padding:5px;border:1px solid #45484c;border-radius:16px;background:#101112;gap:6px;width:100%;max-width:420px;margin-bottom:28px}
.mh-branch-tabs button{flex:1;min-height:48px;border-radius:11px;border:1px solid transparent;padding:12px 20px;font:600 16px/1.4 var(--type-body);color:var(--schedule-fg);transition:background .22s,color .22s,border-color .22s}
.mh-branch-tabs button:hover{border-color:#65676a}
.mh-branch-tabs button[aria-pressed=true]{background:var(--schedule-accent);color:var(--bg);border-color:var(--schedule-accent)}
.timetable-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;overflow:visible;padding:0;margin-bottom:26px}
.timetable-tab{min-width:0;min-height:48px;padding:12px 8px;font:600 14px/1.3 var(--type-body);letter-spacing:.045em;border-color:#4b4e52;transition:background .2s,color .2s,border-color .2s}
.timetable-tab:hover{background:#ffffff09;border-color:#94979b;color:var(--schedule-fg)}
.timetable-tab[aria-selected=true],.timetable-tab[aria-selected=true]:hover{background:var(--schedule-accent);border-color:var(--schedule-accent);color:var(--bg)}
.timetable-tab:active{transform:none}
.timetable-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--schedule-line);padding:24px 0 19px}
#timetable-selection{font:600 23px/1.3 var(--type-body);letter-spacing:-.015em;color:var(--schedule-fg)}
#timetable-count{font:500 13px/1.5 var(--type-body);color:var(--schedule-muted);text-align:right}
.timetable-panels{position:relative;min-height:var(--schedule-panel-height,550px);overflow:clip;border-top:0;isolation:isolate}
.timetable-panel:focus-visible{outline:2px solid var(--schedule-accent);outline-offset:-2px;border-radius:8px}
.timetable-row{grid-template-columns:110px minmax(0,1fr) auto;gap:16px 24px;min-height:106px;padding:22px 12px;border-bottom:1px solid var(--schedule-line);border-radius:0;transition:background .2s}
.timetable-row:hover{background:#ffffff04}
.timetable-time{font:700 43px/1 var(--type-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.timetable-row h3{font:600 23px/1.3 var(--type-body);letter-spacing:-.015em;margin-bottom:6px;overflow-wrap:anywhere}
.timetable-coach{font:500 12px/1.5 var(--type-body);letter-spacing:.035em}
.timetable-discipline,.timetable-duration{font:500 12px/1.4 var(--type-body);letter-spacing:.025em}
.timetable-duration{min-width:0}
.mh-empty-session{min-height:var(--schedule-panel-height,550px);padding:40px 24px;display:grid;place-content:center;max-width:100%;text-align:center}
.mh-empty-session p{max-width:48ch;margin:auto;font:400 18px/1.65 var(--type-body);color:var(--schedule-muted)}
.mh-schedule-footnote{font:400 13px/1.65 var(--type-body);padding-top:22px;margin-top:22px;border-top:1px solid var(--schedule-line);gap:28px}
.mh-schedule-footnote a{display:inline-flex;align-items:center;min-height:44px;padding-block:5px;text-underline-offset:5px}
.timetable-ghost{position:absolute;inset:0 0 auto;pointer-events:none;z-index:2}
.timetable-measure{position:absolute;inset:0 0 auto;visibility:hidden;pointer-events:none;z-index:-1}
.timetable-measure-panel{height:auto;min-height:0}
.timetable-measure .mh-empty-session{min-height:220px}
@media(max-width:1000px){.timetable-heading-group{gap:26px 36px;grid-template-columns:1.2fr 1fr}.timetable-title{font-size:82px}.timetable-widget{padding:26px}.timetable-row{grid-template-columns:95px minmax(0,1fr) auto;gap:16px}.timetable-time{font-size:40px}.timetable-row h3{font-size:22px}}
@media(max-width:800px){#timetable.timetable-section{padding:88px 0;margin-bottom:90px}.timetable-heading-group{grid-template-columns:1fr;gap:0;margin-bottom:36px}.timetable-eyebrow{margin-bottom:22px}.timetable-title{font-size:80px;max-width:18ch;margin-bottom:24px}.timetable-intro{max-width:54ch;padding:0;font-size:18px}.timetable-row{grid-template-columns:90px minmax(0,1fr);gap:10px 20px;padding:22px 4px}.timetable-time{grid-row:1/3;align-self:center}.timetable-meta{grid-column:2;flex-wrap:wrap;gap:8px}.mh-schedule-footnote{display:block}.mh-schedule-footnote a{display:inline-block;margin-top:8px;min-height:44px}}
@media(max-width:540px){#timetable.timetable-section{padding:72px 0;margin-bottom:76px}.timetable-inner{padding-inline:19px}.timetable-title{font-size:60px;line-height:.96;max-width:100%;margin-bottom:22px}.timetable-intro{font-size:17px;line-height:1.6}.timetable-widget{padding:22px 18px 16px;border-radius:20px}.mh-branch-tabs{max-width:none;margin-bottom:24px;border-radius:14px}.mh-branch-tabs button{font-size:15px;min-height:46px;padding:11px 8px;border-radius:9px}.timetable-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}.timetable-tab{font-size:13px;min-height:46px;padding:12px 6px}.timetable-selection-summary{align-items:start;gap:12px;padding:20px 0 16px}#timetable-selection{font-size:19px;max-width:12ch}#timetable-count{font-size:12px;max-width:12ch}.timetable-row{grid-template-columns:80px minmax(0,1fr);gap:10px 12px;min-height:112px;padding:20px 0}.timetable-time{font-size:36px}.timetable-row h3{font-size:21px;line-height:1.3}.timetable-coach{font-size:12px;line-height:1.5}.timetable-discipline,.timetable-duration{font-size:11px;letter-spacing:0}.timetable-discipline{padding:5px 8px}.mh-schedule-footnote{font-size:12px;line-height:1.65;padding-top:18px;margin-top:18px}.mh-empty-session{padding:32px 8px}.mh-empty-session p{font-size:17px}.timetable-filter-label{font-size:11px;line-height:1.5}}
@media(max-width:360px){.timetable-widget{padding-inline:15px}.timetable-title{font-size:54px}.timetable-time{font-size:34px}.timetable-row{grid-template-columns:74px minmax(0,1fr);column-gap:10px}.timetable-row h3{font-size:20px}#timetable-selection{font-size:18px}.mh-branch-tabs button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.timetable-tab,.mh-branch-tabs button,.timetable-row{transition:none}.timetable-ghost{display:none}.timetable-title-word{opacity:1!important;transform:none!important}}
