:root{--ink:#0a0b0d;--ink2:#15171b;--paper:#f6f5f1;--ice:#7ee8f5;--line:#2a2d33;--mute:#a9adb5;--red:#e4261c;--lime:#a7ee1f;--lilac:#b9a2e6;--mint:#74e3b4;--camo:#b79f7b;--d:'Anton',Impact,'Arial Narrow',sans-serif;--b:'Archivo',system-ui,sans-serif;--s:'Instrument Serif',Georgia,serif}
*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font:400 17px/1.5 var(--b);overflow-x:hidden}
img,video{display:block;max-width:100%}a{color:inherit}
:focus-visible{outline:3px solid var(--ice);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:60;background:var(--ice);color:var(--ink);padding:10px 14px;font-weight:700}.skip:focus{top:12px}
h1,h2,h3{font-family:var(--d);font-weight:400;text-transform:uppercase;line-height:1.02;letter-spacing:.005em}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
/* header */
.hd{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;transition:background .25s}
.hd::before{content:"";position:absolute;inset:0 0 -24px;background:linear-gradient(#000b,#0000);pointer-events:none;transition:opacity .25s;z-index:-1}
.hd.solid{background:var(--ink)}.hd.solid::before{opacity:0}
.logo{font:400 22px/1 var(--d);text-decoration:none;text-transform:uppercase;letter-spacing:.02em;padding:11px 0}.logo b{font-weight:400;color:var(--ice)}
.hd nav{display:none}
.hd-r{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;background:var(--ice);color:var(--ink);font:400 18px/1 var(--d);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;border:0;cursor:pointer;transition:transform .15s}
.btn:active{transform:scale(.97)}.btn.alt{background:none;color:var(--paper);box-shadow:inset 0 0 0 2px var(--paper)}.btn.ink{background:var(--ink);color:var(--paper)}
.hd .btn{min-height:44px;padding:0 14px;font-size:16px}
.mb{background:none;border:0;color:var(--paper);font:400 16px/1 var(--d);text-transform:uppercase;letter-spacing:.03em;min-height:44px;padding:0 8px;cursor:pointer}
.sheet{position:fixed;inset:0;z-index:50;background:var(--ink);display:none;flex-direction:column;justify-content:center;padding:70px 20px 30px}
.sheet.on{display:flex}.sheet a{font:400 56px/1.14 var(--d);text-transform:uppercase;text-decoration:none;display:block}.sheet a[aria-current]{color:var(--ice)}
.sheet .x{position:absolute;top:10px;right:16px}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#000;isolation:isolate}
.film{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,calc(100svh*.5625));aspect-ratio:9/16}
.media{position:absolute;inset:0;overflow:hidden}
.media img,.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs-vid,.hs-fb{opacity:0}.hs-vid.hs-on,.hs-fb.hs-on{opacity:1}
.wide{display:none}
.strip{position:absolute;left:-1px;right:-1px;top:65.2%;height:6.2%;background:var(--paper);color:var(--ink);overflow:hidden;display:flex;align-items:center;z-index:2}
.strip div{display:flex;flex:none;white-space:nowrap;font:400 clamp(20px,3.4vh,34px)/1 var(--d);text-transform:uppercase;letter-spacing:.03em;animation:tick 24s linear infinite}
.strip span{padding:0 18px}.strip i{font-style:normal;color:#0a7f90}
@keyframes tick{to{transform:translateX(-50%)}}
.shade{position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(#0000,#000d 55%);z-index:1}
.lead{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 16px max(18px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.lead p{font:400 15px/1.3 var(--b)}.lead strong{display:block;font:400 clamp(50px,8.2vh,76px)/1 var(--d);text-transform:uppercase}
.lead strong em{font-style:normal;color:var(--ice)}
.shade{opacity:0;transition:opacity .5s .5s}.hero.open .shade{opacity:1}.lead{opacity:0;transition:opacity .5s .85s}.hero.open .lead{opacity:1}.film.over{z-index:6;pointer-events:none}
.cut{position:absolute;inset:0;z-index:5;pointer-events:none}
.cut svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform-origin:50% 40%}
.cut .dk{display:none}
.pc{fill:#050506;fill-rule:evenodd;stroke:var(--paper);stroke-width:2.5px;vector-effect:non-scaling-stroke}
.cut::before{content:"";position:absolute;inset:0;background:var(--ice);opacity:.24}
.cut.go::before{opacity:0;transition:opacity .45s}
.snip{stroke:var(--ice);stroke-width:3;fill:none;stroke-dasharray:1;stroke-dashoffset:1}
.cut.snipping .snip{transition:stroke-dashoffset .3s cubic-bezier(.7,0,.3,1);stroke-dashoffset:0}
.cut.go .up{transition:transform .95s cubic-bezier(.55,0,.2,1);transform:translate(-3%,-115%) rotate(-5deg)}
.cut.go .dn{transition:transform 1.05s cubic-bezier(.5,0,.85,.4);transform:translate(4%,125%) rotate(9deg)}
.cut.go .snip{opacity:0;transition:opacity .15s}
.cut.gone{display:none}
/* paid */
.cape{position:relative;display:grid;grid-template-columns:1fr 42%;align-items:stretch;color:var(--ink);text-decoration:none;overflow:hidden}
.cape .t{padding:20px 14px 18px 18px;display:flex;flex-direction:column;justify-content:flex-end;min-height:210px}
.cape small{font:500 14px/1.25 var(--b);margin-top:8px;display:block}
.cape h3{font-size:clamp(52px,14.5vw,132px);line-height:.98}
.cape .k{font:400 19px/1 var(--d);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.cape img{width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 0 100%);transition:clip-path .7s cubic-bezier(.2,.7,.1,1)}
.cape.in img{clip-path:inset(0)}
.c1{background:var(--red);color:#fff}.c2{background:var(--lime)}.c3{background:var(--lilac)}.c4{background:var(--camo)}
.sec{padding-block:64px}
.eyebrow{font:400 19px/1.2 var(--d);text-transform:uppercase;letter-spacing:.04em;color:var(--ice);margin-bottom:10px}
.big{font-size:clamp(52px,13vw,128px)}
.note{color:var(--mute);font-size:15px;margin-top:12px;max-width:60ch}
.bleed{position:relative;overflow:hidden;background:#000}
.bleed .media{position:relative;aspect-ratio:4/5;max-height:92vh;width:100%}
.bleed .cap{position:absolute;left:0;right:0;bottom:0;padding:60px 18px 20px;background:linear-gradient(#0000,#000c);z-index:2}
.bleed .cap h2{font-size:clamp(56px,15vw,120px)}
.quote{border-top:2px solid var(--line);padding:26px 0}
.quote p{font:400 clamp(34px,8.6vw,76px)/1.08 var(--d);text-transform:uppercase}
.quote cite{display:block;font:500 15px/1.3 var(--b);color:var(--mute);margin-top:10px}
.quote:nth-child(even) p{color:var(--ice)}
.end{background:var(--ice);color:var(--ink);padding:56px 0}.end h2{font-size:clamp(64px,19vw,180px);line-height:.96}.end p{margin:14px 0 22px;max-width:44ch;font-weight:500}
.row{display:flex;gap:10px;flex-wrap:wrap}
/* pages */
.ph{padding-block:104px 28px}.ph h1{font-size:clamp(68px,19vw,170px);line-height:.96}.ph p{max-width:52ch;margin-top:12px;color:#dcdde0}
.svc{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:22px 0;border-top:2px solid var(--line)}
.svc h2{font-size:clamp(32px,7vw,54px)}.svc .p{font:400 clamp(32px,7vw,54px)/1.02 var(--d);color:var(--ice)}
.svc p{grid-column:1/-1;color:#dcdde0;max-width:62ch}.svc .m{grid-column:1/-1;color:var(--mute);font-size:15px}
.grid2{display:grid;gap:30px}
.hours{width:100%;border-collapse:collapse;font-size:16px}.hours th{text-align:left;font-weight:600;padding:9px 12px 9px 0;vertical-align:top}.hours td{padding:9px 0;color:#dcdde0}.hours tr{border-top:1px solid var(--line)}
.rules li{margin:0 0 10px;color:#dcdde0}.rules{padding-left:20px}
h2.h{font-size:clamp(40px,9vw,72px);margin-bottom:14px}
.clips{display:grid;gap:14px}
.clip{position:relative;background:#000;overflow:hidden}.clip .media{position:relative;aspect-ratio:1/1}
.clip figcaption{padding:12px 0 6px}.clip h2{font-size:32px}.clip p{color:var(--mute);font-size:15px}
figure{margin:0}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shots img{width:100%;aspect-ratio:1;object-fit:cover}
.split{display:grid;gap:24px;align-items:center}
.split img{width:100%}
.pull{font:italic 400 clamp(34px,8vw,60px)/1.1 var(--s)}
/* tool */
.tool{background:var(--ink2);padding:20px 16px;margin-bottom:30px}
fieldset{border:0;padding:0;margin:0 0 22px}legend{font:400 26px/1.1 var(--d);text-transform:uppercase;margin-bottom:10px;padding:0}
.opts{display:grid;gap:8px}.opts.days{grid-template-columns:repeat(4,1fr)}
.opts label{position:relative;display:block}
.opts input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opts span{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:10px 14px;background:#22252b;font-weight:600;font-size:16px}
.opts.days span{justify-content:center;padding:10px 4px}
.opts input:checked+span{background:var(--ice);color:var(--ink)}.opts input:focus-visible+span{outline:3px solid var(--paper);outline-offset:2px}
.opts input:disabled+span{opacity:.45;text-decoration:line-through}
.ticket{background:var(--paper);color:var(--ink);padding:20px 18px}
.ticket .n{font:400 clamp(36px,9vw,56px)/1.02 var(--d);text-transform:uppercase}
.ticket .pr{font:400 clamp(60px,16vw,96px)/1 var(--d);margin-top:6px}
.ticket ul{list-style:none;padding:0;margin:10px 0 16px;font-size:16px}.ticket li{padding:5px 0;border-top:1px solid #0002}
.ticket .row .btn{flex:1 1 200px}.ticket .btn.alt{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.ft{border-top:2px solid var(--line);padding:30px 0 28px;font-size:15px;color:#c8cacf}.ft a{display:inline-block;padding:6px 0}.ft .row{gap:6px 18px}.ft p{margin-top:8px}
@media(min-width:900px){
 .hd{padding:12px 28px}.hd nav{display:flex;gap:26px}.hd nav a{font:400 18px/1 var(--d);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;padding:13px 0}.hd nav a[aria-current]{color:var(--ice)}.mb{display:none}
 .film{width:max(100vw,calc(100svh*1.6875));aspect-ratio:1620/960}
 .film .tall{display:none}.film .wide{display:block}
 .cut .mo{display:none}.cut .dk{display:block}
 .lead{padding:0 32px 26px}.lead p{font-size:18px}.shade{height:36%}
 .cape{grid-template-columns:1fr 34%}.cape .t{padding:26px 36px;min-height:320px}.cape .k{font-size:30px}.cape h3{font-size:190px}.cape small{font-size:18px}
 .bleed{display:grid;grid-template-columns:minmax(0,560px) 1fr;align-items:end}.bleed .media{aspect-ratio:4/5;max-height:none}.bleed .cap{position:static;background:none;padding:40px 48px}.bleed .cap h2{font-size:clamp(120px,14vw,220px);line-height:.96}
 .wrap{padding-inline:32px}.sec{padding-block:96px}
 .quotes{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
 .grid2{grid-template-columns:1fr 1fr;gap:56px}.clips{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1fr 1fr;gap:56px}
 .tooln{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.ticket{position:sticky;top:84px}.ph{padding-block-start:130px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cape img{clip-path:none}}

.ft .row a{display:inline-flex;align-items:center;min-height:44px}
