/* Two editorial scenes: a theatre programme, then an open exhibition wall. */
body.home :is(.events-section,.gallery-section) {
  padding:0; overflow:visible; scroll-margin-top:0;
  --culture-ease:cubic-bezier(.22,1,.36,1);
}
body.home :is(.events-section,.gallery-section):before { display:none; }
.culture-control { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; border:1px solid currentColor; color:inherit; background:transparent; }
.culture-control .icon { width:18px; height:18px; }
.culture-control:disabled { opacity:.3; cursor:default; }
.culture-control:not(:disabled):hover { background:#f8ba42; border-color:#f8ba42; color:#171916; }
:is(.events-section,.gallery-section) [hidden] { display:none!important; }
:is(.events-section,.gallery-section) :is(button,a):focus-visible { outline:3px solid #f8ba42; outline-offset:5px; }

body.home .events-section { background:#191519; color:#f8f7f2; }
.agenda-stage { position:relative; isolation:isolate; overflow:hidden; }
.agenda-backdrop { position:absolute; z-index:-1; inset:0 0 auto; height:100svh; pointer-events:none; }
.agenda-backdrop img { width:100%; height:100%; object-fit:cover; object-position:center 67%; }
.agenda-backdrop:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,17,23,.91),rgba(20,17,23,.74) 55%,rgba(20,17,23,.35)),linear-gradient(0deg,#191519,transparent 65%); }
.agenda-layout { padding-block:76px 36px; min-height:100svh; }
.agenda-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding-bottom:26px; border-bottom:1px solid #ffffff38; }
.agenda-heading .eyebrow { font-size:10px; letter-spacing:0; color:#f8c473; margin-bottom:12px; }
.agenda-heading h2 { font:600 42px/1.15 var(--sans); letter-spacing:0; color:#fff; text-transform:none; margin:0; }
.agenda-heading h2 em { font:italic 46px/1.1 Georgia,serif; color:#f8c473; }
.agenda-heading-end { display:flex; align-items:center; gap:22px; }
.agenda-heading-note { display:flex; align-items:center; gap:10px; font-size:11px; color:#e0d9df; }
.agenda-heading-note .icon { width:18px; }
.events-section .events-list { border:0; }
.events-section .agenda-event { display:grid; grid-template-columns:1.15fr 1fr; gap:80px; align-items:center; padding:65px 0; border-bottom:1px solid #ffffff38; }
.agenda-event .event-title { min-width:0; }
.agenda-event .agenda-event-type { display:flex; align-items:center; gap:14px; margin:0 0 24px; font-size:12px; color:#f8c473; }
.agenda-event-type>span { font:italic 36px/1 Georgia,serif; margin-right:9px; }
.agenda-event-type .icon { width:18px; height:18px; }
.agenda-event .event-title h3 { font:500 52px/1.1 var(--sans); text-transform:none; letter-spacing:0; color:#fff; margin:0 0 24px; overflow-wrap:anywhere; }
.agenda-event .event-tag { display:inline-block; color:#e2d8e0; margin:0; font-size:12px; border-left:2px solid #f8c473; padding-left:12px; }
.agenda-description { font-size:16px; line-height:1.85; color:#f1e9ed; margin:0 0 30px; overflow-wrap:anywhere; }
.agenda-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 0 26px; padding-block:20px; border-block:1px solid #ffffff38; }
.agenda-facts dt { display:flex; align-items:center; gap:7px; color:#e0c9d5; font-size:10px; margin-bottom:10px; }
.agenda-facts dt .icon { width:15px; height:15px; }
.agenda-facts dd { font-size:12px; color:#fff; margin:0; overflow-wrap:anywhere; }
.agenda-details { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; min-height:44px; padding:4px 0; color:#f8c473; font-size:12px; text-align:left; }
.agenda-details .icon { width:22px; height:22px; transition:transform .3s var(--culture-ease); }
.agenda-details:hover .icon { transform:translate(3px,-3px); }
.agenda-footer { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-top:28px; }
.agenda-gallery-link { display:flex; align-items:center; gap:18px; font-size:11px; color:#eee5eb; margin-left:auto; min-height:44px; }
.agenda-gallery-link .icon { width:17px; transition:transform .3s var(--culture-ease); }
.agenda-gallery-link:hover .icon { transform:translateY(4px); }
.agenda-cues { display:flex; gap:32px; flex:1; }
.agenda-cues button { display:flex; align-items:center; gap:12px; border-top:1px solid #ffffff38; position:relative; min-height:50px; padding-top:12px; color:#d9cfd7; font-size:11px; flex:1; text-align:left; }
.agenda-cues button:before { content:""; position:absolute; inset:-1px 0 auto; height:2px; background:#f8c473; transform:scaleX(var(--event-cue,0)); transform-origin:left; }
.agenda-cues button>span { font:italic 25px/1 Georgia,serif; }
.agenda-cues button[aria-current="true"] { color:#f8c473; }
.agenda-empty { font:400 28px/1.5 var(--sans); padding-block:100px; max-width:650px; }
.events-section.is-directed { height:calc(100svh + var(--agenda-travel,0px)); }
.is-directed .agenda-stage { position:sticky; top:0; height:100svh; }
.is-directed .agenda-backdrop { height:100%; }
.is-directed .agenda-backdrop img { transform:scale(calc(1.065 - var(--agenda-progress,0)*.055)); }
.is-directed .agenda-layout { height:100%; min-height:0; padding-block:calc(var(--home-header) + 24px) 26px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.is-directed .events-list { display:grid; grid-template-columns:1fr; grid-template-rows:minmax(0,1fr); min-height:0; }
.events-section.is-directed .agenda-event { grid-area:1/1; padding:32px 0; border:0; visibility:hidden; pointer-events:none; }
.is-directed .agenda-event.is-current { visibility:visible; pointer-events:auto; }
.is-directed .agenda-event .event-title { opacity:var(--event-opacity,1); transform:translateX(var(--event-x,0px)); }
.is-directed .agenda-event-detail { opacity:var(--event-opacity,1); transform:translateY(var(--event-y,0px)); }
.is-directed .agenda-event .event-title h3 { font-size:64px; }
.is-directed .agenda-footer { border-top:1px solid #ffffff38; padding-top:24px; }

body.home .gallery-section { background:#edf0eb; color:#1c3029; }
.gallery-section :is(button,a):focus-visible { outline-color:#285548; }
.gallery-stage { overflow:hidden; }
.gallery-layout { padding-block:76px 38px; min-height:100svh; }
.gallery-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:38px; }
.gallery-heading .eyebrow { font-size:10px; letter-spacing:0; color:#315749; margin-bottom:16px; }
.gallery-heading .eyebrow:before { background:#315749; }
.gallery-heading h2 { font:600 76px/1 var(--sans); color:#1c3029; letter-spacing:0; margin:0; text-transform:none; }
.gallery-heading h2 em { font:italic 82px/1 Georgia,serif; color:#315749; }
.gallery-heading-end { display:flex; gap:28px; align-items:center; }
.gallery-heading-end>p { font-size:12px; line-height:1.8; margin:0; color:#385248; }
.gallery-track { position:relative; display:grid; grid-template-columns:1.5fr 1fr 1.15fr; gap:28px; }
.gallery-work { min-width:0; margin:0; display:flex; flex-direction:column; }
.gallery-section .gallery-item { display:block; flex:none; width:100%; height:400px; border:0; border-radius:0; background:#e0e5dd; isolation:isolate; }
.gallery-section .gallery-item:after { display:none; }
.gallery-section .gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--culture-ease); }
.gallery-section .gallery-work-tall img { object-position:center 70%; }
.gallery-section .portrait-gallery img { object-fit:contain; object-position:center; background:#fafafa; }
.gallery-section .gallery-item>.gallery-expand { position:absolute; inset:auto 16px 16px auto; width:44px; height:44px; display:grid; place-items:center; color:#fff; background:#10211de6; border:1px solid #ffffff8c; }
.gallery-section .gallery-expand .icon { width:18px; height:18px; }
.gallery-work figcaption { display:flex; gap:18px; padding-top:20px; }
.gallery-work-number { font:italic 28px/1.15 Georgia,serif; color:#426456; }
.gallery-work h3 { font:600 19px/1.35 var(--sans); color:#1c3029; margin:0 0 5px; letter-spacing:0; }
.gallery-work figcaption p { font-size:11px; line-height:1.6; color:#425b51; margin:0; }
.gallery-footer { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-top:28px; border-top:1px solid #24473840; margin-top:34px; }
.gallery-section .gallery-note { color:#425b51; font-size:11px; line-height:1.7; max-width:490px; margin:0; }
.gallery-controls { display:flex; align-items:center; gap:12px; flex:none; }
.gallery-position { font-size:11px; font-variant-numeric:tabular-nums; min-width:60px; }
.gallery-position>span { font:italic 27px/1 Georgia,serif; margin-right:6px; }
.gallery-progress { width:120px; height:2px; background:#24473840; margin-inline:12px; }
.gallery-progress>span { display:block; width:100%; height:100%; background:#315749; transform:scaleX(var(--gallery-progress,0)); transform-origin:left; }
.gallery-section.is-exhibition { height:calc(100svh + var(--gallery-travel,0px)); }
.is-exhibition .gallery-stage { position:sticky; top:0; height:100svh; }
.is-exhibition .gallery-layout { min-height:0; height:100%; padding-block:calc(var(--home-header) + 24px) 26px; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.is-exhibition .gallery-heading { margin-bottom:28px; }
.is-exhibition .gallery-window { min-height:0; overflow:visible; }
.is-exhibition .gallery-track { display:flex; height:100%; gap:50px; transform:translateX(var(--gallery-x,0px)); will-change:transform; }
.is-exhibition .gallery-work { flex:none; height:100%; width:70%; }
.is-exhibition .gallery-work-tall { width:42%; }
.is-exhibition .gallery-work-portrait { width:52%; }
.is-exhibition .gallery-item { flex:1; min-height:0; height:0; }
.is-exhibition .gallery-work figcaption { flex:none; min-height:76px; }
.is-exhibition .gallery-work h3 { font-size:22px; }
.is-exhibition .gallery-footer { margin-top:16px; padding-top:18px; }

@media(min-width:1024px) and (max-height:800px) {
  .is-directed .agenda-layout,.is-exhibition .gallery-layout { padding-top:calc(var(--home-header) + 16px); padding-bottom:18px; }
  .agenda-heading h2 { font-size:32px; }
  .agenda-heading h2 em { font-size:36px; }
  .agenda-heading { padding-bottom:20px; }
  .is-directed .agenda-event .event-title h3 { font-size:50px; }
  .is-directed .agenda-event-type { margin-bottom:18px; }
  .is-directed .agenda-description { font-size:14px; line-height:1.75; margin-bottom:20px; }
  .is-directed .agenda-facts { padding-block:15px; margin-bottom:16px; }
  .is-directed .agenda-footer { padding-top:16px; }
  .is-exhibition .gallery-heading h2 { font-size:58px; }
  .is-exhibition .gallery-heading h2 em { font-size:64px; }
  .is-exhibition .gallery-heading { margin-bottom:24px; }
  .is-exhibition .gallery-work figcaption { padding-top:14px; min-height:66px; }
  .is-exhibition .gallery-work h3 { font-size:19px; }
  .is-exhibition .gallery-footer { margin-top:12px; padding-top:12px; }
}
@media(max-width:1100px) {
  .events-section .agenda-event { gap:40px; }
  .is-directed .agenda-event .event-title h3 { font-size:50px; }
  .agenda-heading-note { display:none; }
  .agenda-cues { gap:18px; }
  .gallery-track { gap:22px; }
  .gallery-heading h2 { font-size:58px; }
  .gallery-heading h2 em { font-size:62px; }
  .gallery-section .gallery-item { height:350px; }
  .is-exhibition .gallery-item { height:0; }
}
@media(min-width:761px) and (max-width:1023px) {
  .agenda-event .event-title h3 { font-size:44px; }
  .gallery-track { grid-template-columns:1fr 1fr; gap:34px 26px; }
  .gallery-work-wide { grid-column:1/-1; }
  .gallery-section .gallery-item { height:400px; }
  .gallery-section .gallery-work-wide .gallery-item { height:430px; }
}
@media(max-width:760px) {
  .agenda-layout,.gallery-layout { padding-block:58px 30px; }
  .agenda-heading h2 { font-size:32px; }
  .agenda-heading h2 em { display:block; font-size:38px; margin-top:6px; }
  .agenda-heading { gap:16px; padding-bottom:24px; }
  .events-section .agenda-event { grid-template-columns:1fr; gap:26px; padding-block:42px; }
  .agenda-event .event-title h3 { font-size:38px; max-width:550px; margin-bottom:20px; }
  .agenda-event .agenda-event-type { margin-bottom:18px; }
  .agenda-description { font-size:14px; line-height:1.8; margin-bottom:24px; }
  .agenda-facts { gap:18px; }
  .agenda-facts dd { font-size:11px; }
  .agenda-footer { padding-top:20px; }
  .gallery-heading { display:block; margin-bottom:30px; }
  .gallery-heading h2 { font-size:44px; }
  .gallery-heading h2 em { font-size:50px; display:block; margin-top:4px; }
  .gallery-heading-end { margin-top:22px; }
  .gallery-heading-end>p br { display:none; }
  .gallery-track { grid-template-columns:1fr; gap:42px; }
  .gallery-section .gallery-item { height:auto; aspect-ratio:1.1; }
  .gallery-section .gallery-work-tall .gallery-item { aspect-ratio:.9; }
  .gallery-section .gallery-work-portrait .gallery-item { aspect-ratio:1; }
  .gallery-work h3 { font-size:22px; }
  .gallery-work figcaption { gap:16px; padding-top:18px; }
  .gallery-work figcaption p { font-size:12px; }
  .gallery-footer { margin-top:32px; padding-top:24px; }
  .gallery-section .gallery-note { font-size:11px; }
}
@media(prefers-reduced-motion:no-preference) {
  .events-section.has-culture-motion:not(.is-directed) .agenda-event>div { transform:translateY(calc((1 - var(--culture-reveal,1))*22px)); }
  .gallery-section.has-culture-motion:not(.is-exhibition) .gallery-item { clip-path:inset(0 calc((1 - var(--culture-reveal,1))*8%) 0 0); }
  .gallery-section.has-culture-motion:not(.is-exhibition) .gallery-item img { transform:scale(calc(1.04 - var(--culture-reveal,1)*.04)); }
  .gallery-section .gallery-item:hover img { transform:scale(1.025); }
  .gallery-section .portrait-gallery:hover img { transform:scale(1); }
}
@media(prefers-reduced-motion:reduce) {
  .agenda-details .icon,.agenda-gallery-link .icon,.gallery-section .gallery-item img { transition:none; }
}
