/* Experimental preview layer: never hides content when JavaScript is absent. */
:root{--bgp-motion-out:cubic-bezier(.23,1,.32,1);--bgp-motion-inout:cubic-bezier(.77,0,.175,1)}
/* Broad brushes belong exclusively to section headings. The clipped reserved
   band keeps the continuous sweep beneath the text and within its container. */
:is(.home-photo,.home-editorial,.home-festival,.hotels-page) :is(h1,h2){position:relative;overflow:hidden;padding-bottom:clamp(65px,7vw,95px)}
:is(.home-photo,.home-editorial,.home-festival,.hotels-page) :is(h1,h2):after{content:'';display:block;position:absolute;left:20px;bottom:10px;width:min(calc(100% - 40px),7.5em);height:clamp(45px,5.5vw,75px);background:url('brush-red.png') center/100% 100% no-repeat;pointer-events:none;transform-origin:center}
.home-festival .festival-hero h1:after{left:50%;transform:translateX(-50%)}
html.bgp-motion-enabled :is(.home-photo,.home-editorial,.home-festival,.hotels-page) :is(h1,h2):after{animation:bgp-heading-sweep 7s var(--bgp-motion-inout) infinite alternate}
html.bgp-motion-enabled .home-festival .festival-hero h1:after{animation-name:bgp-heading-sweep-center}
.home-festival .festival-about h2:after,.dance-call h2:after{filter:brightness(.55)}
@keyframes bgp-heading-sweep{from{transform:translate3d(-16px,3px,0) rotate(-2deg) scaleX(.91)}to{transform:translate3d(16px,-3px,0) rotate(2deg) scaleX(1)}}
@keyframes bgp-heading-sweep-center{from{transform:translateX(calc(-50% - 16px)) translateY(3px) rotate(-2deg) scaleX(.91)}to{transform:translateX(calc(-50% + 16px)) translateY(-3px) rotate(2deg) scaleX(1)}}
.bgp-motion-control{position:fixed;right:18px;bottom:18px;z-index:1000;background:#18184b;color:#fff;border:2px solid #fff;border-radius:4px;padding:11px 16px;font:500 14px Jost,sans-serif;cursor:pointer;box-shadow:0 2px 12px #0003}
.bgp-motion-control[hidden]{display:none}
.bgp-motion-control:focus-visible{outline:3px solid #ffe900;outline-offset:4px}
html.bgp-motion-enabled .bgp-motion-enter{animation:bgp-rise 650ms var(--bgp-motion-out) both;animation-delay:var(--bgp-motion-delay,0ms)}
html.bgp-motion-enabled .bgp-motion-reveal{animation:bgp-rise 650ms var(--bgp-motion-out) both;animation-delay:var(--bgp-motion-delay,0ms)}
html.bgp-motion-enabled :is(.hero-photo>img,.festival-hero>img){animation:bgp-photo-settle 1800ms var(--bgp-motion-out) both}
html.bgp-motion-enabled .countdown strong{animation:bgp-number-enter 700ms var(--bgp-motion-out) both}
html.bgp-motion-enabled .navigation .menu a{position:relative}
html.bgp-motion-enabled .navigation .menu a:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--bgp-motion-out)}
@media(hover:hover) and (pointer:fine){
html.bgp-motion-enabled :is(.button,.wp-block-button__link,.social-button){transition:transform 180ms var(--bgp-motion-out)}
html.bgp-motion-enabled :is(.button,.wp-block-button__link):hover{transform:translateY(-3px)}
html.bgp-motion-enabled :is(.button,.wp-block-button__link):active{transform:scale(.98)}
html.bgp-motion-enabled .social-button:hover{transform:translateY(-3px) rotate(-4deg)}
html.bgp-motion-enabled .navigation .menu a:hover:after{transform:scaleX(1)}
html.bgp-motion-enabled :is(.news-photo,.gallery-grid a){overflow:hidden}
html.bgp-motion-enabled :is(.news-photo img,.gallery-grid img){transition:transform 260ms var(--bgp-motion-out)}
html.bgp-motion-enabled :is(.news-photo,.gallery-grid a):hover img{transform:scale(1.025) rotate(.25deg)}
html.bgp-motion-enabled .festival-entry-row .button:hover{transform:translateX(3px)}
}
/* Stop all lab effects AND existing sponsor/base-theme motion immediately. */
html.bgp-motion-paused body *,html.bgp-motion-paused body *:before,html.bgp-motion-paused body *:after{animation:none!important;transition:none!important}
html.bgp-motion-paused :is(.button:hover,.social-button:hover,.wp-block-button__link:hover,.news-photo img,.gallery-grid img,.sponsor-track){transform:none!important}
html.bgp-motion-paused .sponsor-group[aria-hidden]{display:none}
html.bgp-motion-paused .sponsor-window{overflow-x:auto}
@keyframes bgp-rise{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes bgp-photo-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes bgp-number-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Six complete original archive images in a slow, seamless two-column collage.
   Duplicate group is decoration only; static fallback exposes every original. */
.festival-history-feature .history-collage{display:block;min-width:0}
.history-collage-window{overflow:hidden}
.history-collage-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:16px}
.history-collage-frame{margin:0;min-width:0;height:220px;padding:10px;background:#ecece5;border:1px solid #18184b18}
.festival-history-feature .history-collage-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.history-collage-group[aria-hidden]{display:none}
.festival-history-feature .history-collage .archive-note{margin:14px 0 0}
html.bgp-motion-enabled .history-collage-window{height:500px}
html.bgp-motion-enabled .history-collage-group[aria-hidden]{display:grid}
html.bgp-motion-enabled .history-collage-track{animation:bgp-archive-drift 65s linear infinite}
@keyframes bgp-archive-drift{from{transform:translateY(0)}to{transform:translateY(-50%)}}
html.bgp-motion-paused .history-collage-window{height:auto}
html.bgp-motion-paused .history-collage-group[aria-hidden]{display:none}
@media(max-width:760px){.history-collage-frame{height:200px;padding:8px}.history-collage-group{gap:12px;padding-bottom:12px}html.bgp-motion-enabled .history-collage-window{height:430px}}
@media(prefers-reduced-motion:reduce){
body *,body *:before,body *:after{animation:none!important;transition:none!important}
body :is(.button:hover,.social-button:hover,.wp-block-button__link:hover,.news-photo img,.gallery-grid img,.sponsor-track){transform:none!important}
.sponsor-group[aria-hidden]{display:none}.sponsor-window{overflow-x:auto}
.history-collage-window,html.bgp-motion-enabled .history-collage-window{height:auto}.history-collage-group[aria-hidden],html.bgp-motion-enabled .history-collage-group[aria-hidden]{display:none}
}
