/* Reference composition: oversized title, date label, four image-led columns.
   Keep WIHH's white palette and uncropped artwork. */
.programme-home .happening-section{display:block;min-height:var(--screen-height);padding:80px 0 38px;background:#fff}
.programme-home .happening-inner{max-width:none;padding-inline:2.8vw}
.programme-home .happening-heading{padding:0;margin:0 0 clamp(42px,5.8vw,100px);text-align:left}
.programme-home .happening-heading:has(+.event-spotlight:not([hidden])){padding:0;margin-bottom:clamp(42px,5.8vw,100px)}
.programme-home .happening-heading h2{font-size:10.75vw;font-weight:700;line-height:.98;letter-spacing:-.065em;text-wrap:nowrap;margin:0}
.programme-home .event-group-title{font-size:clamp(18px,1.8vw,30px);line-height:1.2;margin:0 0 24px;letter-spacing:-.035em}
.programme-home .event-carousel{gap:1.1vw;align-items:flex-start;padding-top:0}
.programme-home .event-card{flex-basis:calc((100% - 3.3vw)/4)}
.programme-home .event-card-link{position:relative;isolation:isolate;display:grid;overflow:hidden}
.programme-home .event-card-frame,.programme-home .event-card-body{grid-area:1/1}
.programme-home .event-card-image{width:100%;height:auto;max-width:100%;max-height:none;display:block}
.programme-home .event-card-body{align-self:end;position:relative;z-index:1;color:#fff;padding:clamp(12px,1.15vw,22px);padding-top:60px;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;flex-direction:column}
.programme-home .event-card-title{order:0;font-size:clamp(20px,2.15vw,38px);line-height:1.06;letter-spacing:-.035em;margin:0 0 8px}
.programme-home .event-card-more{order:1;font-size:clamp(13px,1.3vw,22px);line-height:1.22;font-weight:400}
.programme-home .event-card-date{order:2;font-size:clamp(12px,1.2vw,20px);line-height:1.3;margin:3px 0 0}
.programme-home .event-card-more .event-arrow{display:none}
.programme-home .event-card-link:has(.event-card-unavailable) .event-card-body{color:#111;background:none;padding-top:20px}
.programme-home .event-spotlight{margin:0 0 18px}
.programme-home .event-carousel-controls{margin-top:18px}
.programme-home .event-filterbar{margin-top:20px}
@media(max-width:900px){
 .programme-home .event-card{flex-basis:calc((100% - 16px)/2)}
 .programme-home .event-carousel{gap:16px}
 .programme-home .event-card-title{font-size:clamp(22px,3.4vw,32px)}
 .programme-home .event-card-more,.programme-home .event-card-date{font-size:15px}
}
@media(max-width:600px){
 .programme-home .happening-section{padding-block:75px 28px}
 .programme-home .happening-inner{padding-inline:20px}
 .programme-home .happening-heading h2{font-size:15.1vw;line-height:.98;text-wrap:balance;letter-spacing:-.065em}
 .programme-home .happening-heading,.programme-home .happening-heading:has(+.event-spotlight:not([hidden])){margin-bottom:38px}
 .programme-home .event-group-title{font-size:21px;margin-bottom:17px}
 .programme-home .event-card{flex-basis:84%}
 .programme-home .event-card-body{padding:60px 16px 16px}
 .programme-home .event-card-title{font-size:28px}
 .programme-home .event-card-more,.programme-home .event-card-date{font-size:15px}
}

/* One clear route to the complete programme, and a screen-sized composition. */
.programme-home .event-filterbar{border:0;display:flex;justify-content:center;margin:12px 0 0;padding:0}
.event-view-all{display:inline-flex;align-items:center;gap:30px;min-height:44px;background:transparent;border:1px solid #111;border-radius:30px;padding:10px 25px;font:14px Arial,Helvetica,sans-serif;color:#111;cursor:pointer}
.event-view-all:hover,.event-view-all[aria-pressed=true]{background:#111;color:#fff}
.programme-home .site-footer>.art-transition{padding:24px 2.8vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;color:#111;font-size:clamp(22px,3.4vw,54px);line-height:1.1;letter-spacing:-.045em}
.programme-home .site-footer>.art-transition a{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:14px;letter-spacing:0}
.programme-home .site-footer>.art-transition .arrow-icon{width:17px;height:17px}
.programme-home .happening-section{min-height:var(--screen-height);padding-block:65px 24px}
.programme-home .happening-heading,.programme-home .happening-heading:has(+.event-spotlight:not([hidden])){margin-bottom:clamp(24px,4svh,50px)}
.programme-home .happening-heading h2{font-size:min(10.75vw,17svh)}
.programme-home .event-group-title{margin-bottom:16px}
.programme-home .event-card-link{width:fit-content;max-width:100%}
.programme-home .event-card-image{width:auto;max-width:100%;max-height:clamp(160px,calc(var(--screen-height) - 350px),520px);height:auto}
.programme-home .curved-gallery{padding-top:65px}
.programme-home .curved-gallery .room{height:clamp(230px,calc(var(--screen-height) - 320px),540px)}
@media(max-width:650px){
 .programme-home .site-footer>.art-transition{padding:20px;gap:18px;font-size:23px}
 .programme-home .site-footer>.art-transition a{font-size:12px}
 .programme-home .happening-heading h2{font-size:min(15.1vw,9svh)}
 .programme-home .event-card-image{max-height:clamp(160px,calc(var(--screen-height) - 410px),420px)}
 .programme-home .curved-gallery .room{height:clamp(170px,calc(var(--screen-height) - 350px),390px);max-height:390px}
}
@media(max-height:600px){.programme-home .happening-section,.programme-home .curved-gallery{min-height:0}.programme-home .happening-heading h2{font-size:10.75vw}}

.programme-home .site-footer>.art-transition{padding:0 0 28px;margin-bottom:32px;background:transparent;color:inherit;border-bottom:1px solid #555;font-size:clamp(22px,3vw,46px)}
.programme-home .site-footer>.art-transition a{color:inherit}
@media(max-width:650px){.programme-home .site-footer>.art-transition{align-items:flex-start;flex-direction:column;gap:16px;font-size:25px;margin-bottom:26px;padding-bottom:26px}}

.programme-instagram{display:flex;justify-content:center;margin-top:22px}.programme-instagram a{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
