.schedule-section{background:#101010;color:#fff;overflow:hidden}.schedule-section .section-label{color:rgba(255,255,255,.58)}.schedule-head{display:grid;grid-template-columns:1fr .78fr;gap:clamp(34px,7vw,100px);align-items:end;margin-bottom:42px}.schedule-head .display{color:#fff}.schedule-head-copy{max-width:520px;margin:0;color:rgba(255,255,255,.62);font-size:16px;line-height:1.8}.schedule-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.schedule-filter{appearance:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:10px 14px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s ease}.schedule-filter:hover,.schedule-filter.is-active{background:#e20b17;border-color:#e20b17}.schedule-desktop{overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#e20b17 rgba(255,255,255,.09)}.schedule-table{min-width:1120px;display:grid;grid-template-columns:92px repeat(6,minmax(160px,1fr));border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}.schedule-table-head{padding:16px 14px;background:#151515;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.schedule-time-head{color:rgba(255,255,255,.45)}.schedule-time-cell{padding:18px 12px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);color:#fff;font-size:14px;font-weight:900}.schedule-table-cell{min-height:88px;padding:8px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.schedule-class{position:relative;padding:15px 15px 14px;background:#171717;border:1px solid rgba(255,255,255,.09);overflow:hidden}.schedule-class+.schedule-class{margin-top:7px}.schedule-class::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--modality-color,#e20b17)}.schedule-class-time{display:block;color:#fff;font-size:19px;font-weight:900;letter-spacing:-.04em}.schedule-class-time small{margin-left:6px;color:rgba(255,255,255,.38);font-size:10px;font-weight:700;letter-spacing:0}.schedule-class-modality{display:block;margin-top:8px;color:var(--modality-color,#e20b17);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.schedule-class-meta{display:block;margin-top:4px;color:rgba(255,255,255,.5);font-size:10px;line-height:1.4}.schedule-class.is-compact{padding:10px 10px 9px;background:rgba(255,255,255,.035)}.schedule-class.is-compact .schedule-class-time{font-size:13px}.schedule-class.is-compact .schedule-class-time small{display:none}.schedule-class.is-compact .schedule-class-modality{margin-top:5px;font-size:8px}.schedule-class.is-compact .schedule-class-meta{font-size:9px}.schedule-mobile{display:none}.schedule-mobile-day{border-top:1px solid rgba(255,255,255,.15)}.schedule-mobile-day:last-child{border-bottom:1px solid rgba(255,255,255,.15)}.schedule-mobile-day>header{display:flex;align-items:center;gap:14px;padding:18px 0 13px}.schedule-mobile-day>header span{color:#e20b17;font-size:9px;font-weight:900;letter-spacing:.1em}.schedule-mobile-day>header strong{font-size:14px;text-transform:uppercase;letter-spacing:.07em}.schedule-mobile-day>div{display:grid;gap:8px;padding-bottom:18px}.schedule-no-results{padding:28px;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.45);font-size:12px}.schedule-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-top:25px}.schedule-note{max-width:680px;margin:0;color:rgba(255,255,255,.5);font-size:12px;line-height:1.6}.schedule-section .text-link{color:#fff}.schedule-section .text-link i{border-color:#e20b17;color:#e20b17}.schedule-section .text-link:hover i{color:#fff}.schedule-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 10px;border:1px solid rgba(226,11,23,.5);color:#ff6a72;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.schedule-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#e20b17}.schedule-status.is-official{border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.66)}.schedule-status.is-official::before{background:#fff}.schedule-updated{display:block;margin-top:8px;color:rgba(255,255,255,.35);font-size:10px;letter-spacing:.05em}.schedule-page-hero{padding:clamp(86px,10vw,140px) var(--pad) 56px;background:#101010;color:#fff}.schedule-page-hero .container{display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:end}.schedule-page-hero p{color:rgba(255,255,255,.62);max-width:490px;line-height:1.8}.schedule-page-main{padding:0 var(--pad) clamp(90px,10vw,140px);background:#101010;color:#fff}.schedule-page-main .container{padding-top:30px}.schedule-page-back{display:inline-flex;margin-top:26px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#fff}.schedule-page-back:hover{color:#e20b17}
@media(max-width:930px){.schedule-head,.schedule-page-hero .container{grid-template-columns:1fr}.schedule-head{gap:24px}.schedule-desktop{display:none}.schedule-mobile{display:block}.schedule-footer{flex-direction:column}.schedule-page-main{padding-left:var(--pad);padding-right:var(--pad)}}


/* Mobile-only refinement — desktop remains unchanged */
@media(max-width:767px){
  .schedule-head{margin-bottom:24px}
  .schedule-status{margin-bottom:12px;padding:7px 9px;font-size:8px}
  .schedule-toolbar{flex-wrap:nowrap;gap:7px;overflow-x:auto;margin:0 -18px 20px;padding:0 18px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .schedule-toolbar::-webkit-scrollbar{display:none}
  .schedule-filter{flex:0 0 auto;min-height:42px;padding:0 14px;font-size:9px;scroll-snap-align:start}
  .schedule-mobile-day>header{padding:17px 0 11px;gap:10px}.schedule-mobile-day>header strong{font-size:13px}.schedule-mobile-day>div{gap:7px;padding-bottom:17px}
  .schedule-class{padding:13px 13px 12px}.schedule-class-time{font-size:18px}.schedule-class-time small{font-size:10px}.schedule-class-modality{margin-top:7px}.schedule-class-meta{font-size:10px;line-height:1.45}
  .schedule-footer{gap:17px;margin-top:21px}.schedule-note{font-size:11px;line-height:1.6}.schedule-updated{font-size:9px}
  .schedule-page-hero{padding:54px 18px 31px}.schedule-page-hero .container{gap:18px}.schedule-page-hero p{font-size:14px;line-height:1.65}.schedule-page-hero h1{font-size:clamp(42px,12vw,56px)}
  .schedule-page-main{padding:0 18px 70px}.schedule-page-main .container{padding-top:20px}
  .schedule-page-main .schedule-toolbar{position:sticky;top:62px;z-index:8;background:#101010;padding-top:10px;padding-bottom:10px;margin-bottom:15px;border-bottom:1px solid rgba(255,255,255,.08)}
  .schedule-page-back{min-height:44px;align-items:center;margin-top:8px}
}
