/* Figma 35:5 / 35:6. Card data is supplied by the reviewed public feed. */
.schedule-header { min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 max(20px, calc((100% - 1280px)/2)); border-bottom:1px solid var(--ty-border); }
.schedule-header a { color:var(--ty-text); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.schedule-header nav { gap:24px; font-size:14px; }
.schedule-header > a:first-child { font-weight:700; font-size:18px; }
.schedule-header .schedule-mobile { display:none; }
.schedule-main { max-width:1240px; padding:0 20px 80px; margin:auto; min-height:65vh; }
.schedule-intro { padding:80px 0 56px; }
.schedule-intro h1 { font-size:48px; line-height:1.5; letter-spacing:-.04em; margin:16px 0; }
.schedule-intro p { color:var(--ty-muted); font-size:18px; }
.schedule-intro .schedule-eyebrow { font-size:14px; }
.schedule-filters { margin-top:16px; padding:20px; display:flex; gap:12px; flex-wrap:wrap; border-radius:24px; background:#f7faff; box-shadow:0 8px 22px #05142e17; scroll-margin-top:80px; }
.schedule-filters label { flex:1 1 190px; display:flex; align-items:center; gap:8px; padding:0 16px; min-height:48px; border:1px solid var(--ty-border); border-radius:12px; background:white; font-size:14px; }
.schedule-filters select { width:100%; min-width:0; border:0; background:transparent; font:inherit; color:inherit; min-height:46px; }
.schedule-filters label:has(select:disabled) { color:var(--ty-muted); }
.schedule-filters button { border:0; background:transparent; color:var(--ty-action); font:inherit; min-height:44px; cursor:pointer; }
.schedule-state { border:1px solid var(--ty-border); background:var(--ty-surface); border-radius:24px; padding:32px; margin:24px 0; }
.schedule-state h2 { font-size:22px; margin:0 0 12px; }
.schedule-state p { color:var(--ty-muted); margin:0; }
.schedule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.schedule-card { border:1px solid #d6e0f0; border-radius:24px; padding:28px; display:flex; flex-direction:column; gap:14px; box-shadow:0 8px 22px #05142e17; overflow-wrap:anywhere; }
.schedule-card:focus-within { outline:2px solid var(--ty-action); }
.schedule-card h2 { font-size:22px; } .schedule-card h3 { font-size:16px; }
.schedule-card p,.schedule-card h2,.schedule-card h3 { margin:0; }
.schedule-card p { font-size:14px; }
.schedule-card a { color:var(--ty-action); margin-top:auto; min-height:44px; display:flex; align-items:center; }
.schedule-badge { align-self:flex-start; background:#e8f5ff; padding:6px 12px; border-radius:999px; font-size:12px; }
.schedule-muted { color:var(--ty-muted); }
@media(max-width:767px) {
 .schedule-header .schedule-desktop { display:none; } .schedule-header .schedule-mobile { display:inline-flex; }
 .schedule-header > a.schedule-mobile:first-of-type { font-size:28px; }
 .schedule-header { padding:0 20px; } .schedule-header strong { font-size:18px; }
 .schedule-intro { padding:48px 0 32px; } .schedule-eyebrow { display:none; }
 .schedule-intro h1 { font-size:34px; max-width:260px; margin:0 0 12px; }
 .schedule-intro p { font-size:15px; }
 .schedule-filters { padding:0; background:transparent; box-shadow:none; gap:8px; }
 .schedule-filters label { flex:1 1 135px; font-size:12px; border:0; border-radius:24px; background:var(--ty-surface); padding:0 14px; }
 .schedule-grid { grid-template-columns:1fr; gap:16px; margin-top:16px; }
 .schedule-state { padding:24px; } .schedule-state h2 { font-size:20px; }
}
.schedule-header nav.schedule-desktop { display:flex; }
.schedule-filters label { white-space:nowrap; }
.schedule-filters select { flex:1; width:auto; }
.schedule-main [hidden] { display:none; }
@media(max-width:767px) { .schedule-header nav.schedule-desktop { display:none; } }
