/* Each photograph is a composed export: illustrations travel with the photo. */
.vibe{height:75.08333cqw;max-height:none}
.vibe-ribbon{position:absolute;left:0;width:100%;pointer-events:none}
.vibe-ribbon-top{top:0;height:31cqw}
.vibe-ribbon-bottom{top:48.260999cqw;height:31cqw;z-index:0}
.vibe-track{display:flex;width:max-content;will-change:transform;animation:vibe-scroll 65s linear infinite}
.vibe-ribbon-top .vibe-track{margin-left:0}
.vibe-ribbon-bottom .vibe-track{margin-left:-4.16667cqw;animation-duration:80s;animation-direction:reverse}
.vibe-set{position:relative;flex:none;width:100cqw;height:31cqw}
.vibe-ribbon-bottom .vibe-set{width:118.91667cqw}
.vibe-set img{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);object-fit:contain;transform-origin:0 0}
.vibe-set .tilt-middle{transform:rotate(10.837deg)}
.vibe-set .tilt-edge{transform:rotate(15.397deg)}
.vibe h2{z-index:1;left:2.5cqw;top:34.5cqw;width:auto;font-size:19.23cqw;letter-spacing:-.05em;line-height:1;pointer-events:none}
.vibe-h{display:inline-block;position:relative}
.vibe .vibe-caption{position:absolute;left:50%;right:auto;top:54%;width:max-content;max-width:100%;transform:translate(-50%,-50%);margin:0;padding:0;border-radius:0;background:none;color:#f9f9f9;font:500 .05em/1.4 Oswald,sans-serif;letter-spacing:-.02em;white-space:nowrap}
.vibe-motion{position:absolute;right:1.25cqw;bottom:1.25cqw;z-index:4;width:32px;height:32px;border:1px solid #33130830;border-radius:50%;background:#ebebebe6;color:var(--ink);font:600 16px/1 sans-serif;cursor:pointer}
.vibe[data-paused] .vibe-track{animation-play-state:paused}
.swatch.brown{background:var(--ink);border-color:var(--ink)}
.swatch.orange{background:var(--orange);border-color:var(--orange)}
.ticket::before,.ticket::after{display:none}
.ticket{--cut-radius:.82cqw;--cut-step:2.15cqw;--cut-x:1.087cqw;mask:radial-gradient(circle var(--cut-radius) at var(--cut-x) 0,transparent 97%,#000 100%) 0 0/var(--cut-step) 51% repeat-x,radial-gradient(circle var(--cut-radius) at var(--cut-x) 100%,transparent 97%,#000 100%) 0 100%/var(--cut-step) 51% repeat-x}
.event-details dt::after{border-bottom-style:dashed}
.barcode{background-image:url('assets/event-barcode.webp');height:7.43cqw;margin:2.5cqw 0 .83333cqw;opacity:1;background-size:100% 100%;transform:rotate(2deg);transform-origin:center}
.event-sticker.morning{width:9cqw;height:9cqw;left:23.5cqw;top:12cqw}
.event-sticker.proof{width:9.9cqw;height:6.44cqw;left:32.8cqw;top:27.5cqw}
.merch-figure-left,.merch-figure-right{object-fit:contain}
.event-mini-dj{position:absolute;left:81.95833cqw;top:23.875cqw;width:4.08333cqw;height:4.33333cqw;z-index:2;pointer-events:none;object-fit:contain}
@keyframes vibe-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){
 .event-mini-dj{display:none}
 .ticket{--cut-radius:10px;--cut-step:26px;--cut-x:13px}
 .barcode{height:89px;margin:30px 0 10px}
 .vibe{height:95cqw}
 .vibe-ribbon-top .vibe-track{transform-origin:0 0}
 .vibe h2{top:40cqw;font-size:19.23cqw}
 .vibe-ribbon-bottom{top:56cqw}
 .event-sticker.morning{left:auto;right:35px;top:150px;width:90px;height:90px}
 .event-sticker.proof{left:20px;top:900px;width:115px;height:65px}
}
@media(max-width:650px){
 .vibe{height:135cqw}
 .vibe-ribbon-top{height:54cqw}
 .vibe-set{width:150cqw;height:54cqw}
 .vibe-ribbon-bottom .vibe-set{width:178.375cqw;height:50cqw}
 .vibe-set img{left:calc(var(--x)*1.5);top:calc(var(--y)*1.5);width:calc(var(--w)*1.5);height:calc(var(--h)*1.5)}
 .vibe h2{top:64cqw;font-size:19.23cqw;left:2.5cqw;letter-spacing:-.05em}
 .vibe-ribbon-bottom{top:80cqw}
 .vibe .vibe-caption{font-size:.05em;top:54%;left:50%;background:none;color:#fff;padding:0}
 .vibe-motion{width:28px;height:28px;bottom:8px;right:8px}
 .event-sticker.morning{left:251px;right:auto;top:81px;width:78px;height:78px}
 .barcode{height:65px;margin:18px 0 10px}
 .merch-figure-left{height:96.52cqw}
 .merch-figure-right{transform:none;left:51cqw;top:607cqw;width:68cqw;height:80.71cqw}
}
@media(prefers-reduced-motion:reduce){
 .vibe-track{animation:none}
 .vibe-motion{display:none}
}
