/* 18 September: keep the original artwork and interactions in a flowing layout. */
.hero.scene{height:auto!important;min-height:0;overflow:hidden;padding:0}
.hero-window{position:relative;top:auto;height:min(100svh,64vw);min-height:480px;width:100vw;margin-left:calc((100% - 100vw)/2);max-height:none}
.hero-curtain,.hero-ink{display:none!important}
.hero-controls{bottom:22px}
#whats-on.scene{height:auto;padding:90px clamp(24px,3vw,58px) 80px;display:block}
#whats-on>.placed,#whats-on .date-tab.placed,#whats-on .event-panel .placed{position:relative;inset:auto;width:auto}
#whats-on>h2{width:min(1050px,90%);margin:0 0 60px}
.date-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0 0 65px;width:100%}
.date-tab.placed{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-width:none;padding:0;gap:10px}
.date-pumpkin-window{display:block;width:min(100%,255px);aspect-ratio:1/.83;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 70%,88% 70%,79% 100%,21% 100%,12% 70%,0 70%)}
.date-tab .date-pumpkin-window img{width:100%;height:auto;max-height:none;object-fit:contain;filter:url('#date-orange')!important}
.date-tab .event-tab-label{display:block;font:500 30pt/1.12 Spooky,Arial,sans-serif;color:var(--orange);text-align:center;padding:0;overflow-wrap:anywhere}
.date-tab .event-tab-label:after{display:none}
.date-tab[aria-selected=false]{opacity:.6;filter:none!important}.date-tab[aria-selected=true]{opacity:1;filter:none!important}.date-tab:hover{opacity:1}
.event-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 45px;align-items:start}
.event-panel .event-photo{grid-column:1;grid-row:1/6;width:100%;aspect-ratio:1/1.02;align-self:start}
.event-panel .event-date{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 24px;margin:0}
.event-date p,.takeover-date,.venue-info p:not(.venue-category),.detail-date,.party-date{font-size:30pt!important;font-weight:300!important;line-height:1.3}
.event-panel .event-heading{grid-column:2;grid-row:2;width:100%;margin:0}
.event-panel .uploaded-event-headings{width:100%;height:auto;position:relative;display:block}
.event-panel .uploaded-event-title{width:100%;height:auto;object-fit:contain;mix-blend-mode:screen}
.event-panel .event-tagline{grid-column:2;grid-row:3;font-size:30pt;font-weight:500;line-height:1.22;margin:0}
.event-panel .event-description{grid-column:2;grid-row:4;font-size:18px;line-height:1.5;margin:0}
.event-panel .event-more{grid-column:2;grid-row:5;justify-self:start;width:auto;height:auto;min-height:50px;padding:14px 28px;margin-top:14px}
.event-panel .family-bat{display:none!important}.event-programme-name{display:none}.event-programme-name+br{display:none}
.intro-support{grid-column:2;grid-row:4;justify-self:end;width:min(100%,430px)}
.intro-support p{font-size:16px;margin:0 0 16px}.intro-support .organisers.placed{position:relative;inset:auto;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen}
.intro-copy .intro-lead{font-weight:500}.intro .event-overview{display:none}
#plan-your-visit.scene{height:auto;padding:80px clamp(24px,3vw,58px);display:grid;grid-template-columns:1fr 1fr;gap:28px 35px}
#plan-your-visit>.placed,#plan-your-visit>.takeover-copy{position:relative;inset:auto;width:auto;margin:0}
#plan-your-visit>#visit-heading{grid-column:1/-1;width:min(900px,90%);margin-bottom:24px}
#plan-your-visit>.takeover-copy{grid-column:1/-1;max-width:1050px}
.takeover-copy h3{font:500 30pt/1.2 Spooky,Arial,sans-serif;color:var(--orange);margin:20px 0}.takeover-copy>p:last-child{font-size:18px;line-height:1.5;margin-bottom:30px}
#plan-your-visit>.venue-photo{grid-row:3;width:100%;aspect-ratio:1.64;overflow:visible}
.venue-photo>img{width:100%;height:100%;object-fit:cover;border-radius:8% 3% 8% 3%}
#plan-your-visit>.venue-one{grid-column:1;grid-row:4}#plan-your-visit>.venue-two{grid-column:2;grid-row:4}
.venue-info h3{font-size:30pt;font-weight:500}.venue-category{font-size:16px!important;font-weight:300!important;margin-bottom:20px}
#plan-your-visit>.visit-gallery{grid-column:1/-1;justify-self:start;width:auto;height:auto;padding:14px 26px}
#plan-your-visit>.visit-maps{grid-column:1/-1;width:86%;margin:65px auto 0}
.zombie-hunt{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:80px clamp(24px,6vw,110px);scroll-margin-top:100px}
.zombie-hunt h2{font:clamp(48px,7vw,104px)/1 Spooky,Arial,sans-serif;color:var(--orange);margin:15px 0 25px}.zombie-hunt p{font-size:20px;line-height:1.5}.zombie-hunt .hunt-kicker{font-size:14px;letter-spacing:.14em}.zombie-hunt .button{margin-top:28px;width:auto;padding:14px 28px;min-height:50px}.zombie-hunt>img{width:180px;max-width:27%;height:280px;object-fit:contain;animation:hunt-idle 3s ease-in-out infinite}@keyframes hunt-idle{50%{transform:rotate(3deg) translateY(-8px)}}
#before-you-visit.scene{height:auto;padding:75px clamp(24px,3vw,58px);display:block}
#before-you-visit>.placed{position:relative;inset:auto;width:auto}#before-you-visit>h2{width:min(650px,70%);margin-bottom:65px}
.faqs{display:grid;grid-template-columns:1fr 1fr;gap:60px}.faqs summary{font-size:30pt!important;font-weight:500}.faqs p{font-size:18px;line-height:1.5;margin:20px 0}.faqs strong{font-weight:500}
#detail-content .placed{position:relative;inset:auto;width:auto;margin:25px 0}#detail-content .ticket,#detail-content .package{margin:20px 0}#detail-content h3{font-size:22px}#detail-content p{font-size:18px}
[hidden]{display:none!important}
@media(max-width:900px){
 .hero-window{height:80svh;min-height:420px}.site-header{gap:12px;flex-wrap:wrap}.site-header nav{flex:1;gap:14px}.language-switch{margin-left:auto}
 #whats-on.scene{padding-top:60px}.date-tabs{grid-template-columns:1fr 1fr;gap:30px 20px;max-width:none}.date-pumpkin-window{width:min(100%,210px)}
 .event-panel{grid-template-columns:1fr;gap:24px}.event-panel .event-photo{grid-column:1;grid-row:1;aspect-ratio:1.1}.event-panel .event-date{grid-column:1;grid-row:2}.event-panel .event-heading{grid-column:1;grid-row:3}.event-panel .event-tagline{grid-column:1;grid-row:4}.event-panel .event-description{grid-column:1;grid-row:5}.event-panel .event-more{grid-column:1;grid-row:6}
 .intro-support{grid-column:1;grid-row:6;justify-self:start;width:320px;max-width:100%}
 #plan-your-visit.scene{display:flex;flex-direction:column;padding-top:50px}#plan-your-visit>.takeover-copy{order:0}#plan-your-visit>.venue-photo{aspect-ratio:1.64;width:100%}#plan-your-visit>.visit-maps{width:100%;margin:40px 0 0}.venue-info{margin-bottom:24px!important}
 .faqs{grid-template-columns:1fr;gap:24px}.faqs summary{font-size:26px!important}.event-date p,.takeover-date,.venue-info p:not(.venue-category),.detail-date{font-size:clamp(24px,5.8vw,40px)!important}.event-tab-label{font-size:clamp(25px,5.8vw,40px)!important}.event-tagline,.venue-info h3{font-size:28px!important}
 .zombie-hunt{padding-block:55px}.zombie-hunt>img{width:110px;height:220px}
}
@media(prefers-reduced-motion:reduce){.zombie-hunt>img{animation:none}}

/* Keep the original date lettering, with only the superseded curved labels clipped. */
.date-pumpkin-window{aspect-ratio:1;clip-path:none;width:min(100%,230px)}
.date-tab .date-pumpkin-window img{display:block;width:100%;height:100%;object-fit:contain}
.date-tab[aria-selected=false]{opacity:1}.date-tab[aria-selected=true] .date-pumpkin-window{transform:translateY(-8px)}
.date-tab.placed{height:auto!important;overflow:visible!important}.date-tabs{align-items:start}
html[lang="zh-Hans"]{--font-body:"PingFang SC","Microsoft YaHei",sans-serif}

.intro-support .organisers.placed{filter:none;mix-blend-mode:normal;border-radius:4px}
@media(max-width:900px){#plan-your-visit>#visit-heading{order:0}#plan-your-visit>.takeover-copy{order:1}#plan-your-visit>.venue-photo[data-asset="statue-square-photo"]{order:2}#plan-your-visit>.venue-one{order:3}#plan-your-visit>.venue-photo[data-asset="chater-road-photo"]{order:4}#plan-your-visit>.venue-two{order:5}#plan-your-visit>.visit-maps{order:6}#plan-your-visit>.visit-gallery{order:7}}

.footer-meta>span:first-child{font-size:30pt;font-weight:300;line-height:1.3}
@media(max-width:900px){.footer-meta>span:first-child{font-size:24px}}
