@font-face{font-family:Barlow;src:url(assets/fonts/barlow-regular.woff2) format('woff2');font-display:swap}@font-face{font-family:Barlow;src:url(assets/fonts/barlow-semibold.woff2) format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Display;src:url(assets/fonts/barlow-condensed.woff2) format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--ink:#101010;--paper:#fff;--hot:#ff6943;--lime:#e2f172;font-family:Barlow,Arial,sans-serif;color:var(--paper);background:var(--ink);letter-spacing:0}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--hot);outline-offset:5px}.skip{position:fixed;top:-90px;left:20px;z-index:99;padding:15px;background:var(--lime);color:var(--ink)}.skip:focus{top:15px}
.header{height:100px;position:fixed;z-index:40;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;background:linear-gradient(#101010dc,#10101000);gap:24px}.header h1{margin:0;line-height:0}.header h1 img{width:154px;height:auto;filter:brightness(0) invert(1)}.cta,.submit{display:inline-flex;gap:15px;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:3px;padding:12px 19px;background:var(--hot);color:var(--ink);font-weight:600;font-size:16px}.cta img,.submit img{flex:none}.cta:hover,.submit:hover{background:var(--lime)}
#story{position:relative;min-height:1400vh}#stage,.shade,.captions{position:fixed;inset:0;pointer-events:none}#stage{z-index:0;overflow:hidden;background:#090909}#stage>picture,#stage>.scene{position:absolute;inset:0}#stage img,#stage video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.scene{opacity:0}.scene video{opacity:0}.scene.painted video{opacity:1}.scene.painted img{opacity:0}.shade{z-index:1;background:linear-gradient(0deg,#090909f5 0%,#090909a6 22%,transparent 53%,#09090935 85%,#090909b0);opacity:0.75}.captions{z-index:3}.caption{position:absolute;left:48px;bottom:96px;max-width:780px;padding-right:32px;opacity:0;visibility:hidden;pointer-events:none}.caption.active{opacity:1;visibility:visible;pointer-events:auto}.caption h2{font-family:Display,Impact,sans-serif;font-size:66px;font-weight:700;line-height:1.02;letter-spacing:0;margin:12px 0 18px;text-wrap:balance;text-shadow:0 2px 24px #0008}.caption p{font-size:20px;line-height:1.4;margin:0;text-shadow:0 2px 10px #000}.eyebrow{font-size:13px;font-weight:600;color:var(--lime);text-transform:uppercase;line-height:1.4}.detail{display:block;max-width:550px;font-size:14px;line-height:1.5;margin-top:18px;color:#f1f1eb}.hero{top:120px;bottom:auto;left:24px;right:24px;max-width:none;padding:0;text-align:center}.hero h2{font-size:56px;margin:0;line-height:1.03}.finale{bottom:110px}.finale h2{font-size:76px}.tickets{display:flex;list-style:none;gap:0;margin:22px 0 0;padding:0;max-width:430px}.tickets li{width:33.333%;padding:12px 15px;background:#fff;color:#101010;border-right:1px dashed #555;font-size:13px}.tickets li:last-child{border:0}.tickets strong{display:block;font-size:21px;margin-top:5px}
.scroll-cue{position:fixed;z-index:5;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:15px}.scroll-cue img{filter:invert(1)}.film-tools{position:fixed;z-index:8;left:48px;right:38px;bottom:22px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.film-tools span{font-size:12px;text-transform:uppercase;color:#ffffffb8}.film-tools button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;background:#101010cc;border:1px solid #ffffff70;border-radius:50%;color:white}.film-tools img{filter:invert(1)}#rail{position:fixed;z-index:42;left:0;right:0;top:0;height:3px;background:#ffffff18}#rail span{display:block;width:100%;height:100%;background:var(--hot);transform:scaleX(0);transform-origin:left}#open{position:absolute;top:90vh;pointer-events:none}
.enquiry{position:relative;z-index:10;padding:80px 48px 25px;background:var(--lime);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:32px 60px;scroll-margin-top:82px}.enquiry .eyebrow{color:#293313}.enquiry h2{font-family:Display,Impact,sans-serif;font-size:66px;line-height:1.02;margin:15px 0 20px;letter-spacing:0}.enquiry-heading>p:last-child{line-height:1.5;font-size:18px}form{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start;padding-top:12px}label{font-weight:600;font-size:15px;min-width:0}.business,.submit,.form-note{grid-column:1/-1}input{display:block;background:transparent;color:#101010;border:0;border-bottom:1px solid #10101080;border-radius:0;width:100%;min-height:49px;font-size:20px;padding:7px 0}input:focus{outline-offset:2px}.submit{background:#101010;color:white;justify-content:space-between;margin-top:8px;font-size:18px}.submit img{filter:invert(1)}.submit:hover{background:#303b12}.form-note{font-size:13px;line-height:1.5;margin:0;color:#30381b}.contact{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;padding:32px 0;border-top:1px solid #10101040;border-bottom:1px solid #10101040}.contact a{display:flex;align-items:center;gap:10px;font-weight:600;min-height:30px}.contact a:hover,footer a:hover{text-decoration:underline}footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:12px;padding-top:2px}body.at-enquiry .film-tools,body.at-enquiry .scroll-cue{visibility:hidden}body.at-enquiry .header{background:#101010f5}
@media(min-width:1800px){.caption{left:72px;bottom:110px}.caption h2{font-size:78px}.hero{left:24px;bottom:auto}.hero h2{font-size:64px}.header{padding-inline:72px}.enquiry{padding-inline:72px}.film-tools{left:72px}}
@media(orientation:portrait){.header{height:86px;padding:15px 20px;gap:12px}.header h1 img{width:115px}.header .cta{font-size:14px;padding:10px 12px;gap:8px;max-width:240px;min-height:48px}.caption{left:22px;right:22px;bottom:90px;max-width:none;padding:0}.caption h2{font-size:46px;margin:10px 0 13px}.caption p{font-size:17px;line-height:1.35}.eyebrow{font-size:11px}.detail{font-size:12px;max-width:350px;margin-top:12px}.hero{top:112px;bottom:auto;left:18px;right:18px}.hero h2{font-size:38px;line-height:1.05}.shade{background:linear-gradient(0deg,#090909f5,#090909ad 24%,transparent 58%,#09090955)}.film-tools{left:22px;right:15px;bottom:calc(15px + env(safe-area-inset-bottom))}.film-tools span{font-size:10px;max-width:230px}.scroll-cue{bottom:calc(35px + env(safe-area-inset-bottom))}.finale h2{font-size:54px}.tickets{margin-top:18px}.tickets li{padding:9px 12px}.tickets strong{font-size:18px}.enquiry{grid-template-columns:1fr;padding:45px 22px 25px;gap:20px;scroll-margin-top:85px}.enquiry h2{font-size:52px}.enquiry-heading>p:last-child{font-size:16px}form{gap:18px}.contact{gap:18px;padding:25px 0}.contact a{min-height:36px;font-size:15px}footer{font-size:11px}.enquiry-heading{max-width:560px}body:not(.film-ready) #story{min-height:1400vh}}
@media(max-width:370px){.header{padding-inline:12px}.header h1 img{width:95px}.header .cta{font-size:12px;padding-inline:9px}.hero h2{font-size:33px}.caption h2{font-size:39px}.caption p{font-size:15px}.detail{font-size:11px}.caption{bottom:85px}.film-tools span{max-width:190px}.enquiry h2{font-size:46px}}
@media(max-height:550px) and (orientation:landscape){.header{height:70px;padding:12px 24px}.header h1 img{width:120px}.hero{top:84px}.hero h2{font-size:36px}.caption:not(.hero){bottom:62px;left:24px;max-width:650px}.caption h2{font-size:38px}.caption p{font-size:15px}.detail,.tickets{display:none}.film-tools{bottom:9px;left:24px}.scroll-cue{bottom:20px}.enquiry{padding:45px 24px}.enquiry h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.enquiry :focus-visible{outline-color:#101010}
#stage canvas{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;opacity:0}#stage .scene.painted canvas{opacity:1}
