/* MUIC motion language: cinematic photography, tactile print and one continuous canvas. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.page-progress{position:fixed;inset:0 0 auto;height:3px;z-index:95;pointer-events:none;background:transparent}
.page-progress>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
.topbar{padding-right:150px}.topbar nav{gap:24px}.topbar nav a:last-child{display:none}
.world-menu-open{position:fixed;z-index:90;right:22px;top:17px;display:flex;align-items:center;gap:14px;min-height:44px;padding:12px 16px;border:1px solid #14141330;border-radius:40px;background:var(--paper);color:var(--ink);box-shadow:0 3px 20px #0001;font-size:11px;font-weight:700;letter-spacing:.04em;transition:background .2s,transform .4s var(--motion-ease)}
.world-menu-open:hover{background:var(--blue);transform:rotate(-4deg)}
.world-menu-open i{width:18px;display:grid;gap:5px}.world-menu-open b{height:2px;background:currentColor;display:block;transition:transform .3s}
.world-menu-open:hover b:first-child{transform:translateX(3px)}.world-menu-open:hover b:last-child{transform:translateX(-3px)}
html.js body:not(.splash-done) .world-menu-open{visibility:hidden}
.world-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px 4%;border:0;background:var(--blue);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.world-menu::backdrop{background:var(--blue)}
.world-menu[open]{display:flex;flex-direction:column}
.menu-contours{position:absolute;inset:0;background:url('assets/brand/muic-contours.svg') center/cover;opacity:.2;pointer-events:none}
.world-menu-top,.world-menu-bottom,.world-menu-body{position:relative;z-index:1}
.world-menu-top{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.world-menu-top .club-logo{font-size:15px}.world-menu-top .club-logo img{height:46px}
.world-menu-close{display:flex;align-items:center;gap:15px;background:var(--ink);color:var(--paper);border-radius:40px;padding:9px 16px;font-size:27px;min-height:44px;line-height:1}
.world-menu-close span{font:700 11px var(--body);letter-spacing:.06em}
.world-menu-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center;flex:1;padding:35px 0;min-height:400px}
.menu-picture{height:min(58vh,620px);position:relative;perspective:1000px;margin:0 0 0 3%;transform:rotate(-6deg)}
.menu-picture>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:8px;box-shadow:12px 12px 0 var(--navy)}
.menu-picture::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#0009);border-radius:8px;pointer-events:none}
.menu-picture>span{position:absolute;z-index:1;left:6%;bottom:8%;font:italic 900 clamp(34px,4.5vw,80px)/.9 var(--display);letter-spacing:-.07em;color:var(--paper)}
.menu-picture .menu-mascot{position:absolute;z-index:2;width:70px;height:125px;object-fit:contain;right:-25px;top:-25px;filter:drop-shadow(6px 0 0 var(--pink)) drop-shadow(-6px 0 0 var(--lime));transform:rotate(18deg)}
.world-menu-body nav{display:flex;flex-direction:column}.world-menu-body nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;font:italic 900 clamp(36px,6.25vw,115px)/1.15 var(--display);letter-spacing:-.075em;text-transform:uppercase;padding:5px 0;transition:color .2s,translate .4s var(--motion-ease)}
.world-menu-body nav a>span{position:relative;white-space:nowrap}
.world-menu-body nav a:hover,.world-menu-body nav a:focus-visible{color:var(--paper);translate:8px 0}
.world-menu-body nav b{font:400 .6em var(--body);opacity:0;transform:translate(-15px,15px);transition:opacity .3s,transform .4s var(--motion-ease)}.world-menu-body nav a:hover b,.world-menu-body nav a:focus-visible b{opacity:1;transform:none}
.world-menu-bottom{display:flex;gap:25px;align-items:center;border-top:1px solid #14141355;padding:22px 0 0;font-size:13px;font-weight:700;flex-shrink:0}.world-menu-bottom .button{margin-left:auto}
body.menu-is-open{overflow:hidden}.menu-is-open .cursor-dot{opacity:0!important}
/* Cream remains the shared canvas as every event opens in place. */
body:not(.inner-page){background:var(--paper);color:var(--ink)}
body:not(.inner-page) .topbar{background:var(--ink);color:var(--paper)}
.festival-hero{background:var(--ink);color:var(--paper);overflow:clip}
.festival-hero h1{translate:0 var(--hero-type-y,0px)}
.hero-film__video{transform:scale(var(--hero-scale,1)) translateY(var(--hero-video-y,0px));transform-origin:center}
.hero-film{overflow:hidden}.hero-peacock{opacity:var(--hero-peacock-opacity,1)}
/* The first scroll is a photographic story, with a short, native sticky stage. */
.community-panel{height:205svh;min-height:0;margin:0;padding:0;overflow:visible;border-radius:0;background:var(--blue);color:var(--ink)}
.community-stage{position:sticky;top:0;min-height:650px;height:100svh;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center}
.contour-field{position:absolute;inset:-15%;background:url('assets/brand/muic-contours.svg') center/cover;opacity:.2;transform:translateY(var(--contour-y,0px)) rotate(-9deg);pointer-events:none;z-index:-1}
.community-panel h2{position:absolute;z-index:1;top:17%;width:94%;text-align:center;font-size:clamp(65px,9.5vw,172px);line-height:.94;letter-spacing:-.075em;max-width:none;transform:translateY(var(--story-title-y,0px)) scale(var(--story-title-scale,1));opacity:var(--story-title-opacity,1)}
.community-panel .reveal-words .word{color:var(--ink)}
.community-orbit{position:absolute;inset:0;pointer-events:none;z-index:2;perspective:1000px}
.orbit-photo{position:absolute;display:block;margin:0;width:24vw;height:30vw;max-height:480px;max-width:380px;padding:8px 8px 34px;background:var(--paper);box-shadow:0 14px 45px #08445c30;transform:translate3d(var(--orbit-x,0px),var(--orbit-y,0px),0) rotate(var(--orbit-r,0deg));will-change:transform}
.orbit-photo img{width:100%;height:100%;object-fit:cover}.orbit-photo figcaption{font-size:12px;line-height:26px;letter-spacing:-.02em;font-weight:600;color:var(--ink)}
.orbit-one{left:1%;top:45%;--orbit-r:-13deg}.orbit-two{right:3%;top:48%;width:29vw;height:24vw;--orbit-r:9deg}.orbit-three{left:35%;top:78%;width:27vw;height:25vw;--orbit-r:-5deg}.orbit-four{left:10%;top:110%;width:22vw;height:26vw;--orbit-r:8deg}.orbit-five{right:2%;top:111%;width:25vw;height:22vw;--orbit-r:-7deg}
.community-signature{position:absolute;z-index:4;left:4%;top:62%;font:italic 900 clamp(38px,7vw,115px)/1 var(--display);letter-spacing:-.07em;color:var(--lime);transform:rotate(-9deg) translateX(var(--signature-x,-15%));clip-path:inset(0 var(--signature-clip,100%) 0 0);text-shadow:2px 3px 0 var(--navy);pointer-events:none;white-space:nowrap}
.community-panel .community-copy{position:absolute;left:36%;top:46%;width:34%;max-width:600px;font-size:clamp(17px,1.6vw,27px);z-index:5;opacity:var(--story-copy-opacity,0);transform:translateY(var(--story-copy-y,50px));text-align:left;pointer-events:none}
.community-panel .community-copy>p:first-child{font:italic 900 clamp(26px,3.1vw,48px)/1 var(--display);letter-spacing:-.065em;margin-bottom:22px}
.community-panel .community-copy .text-link{pointer-events:auto;font-size:18px;margin-top:20px}
.orbit-seal{position:absolute;z-index:6;right:5%;top:8%;width:110px;aspect-ratio:1;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;transform:rotate(var(--seal-turn,0deg));box-shadow:4px 5px 0 var(--ink);transition:background .2s}
.orbit-seal svg{position:absolute;inset:0;width:100%;height:100%;animation:seal-turn 25s linear infinite}.orbit-seal text{font:700 11px var(--body);letter-spacing:1.4px;fill:currentColor}.orbit-seal>span{font:400 52px var(--body);transform:rotate(calc(var(--seal-turn,0deg)*-1))}.orbit-seal:hover{background:var(--pink)}
.story-progress{position:absolute;left:4%;right:4%;bottom:25px;height:1px;background:#14141330;z-index:6}.story-progress span{display:block;height:3px;background:var(--ink);transform-origin:left;transform:scaleX(var(--story-progress,0))}
.lineup{position:relative;background:var(--paper);color:var(--ink);padding-top:55px}.lineup::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:65px;background:var(--blue);border-radius:0 0 50% 50%/0 0 100% 100%;pointer-events:none}
.lineup .section-heading{padding-top:105px}.lineup .label-sticker{top:68px;box-shadow:4px 4px 0 var(--ink)}
.lineup .mini-marquee{border-top:1px solid #14141325;border-bottom:1px solid #14141325;padding:14px 0;font:italic 900 25px var(--display);letter-spacing:-.04em;color:var(--blue-core);margin-bottom:35px}
.event-list{border-radius:0;margin:0 4%;padding:15px 0 40px;counter-reset:lineup;overflow:visible}
.event-row{counter-increment:lineup;border-top:1px solid #14141325;padding:30px 45px 32px;scroll-margin-top:65px}
.event-row::before{content:counter(lineup,decimal-leading-zero);position:absolute;left:0;top:36px;font-size:12px;letter-spacing:0;color:var(--blue-core)}
.event-row::after{content:'↗';position:absolute;right:6px;top:38px;font:400 26px var(--body);transition:transform .4s var(--motion-ease),color .2s}.event-row:hover::after{transform:rotate(45deg);color:var(--blue-core)}.event-row[aria-expanded=true]::after{content:'−';transform:none}
.event-name{font-size:clamp(32px,5.5vw,110px)}.event-sticker{width:100px}.lineup-outro{padding:60px 20px 105px}.lineup-outro .button{background:var(--blue);box-shadow:5px 5px 0 var(--ink)}
.type-bands{background:var(--paper);padding-top:20px;padding-bottom:25px}.band{transform:rotate(-3deg);overflow:visible}.band:nth-of-type(even){transform:rotate(3deg)}.band-tag{border:2px solid var(--ink);border-radius:5px;box-shadow:0 5px 0 var(--ink)}
.get-involved{position:relative;background:var(--paper)}.get-involved .section-heading{padding-bottom:95px}.get-involved .label-sticker{box-shadow:4px 4px 0 var(--ink)}
.feature-row{gap:22px;margin:16px 3% 70px;perspective:1000px}.feature-copy{border-radius:16px;min-height:610px;padding:32px}.feature-copy h3{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(45px,5.8vw,105px);letter-spacing:-.075em;line-height:.99;margin:8px 0 75px}
.feature-photo{position:relative;border-radius:var(--photo-radius,42%) var(--photo-radius,42%) 20px 20px;transition:border-radius .1s linear;min-height:610px}
.feature-photo img{transform:translateY(var(--photo-y,0px)) scale(1.13);transition:none}.feature-photo:hover img{transform:translateY(var(--photo-y,0px)) scale(1.13)}
.impact{margin:0 3%;padding:55px 4% 35px;position:relative;isolation:isolate}.impact::before{content:'';position:absolute;inset:0;background:url('assets/brand/muic-contours.svg') center/cover;opacity:.12;z-index:-1}.impact-heading h2{font:italic 900 clamp(48px,7vw,110px)/.96 var(--display);letter-spacing:-.075em}.impact-grid strong{font-variant-numeric:tabular-nums}
/* Community photography and partners. */
.social-section{background:var(--paper);padding:0 0 100px;overflow:hidden}.social-section .section-heading{padding-bottom:32px}.social-section .label-sticker{top:190px;right:8%;box-shadow:4px 4px 0 var(--ink)}
.partners{margin-inline:3%;border:1px solid #14141330;padding:45px 30px}.partners-heading{padding-bottom:50px}.partners h2{font:italic 900 clamp(45px,6vw,98px)/1 var(--display);letter-spacing:-.07em}
.sticker-finale{margin:65px 3% 0;min-height:760px;background:var(--blue);color:var(--ink);border:0;padding:40px}.finale-top h2{font:italic 900 clamp(43px,5vw,88px)/.99 var(--display);letter-spacing:-.075em}.finale-top{gap:50px}.finale-actions .button{background:var(--paper);border:2px solid var(--ink);box-shadow:4px 5px 0 var(--ink)}.scatter-button{border-color:#14141388}.site-footer{padding-inline:3%}
/* Type rolls into place, images develop from softly rounded masks. */
.word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .065em .14em;margin:-.08em -.065em -.14em;line-height:inherit}.word-face{display:inline-block;transition:transform 1s var(--motion-ease),opacity .7s;transition-delay:var(--word-delay,0ms)}
.motion-ready .type-reveal:not(.is-visible) .word-face{transform:translateY(115%) rotate(6deg);opacity:0}
.motion-reveal{transition:opacity .9s var(--motion-ease),translate 1.1s var(--motion-ease),clip-path 1.1s var(--motion-ease)}
.motion-ready .motion-reveal:not(.is-visible){opacity:0;translate:0 35px;clip-path:inset(8% 0 0 round 24px)}
.button,.btn{position:relative;isolation:isolate;translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .25s var(--motion-ease),transform .35s var(--motion-ease),background .25s,box-shadow .25s}
/* Shared inner-page art direction: a lighter continuous canvas and animated blue mastheads. */
.inner-page{background:var(--paper);color:var(--ink)}.inner-page .topbar{background:var(--paper);color:var(--ink)}
.inner-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--blue);color:var(--ink);padding-bottom:80px;border-radius:0 0 50% 50%/0 0 6% 6%;margin-bottom:50px}
.inner-hero::before{content:'';position:absolute;inset:-30%;z-index:-1;background:url('assets/brand/muic-contours.svg') center/cover;opacity:.17;transform:rotate(-13deg);pointer-events:none}
.inner-page .inner-hero .page-stamp{box-shadow:4px 4px 0 var(--ink)}.inner-page .inner-hero .inner-intro{color:var(--ink)}
.inner-page .brand-accent{color:var(--blue-core)}.inner-page .membership-ticket{border:1px solid #14141344}.inner-page .ticket-tear::before,.inner-page .ticket-tear::after{background:var(--paper)}
.inner-page .membership-photo>img,.inner-page .split__media img{border-radius:18px}.inner-page .benefit,.inner-page .programme-row,.inner-page .programme-filters{border-color:#14141335}.inner-page .expand-icon{border-color:#14141355}.inner-page .benefit summary::before,.inner-page .programme-number{color:var(--blue-core)}.inner-page .benefit summary:hover{color:var(--blue-core)}
.inner-page .programme-filters [aria-pressed=true]{color:var(--blue-core)}.inner-page .programme-more{background:var(--blue)}.inner-page .programme-detail img{border-radius:16px}.inner-page .inner-motion{border-color:#14141355;color:var(--ink)}.inner-page #packages{color:var(--ink)}.inner-page .pkg{border:1px solid #14141330;box-shadow:0 10px 0 #1414130a}.inner-page .policy-sheet{border:1px solid #14141325}
.inner-page .on-cream{border:1px solid #14141325}.inner-page .placeholder-badge{color:var(--blue-core)}.inner-page .cta.pop-finale .brand-accent{color:var(--lime)}
/* Cross-document navigation retains the canvas while the next view opens. */
@keyframes seal-turn{to{rotate:360deg}}
@media(min-width:1800px){.community-stage{min-height:800px}.community-panel h2{top:20%}.orbit-photo{max-width:500px;max-height:600px}.community-panel .community-copy{top:47%}}
@media(max-width:1000px){.topbar{padding-right:140px;gap:20px}.topbar nav{gap:16px}.topbar nav a:last-child{display:none}.feature-copy{min-height:520px;padding:25px}.feature-photo{min-height:520px}.community-stage{min-height:600px}.community-panel .community-copy{width:38%;left:34%;font-size:18px}.orbit-seal{width:90px}.world-menu-body{gap:7%;grid-template-columns:.8fr 1.2fr}.world-menu-body nav a{font-size:6.5vw}.finale-top{gap:30px}}
@media(max-width:720px){
 .world-menu-open{right:16px;top:16px;padding:10px 13px;font-size:10px;min-height:42px}.world-menu-open i{width:16px}.world-menu{padding:20px}.world-menu-top .club-logo{font-size:12px}.world-menu-top .club-logo img{height:37px}.world-menu-body{display:block;flex:1;padding:40px 0 30px;min-height:0}.menu-picture{display:none}.world-menu-body nav a{font-size:clamp(36px,10.3vw,66px);padding:9px 0;line-height:1.08}.world-menu-body nav b{opacity:1;transform:none;font-size:.5em}.world-menu-bottom{flex-wrap:wrap;gap:20px 25px;padding-top:18px;font-size:11px}.world-menu-bottom .button{margin-left:0;width:100%;padding:17px}.world-menu-close{min-height:42px}
 .festival-hero{min-height:680px;min-height:90svh;justify-content:center;padding-top:100px;padding-bottom:200px}.hero-stamp{top:100px}.hero-peacock{bottom:55px}.hero-motion-toggle{bottom:35px}.hero-city{margin-top:13px}
 .community-panel{height:180svh;min-height:1200px;margin:0;padding:0}.community-stage{min-height:640px;height:100svh}.community-panel h2{top:16%;font-size:clamp(37px,10.1vw,70px);width:95%;line-height:1}.orbit-photo{width:42vw;height:52vw;padding:5px 5px 24px;max-width:none;max-height:300px}.orbit-photo figcaption{font-size:9px;line-height:20px}.orbit-one{left:-3%;top:41%}.orbit-two{right:-4%;top:48%;width:45vw;height:42vw}.orbit-three{left:32%;top:90%;width:45vw;height:48vw}.orbit-four{left:-14%;top:122%;width:44vw;height:52vw}.orbit-five{right:-15%;top:121%;width:44vw;height:48vw}.community-signature{top:64%;font-size:10vw;left:3%}.community-panel .community-copy{left:15%;top:38%;width:70%;max-width:none;text-align:center;font-size:17px;line-height:1.35}.community-panel .community-copy>p:first-child{font-size:30px;margin-bottom:17px}.community-panel .community-copy .text-link{font-size:15px;margin-top:18px}.orbit-seal{width:72px;top:4%;right:6%;box-shadow:3px 3px 0 var(--ink)}.orbit-seal>span{font-size:36px}.story-progress{bottom:22px}
 .lineup{padding-top:35px}.lineup::before{height:40px}.lineup .section-heading{padding:85px 20px 35px}.lineup .label-sticker{top:51px}.lineup .mini-marquee{font-size:18px;margin-bottom:20px;padding:12px 0}.event-list{margin:0 20px;padding-top:0}.event-row{padding:26px 12px}.event-name{font-size:clamp(26px,6.9vw,48px);line-height:1}.event-row::before{top:10px;font-size:9px}.event-row::after{top:8px;right:0;font-size:16px}.event-sub{font-size:13px}.event-sticker{width:70px}.lineup-outro{padding:25px 20px 70px}.lineup-outro .display{font-size:37px}
 .get-involved .section-heading{padding-bottom:70px}.feature-row{margin:16px 16px 45px;gap:16px}.feature-copy{padding:25px;min-height:440px}.feature-copy h3{font-size:clamp(42px,12vw,72px);margin-bottom:60px}.feature-photo{min-height:0;aspect-ratio:1.1;border-radius:20px}.impact{margin:0 16px;padding:30px 22px}.impact-heading h2{font-size:46px}.impact-grid strong{font-size:clamp(28px,8vw,50px)}
 .social-section{padding-bottom:65px}.social-section .section-heading{padding-top:90px;padding-bottom:35px}.social-section .label-sticker{top:192px;right:9%;font-size:12px}
 .partners{margin:0 16px;padding:30px 20px}.partners h2{font-size:44px}.partners-heading{padding-bottom:30px}.sticker-finale{margin:45px 16px 0;padding:30px 22px;min-height:800px}.finale-top h2{font-size:41px}.finale-actions .button{font-size:20px}.site-footer{padding-inline:20px;padding-bottom:105px}.mobile-dock{background:var(--paper);border-color:#14141333;box-shadow:0 4px 20px #14141315}.mobile-dock .menu-toggle{background:var(--blue);color:var(--ink)}
 .inner-page .inner-hero{padding-top:130px;padding-bottom:65px;margin-bottom:35px;border-radius:0 0 50% 50%/0 0 4% 4%}.inner-page .inner-hero .page-stamp{top:-48px;right:0}.inner-page .inner-intro{font-size:19px}.inner-page .inner-heading h1{font-size:clamp(49px,13vw,92px)}
}
@media(max-width:360px){.community-panel .community-copy{left:10%;width:80%}.feature-copy h3{font-size:41px}.world-menu-body{padding-top:30px}.world-menu-body nav a{font-size:10vw}.sticker-finale{min-height:830px}}
/* Motion never stands between a visitor and the content. */
.motion-paused .motion-reveal,.motion-paused .word-face{opacity:1!important;translate:none!important;transform:none!important;clip-path:none!important;transition:none!important}
.motion-paused .community-panel{height:auto;min-height:0}.motion-paused .community-stage{position:relative;height:auto;min-height:0;padding:85px 5% 55px;display:block}.motion-paused .community-panel h2{position:relative;top:auto;width:100%;transform:none;opacity:1}.motion-paused .community-orbit{position:relative;display:flex;align-items:center;justify-content:center;gap:3%;height:370px;margin:50px 0;perspective:none}.motion-paused .orbit-photo{position:relative;inset:auto;width:29%;height:300px;transform:rotate(var(--orbit-r));will-change:auto}.motion-paused .orbit-four,.motion-paused .orbit-five{display:none}.motion-paused .community-signature{display:none}.motion-paused .community-panel .community-copy{position:relative;inset:auto;width:100%;max-width:700px;margin:auto;opacity:1;transform:none;pointer-events:auto;text-align:center}.motion-paused .orbit-seal{display:none}.motion-paused .story-progress{display:none}.motion-paused .button,.motion-paused .btn{translate:none!important}.motion-paused .feature-photo{border-radius:20px}.motion-paused .feature-photo img{transform:none}
@media(max-width:720px){.motion-paused .community-orbit{height:230px;margin:40px 0}.motion-paused .orbit-photo{height:200px;width:32%}.motion-paused .community-stage{padding-top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-reveal,.word-face{opacity:1!important;translate:none!important;transform:none!important;clip-path:none!important}}

/* Keep printed artwork in its own layer and every heading unobstructed. */
.social-section .label-sticker{position:relative;inset:auto;display:table;margin:30px auto 4px;transform:rotate(-7deg)}
.community-panel .community-copy:focus-within{opacity:1;transform:none}
@media(min-width:721px){.orbit-four{left:3%}.orbit-five{right:1%}}

.festival-hero::after{content:'';position:absolute;inset:auto 0 -1px;height:24px;background:var(--blue);border-radius:50% 50% 0 0/100% 100% 0 0;z-index:2;pointer-events:none}
@media(max-width:720px){.orbit-seal{left:6%;right:auto}.story-progress{bottom:85px}.community-panel .community-copy>p:first-child{font-size:28px}}
.inner-page .topbar .club-logo img{filter:none}
.inner-page .topbar [aria-current=page]{color:var(--blue-core)}
@media(max-width:720px){.policy-page .inner-heading h1{font-size:clamp(35px,10.8vw,76px)}}

/* Behaviour pass: same resting composition, coordinated moving planes. */
.festival-hero h1{scale:var(--hero-type-scale,1)}
.hero-city{translate:var(--hero-city-x,0px) 0}
.hero-film{clip-path:inset(0 var(--hero-frame,0px) round var(--hero-frame,0px))}
.hero-stamp{translate:0 var(--hero-stamp-y,0px)}
.travelling-peacock{position:fixed;inset:0 auto auto 0;z-index:8;pointer-events:none;opacity:0;object-fit:contain;filter:drop-shadow(6px 2px 0 var(--lime)) drop-shadow(-6px -2px 0 var(--pink));will-change:transform}
.orbit-photo{scale:var(--orbit-scale,1)}
.orbit-photo img{object-position:50% calc(50% + var(--orbit-crop,0%))}
.motion-paused .travelling-peacock{display:none}
.motion-paused .festival-hero h1,.motion-paused .hero-city,.motion-paused .hero-stamp{translate:none;scale:1}
.motion-paused .hero-film{clip-path:none}
.motion-paused .benefit p,.motion-paused .programme-detail{animation:none!important;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.travelling-peacock{display:none}}

html.js body.intro-settled .hero-peacock{opacity:var(--hero-peacock-opacity,1);transition:none}
.event-name,.event-sub{position:relative;z-index:1}
.event-type-plane{display:inline-block;transform:translate3d(var(--event-drift,0px),0,0) scale(var(--event-scale,1))}
.event-glimpse{position:absolute;left:1%;top:7%;width:clamp(100px,14vw,210px);height:86%;pointer-events:none;z-index:0;overflow:hidden;border-radius:5px;opacity:var(--glimpse-opacity,0);transform:translate3d(var(--glimpse-x,0px),0,0) rotate(var(--glimpse-turn,0deg)) scale(var(--glimpse-scale,1));clip-path:inset(0 var(--glimpse-clip,40%) round 5px)}
.event-row:nth-of-type(even) .event-glimpse{left:auto;right:1%}
.event-glimpse img{width:100%;height:100%;object-fit:cover}
.inline-event-media>img,.inline-event-media>video{translate:0 var(--event-image-y,0px);scale:var(--event-image-scale,1)}
.inline-event-media.is-portrait{background:var(--paper)}
.inline-event-media.is-portrait>img{object-fit:contain;translate:none;scale:1}
.event-photo-controls{position:absolute;bottom:16px;left:50%;translate:-50% 0;z-index:4;display:flex;align-items:center;gap:12px;padding:5px 8px;border-radius:30px;background:var(--paper);color:var(--ink);box-shadow:0 2px 12px #0002;font-size:12px;white-space:nowrap}
.event-photo-controls button{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--ink);font-size:23px}
.event-photo-controls button:hover{background:var(--blue)}
.event-media-toggle{position:absolute;bottom:16px;right:16px;z-index:4;border-radius:30px;min-height:44px;padding:9px 17px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:600;box-shadow:0 2px 12px #0002}
.event-photo-controls[hidden],.event-media-toggle[hidden]{display:none!important}
.motion-paused .event-type-plane{transform:none}
.motion-paused .event-glimpse{display:none}
@media(max-width:720px){.event-glimpse{display:none}.event-photo-controls{left:12px;translate:0;bottom:12px;gap:6px;padding:3px 6px}.event-media-toggle{right:12px;bottom:12px;font-size:11px;padding:8px 12px;min-height:42px}}

/* Existing photographs arrive from opposing planes, then settle in their frames. */
.feature-photo,.membership-photo,.split__media{transform:translate3d(var(--pair-x,0px),var(--pair-y,0px),0) rotate(var(--pair-rotate,0deg)) scale(var(--pair-scale,1));clip-path:inset(0 var(--pair-mask,0%) round 18px)}
.feature-copy>h3,.membership-ticket .ticket-title h2,#featured .split__text>h2{translate:var(--copy-x,0px) 0}
.membership-photo,.split__media,.student-ig-live>a{overflow:hidden}
.membership-photo>img,.split__media>img,.student-ig-live>a>img{transform:translate3d(0,var(--inner-image-y,0px),0) scale(var(--inner-image-scale,1));transform-origin:center}
.inner-heading h1{translate:var(--masthead-x,0px) var(--masthead-y,0px)}
.inner-hero .page-stamp{translate:0 var(--masthead-art,0px)}
.impact-grid>div,.stat{position:relative;overflow:hidden}
.impact-grid strong,.stat__num{transform:translate3d(0,var(--metric-y,0%),0);clip-path:inset(0 0 var(--metric-clip,0%) 0)}
.band-track,.inner-marquee>div{translate:var(--band-travel,0px) 0}
.motion-paused .feature-photo,.motion-paused .membership-photo,.motion-paused .split__media{transform:none;clip-path:none}
.motion-paused .impact-grid strong,.motion-paused .stat__num{transform:none;clip-path:none}
.motion-paused .inner-heading h1,.motion-paused .inner-hero .page-stamp{translate:none}
@media(prefers-reduced-motion:reduce){.feature-photo,.membership-photo,.split__media,.impact-grid strong,.stat__num{transform:none;clip-path:none}}
.menu-photo-out{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:8px;z-index:0;pointer-events:none}
.world-menu-body nav{overflow:hidden}
main{transform-origin:50% 0;transition:scale .75s var(--motion-ease)}
body.menu-is-open main{scale:.975}
/* The original blue contour world carries the page change. */
::view-transition{background:var(--blue)}
@keyframes muic-scene-exit{to{transform:translateY(-9%) scale(.97);clip-path:ellipse(90% 0% at 50% 0%)}}
@keyframes muic-scene-enter{from{clip-path:ellipse(80% 0% at 50% 110%);transform:translateY(9%)}to{clip-path:ellipse(150% 150% at 50% 100%);transform:none}}
.motion-paused main{transition:none;scale:1}
@media(prefers-reduced-motion:reduce){main{scale:1}}

.membership-photo{overflow:visible;clip-path:none}
.motion-photo-mask{position:absolute;inset:0;overflow:hidden;border-radius:18px;clip-path:inset(0 var(--pair-mask,0%) round 18px)}
.motion-photo-mask>img{position:absolute;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--inner-image-y,0px),0) scale(var(--inner-image-scale,1))}
.student-ig-live>a{display:block}
.motion-paused .motion-photo-mask{clip-path:none}
.motion-paused .motion-photo-mask>img{transform:none}

/* Keep the same motion, but only composite visible loops. */
.motion-dormant,.motion-dormant *,.motion-dormant::before,.motion-dormant::after{animation-play-state:paused!important}
.page-progress>span,.cursor-dot{will-change:transform}
.band-track,.inner-marquee>div,.photo-ribbon-track,.lineup-ticker-track{will-change:transform}
.motion-dormant .band-track,.motion-dormant .photo-ribbon-track,.motion-dormant .lineup-ticker-track,.motion-dormant>div{will-change:auto}
/* Object-position forces image repaints; translate the existing oversized image instead. */
.orbit-photo img{object-position:50% 50%;transform:translate3d(0,var(--orbit-crop,0%),0) scale(1.12)}
.orbit-image-mask{width:100%;height:100%;overflow:hidden}
