@import url('/theme-season.css');
@font-face{font-family:Effra;src:url('/assets/effra-trial-rg.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Effra;src:url('/assets/effra-trial-bd.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Encorpada;src:url('/assets/encorpada-classic-rg.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Encorpada;src:url('/assets/encorpada-classic-bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--ink:#000;--paper:#fff;--muted:#6e6e6e;--surface:#f8f8f8;--line:#e2e2e2;--gutter:clamp(24px,4.2vw,72px);--space:clamp(64px,7.7vw,120px);--ease:cubic-bezier(.16,1,.3,1);--fast:180ms;--display:clamp(3.2rem,6.9vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:var(--ink) var(--surface)}body{margin:0;color:var(--ink);background:var(--paper);font:18px/1.45 Effra,Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--season-end);color:var(--ink)}:focus-visible{outline:2px solid currentColor;outline-offset:5px}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{max-width:100%;display:block}svg{flex-shrink:0}.icon{width:22px;height:22px;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:Encorpada,Georgia,serif;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}h2{font-size:clamp(2.7rem,4.3vw,4.4rem)}h3{font-size:clamp(1.8rem,2.3vw,2.7rem);line-height:1.05}p{max-width:68ch}em{font-style:normal}button,a{touch-action:manipulation}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.js-only{display:none!important}.js-ready .js-only{display:flex!important}.section-wrap{padding-inline:var(--gutter)}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:#fff;padding:14px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.comparison{min-height:54px;padding:6px 20px;display:flex;align-items:center;gap:20px;background:var(--surface);border-bottom:1px solid var(--line);font-size:13px}.comparison-brand{letter-spacing:.07em;font-weight:700;font-size:12px;flex:1}.comparison-brand span{font-weight:400;letter-spacing:0;margin-left:10px}.comparison nav{display:flex;gap:4px}.comparison nav a{padding:8px 14px;border:1px solid transparent}.comparison nav a[aria-current]{border-color:var(--ink);background:var(--paper)}.comparison nav b{margin-right:6px}.comparison a:hover{background:var(--paper)}.intent-link{margin-left:auto;display:flex;align-items:center;gap:8px}.intent-link .icon{width:15px;height:15px}
.site-header{height:104px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{width:184px;flex-shrink:0}.brand img{height:auto}.main-nav{display:flex;gap:30px;align-items:center;margin-left:auto}.main-nav a{padding-block:15px;font-size:16px}.main-nav a:hover{text-decoration:underline}.header-actions{display:flex;gap:24px;align-items:center}.favorites-open{gap:8px;align-items:center;padding:12px 0;font-size:15px}.favorite-count{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;min-width:23px;height:23px;font-size:12px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;min-height:54px;padding:15px 23px;font-size:16px;line-height:1.3;font-weight:700;transition:background var(--fast),color var(--fast)}.button .icon{width:22px}.button-season{background:var(--season-gradient);color:var(--season-text)}.button-season:hover{background:var(--season-start)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#333}.button-light{background:var(--paper);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border-bottom:1px solid currentColor;font-size:16px;font-weight:700}.text-link .icon{transition:transform var(--fast) var(--ease)}.text-link:hover .icon{transform:translateX(4px)}.inline-link{text-decoration:underline}.inline-link .icon{width:16px;margin-left:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;padding:11px}.icon-button:hover{background:var(--season-start);color:var(--ink)}.icon-button[aria-pressed=true] .icon{fill:currentColor}.header-actions .mobile-menu{display:none!important}
.hero{position:relative}.hero-copy h1{font-size:var(--display);line-height:.94}.hero-artist{font-size:20px;margin-top:18px}.hero-description{font-size:23px;line-height:1.3;margin-top:54px}.hero-links{display:flex;align-items:center;gap:26px;margin-top:24px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-date{display:flex;align-items:center;gap:16px;font-size:23px;line-height:1.05;font-variant-numeric:tabular-nums}.date-line{display:block;height:1px;background:currentColor;width:48px}.date-year{display:block;font-size:12px;margin-top:8px}.hero-genre{font-size:13px}.booking-ledge{display:flex;align-items:center;gap:32px;padding:26px 32px}.booking-ledge>div{display:flex;flex-direction:column;gap:4px;font-size:14px}.booking-ledge strong{font-size:19px;font-weight:400}.booking-ledge strong span{font-size:16px}.booking-ledge .ledge-date{flex:1}.booking-ledge .ledge-price{padding-left:32px;border-left:1px solid #0003}.booking-ledge .ledge-price strong{font-size:30px;line-height:1}.booking-ledge .button{min-width:234px}.booking-ledge .ledge-price>span{font-size:12px}
.direction-b .hero{margin:0 var(--gutter);min-height:685px;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr auto;column-gap:5%;padding:58px 42px 0;background:linear-gradient(var(--season-start) 0 76%,#fff 76%)}.direction-b .hero:before{content:'';position:absolute;inset:0 0 24% 0;background:var(--season-gradient);z-index:0;pointer-events:none}.direction-b .hero-copy{grid-column:1;grid-row:1;padding-top:94px;position:relative;z-index:2;align-self:start}.direction-b .hero-copy h1{font-size:clamp(3.8rem,7vw,6.3rem)}.direction-b .hero-photo{grid-column:2;grid-row:1/3;position:relative;margin-bottom:14px;min-height:570px;z-index:1}.direction-b .hero-photo img{object-position:50% 50%}.direction-b .hero-date{position:absolute;left:42px;top:43px;z-index:1}.direction-b .hero-genre{position:absolute;left:42px;top:480px;z-index:1}.direction-b .booking-ledge{position:relative;z-index:2;grid-column:1/3;grid-row:2;background:#fff;margin:0 80px 0 -42px;padding:28px 28px 24px 0;align-self:end;min-height:132px;gap:25px}.direction-b .booking-ledge .ledge-place{display:none}.direction-b .booking-ledge .ledge-price{padding-left:25px}.direction-b .hero-description{margin-top:35px;font-size:22px}
.direction-a .hero{min-height:650px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--paper);padding-top:82px;background:var(--ink)}.direction-a .hero-photo{position:absolute;inset:0 0 100px 0;overflow:hidden}.direction-a .hero-photo img{object-position:70% 49%}.direction-a .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000c,#0003 70%)}.direction-a .hero-copy{position:relative;padding:28px var(--gutter) 48px;z-index:1;max-width:750px}.direction-a .hero-copy h1{font-size:clamp(4.3rem,8vw,7.2rem)}.direction-a .hero-description{margin-top:30px}.direction-a .hero-date{position:absolute;top:43px;left:var(--gutter);z-index:1}.direction-a .hero-genre{position:absolute;top:49px;right:var(--gutter)}.direction-a .booking-ledge{position:relative;background:var(--season-gradient);color:var(--ink);padding-inline:var(--gutter);z-index:2}.direction-a .hero-links .favorite{color:#fff}.direction-a .hero-links .favorite:hover{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){.hero-photo{animation:open-frame 1s var(--ease) both}@keyframes open-frame{from{clip-path:inset(0 12% 0 0)}to{clip-path:inset(0 0 0 0)}}}
.programme{padding-top:var(--space);padding-bottom:var(--space)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:44px}.section-head h2 em{margin-left:100px}.section-side{width:260px}.section-side p{font-size:21px;line-height:1.35;margin-bottom:22px}.section-side>span{font-size:13px}.filter-bar{align-items:center;justify-content:space-between;border-block:1px solid var(--line);margin-bottom:40px;gap:20px}.filter-options{display:flex;gap:24px}.filter-options button{position:relative;padding:19px 0;font-size:15px;white-space:nowrap}.filter-options button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;height:3px;left:0;right:0;background:var(--ink)}.filter-options button span{display:inline-flex;background:var(--season-start);border-radius:50%;font-size:12px;align-items:center;justify-content:center;min-width:21px;height:21px;margin-left:6px}#results-count{font-size:13px;color:var(--muted)}.show-card{min-width:0;position:relative}.show-image{position:relative;overflow:hidden;background:var(--surface)}.show-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.show-image>a{height:100%;display:block}.show-image>a:hover img{transform:scale(1.025)}.show-image .favorite{position:absolute;right:16px;top:16px;background:#fff;border:0;color:#000}.show-image .favorite:hover{background:var(--season-start)}.show-meta{display:flex;justify-content:space-between;font-size:12px;margin-bottom:14px}.title-link{display:flex;align-items:start;justify-content:space-between;gap:20px}.title-link .icon{margin-top:5px}.title-link:hover{text-decoration:underline;text-decoration-thickness:1px}.artist{font-size:15px;line-height:1.35;margin-top:10px;max-width:40ch}.show-date{font-size:22px;margin-top:25px}.show-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:16px}.show-bottom>span{font-size:12px;line-height:1.6;color:var(--muted)}.show-bottom .text-link{font-size:14px;gap:12px}.show-bottom .icon{width:18px}.programme-note{margin-top:38px;color:var(--muted);font-size:14px}.programme-note a{color:var(--ink);margin-left:8px}
.direction-a .show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.direction-a .show-image{aspect-ratio:1.35}.direction-a .show-body{padding-top:20px}.direction-a .show-card-0{grid-column:span 2;grid-row:span 2}.direction-a .show-card-0 .show-image{aspect-ratio:.97}.direction-a .show-card-0 h3{font-family:Encorpada;font-size:clamp(2.8rem,4.1vw,4.2rem)}.direction-a .show-card-0 .show-date{font-size:29px}.direction-a .show-card-0 .show-body{padding-top:24px}.direction-a .show-card-0 .artist{font-size:18px}.direction-a .show-card-0 .show-bottom{margin-top:24px}.direction-a .show-card-0 .show-meta{font-size:14px}
.direction-b .show-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.direction-b .show-card{display:grid;grid-template-columns:39% 1fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--ink)}.direction-b .show-card:nth-child(-n+2){padding-top:0}.direction-b .show-image{min-height:258px;max-height:290px}.direction-b .show-image .favorite{top:auto;bottom:12px;right:12px;width:40px;height:40px}.direction-b .show-meta{font-size:12px;gap:10px;flex-wrap:wrap}.direction-b .show-body{display:flex;flex-direction:column;padding-top:4px}.direction-b .show-date{margin-top:24px;font-size:20px}.direction-b h3{font-size:clamp(1.6rem,2vw,2.2rem)}.direction-b .show-bottom{margin-top:auto;padding-top:20px;flex-wrap:wrap;gap:10px}.direction-b .show-bottom>span{display:none}.direction-b .title-link .icon{width:18px}.direction-b .artist{font-size:14px}.direction-b .show-card[data-card="all-ears-cloud-gate-dance-theatre-of-taiwan"] .artist:after{content:'Cloud Gate Dance Theatre of Taiwan';display:block;margin-top:5px}
.appointment{padding-block:70px;background:var(--season-gradient);display:grid;grid-template-columns:1fr 1.7fr;gap:65px}.appointment h2{font-size:clamp(2.8rem,4.1vw,4rem)}.appointment-intro p{margin-top:24px;font-size:18px}.appointment-row{display:flex;align-items:center;gap:24px;border-top:1px solid #0006;padding:25px 0}.appointment-row:last-child{border-bottom:1px solid #0006}.appointment-row:hover .appointment-show strong{text-decoration:underline}.calendar-date{display:flex;gap:10px;align-items:center;min-width:94px}.calendar-date>b{font-size:42px;line-height:1;font-weight:400;letter-spacing:-.03em}.calendar-date>span{font-size:13px;line-height:1.2}.appointment-show{display:flex;flex:1;flex-direction:column;gap:5px}.appointment-show strong{font-weight:400;font-size:20px}.appointment-show>span{font-size:12px;max-width:31ch}.appointment-time{font-size:16px;white-space:nowrap}.appointment-row>.icon{margin-left:12px}.place{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;padding-block:var(--space)}.place-image img{width:100%;height:auto}.place-copy p{margin-top:28px;max-width:32ch;color:var(--muted)}.place-copy .text-link{margin-top:30px}.practical{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding-bottom:var(--space)}.practical h2{font-size:clamp(2.5rem,3.6vw,3.8rem)}.practical-links>*{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:20px;border-bottom:1px solid var(--ink);font-size:18px}.practical-links>*:first-child{border-top:1px solid var(--ink)}.practical-links>*:hover{text-decoration:underline}.intention{background:var(--surface);padding-block:55px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px;border-top:1px solid var(--line)}.intention>div:first-child{display:flex;align-items:start;gap:20px}.intention h2{font-size:34px;max-width:10ch}.direction-letter{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);width:42px;height:42px;font-size:16px;flex-shrink:0}.intention p{font-size:16px;line-height:1.6}.intention p+p{margin-top:16px;color:var(--muted)}.intention .text-link{margin-top:20px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:50px}.site-footer p{font-family:Encorpada;font-size:26px}.site-footer>div{display:flex;flex-direction:column;gap:10px;text-align:right;font-size:12px;color:var(--muted)}.site-footer>div>span:first-child{color:var(--ink)}
dialog{border:0;padding:0;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#0009}body:has(dialog[open]){overflow:hidden}.sheet{width:min(760px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;overflow:auto;overscroll-behavior:contain}.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:#fff}.sheet-top>span{font-size:13px}.sheet-top .icon-button{width:42px;height:42px}.sheet-hero{display:grid;grid-template-columns:1.3fr 1fr;background:var(--season-start)}.sheet-hero>div{padding:32px 30px}.sheet-hero img{height:100%;width:100%;object-fit:cover;max-height:270px}.sheet-hero h2{font-size:clamp(2.1rem,4vw,3rem);overflow-wrap:anywhere}.sheet-hero p{margin-top:14px;font-size:15px}.sheet-hero .genre{font-size:12px;margin-top:25px}.sheet-inner{padding:30px}.sheet-inner>p{margin-top:15px;font-size:16px}.show-facts{display:flex;gap:8px 22px;flex-wrap:wrap;font-size:14px;padding-bottom:24px;border-bottom:1px solid var(--line)}.show-description{margin:24px 0;font-size:18px}.sheet-actions{display:flex;gap:22px;align-items:center;margin:24px 0}.sheet-actions .text-link{font-size:14px}.favorite-with-label{display:flex;gap:12px;align-items:center;font-size:14px}.favorite-with-label .favorite{width:38px;height:38px}.session-area{margin-top:32px;scroll-margin-top:100px}.session-area h3{font-family:Encorpada;font-size:30px}.session-area>p{font-size:13px;margin:10px 0 22px;color:var(--muted)}.session-day{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.session-day h4{font:400 14px/1.3 Effra;margin:0;text-transform:capitalize}.session-times{display:flex;flex-wrap:wrap;gap:8px}.session-time{border:1px solid var(--line);padding:10px 13px;min-width:75px;min-height:44px;font-size:15px}.session-time:hover{border-color:var(--ink)}.session-time[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.session-day:last-child{border-bottom:1px solid var(--line)}.selected-session{margin-top:22px;padding:24px;background:var(--surface)}.selected-session h4{font:400 21px/1.3 Effra;margin:0 0 10px;text-transform:capitalize}.selected-session p{font-size:14px;margin-top:10px}.selected-session .button{width:100%;margin-top:22px}.calendar-export{display:flex;gap:10px;align-items:center;margin-top:14px;padding:8px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}.session-notes{font-size:13px;line-height:1.5}.price-details{margin-top:30px;border-block:1px solid var(--line)}summary{cursor:pointer;padding:18px 0;min-height:48px;font-size:15px}details ul{padding-left:20px;margin:0 0 20px;font-size:14px}details li+li{margin-top:8px}.school-details{margin-top:12px}.school-details p{font-size:14px;margin-bottom:15px}.small-note{color:var(--muted);font-size:13px!important;line-height:1.5}.favorites-sheet{max-width:560px}.favorites-sheet h2{font-size:44px}.favorite-item{display:grid;grid-template-columns:88px 1fr 44px;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.favorite-item img{width:88px;height:110px;object-fit:cover}.favorite-item strong{display:block;font-weight:400;font-size:20px;line-height:1.2}.favorite-item p{font-size:13px;margin-top:6px}.favorite-item .text-link{font-size:13px;margin-top:6px;gap:14px}.favorite-item .icon-button{width:40px;height:40px}.empty-favorites{padding:50px 0 30px;max-width:35ch}.empty-favorites>.icon{width:48px;height:48px;margin-bottom:25px}.empty-favorites h3{font-family:Encorpada;font-size:30px}.empty-favorites p{font-size:16px;margin-top:14px}.empty-favorites .button{margin-top:26px}.menu-sheet{width:100%;max-width:100%;height:100dvh;max-height:100dvh}.menu-sheet h2{font-size:30px}.menu-sheet nav{padding:35px 24px}.menu-sheet nav a{display:flex;justify-content:space-between;align-items:center;font-family:Encorpada;font-size:40px;padding:25px 0;border-bottom:1px solid var(--line)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:14px 24px;z-index:99;font-size:14px;opacity:0;pointer-events:none;max-width:calc(100% - 32px);width:max-content;transition:opacity var(--fast),transform var(--fast)}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-js{padding:20px;background:var(--season-start)}
@media(min-width:1600px){body{max-width:1800px;margin-inline:auto}}
@media(max-width:1100px){.comparison-brand span{display:none}.site-header{gap:24px}.brand{width:160px}.main-nav{gap:20px}.header-actions{gap:18px}.favorites-open>span:not(.favorite-count){display:none}.booking-ledge{gap:20px}.booking-ledge .ledge-price{padding-left:20px}.direction-b .hero{padding-inline:30px;min-height:640px;gap:20px}.direction-b .hero-copy h1{font-size:7.2vw}.direction-b .hero-copy{padding-top:105px}.direction-b .hero-date{left:30px}.direction-b .hero-genre{left:30px;top:454px}.direction-b .booking-ledge{margin-left:-30px;margin-right:25px}.direction-b .hero-photo{min-height:530px}.direction-b .show-grid{gap:0 28px}.direction-b .show-card{gap:18px;grid-template-columns:36% 1fr}.direction-b .show-meta span:last-child{display:none}.direction-b .show-image{min-height:250px}.direction-b .show-date{font-size:18px}.appointment{gap:40px}.appointment-row{gap:17px}.site-footer p{display:none}}
@media(max-width:760px){:root{--gutter:24px;--space:64px}.comparison{padding:7px 12px;gap:8px;min-height:48px}.comparison-brand{display:none}.comparison nav{gap:5px;flex:1}.comparison nav a{font-size:12px;padding:6px 9px}.comparison nav b{margin-right:3px}.intent-link{font-size:0;gap:0}.intent-link .icon{width:19px;height:19px}.site-header{height:88px;gap:16px}.brand{width:145px}.main-nav,.header-book{display:none}.header-actions{gap:13px}.header-actions .mobile-menu{display:flex!important;border:0;width:33px;padding:5px}.favorites-open{gap:6px}.favorites-open .icon{width:20px}.favorite-count{min-width:20px;height:20px;font-size:12px}.button{min-height:54px}.hero-artist{font-size:17px;margin-top:15px}.hero-copy h1{font-size:4.2rem}.hero-description{font-size:20px}.hero-links{gap:18px}.hero-links .text-link{font-size:14px}.hero-links .favorite{width:40px;height:40px}.hero-date{font-size:21px}.hero-genre{font-size:12px}.booking-ledge{display:grid;grid-template-columns:1fr auto;gap:20px!important;padding:22px 24px!important}.booking-ledge .ledge-date{font-size:12px}.booking-ledge strong{font-size:17px}.booking-ledge strong span{font-size:15px}.booking-ledge .ledge-place{display:none}.booking-ledge .ledge-price{border:0!important;padding:0!important}.booking-ledge .ledge-price strong{font-size:26px}.booking-ledge .button{grid-column:1/-1;width:100%;min-width:0;min-height:52px;padding-block:14px}.direction-b .hero{margin:0;padding:0;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:316px auto auto;gap:0;background:var(--season-start)}.direction-b .hero:before{display:none}.direction-b .hero-photo{grid-column:1;grid-row:1;min-height:0;height:316px;margin:0 24px 0 107px;z-index:1}.direction-b .hero-photo img{object-position:50% 43%}.direction-b .hero-date{left:24px;top:36px;display:flex;flex-direction:column;gap:18px;align-items:start;font-size:20px}.direction-b .date-line{width:1px;height:45px;margin-left:25px}.direction-b .date-year{font-size:12px}.direction-b .hero-copy{grid-row:2;grid-column:1;padding:25px 24px 25px;z-index:2;background:var(--season-gradient)}.direction-b .hero-copy h1{font-size:clamp(3.5rem,16vw,4.5rem);margin-top:-8px}.direction-b .hero-artist{margin-top:10px}.direction-b .hero-description{margin-top:23px;font-size:20px}.direction-b .hero-description br{display:none}.direction-b .hero-links{margin-top:18px;justify-content:space-between}.direction-b .hero-genre{top:294px;left:115px;z-index:2;color:#fff;font-size:12px;background:#0009;padding:3px 6px}.direction-b .booking-ledge{grid-column:1;grid-row:3;margin:0;background:var(--paper);min-height:0;border-bottom:1px solid var(--line)}.direction-a .hero{min-height:0;padding-top:200px}.direction-a .hero-photo{inset:0 0 170px}.direction-a .hero-photo img{object-position:60% 45%}.direction-a .hero-photo:after{background:linear-gradient(0deg,#000d 0%,#0003 80%)}.direction-a .hero-copy{padding:40px 24px 32px}.direction-a .hero-copy h1{font-size:clamp(3.5rem,16vw,4.5rem)}.direction-a .hero-description{margin-top:23px}.direction-a .hero-date{top:30px;left:24px}.direction-a .hero-genre{top:86px;left:24px;right:auto;font-size:12px}.direction-a .hero-links{justify-content:space-between;margin-top:22px}.section-head{align-items:start;gap:20px;margin-bottom:30px}.section-head h2{font-size:42px}.section-head h2 em{margin-left:37px}.section-side{display:none}.filter-bar{gap:0;margin-bottom:25px;display:block!important}.filter-options{gap:23px;overflow-x:auto;scrollbar-width:thin}.filter-options button{font-size:14px;padding:17px 0}.filter-options button span{display:none}#results-count{display:block;padding:12px 0;font-size:12px}.direction-a .show-grid{grid-template-columns:1fr 1fr;gap:36px 18px}.direction-a .show-card-0{grid-column:1/-1;grid-row:auto}.direction-a .show-card-0 .show-image{aspect-ratio:1.12}.direction-a .show-image{aspect-ratio:.85}.direction-a .show-body{padding-top:14px}.direction-a .show-meta{font-size:12px;gap:4px;flex-wrap:wrap;margin-bottom:10px}.direction-a .show-meta>span:last-child{display:none}.direction-a h3{font-size:22px}.direction-a .show-card-0 h3{font-size:39px}.direction-a .artist{font-size:13px}.direction-a .show-date{font-size:17px;margin-top:17px}.direction-a .show-card-0 .show-date{font-size:23px}.direction-a .show-card-0 .artist{font-size:15px}.direction-a .show-bottom>span{display:none}.direction-a .show-bottom .text-link{font-size:13px;gap:14px}.direction-a .title-link .icon{width:17px}.direction-a .show-image .favorite{width:37px;height:37px;right:10px;top:10px}.direction-a .show-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:45% 1fr;gap:20px}.direction-a .show-card:last-child .show-image{height:100%;aspect-ratio:auto;min-height:240px}.direction-a .show-card:last-child .show-body{padding:8px 0}.direction-b .show-grid{display:block}.direction-b .show-card{grid-template-columns:40% 1fr;gap:20px;padding-block:25px}.direction-b .show-card:nth-child(2){padding-top:25px}.direction-b .show-image{min-height:245px;max-height:270px}.direction-b h3{font-size:25px}.direction-b .show-meta{font-size:12px}.direction-b .artist{font-size:13px}.direction-b .show-date{font-size:18px;margin-top:20px}.direction-b .show-body{padding-top:5px}.programme-note{font-size:13px}.programme-note a{display:inline-flex;margin:5px 0 0}.appointment{display:block;padding-block:46px}.appointment-intro{display:flex;gap:25px;align-items:end;margin-bottom:30px}.appointment h2{font-size:39px}.appointment-intro p{font-size:14px;margin:0 0 2px auto;max-width:18ch}.appointment-row{gap:17px;padding:23px 0}.calendar-date{min-width:70px;gap:7px}.calendar-date>b{font-size:34px}.calendar-date>span{font-size:12px}.appointment-show strong{font-size:18px}.appointment-show>span{font-size:12px;max-width:20ch}.appointment-time{font-size:13px}.appointment-row>.icon{margin-left:0;width:18px}.place{display:block}.place-image{margin-right:36px}.place-copy{padding:34px 0 0 36px}.place-copy h2{font-size:44px}.place-copy p{font-size:17px;margin-top:22px}.place-copy .text-link{margin-top:20px}.practical{display:block}.practical h2{font-size:39px;margin-bottom:28px}.practical-links>*{font-size:16px;padding-block:18px}.intention{display:block;padding-block:38px}.intention>div:first-child{margin-bottom:25px;align-items:center}.intention h2{font-size:31px;max-width:none}.intention p{font-size:15px}.site-footer{padding-block:35px;align-items:start;flex-direction:column;gap:24px}.site-footer img{width:145px;height:auto}.site-footer>div{text-align:left}.sheet-top{padding:14px 20px}.sheet-hero{grid-template-columns:1fr 37%}.sheet-hero>div{padding:27px 22px}.sheet-hero h2{font-size:32px}.sheet-hero p{font-size:14px}.sheet-hero .genre{font-size:12px}.sheet-inner{padding:25px 22px}.show-facts{font-size:13px;gap:8px 18px}.show-description{font-size:16px}.sheet-actions{gap:16px;justify-content:space-between}.sheet-actions .text-link{font-size:12px;gap:10px}.favorite-with-label{font-size:12px;gap:9px}.session-day{grid-template-columns:110px 1fr;gap:12px}.session-day h4{font-size:13px}.session-time{font-size:14px;padding:9px 10px;min-width:69px}.selected-session{padding:20px}.favorite-item{grid-template-columns:70px 1fr 36px;gap:12px}.favorite-item img{width:70px;height:95px}.favorite-item strong{font-size:18px}.favorite-item .icon-button{width:36px;height:36px}.favorite-item .text-link{font-size:12px}.favorites-sheet h2{font-size:40px}.toast{bottom:14px;font-size:13px;padding:12px 18px}}
@media(max-width:359px){.brand{width:125px}.header-actions{gap:9px}.comparison nav a{padding-inline:7px;font-size:12px}.direction-b .hero-photo{margin-left:90px}.direction-b .hero-genre{left:95px}.direction-b .show-card{gap:16px;grid-template-columns:38% 1fr}.direction-b h3{font-size:22px}.appointment-intro{display:block}.appointment-intro p{margin-top:20px;max-width:none}.appointment-row{gap:11px}.appointment-row>.icon{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Booking: day first, then time; the confirmation stays within one mobile screen. */
.session-days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:22px}.session-date{border:1px solid var(--line);padding:12px 4px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px}.session-date strong{font-size:28px;font-weight:400;line-height:1.1}.session-date[aria-pressed=true]{background:var(--season-start);border-color:var(--season-start)}.session-date:hover{border-color:var(--ink)}#day-times{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px;border-block:1px solid var(--line)}#day-times h4{font:400 15px/1.4 Effra;margin:0}#day-times h4:first-letter,.selected-session h4:first-letter{text-transform:uppercase}.selected-session h4{text-transform:none}.direction-b .show-meta span:last-child{display:block}.show-meta{font-size:12px!important}.direction-a .show-meta>span:last-child{display:block}.hero-description{max-width:30ch}
@media(max-width:760px){.session-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.session-date{min-height:77px;padding:8px;font-size:12px}.session-date strong{font-size:25px}#day-times{display:block}#day-times h4{font-size:14px;margin-bottom:12px}#day-times .session-times{gap:9px}.hero-description{text-wrap:pretty}}

@media(max-width:760px){.direction-b .hero-genre{font-size:12px;left:115px;top:287px;max-width:calc(100% - 139px);line-height:1.2}.direction-b .hero-description{max-width:27ch}}
/* Finish review fixes: guaranteed date contrast and visible mobile filters. */
@media(max-width:760px){
 .direction-a .hero-photo:after{background:linear-gradient(180deg,#000c 0,#000b 120px,#0004 220px,#000d 100%)}
 .js-ready .filter-bar.js-only{display:block!important}
 .filter-options{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;overflow:visible}
 .filter-options button{text-align:left;min-height:44px;padding:13px 0}
 #results-count{display:block;padding:14px 0 10px}
}
/* Progressive enhancement: controls appear only after their data is ready. */
body:not(.js-ready) .js-only{display:none!important}
@media(max-width:760px){body:not(.js-ready) .site-header{height:auto;flex-wrap:wrap;padding-block:22px}body:not(.js-ready) .main-nav{display:flex;flex:1 1 100%;order:3;gap:24px;margin:0}}
