@charset "UTF-8";
:root{--plum:#351d30;--cream:#f7eedf;--ink:#34252f;--accent:#dfbdca;--line:rgba(247,238,223,.38);font-family:Arial,Helvetica,sans-serif;color:var(--cream);background:var(--plum);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:32px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#c593ac;color:var(--plum)}[hidden]{display:none!important}
.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--cream);color:var(--plum);padding:15px}.skip-link:focus{top:10px}
.header{height:106px;position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}
.wordmark{display:grid;grid-template-columns:auto auto;grid-template-rows:41px 16px;width:115px;line-height:1;font:47px/1 Georgia,serif;letter-spacing:-3px}
.wordmark span{grid-column:1;font:10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;padding-left:3px}.wordmark i{font-size:15px;letter-spacing:-1px;font-style:normal;grid-column:2;grid-row:1;padding-top:9px}
nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a{min-height:48px;display:inline-flex;align-items:center}.nav-cta{border:1px solid var(--line);border-radius:40px;padding:14px 24px;min-width:138px;justify-content:center;text-align:center;transition:background .2s}.nav-cta:hover{background:#ffffff18}
.story-surface{--landing:0;--programme-opacity:1;--programme-y:0px;position:relative;background:var(--cream)}
.journey{position:relative;height:290svh}.stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;isolation:isolate;background:var(--cream)}
.scene,.scene-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.scene{z-index:-2}.scene picture{display:contents}
.scene img,.scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% var(--frame-y,22%);display:block}
.scene video{opacity:0;pointer-events:none}.scene.film-ready video{opacity:1}.scene.film-ready img{opacity:0}
.scene-warmth{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 5%,#ffd08a55,transparent 65%);mix-blend-mode:screen;opacity:.12}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,18,23,.67),rgba(28,18,23,.24) 34%,transparent 64%),linear-gradient(180deg,rgba(28,18,23,.4),transparent 26%,transparent 65%,rgba(28,18,23,.65));opacity:var(--scene-shade,1)}
.landing-light{position:absolute;inset:0;z-index:-1;background:var(--cream);opacity:var(--landing);pointer-events:none}
.scene-copy{position:absolute;z-index:2}.intro{inset:0 6vw;pointer-events:none}
.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:500;line-height:1.6;margin:0}
.intro>.eyebrow{position:absolute;top:145px}.event-host{position:absolute;top:171px;font-size:27px;line-height:1.2;margin:0}.event-meta{position:absolute;top:211px;font-size:14px;line-height:1.5;margin:0}
.intro h1{position:absolute;bottom:168px;font:400 clamp(64px,7.4vw,118px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-4px;margin:0}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.intro h1 em{color:var(--accent)}
.intro-bottom{position:absolute;bottom:82px;display:flex;align-items:center;gap:40px;pointer-events:auto}.intro-bottom p{font-size:15px;line-height:1.6;margin:0}.round-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:40px;padding:12px 20px;font-size:14px;transition:background .2s}.round-link:hover{background:#ffffff18}
.chapter{left:6vw;bottom:17%;pointer-events:none;opacity:0;visibility:hidden}.chapter h2{font:400 clamp(70px,10vw,160px)/1 Georgia,serif;letter-spacing:-5px;margin:0;text-shadow:0 3px 32px #24151e55}
.stage-footer{position:absolute;left:6vw;right:6vw;bottom:30px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.3px;pointer-events:none}
.progress-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff18;pointer-events:none}.progress-track span{display:block;width:100%;height:100%;background:#f2d5da;transform:scaleX(0);transform-origin:left}
.story-anchor{position:absolute;top:65svh;pointer-events:none}
.details{position:relative;z-index:3;margin-top:-90svh;padding:12svh 10vw 90px;color:var(--ink);background:transparent}
.programme-intro{opacity:var(--programme-opacity);transform:translate3d(0,var(--programme-y),0)}
.section-topline{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #34252f33;padding-bottom:23px}
.details-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin:48px 0 64px}
.details h2{font:400 clamp(58px,6.2vw,98px)/1.04 Georgia,serif;letter-spacing:-3px;margin:0}.details h2 em{color:#81546f}
.details-heading>p{font-size:16px;line-height:1.75;max-width:310px}.muted{color:#756972;display:block;margin-top:20px}
.days{border-top:1px solid #34252f33}.day{display:grid;grid-template-columns:70px 1fr 1fr;align-items:center;gap:20px;border-bottom:1px solid #34252f33;padding:30px 0}
.js-motion .day{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}.js-motion .day.is-revealed{opacity:1;transform:none}
.day-number{font-size:13px;color:#7c6675;align-self:start;margin-top:4px}.day p{margin:0 0 7px;font-size:14px}.day h3{margin:0;font:44px Georgia,serif;letter-spacing:-1.5px}.day h3 span{font:18px Arial,sans-serif;letter-spacing:0;margin-left:6px}.day-status{text-align:right;color:#756972;font-size:14px}
.venue{padding-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.venue .eyebrow{grid-column:1/-1}.venue p{font:36px Georgia,serif;margin:0}.venue>span:last-child{font-size:15px;line-height:1.6;max-width:250px;justify-self:end;color:#756972}
.tickets{text-align:center;padding:100px 25px 110px;background:#45243a}.tickets h2{font:400 clamp(55px,6.5vw,105px)/1.02 Georgia,serif;letter-spacing:-3px;margin:28px 0}.tickets h2 em{color:var(--accent)}.tickets>p{font-size:16px;line-height:1.6}.booking-status{margin:30px auto 12px;font-size:18px}.tickets .booking-note{font-size:15px;color:#d4bbcc}
.footer{padding:50px 6vw 95px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer p{font-size:13px;line-height:1.7;color:#c7afbf}.footer>a:last-child{font-size:14px;min-height:44px;display:flex;align-items:center}
.motion-toggle{position:fixed;bottom:16px;right:20px;z-index:20;color:var(--cream);background:#241520e8;border:1px solid #ffffff40;border-radius:25px;padding:10px 15px;font-size:13px;min-height:44px;min-width:98px;cursor:pointer}
.motion-off .journey{height:auto}.motion-off .stage{position:relative;min-height:700px;height:100svh}.motion-off .scene video,.motion-off .scene-warmth{display:none}.motion-off .scene img{opacity:1}.motion-off .chapter,.motion-off .stage-footer,.motion-off .progress-track,.motion-off .story-anchor,.motion-off .landing-light{display:none}.motion-off .details{margin-top:0;padding-top:80px}.motion-off .scene-shade{opacity:1}.motion-off .intro{opacity:1!important;visibility:visible!important;transform:none!important}.motion-off .programme-intro{opacity:1;transform:none}
@media(min-width:1700px){.intro h1{font-size:130px}}
@media(min-width:1025px) and (max-height:800px){.intro>.eyebrow{top:120px}.event-host{top:143px;font-size:24px}.event-meta{top:178px}.intro h1{font-size:78px;bottom:145px}.intro-bottom{bottom:66px}.stage-footer{bottom:22px}}
@media(max-width:1024px){
 .header{height:88px;padding:0 7vw}.wordmark{font-size:38px;grid-template-rows:33px 13px;width:96px}.wordmark span{font-size:8px}.wordmark i{font-size:13px}
 nav>a:not(.nav-cta){display:none}.nav-cta{min-width:132px;font-size:14px;padding:12px 18px}
 .intro{inset:0 7vw}.intro>.eyebrow{top:111px}.event-host{top:137px;font-size:25px}.event-meta{top:175px}
 .intro h1{font-size:clamp(62px,10vw,95px);letter-spacing:-3px;bottom:165px}.intro-bottom{bottom:95px;gap:24px}
 .chapter{left:7vw;bottom:17%}.chapter h2{font-size:clamp(76px,13vw,128px)}
 .stage-footer{left:7vw;right:7vw;bottom:33px}.location-note{display:none}
 .details{padding-left:8vw;padding-right:8vw}.details-heading{display:block;margin:36px 0 45px}.details h2{font-size:72px}.details-heading>p{max-width:400px;margin:25px 0 0}.muted{margin-top:12px}
 .section-topline{flex-wrap:wrap}.section-topline .eyebrow{font-size:12px;letter-spacing:.8px}
 .motion-off .stage{min-height:740px}
}
@media(max-width:760px){
 .journey{height:280svh}.scene img,.scene video{object-position:50% 50%}
 .scene-shade{background:linear-gradient(180deg,rgba(25,17,20,.62),rgba(25,17,20,.2) 25%,transparent 38%,rgba(25,17,20,.08) 58%,rgba(25,17,20,.77) 84%,rgba(25,17,20,.85))}
 .intro h1{font-size:clamp(52px,14.4vw,68px);line-height:.96;letter-spacing:-2.5px;bottom:155px}
 .intro-bottom{bottom:77px;width:100%;gap:12px;justify-content:space-between}.intro-bottom p{font-size:13px;line-height:1.5}.round-link{font-size:13px;padding:10px 17px;flex-shrink:0}
 .intro>.eyebrow{font-size:11px;letter-spacing:1.4px;top:104px}.event-host{top:128px;font-size:24px}.event-meta{top:162px;font-size:13px}
 .chapter{bottom:15%;left:7vw;right:7vw}.chapter h2{font-size:clamp(64px,19vw,94px);letter-spacing:-3px}
 .stage-footer{bottom:24px;font-size:10px;letter-spacing:1px}.motion-toggle{bottom:12px;right:12px}
 .details{padding-top:13svh;padding-bottom:65px}.details h2{font-size:clamp(47px,12.8vw,64px);letter-spacing:-2px}.details-heading{margin:30px 0 40px}.details-heading>p{font-size:15px;line-height:1.7}
 .section-topline{gap:9px;padding-bottom:18px}.section-topline .eyebrow{font-size:11px}
 .day{grid-template-columns:28px 1fr;gap:12px;padding:24px 0}.day h3{font-size:36px}.day h3 span{font-size:16px}.day-status{grid-column:2;text-align:left;font-size:13px}
 .venue{grid-template-columns:1fr;gap:15px;padding-top:42px}.venue p{font-size:32px}.venue>span:last-child{justify-self:start;max-width:none}
 .tickets{padding:70px 8vw}.tickets h2{font-size:53px;letter-spacing:-2px}.tickets>p{font-size:14px}.footer{padding:40px 8vw 90px;flex-wrap:wrap}.footer p{order:3;width:100%;font-size:12px}
 .motion-off .stage{min-height:650px}.motion-off .details{padding-top:55px}
}
@media(max-width:760px) and (max-height:720px){
 .intro>.eyebrow{top:96px}.event-host{top:119px;font-size:22px}.event-meta{top:151px;font-size:12px}
 .intro h1{font-size:48px;bottom:151px}.intro-bottom{bottom:74px}.intro-bottom p{font-size:12px}
 .scene-shade{background:linear-gradient(180deg,#19111499,transparent 30%,#19111422 40%,#19111477 60%,#191114dd 100%)}
 .motion-off .stage{min-height:640px}
}
@media(max-width:1024px) and (max-height:540px){
 .motion-off .stage{height:auto;min-height:620px}.intro>.eyebrow{top:110px}.event-host{top:138px}.event-meta{top:175px}.intro h1{font-size:64px;bottom:135px}.intro-bottom{bottom:58px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}



/* Full-bleed mobile frames share the exact video composition. */
.scene canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;pointer-events:none}
.scene.sequence-ready canvas{opacity:1}.scene.sequence-ready img{opacity:0}.motion-off .scene canvas{display:none}
/* Confirmed pass options, before prices and booking are available. */
.tickets{padding-left:8vw;padding-right:8vw}
.tickets .ticket-intro{max-width:560px;margin:0 auto 22px}
.early-bird{display:inline-block;margin:0 0 48px;padding:11px 18px;border:1px solid #dfbdca66;border-radius:30px;color:var(--accent);font-size:14px!important}
.pass-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;text-align:left}
.pass-card{grid-column:span 2;padding:27px 28px;background:#ffffff05;border:1px solid #dfbdca45;display:flex;flex-direction:column;min-width:0}
.pass-card:nth-child(-n+2){grid-column:span 3;background:#ffffff0a}
.pass-card .eyebrow{font-size:11px;color:#dfbdca;letter-spacing:1.5px}
.pass-card h3{font:400 clamp(29px,2.8vw,43px)/1.12 Georgia,serif;letter-spacing:-1px;margin:16px 0 18px}
.pass-date{font-size:14px;line-height:1.6;margin:0 0 30px;color:#e1cddb}
.pass-price{border-top:1px solid #dfbdca33;padding-top:19px;margin:auto 0 0;font-size:14px;line-height:1.6}
.booking-information{max-width:700px;margin:44px auto 0}.booking-information p{font-size:14px;line-height:1.8}.booking-information .booking-status{font-size:20px;margin:0 0 7px}.booking-information .booking-note{margin:0 0 24px}.booking-information .waiting-note{color:#dfbdca;margin-top:18px}
.organizer{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:75px 10vw;background:var(--cream);color:var(--ink)}
.organizer h2{font:400 clamp(45px,4.8vw,70px)/1.1 Georgia,serif;letter-spacing:-2px;margin:22px 0 0}.organizer h2 em{color:#81546f}
.organizer address{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:15px;line-height:1.7}.organizer address strong{font-weight:500;font-size:17px}.organizer a{text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
@media(max-width:760px){.pass-grid{display:flex;flex-direction:column;gap:14px}.pass-card{padding:25px}.pass-card h3{font-size:34px}.pass-date{margin-bottom:23px}.early-bird{font-size:12px!important;padding:10px 14px;margin-bottom:32px}.booking-information{margin-top:34px}.organizer{grid-template-columns:1fr;gap:30px;padding:55px 8vw}.organizer h2{font-size:49px}.organizer address{font-size:14px}.organizer address strong{font-size:16px}}
