.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.schedule-hero{padding:85px 0 64px;background:var(--cream);text-align:center;border-bottom:1px solid var(--line)}
.schedule-hero .eyebrow{font-size:20px;letter-spacing:.22em;margin-bottom:17px}
.schedule-hero h1{font-size:36px;letter-spacing:.14em;line-height:1.9}
.schedule-hero p{margin:22px 0 0;font-size:13.333px;line-height:2.2;color:var(--muted)}
.schedule-mobile-break{display:none}.schedule-content{padding:45px 0 100px}
.concert-legend{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0 0 50px}
.concert-legend>div{padding:0 0 23px;border-bottom:1px solid var(--line)}
.concert-legend-en{font-family:var(--latin);font-size:13px;letter-spacing:.14em;color:var(--muted);display:block;margin-bottom:12px}
.concert-type{display:inline-flex;gap:9px;align-items:center;font-size:13px;letter-spacing:.04em;line-height:1.9;color:#000000;white-space:nowrap}
.concert-type-dot{display:inline-block;flex:none;width:7px;height:7px;background:#8a7048;border-radius:50%}
.concert-type.choir{color:#000000}.concert-type.choir .concert-type-dot{background:#48777a}
.concert-legend .concert-type{font-size:20px;letter-spacing:.06em}.concert-legend p{font-size:12px;line-height:2;margin:9px 0 0;color:var(--muted)}
.concert-toolbar{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}
.concert-filters{border:0;padding:0;margin:0;min-width:0}.concert-filters legend{font-size:11px;letter-spacing:.06em;color:var(--muted);padding:0;margin-bottom:13px}
.concert-filters>div{display:flex;gap:10px;flex-wrap:wrap}.concert-filters button{padding:11px 19px;font-size:12px;line-height:1.8;letter-spacing:.05em;border:1px solid #d6d0c7;background:#fff;color:var(--ink);transition:background .2s,color .2s}
.concert-filters button:hover{background:var(--cream)}.concert-filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}
#concert-count{font-size:11px;color:var(--muted);margin:0 0 9px;line-height:1.8}
.concert-group{scroll-margin-top:110px}.concert-group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.concert-group-head .eyebrow{font-size:13px;margin:0 0 7px;letter-spacing:.14em;color:var(--muted)}
.concert-group-head h2{font-size:25px;letter-spacing:.1em}.concert-group-head>span{font-size:11px;color:var(--muted);padding-bottom:6px}
.concert-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.concert-date-col{width:150px}.concert-lineup-col{width:205px}
.concert-table th{font-size:11px;letter-spacing:.1em;font-weight:400;color:var(--muted);padding:13px 20px 13px 0;border-top:1px solid #aaa096;border-bottom:1px solid var(--line)}
.concert-table td{vertical-align:top;padding:29px 24px 29px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.concert-table td:last-child,.concert-table th:last-child{padding-right:0}
.concert-date time{font-family:var(--latin);font-size:24px;letter-spacing:.025em;white-space:nowrap}.concert-day{font-size:11px;display:block;line-height:1.8;margin-top:1px}
.concert-status{display:table;margin-top:14px;font-size:10px;border:1px solid #d8d0c4;padding:3px 9px;color:#000000;letter-spacing:.07em;white-space:nowrap}.concert-status.upcoming{background:#6f6251;color:white;border-color:#6f6251}
.concert-lineup-note{font-size:10.333px;line-height:1.9;color:var(--muted);display:block;margin:9px 0 0;max-width:170px;letter-spacing:.02em}
.concert-overview{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:20px}.concert-photo{margin:0;min-width:0}.concert-photo img{width:100%;aspect-ratio:10/7;object-fit:cover}.concert-photo figcaption{font-size:9px;color:var(--muted);line-height:1.8;letter-spacing:.03em;margin-top:6px}
.concert-content h3{font-size:18px;line-height:1.9;letter-spacing:.05em;margin:0 0 9px}.concert-content .concert-place{font-size:11px;letter-spacing:.07em;margin:0 0 7px;color:#000000;line-height:1.8}
.concert-content .concert-venue{font-size:11.333px;line-height:2;color:var(--muted);margin:0;letter-spacing:.03em}
.concert-content .concert-description{font-size:12px;line-height:2.35;letter-spacing:.045em;margin:0 0 15px}
.concert-content .concert-time{font-size:12px;line-height:2;margin:0 0 4px}.concert-content .concert-note{font-size:11px;line-height:2;color:var(--muted);margin:0 0 16px}
.concert-detail{display:inline-block;border-bottom:1px solid #c7bbab;padding-bottom:4px;font-size:11.333px;line-height:2;color:#000000;letter-spacing:.04em}.concert-detail span{margin-left:12px}.concert-detail:hover{color:var(--ink);border-color:var(--ink)}
.concert-archive{margin-top:70px}.concert-empty{padding:32px;background:var(--cream);border-top:1px solid var(--line)}.concert-empty h3{font-size:16px;line-height:2}.concert-empty p{font-size:12px;line-height:2;margin:12px 0 17px}
.concert-cell-label{display:none}.concert-source{margin:24px 0 0}.concert-source p{font-size:10.333px;line-height:2.2;letter-spacing:.03em;color:var(--muted);margin:0 0 6px}
.schedule-teaser{background:var(--cream)}.schedule-teaser-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.schedule-teaser h2{font-size:29px;margin-bottom:18px}.schedule-teaser p{font-size:13px;margin:0}.schedule-teaser-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.schedule-teaser-actions .btn{font-size:12px;gap:25px;min-width:290px}.schedule-teaser-actions .arrow-link{font-size:12px;gap:24px}
/* Keep the shared navigation comfortable with the schedule link added. */
@media(min-width:1441px){.site-header .nav{gap:18px}.site-header .nav a{font-size:12px}}
@media(min-width:1001px) and (max-width:1440px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:30px 35px 40px;box-shadow:0 12px 20px #0001;align-items:start;flex-direction:column;gap:25px}.nav.open{display:flex}.nav a{font-size:14px}}
@media(max-width:1000px){.concert-date-col{width:125px}.concert-lineup-col{width:185px}.concert-table td{padding-right:20px}.concert-overview{grid-template-columns:1fr}.concert-photo{width:130px}.concert-legend .concert-type{font-size:18px}.concert-toolbar{align-items:start;flex-direction:column;gap:17px}#concert-count{margin:0}.schedule-teaser-inner{gap:30px}.schedule-teaser-actions .btn{min-width:270px;font-size:11px}}
@media(max-width:700px){.schedule-hero{padding:55px 0 43px}.schedule-hero .eyebrow{font-size:17px;margin-bottom:18px}.schedule-hero h1{font-size:28px;line-height:1.95}.schedule-mobile-break{display:block}.schedule-hero p{font-size:12px;margin-top:18px}.schedule-content{padding:25px 0 70px}.concert-legend{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.concert-legend>div{padding-bottom:20px}.concert-legend-en{font-size:11px;margin-bottom:7px}.concert-legend .concert-type{font-size:18px}.concert-legend p{font-size:11.333px;margin-top:6px}.concert-toolbar{margin-bottom:32px}.concert-filters>div{gap:8px}.concert-filters button{font-size:11px;padding:9px 12px}.concert-filters legend{font-size:10px}.concert-group-head{margin-bottom:16px}.concert-group-head h2{font-size:22px}.concert-group-head .eyebrow{font-size:12px}.concert-table,.concert-table tbody{display:block}.concert-table colgroup{display:none}.concert-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.concert-table tr{display:grid;grid-template-columns:116px minmax(0,1fr);column-gap:16px;border-top:1px solid var(--line);padding:23px 0 29px}.concert-table tr:last-child{border-bottom:1px solid var(--line)}.concert-table td{display:block;padding:0;border:0;min-width:0}.concert-cell-label{display:block;font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.concert-date time{font-size:23px}.concert-day{display:inline-block;font-size:10px;margin-left:3px}.concert-status{margin-top:9px;font-size:9px;padding:3px 8px}.concert-lineup{padding-top:0!important}.concert-type{font-size:11px;gap:7px;white-space:normal}.concert-type-dot{width:6px;height:6px}.concert-lineup-note{font-size:10px;margin-top:7px}.concert-content{grid-column:1/-1;margin-top:24px}.concert-overview{grid-template-columns:85px minmax(0,1fr);gap:16px;margin-bottom:17px}.concert-photo{width:auto}.concert-photo figcaption{font-size:8px}.concert-content h3{font-size:15px;letter-spacing:.035em;line-height:1.9;margin-bottom:8px}.concert-content .concert-place{font-size:10px;margin-bottom:6px}.concert-content .concert-venue{font-size:10.333px}.concert-content .concert-description{font-size:12px;line-height:2.25}.concert-detail{font-size:11px}.concert-archive{margin-top:48px}.concert-empty{padding:24px 21px}.concert-empty h3{font-size:14px}.concert-empty p{font-size:11.333px}.concert-source p{font-size:9.333px;line-height:2.2}.schedule-teaser-inner{flex-direction:column;align-items:start;gap:28px}.schedule-teaser h2{font-size:25px}.schedule-teaser p{font-size:12px}.schedule-teaser-actions{width:100%}.schedule-teaser-actions .btn{width:100%;min-width:0;font-size:11px}.schedule-content .support-banner{margin-top:35px}}

.header-shortcuts{display:none}
@media(min-width:701px) and (max-width:1440px){.header-shortcuts{display:flex;gap:25px;margin-left:auto;align-items:center}.header-shortcuts a{font-size:12px;letter-spacing:.05em;border-bottom:1px solid #c9c1b6;padding:10px 0}.header-shortcuts a:hover{border-color:var(--ink)}}
.site-header .menu-toggle{flex-shrink:0}.site-header .nav.open{max-height:calc(100svh - 76px);overflow-y:auto}
@media(max-width:700px){.site-header{padding:0 16px;gap:8px}.site-header>.brand{font-size:clamp(19px,6.1vw,24px);min-width:0}.site-header .menu-toggle{flex:0 0 38px}.site-header .nav.open{max-height:calc(100svh - 63px)}}
