/* Motion operates inside the measured artwork boxes; resting geometry stays exact. */
.motion-ready [data-motion-title].reveal{opacity:1;transform:none;transition:none}
.motion-ready .footer-art:hover{transform:none}
.title-motion-surface{position:relative;display:block;width:100%;transform-origin:25% 70%;will-change:transform,opacity}
.title-motion-surface>img{width:100%;height:auto;display:block}
.motion-piece{position:absolute;left:var(--piece-x);top:var(--piece-y);width:var(--piece-width);height:var(--piece-height);display:block;z-index:2;transform-origin:var(--pivot-x,50%) var(--pivot-y,65%);pointer-events:auto}
.motion-piece img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.motion-piece[data-kind=record]{cursor:default}
.illustration-surface{position:relative;display:block;width:100%}.illustration-surface>img{width:100%;height:auto}
.motion-piece.is-reacting{z-index:3}
.motion-ready .intro-building,.motion-ready .contact-skeleton{transition:opacity .8s,transform 1s}
.motion-ready .contact:has(.contact-phone:hover) .contact-skeleton{animation:none}
.motion-ready .whats-on:hover .family-bat{animation:none}
.motion-ready .contact-phone:hover{transform:none}
.bat-flight-layer{mix-blend-mode:normal;isolation:isolate}
.natural-bat{position:absolute;left:0;top:0;display:block;width:var(--bat-size,100px);height:calc(var(--bat-size,100px)*.739);will-change:transform,opacity;pointer-events:none}
.natural-bat svg{display:block;width:100%;height:100%;overflow:visible}
.natural-bat .bat-rig{transform-box:view-box;transform-origin:50% 50%}
.motion-ready .date-tab[aria-selected]:hover{transition:filter .3s;transform:none}
.motion-ready .date-tab img{transform-origin:50% 75%;transition:filter .35s}
.motion-ready .family-bat{pointer-events:auto;cursor:default}
.contact-phone>img{transform-origin:50% 95%}
.title-hover-surface{display:inline-block;transform-origin:50% 60%;vertical-align:top}
.title-hover-art{display:block;width:100%;line-height:0;position:relative}
.title-hover-art>img{display:block;width:100%;height:auto}
.event-heading .title-hover-surface{font:inherit;line-height:0}
.natural-bat{height:calc(var(--bat-size,100px)*.818)}
.map-surface{position:relative;width:100%;isolation:isolate}
.map-open{display:block;width:100%;text-align:inherit;cursor:zoom-in}
.map-open>img{width:100%;height:auto}
.venue-pumpkin{position:absolute;left:var(--pumpkin-x);top:var(--pumpkin-y);width:var(--pumpkin-width);height:var(--pumpkin-height);display:block;pointer-events:none;transform-origin:50% 75%;z-index:2}
.venue-pumpkin-shape{display:block;width:100%;height:100%;background:#fff;-webkit-mask-image:var(--pumpkin-mask);mask-image:var(--pumpkin-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;transition:background-color .38s ease,filter .4s}
.venue-photo.pumpkin-awake .venue-pumpkin-shape,.venue-photo:hover .venue-pumpkin-shape,.venue-photo:focus-visible .venue-pumpkin-shape{background:var(--orange);filter:drop-shadow(0 0 8px #ff6f0045)}
.venue-photo:has(.venue-pumpkin):hover{filter:none}
.motion-piece.pointer-aware>img{transform:translate(var(--glance-x,0%),var(--glance-y,0%)) rotate(var(--glance-angle,0deg));transition:transform .4s cubic-bezier(.22,1,.36,1)}
.image-viewport img.camera-moving{transition:transform .85s cubic-bezier(.22,1,.36,1)}
.image-viewport:focus-visible{outline:1px solid #ba96e088;outline-offset:-3px}
.venue-maps:focus-within .image-action{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.title-motion-surface,.motion-piece,.illustration-surface{transform:none!important;translate:none!important;rotate:none!important;opacity:1!important;clip-path:none!important}.natural-bat{display:none}.title-motion-surface{will-change:auto}}
.family-title-art{position:relative;display:block;width:100%}.family-title-art>img{display:block;width:100%;height:auto}.family-title-art[hidden]{display:none}
.venue-maps .map-enlarge{opacity:1}.venue-maps .map-open{cursor:pointer}
@media(prefers-reduced-motion:reduce){.title-hover-surface,.venue-pumpkin,.motion-piece.pointer-aware>img{transform:none!important;transition:none!important}.venue-pumpkin-shape,.image-viewport img.camera-moving{transition:none}}

.hero-art{transition:filter .5s;transform-origin:50% 60%}.hero-art.hero-awake{filter:drop-shadow(0 0 16px #ff6f0060)}
@media(prefers-reduced-motion:reduce){.hero-art{rotate:none!important;scale:none!important;filter:none!important}}

.hero-art{animation-fill-mode:backwards}.venue-maps .map-enlarge{transform:translate(-50%,0)}

/* Give the map's lower caption its own clear space before the action. */
.venue-maps .map-enlarge,.venue-maps:hover .map-enlarge,.venue-maps:focus-within .map-enlarge{position:relative;display:table;left:auto;top:auto;bottom:auto;transform:none!important;margin:24px auto 0;padding:12px 26px;min-height:48px;font:24px/1.1 Spooky,Arial,sans-serif;opacity:1}
@media(min-width:901px){.visit.scene{height:calc(var(--h)*var(--u) + 92px)}}
@media(max-width:900px){.venue-maps .map-enlarge{margin-top:24px}}

.motion-piece.beam-aware>img{filter:brightness(calc(1 + var(--beam-glow,0)*.12)) drop-shadow(0 0 calc(var(--beam-glow,0)*7px) rgb(187 151 225 / calc(var(--beam-glow,0)*.42)));transition:filter .4s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.motion-piece[data-kind=pumpkin].beam-aware>img{filter:brightness(calc(1 + var(--beam-glow,0)*.15)) drop-shadow(0 0 calc(var(--beam-glow,0)*10px) rgb(255 111 0 / calc(var(--beam-glow,0)*.6)))}
.venue-pumpkin.beam-aware .venue-pumpkin-shape{background:color-mix(in srgb,var(--orange) calc(var(--beam-glow,0)*100%),white);filter:drop-shadow(0 0 calc(var(--beam-glow,0)*9px) rgb(255 111 0 / calc(var(--beam-glow,0)*.45)))}
.venue-photo.pumpkin-awake .venue-pumpkin.beam-aware .venue-pumpkin-shape,.venue-photo:hover .venue-pumpkin.beam-aware .venue-pumpkin-shape,.venue-photo:focus-visible .venue-pumpkin.beam-aware .venue-pumpkin-shape{background:var(--orange)}
@media(prefers-reduced-motion:reduce){.motion-piece.beam-aware>img{transition:none}.venue-pumpkin.beam-aware .venue-pumpkin-shape{transition:none}}
