/* Navigation and schedule page, 3.1.1. */
.site-header nav .directions-menu{width:310px;grid-template-columns:minmax(0,1fr);left:0;padding:10px;border-radius:0 0 18px 18px;box-shadow:0 16px 32px #2a1c1b12;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;gap:2px}
.site-header nav .directions-menu a{font-size:14px;line-height:1.4;padding:11px 14px;overflow-wrap:break-word}
.site-header nav .directions-menu .all-directions{padding-bottom:14px;margin-bottom:4px}
.schedule-page{padding-top:48px;padding-bottom:56px}
.schedule-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:36px}
.schedule-intro .eyebrow{margin:0 0 12px}
.schedule-intro h1{font-size:clamp(36px,4.3vw,56px);margin:0 0 18px;line-height:1.08}
.schedule-intro .lead{max-width:65ch;font-size:16px;line-height:1.7;margin:0}
.schedule-help{display:flex;flex-direction:column;gap:5px;flex-shrink:0;padding-bottom:3px}
.schedule-help span{color:var(--mute);font-size:13px}
.schedule-help strong{color:#a9443e;font-size:20px;line-height:1.4}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.schedule-sidebar{position:static;background:var(--soft);padding:24px;border-radius:24px;min-width:0}
.schedule-sidebar h2{font-size:21px;line-height:1.25;margin:0 6px 20px;letter-spacing:-.02em}
.schedule-branches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0}
.schedule-branches .tab{display:flex;align-items:center;gap:12px;width:100%;padding:15px 12px;text-align:left;white-space:normal;border:1px solid transparent;background:transparent;border-radius:14px;min-height:62px;line-height:1.45;font-size:13px;font-weight:600;color:var(--ink);box-shadow:none}
.schedule-branches .tab:hover{background:var(--bg);border-color:var(--line)}
.schedule-branches .tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.branch-number{font-size:11px;line-height:1;opacity:.65;font-weight:600;flex:0 0 16px}
.branch-label{flex:1;min-width:0}
.branch-arrow{display:none}
.schedule-sidebar-note{margin:20px 6px 0;padding-top:18px;border-top:1px solid #dfc8c0;color:var(--mute);font-size:12px;line-height:1.7}
.schedule-main{min-width:0}
.schedule-main .schedule-panel{border-radius:24px;border-color:var(--line);background:var(--card);overflow:hidden}
.schedule-main .schedule-toolbar{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:24px;padding:26px 28px;background:var(--card)}
.schedule-toolbar .schedule-kicker{font-size:11px;font-weight:700;letter-spacing:.04em;color:#a9443e;margin:0 0 8px}
.schedule-toolbar h2{font-size:25px;line-height:1.3;margin:0 0 10px;letter-spacing:-.03em;color:var(--ink)}
.schedule-toolbar p:not(.schedule-kicker){font-size:13px;line-height:1.6;margin:0;color:var(--mute)}
.schedule-toolbar .schedule-external{font-size:12px;line-height:1.5;white-space:nowrap;padding-top:4px}
.schedule-main .schedule-status{padding:12px 28px;margin:0;font-size:13px;line-height:1.6;color:var(--mute);background:var(--bg);border-bottom:1px solid var(--line)}
.schedule-main .schedule-status[hidden]{display:none}
.schedule-main .schedule-frame-wrap{padding:10px 0 0;background:#fff}
.schedule-main iframe{min-height:650px;width:100%;display:block;border:0}
.schedule-main iframe[data-widget="1"]:not([style]){height:380px;min-height:380px}
.schedule-bottom{margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;align-items:baseline}
.schedule-bottom p{color:var(--mute);font-size:13px;max-width:60ch;margin:0}
.schedule-bottom .text-link{font-size:13px;flex-shrink:0}
@media(min-width:861px){
 .site-header #site-nav{height:100%;align-items:stretch}
 .nav-dropdown{height:100%;display:flex;align-items:center;align-self:stretch}
 .nav-dropdown-heading{height:100%}
 .site-header #site-nav>a{display:flex;align-items:center}
 .site-header nav .directions-menu{top:calc(100% - 1px)}
}
@media(max-width:1100px){
 .schedule-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .schedule-sidebar{position:static;padding:22px 24px}
 .schedule-sidebar h2{margin-left:0;margin-bottom:16px}
 .schedule-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .schedule-branches .tab{min-height:58px;background:var(--bg);padding:12px}
 .schedule-sidebar-note{display:none}
 .schedule-bottom{margin-left:0}
 .schedule-intro{gap:24px}
}
@media(max-width:860px){
 .site-header nav .directions-menu{position:static;width:100%;max-width:none;max-height:none;display:grid;grid-template-columns:minmax(0,1fr);margin:0 0 12px;padding:8px;border-radius:14px;box-shadow:none;overflow:visible}
 .site-header nav .directions-menu[hidden]{display:none}
 .schedule-intro{display:block}
 .schedule-help{display:inline-flex;margin-top:20px;gap:2px}
 .schedule-help strong{font-size:18px}
}
@media(max-width:600px){
 .schedule-page{padding-top:32px;padding-bottom:36px}
 .schedule-intro{margin-bottom:24px}
 .schedule-intro h1{font-size:36px;max-width:12ch;margin-bottom:16px}
 .schedule-intro .lead{font-size:15px;line-height:1.65}
 .schedule-help{margin-top:18px}
 .schedule-layout{gap:16px}
 .schedule-sidebar{padding:20px 0 14px;border-radius:20px}
 .schedule-sidebar h2{font-size:20px;margin:0 20px 14px}
 .schedule-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 16px 6px;overflow:visible}
 .schedule-branches .tab{width:100%;min-width:0;min-height:64px;padding:12px;font-size:13px;overflow-wrap:anywhere}
 .schedule-branches .branch-number{display:none}
 .schedule-main .schedule-panel{border-radius:20px}
 .schedule-main .schedule-toolbar{display:block;padding:22px 20px}
 .schedule-toolbar h2{font-size:24px;margin-bottom:8px}
 .schedule-toolbar .schedule-external{display:inline-block;margin-top:14px;padding-top:0;font-size:13px}
 .schedule-main .schedule-status{padding:12px 20px;font-size:12px}
 .schedule-main iframe{min-height:620px}
 .schedule-main iframe[data-widget="1"]:not([style]){min-height:360px;height:360px}
 .schedule-bottom{display:block;margin-top:24px;padding-top:20px}
 .schedule-bottom .text-link{display:inline-block;margin-top:12px}
}
