/* Shared by the supplied homepage and the WordPress page shell. */
[hidden]{display:none!important}
html{scroll-padding-top:120px}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:120px 90px}
:focus-visible{outline:3px solid #761d32;outline-offset:4px;box-shadow:0 0 0 7px #fff}
button,select,input:not([type=hidden]),textarea{min-height:44px}
button{min-width:44px}
input,select,textarea{font-size:16px!important}
.field label,.programme-filter label{font-size:16px}
.poster-info h3 a,.show-card h3 a,.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.poster-venue,.poster-collective,.poster-venue span,.poster-collective span,.poster-date,.poster-date strong,.session-count,.card-meta,.card-kicker,.article-meta,.record-row .record-meta,.ticket-help,.ticket-handoff,.ticket-loading p,.show-card dl,.footer-contact,.site-footer,.footer-bottom,.document-actions p,.contact-form>p,.collective-hero figcaption,.live-event-poster figcaption{font-size:14px;line-height:1.7}
.poster-tail .text-link,.programme-alternative>summary,.menu-magic-controls button{font-size:14px}
.ticket-embed-top,.ticket-embed-top a,.ticket-embed-top>span{font-size:14px}
.primary-nav>a,.primary-nav .nav-group>summary,.hero-header .primary-nav>a,.hero-header .primary-nav summary{font-size:14px;padding-inline:10px}
.nav-dropdown a{font-size:15px!important}
.hotspot-label small{font-size:14px}
.site-header .brand{min-height:44px}
.session-link[aria-current],.gallery-filter [aria-current],.atmosphere button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
.session-link[aria-current]::after{content:'✓';font-size:16px}
.programme-jump{display:flex;flex-wrap:wrap;gap:10px 24px;margin-block:14px}
.programme-jump a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:16px;font-weight:650;color:var(--red)}
.media-accessibility{font-size:16px;line-height:1.7;margin-top:24px}
.media-accessibility a{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.accessibility-open{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid #899096;border-radius:50%;background:var(--paper,#f8f7f4);color:var(--ink,#18212b);cursor:pointer}
.accessibility-labelled{width:auto;height:auto;border-radius:28px;gap:10px;padding:10px 16px;font-size:16px;line-height:1.5;margin-block:12px}
.footer-bottom{flex-wrap:wrap;gap:16px 24px}
.accessibility-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #727a82;border-radius:22px;padding:28px;background:var(--paper,#f8f7f4);color:var(--ink,#18212b);margin:auto;font-size:16px;line-height:1.65;box-shadow:0 20px 70px #18212b30}
.accessibility-dialog::backdrop{background:#18212b80}
.accessibility-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}
.accessibility-heading h2{font-size:28px;letter-spacing:-.03em;line-height:1.25;margin:0}
.accessibility-dialog button{font:inherit;border:1px solid #727a82;border-radius:12px;padding:10px 14px;background:var(--paper,#f8f7f4);color:var(--ink,#18212b);white-space:normal}
.accessibility-heading button{flex-shrink:0}
.accessibility-options{margin-block:20px}
.accessibility-options label{display:flex;align-items:center;gap:16px;border-top:1px solid #899096;padding:18px 0;cursor:pointer}
.accessibility-options input{appearance:auto;flex:0 0 28px;width:28px;height:28px;min-height:28px;margin:8px;accent-color:#761d32}
.accessibility-options strong,.accessibility-options small{display:block}
.accessibility-options strong{font-size:18px;line-height:1.5}
.accessibility-options small{font-size:15px;line-height:1.65;margin-top:4px}
.accessibility-dialog .accessibility-device{font-size:14px;margin-bottom:18px}
.accessibility-status{font-size:15px;margin-top:12px;min-height:1.65em}
.accessibility-help{margin-top:24px;border-top:1px solid #899096;padding-top:22px;overflow-wrap:anywhere}
.accessibility-help h3{font-size:22px;margin:0 0 12px}
.accessibility-help p{margin:12px 0;font-size:16px}
.accessibility-help a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-weight:600;color:var(--red,#761d32)}
html[data-a11y-text=large] :is(p,li,dt,dd,label,summary,input,select,textarea,.button,.text-link,.poster-venue,.poster-collective,.poster-date,.poster-date strong,.poster-tail>span,.session-count,.card-meta,.card-kicker,.article-meta,.record-meta,.ticket-embed-top,.ticket-embed-top>a,.ticket-embed-top>span,.breadcrumbs,.footer-contact,.footer-bottom,.site-footer a,.nav-ticket,.dialog-content>a){font-size:20px!important;line-height:1.7!important}
html[data-a11y-text=large] .primary-nav{display:none!important}
html[data-a11y-text=large] .hero-copy-bottom{flex-wrap:wrap;gap:16px}
html[data-a11y-text=large] .button{white-space:normal;max-width:100%;gap:12px;text-align:center}
html[data-a11y-text=large] .hero-copy-bottom p{max-width:30ch}
html[data-a11y-text=large] .hero-header.home-navigation{gap:12px}
html[data-a11y-text=large] .accessibility-options small{font-size:18px}
html[data-a11y-text=large] .accessibility-options strong{font-size:22px}
html[data-a11y-text=large] .header-inner{gap:12px}
html[data-a11y-text=large] .poster-date,html[data-a11y-text=large] .poster-tail{flex-wrap:wrap}
html[data-a11y-text=large] .hero-copy{max-width:calc(100% - 48px)}
html[data-a11y-contrast=high]{--paper:#fff;--ink:#101820;--muted:#35404c;--red:#651028;--line:#737b83;color:var(--ink);background:var(--paper)}
html[data-a11y-contrast=high] :is(.muted,.faq-no,.card-meta,.record-meta,.poster-venue,.poster-collective,.session-count,.footer-bottom){color:#35404c}
html[data-a11y-contrast=high] :is(.hero-copy,.night .hero-copy){background:#fff;color:#101820;padding:24px;border-radius:16px;text-shadow:none}
html[data-a11y-contrast=high] .hero-copy :is(h1,p,.eyebrow,span){color:#101820;text-shadow:none}
html[data-a11y-contrast=high] .hero-copy h1 em{color:#651028}
html[data-a11y-contrast=high] .hero-copy-bottom p{background:none;margin:0;padding:0}
html[data-a11y-contrast=high] :is(.scene-foot,.hotspot-label,.atmosphere){background:#fff;color:#101820;border-radius:16px;text-shadow:none}
html[data-a11y-contrast=high] .scene-foot{padding:6px 10px}
html[data-a11y-contrast=high] .scene-foot button{color:#101820;background:#fff;border:1px solid #35404c}
html[data-a11y-contrast=high] .hero .scene-foot>span{background:#fff;color:#101820}
html[data-a11y-contrast=high] .hotspot-label{padding:10px}
html[data-a11y-contrast=high] .hero .hotspot-label small{color:#35404c}
html[data-a11y-contrast=high] :is(.image-label,.poster-visual,.card-media){outline:1px solid #737b83}
html[data-a11y-motion=reduce]{scroll-behavior:auto!important}
html[data-a11y-motion=reduce] *,html[data-a11y-motion=reduce] *::before,html[data-a11y-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-a11y-motion=reduce] :is([data-reveal],.reveal-ready){opacity:1!important;transform:none!important}
html[data-a11y-motion=reduce] :is(.scene-particles,.scene-life,.menu-stardust){display:none!important}
/* Changing a preference must not replay entrances or hide already readable content. */
html[data-a11y-settled] :is(.hero-copy,.hero-header,.hero-rail>*,[data-reveal]){animation:none!important;opacity:1!important;filter:none!important}
html[data-a11y-settled] [data-reveal]{transform:none!important}
@media(max-width:1380px){.primary-nav{display:none!important}.no-js .primary-nav{display:flex!important;flex-wrap:wrap}.site-header .brand{margin-right:auto}}
@media(max-width:700px){
 .hero-header.home-navigation .language-pill{display:none}
 .header-language{display:none}
 .site-header .header-inner{gap:8px}
 .site-header .brand strong{font-size:18px}
 .site-header .brand-mark{width:34px;height:34px}
 .site-header .header-cta{font-size:13px;padding-inline:12px}
 .accessibility-dialog{padding:22px 18px}
 .accessibility-heading{gap:10px;flex-wrap:wrap}
 .accessibility-heading h2{font-size:25px}
 .ticket-embed-top a{max-width:none}
 html[data-a11y-text=large] .header-cta{display:none}
 html[data-a11y-text=large] .hero-copy{margin-top:380px;margin-bottom:115px}
 html[data-a11y-text=large] .hero-copy h1{font-size:clamp(42px,11vw,64px)}
 html[data-a11y-text=large] .section-top{gap:24px}
}
@media(forced-colors:active){
 .accessibility-dialog,.accessibility-dialog button,.accessibility-open{background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none}
 .accessibility-options input{accent-color:auto}
 .accessibility-help a{color:LinkText}
 :focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
 .session-link[aria-current]{outline:3px solid Highlight}
}
