/* Schedule decisions stay visible; supporting media opens on request. */
.publicSite #schedule{scroll-margin-top:104px}
.publicSite #schedule .classIntro{max-width:68ch;margin:0 0 24px;font-size:1rem;line-height:1.6}
.publicSite .classNightLinks{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.publicSite .classNightLinks a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:10px 16px;border:1px solid #294aaa;color:#294aaa;font-size:.9rem;font-weight:750;text-decoration:none;background:#fffdf7}
.publicSite .classNightLinks a:hover{background:#e6eaf6}
.publicSite #schedule .classNightGrid{align-items:start;gap:28px}
.publicSite #schedule .classNight{min-width:0;padding:28px;border:1px solid #bcb7a9;border-top:5px solid #294aaa;background:#fffdf7;scroll-margin-top:104px}
.publicSite #schedule .classNight:nth-child(2){border-top-color:#a83d35}
.publicSite #schedule .classNight h2{font-size:clamp(1.6rem,2.7vw,2.2rem);line-height:1.12;letter-spacing:-.03em;margin-bottom:16px}
.publicSite #schedule .classNight .kicker{font-size:.75rem;line-height:1.5;margin-bottom:18px}
.publicSite #schedule .classNight p{font-size:.95rem;line-height:1.65}
.publicSite #schedule .classLevel{font-size:.8125rem;font-weight:750;color:#294aaa;border-left:3px solid currentColor;padding-left:10px;margin:0 0 16px}
.publicSite #schedule .classNight:nth-child(2) .classLevel{color:#a83d35}
.publicSite #schedule .schedule{margin-block:24px}
.publicSite #schedule .schedule .row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding-block:16px}
.publicSite #schedule .schedule .row b{font-size:.85rem;white-space:nowrap}
.publicSite #schedule .schedule .row strong{font-size:.95rem}
.publicSite #schedule .schedule .muted{font-size:.875rem;line-height:1.6}
.publicSite #schedule .classRate{padding:16px;background:#eeebe2;border-left:3px solid #294aaa;margin:20px 0}
.publicSite #schedule .classNight:nth-child(2) .classRate{border-left-color:#a83d35}
.publicSite #schedule .classRate strong{font-size:1.15rem}
.publicSite #schedule .classCurrency{display:block;color:#54584d;font-size:.8rem;margin-top:5px}
.publicSite #schedule .classDirections a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.875rem;font-weight:750;color:#294aaa;text-decoration:underline;text-underline-offset:4px}
.publicSite #schedule .classNight .actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
.publicSite #schedule .classNight .actions .btn{white-space:normal;min-height:48px;font-size:.875rem;text-align:center}
.publicSite #schedule .classNight .actions .btn.ghost{min-height:44px;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:4px;justify-content:flex-start;background:none;box-shadow:none}
.publicSite #schedule .classNight .contactHint{font-size:.8rem;color:#54584d;margin:12px 0 20px}
.publicSite #schedule .classMedia{border-top:1px solid #bcb7a9;margin-top:24px}
.publicSite #schedule .classMedia summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:14px 0;font-size:.875rem;font-weight:750;cursor:pointer;list-style:none}
.publicSite #schedule .classMedia summary::-webkit-details-marker{display:none}
.publicSite #schedule .classMedia summary::after{content:'+';color:#294aaa;font-size:1.3rem}
.publicSite #schedule .classMedia[open] summary::after{content:'−'}
.publicSite #schedule .classMedia .classFlyer{margin:0 0 16px}
.publicSite #schedule .classMedia .classFlyer img{display:block;width:100%;height:auto}
.publicSite #schedule .classMedia figcaption{font-size:.8rem;line-height:1.6}
.publicSite #schedule :is(.classNightLinks a,.classMedia summary):focus-visible{outline:3px solid #294aaa;outline-offset:4px}
@media(max-width:760px){.publicSite #schedule .classNightGrid{grid-template-columns:1fr;gap:24px}.publicSite #schedule .classNight{padding:20px}.publicSite .classNightLinks{gap:10px}.publicSite .classNightLinks a{flex:1 1 220px}.publicSite #schedule .schedule .row{grid-template-columns:65px minmax(0,1fr);gap:10px}}
