@font-face{font-family:Lomo;src:url('https://cdn.prod.website-files.com/67058cdc24b90dd798e2fa1d/67058cdc24b90dd798e2fa37_LomoCopyLTStd-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Proto;src:url('https://cdn.prod.website-files.com/67058cdc24b90dd798e2fa1d/67058cdc24b90dd798e2fa29_ProtoMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#090909;--text:#f5f5f2;--muted:#bababa;--font:Proto,'Courier New',monospace;--title:Lomo,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}body{font:12px/1.4 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:30;background:#fff;color:#000;padding:15px}.skip:focus{top:0}header{position:fixed;z-index:10;top:18px;left:50%;transform:translateX(-50%);width:min(680px,calc(100% - 40px));height:64px;padding:8px 18px 8px 10px;border:1px solid #ffffff30;background:#11111170;backdrop-filter:blur(20px);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{display:block;border-radius:50%;width:44px;height:44px}header nav{display:flex;gap:28px;align-items:center}header nav a{font-size:11px;text-transform:uppercase;padding:12px 0;white-space:nowrap}.feed{height:100svh;height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-y:contain}.feed::-webkit-scrollbar{display:none}.reel{position:relative;isolation:isolate;height:100%;min-height:530px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#090909}.reel:before{content:'';position:absolute;z-index:-3;inset:-30px;background-image:linear-gradient(#0007,#000a),var(--poster);background-size:cover;background-position:center;filter:blur(35px)}.film{position:absolute;z-index:-2;top:0;left:50%;transform:translateX(-50%);width:min(100%,650px);height:100%;object-fit:cover}.shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#000c,transparent 55%),linear-gradient(90deg,#0009,transparent 60%);pointer-events:none}.event-copy{position:absolute;left:5%;bottom:110px;max-width:80%}.category{margin:0 0 10px;font-size:10px;text-transform:uppercase;line-height:1.3;color:#dedede;letter-spacing:0}h1,h2{font-family:var(--title);font-weight:500;letter-spacing:-.025em;line-height:1.04;margin:0;text-transform:uppercase}.event-copy h1,.event-copy h2{font-size:clamp(38px,5.5vw,76px)}.meta{font-size:11px;margin:12px 0 20px;line-height:1.4;text-transform:uppercase;letter-spacing:0}.ticket{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border:1px solid #ffffff90;border-radius:2px;background:#09090944;font-size:11px;text-transform:uppercase;transition:background .2s,color .2s}.ticket:hover{background:#f5f5f2;color:#090909}.motion{position:absolute;bottom:30px;right:5%;min-height:44px;padding:10px 0 10px 16px;border:0;background:none;font-size:10px;text-transform:uppercase;color:#ddd}.next-reel{position:absolute;left:5%;bottom:30px;min-height:44px;display:flex;align-items:center;font-size:10px;text-transform:uppercase;color:#ccc}.reel-index{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;z-index:9}.reel-index a{display:flex;align-items:center;justify-content:center;width:36px;height:38px;font-size:10px;opacity:.35;transition:opacity .2s}.reel-index a[aria-current=true]{opacity:1}.reel-index.hidden{opacity:0;pointer-events:none}.extras{scroll-snap-align:start;min-height:100%;padding:128px 5% 25px;background:#090909}.challenge{max-width:650px;margin:0 auto 55px}.challenge h2{font-size:clamp(28px,4vw,48px);line-height:1.12;margin-bottom:22px}.practice{font-size:10px;color:#999;line-height:1.5;margin:14px 0 0}.camera-roll{max-width:1000px;margin:auto}.instagram{font-size:11px;display:inline-block;margin-bottom:18px}.photo-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.photo-tile{border:0;padding:0;flex:0 0 180px;height:230px;background:#161616;scroll-snap-align:start;overflow:hidden}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile:hover img{filter:brightness(1.1)}footer{display:flex;justify-content:space-between;gap:20px;max-width:1000px;margin:35px auto 0;font-size:9px;text-transform:uppercase;color:#888}dialog{width:min(520px,calc(100% - 24px));max-height:92dvh;background:#111;color:var(--text);border:1px solid #ffffff30;padding:16px;border-radius:5px}dialog::backdrop{background:#000d}dialog img{width:100%;height:65dvh;object-fit:contain;display:block;margin:10px 0}.photo-top,.photo-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}dialog button{background:none;border:0;min-height:44px;padding:8px;text-transform:uppercase;font-size:10px}body:has(dialog[open]) .feed{overflow:hidden}
@media(max-width:600px){header{top:12px;left:14px;right:14px;transform:none;width:auto;height:58px;padding:7px 12px 7px 8px;gap:12px}.brand img{width:40px;height:40px}header nav{gap:17px}header nav a{font-size:9px}.film{width:100%;height:100%}.shade{background:linear-gradient(0deg,#000d,transparent 59%,#0003)}.event-copy{left:22px;bottom:110px;max-width:calc(100% - 60px)}.event-copy h1,.event-copy h2{font-size:clamp(32px,9vw,48px);line-height:1.08}.category{font-size:9px;margin-bottom:9px}.meta{font-size:10px;margin:11px 0 18px}.ticket{font-size:10px;min-height:44px;padding:11px 21px}.motion{right:22px;bottom:max(25px,env(safe-area-inset-bottom))}.next-reel{left:22px;bottom:max(25px,env(safe-area-inset-bottom));font-size:9px}.reel-index{right:4px}.reel-index a{width:28px;font-size:9px}.extras{padding:110px 22px 30px}.challenge{margin-bottom:40px}.challenge h2{font-size:28px;letter-spacing:-.03em}.photo-tile{flex-basis:150px;height:195px}footer{font-size:8px}.photo-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){.feed{scroll-behavior:auto}*{transition:none!important}}
/* Compact copy, red accents, and press-and-hold viewing. */
.event-copy .category{margin-bottom:3px}.event-copy h1,.event-copy h2{line-height:1}.meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 13px;margin:7px 0 16px;color:#ff4149}.event-date{font-size:14px}.event-location{font-size:11px}.hold-view{position:absolute;bottom:30px;right:5%;min-height:44px;padding:10px 0 10px 16px;border:0;background:none;font-size:10px;text-transform:uppercase;color:#ddd;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.event-copy,.shade,.next-reel,header,.reel-index{transition:opacity .2s}body.viewing header,body.viewing .reel-index,.reel.viewing .event-copy,.reel.viewing .next-reel,.reel.viewing .shade,.reel.viewing .hold-view{opacity:0}body.viewing header,body.viewing .reel-index{pointer-events:none}.prize-rules{max-width:450px;font-size:11px;line-height:1.5;margin:18px 0 0;color:#ddd}.photo-tile video{width:100%;height:100%;object-fit:cover;display:block}.photo-tile{position:relative}.clip-label{position:absolute;right:8px;bottom:7px;font-size:8px;background:#0008;padding:3px 5px;text-transform:uppercase}dialog video{width:100%;height:65dvh;object-fit:contain;margin:10px 0}dialog [hidden]{display:none!important}
@media(max-width:600px){.event-copy .category{margin-bottom:3px}.meta{margin:6px 0 15px;gap:5px 11px}.event-date{font-size:12px}.event-location{font-size:10px}.hold-view{right:22px;bottom:max(25px,env(safe-area-inset-bottom));font-size:10px}.prize-rules{font-size:10px;max-width:320px}}
.logo-3d{display:block;position:relative;width:52px;height:52px}.logo-3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.brand .logo-3d img{width:100%;height:100%;object-fit:contain;border-radius:0}.logo-ready>img{visibility:hidden}@media(max-width:600px){.logo-3d{width:44px;height:44px}}
/* Decorative signal opening: never blocks input. */
.meta{margin-top:1px;line-height:1.2;gap:2px 11px}
.signal-intro{position:fixed;inset:0;z-index:25;pointer-events:none;background:#090909;display:grid;place-items:center;animation:signal-open 1.75s cubic-bezier(.76,0,.24,1) both}
.signal-intro:after,.signal-sweep:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff12 3px 4px);pointer-events:none}
.signal-mark{width:150px;text-align:center;animation:signal-focus 1.1s ease-out both}.signal-mark img{display:block;width:100px;height:100px;margin:0 auto 20px;object-fit:contain}.signal-mark span{font:10px var(--font);letter-spacing:.12em}.signal-mark i{display:block;height:1px;background:#ff4149;margin-top:18px;transform-origin:left;animation:signal-track 1.1s ease-in-out both}
@keyframes signal-open{0%,58%{clip-path:inset(0);opacity:1}85%{opacity:1}100%{clip-path:inset(0 0 100%);opacity:0;visibility:hidden}}
@keyframes signal-focus{0%{filter:blur(12px);transform:translateY(12px) scale(.92);opacity:.2}65%,100%{filter:blur(0);transform:none;opacity:1}}
@keyframes signal-track{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.signal-sweep{position:fixed;inset:0;z-index:8;pointer-events:none;opacity:0;background:linear-gradient(transparent 25%,#ffffff09 48%,#ff414912 50%,transparent 72%)}.signal-sweep.is-tuning{animation:signal-pass .55s ease-out}
@keyframes signal-pass{0%{opacity:0;transform:translateY(-45%)}25%{opacity:.65}100%{opacity:0;transform:translateY(45%)}}
.reel .film{filter:blur(var(--signal-blur,0px));scale:var(--signal-scale,1);transition:filter .12s linear,scale .12s linear}.reel.is-current .event-copy{animation:copy-resolve .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes copy-resolve{from{transform:translateY(14px);filter:blur(5px)}to{transform:none;filter:blur(0)}}
.ticket{position:relative;isolation:isolate;overflow:hidden;transition:border-color .25s,background .25s,color .25s,transform .2s}.ticket:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#ff4149;transform:scaleX(0);transform-origin:left;transition:transform .3s}.ticket:after{content:"";position:absolute;inset:-60% -40%;z-index:-1;background:linear-gradient(110deg,transparent 40%,#ffffff18 50%,transparent 60%);transform:translateX(-90%);transition:transform .5s}.ticket:hover:after,.ticket:focus-visible:after{transform:translateX(90%)}.ticket:hover:before,.ticket:focus-visible:before,.ticket:active:before{transform:scaleX(1)}.ticket:active{transform:scale(.97);border-color:#ff4149}
header nav a{position:relative}header nav a:after{content:"";position:absolute;bottom:6px;left:0;width:100%;height:1px;background:#ff4149;transform:scaleX(0);transform-origin:left;transition:transform .25s}header nav a:hover:after,header nav a:focus-visible:after{transform:scaleX(1)}
.reel-index a{position:relative}.reel-index a:before{content:"";position:absolute;right:1px;width:2px;height:4px;background:#ff4149;transition:height .4s}.reel-index a[aria-current=true]:before{height:20px}
.photo-tile img,.photo-tile video{transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s}.photo-tile:hover img,.photo-tile:hover video,.photo-tile:focus-visible img,.photo-tile:focus-visible video{transform:scale(1.045)}
body.viewing .signal-sweep{display:none}.reel.viewing .film{filter:none;scale:1}.reel.viewing .event-copy{animation:none}
@media(prefers-reduced-motion:reduce){.signal-intro,.signal-sweep{display:none!important}.reel .film{filter:none!important;scale:1!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Compact game invitation shares the Hot Fest screen. */
.hot-actions{display:flex;align-items:flex-end;gap:12px}.game-invite{display:flex;flex-direction:column;gap:5px}.game-invite>span{font-size:9px;text-transform:uppercase;color:#ff4149}.game-button{border-color:#ff4149;background:#330a1060}.game-rules{max-width:320px;margin-top:9px;font-size:9px;color:#ccc}.game-rules summary{cursor:pointer;width:max-content;padding:4px 0}.game-rules p{margin:5px 0 0;line-height:1.5;font-size:9px}
.extras{min-height:100%;padding-top:105px}.photo-strip{align-items:flex-start;gap:16px;padding-bottom:12px;overscroll-behavior-x:contain}.instagram-post{flex:0 0 340px;scroll-snap-align:start;overflow:hidden;border-radius:4px;background:#fff;color:#111}.instagram-post iframe{display:block;width:100%;height:570px;border:0;background:#fff}.instagram-post>a{display:block;text-align:center;padding:14px 8px;font-size:10px;text-decoration:underline}.instagram{margin-bottom:16px}
@media(max-width:600px){.hot-actions{gap:10px}.hot-actions .ticket{padding:11px 17px}.game-invite>span{font-size:8px}.instagram-post{flex-basis:100%;max-width:360px}.instagram-post iframe{height:560px}.extras{padding:100px 16px 24px}.event-copy{bottom:100px}.game-rules{max-width:290px}}

.game-info{min-height:100dvh;height:auto;background:radial-gradient(ellipse at 80% 10%,#320b12 0,transparent 48%),#090909}.game-back{display:inline-block;padding:26px 24px;font-size:10px;text-transform:uppercase}.game-brief{max-width:550px;padding:20px 24px 60px;margin:0 auto}.game-brief .logo-3d{width:80px;height:80px;margin-bottom:30px}.game-brief .category{color:#ff4149;margin-bottom:10px}.game-brief h1{font-size:clamp(34px,7vw,52px);line-height:1.05}.game-lead{font-size:13px;line-height:1.7;margin:24px 0}.game-lead strong{color:#ff4149;font-weight:400}.game-steps{padding-left:20px;color:#ddd;font-size:11px;line-height:1.65}.game-steps li{padding:5px 0 5px 5px}.game-verification{font-size:10px;line-height:1.6;color:#aaa;margin:20px 0}.game-status{border-top:1px solid #ffffff25;padding-top:18px;margin:22px 0}.game-status span{text-transform:uppercase;font-size:10px;color:#ff4149}.game-status p{font-size:10px;line-height:1.6;color:#aaa}.game-brief>.ticket{width:100%;min-height:50px}

.instagram-post{background:#111;color:#eee}.instagram-post blockquote{margin:0!important;padding:16px;min-width:0!important;width:100%!important;background:#111;border:1px solid #ffffff25;font-size:11px;line-height:1.6}.instagram-post>video{display:block;width:100%;max-height:570px;object-fit:contain;background:#000}.instagram-post:has(iframe)>video{display:none}.instagram-post iframe{max-width:100%!important}
html,body{max-width:100%;overflow-x:hidden}.feed{width:100%}.camera-roll{min-width:0;width:100%}.photo-strip{max-width:100%;min-width:0}.instagram-post{min-width:0}.instagram-post iframe.instagram-media{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}

.instagram-post:has(iframe)>video{display:block}.full-post>summary{cursor:pointer;padding:15px;font-size:10px}.instagram-post iframe{height:570px}.full-post:not([open])>*:not(summary){display:none!important}

/* Four offset shutters reveal the event beneath a resolving brand mark. */
.signal-intro{background:transparent;animation:intro-exit 2.2s linear both;overflow:hidden}.intro-shutters{position:absolute;inset:0;display:flex}.intro-shutters i{flex:1;background:#090909;border-right:1px solid #ffffff0b;transform-origin:top;animation:shutter-lift 2.1s cubic-bezier(.76,0,.24,1) both}.intro-shutters i:nth-child(2){animation-delay:.05s}.intro-shutters i:nth-child(3){animation-delay:.1s}.intro-shutters i:nth-child(4){animation-delay:.15s}.signal-mark{position:relative;z-index:1;animation:mark-lock 1.7s ease both}.signal-mark img{width:120px;height:120px;filter:drop-shadow(3px 0 #ff152b80)}.signal-intro:after{animation:intro-exit 1.8s linear both}
@keyframes shutter-lift{0%,58%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes mark-lock{0%{opacity:0;filter:blur(16px);transform:scale(1.35) rotate(-12deg)}30%{opacity:1;filter:blur(0);transform:scale(1) rotate(0)}65%{opacity:1;transform:scale(1)}100%{opacity:0;filter:blur(3px);transform:scale(.86) translateY(-25px)}}
@keyframes intro-exit{0%,90%{opacity:1}100%{opacity:0;visibility:hidden}}
.hot-actions{gap:20px;align-items:center}.hot-actions>.ticket{background:#f5f5f2;color:#090909;border-color:#f5f5f2}.game-invite{gap:2px}.game-invite>span{font-size:8px;color:#c3b7b9}.hot-actions .game-button{min-height:32px;padding:4px 0;border:0;background:none;justify-content:flex-start;font-size:10px}.hot-actions .game-button:before{height:1px;transform:scaleX(1);opacity:.6}.hot-actions .game-button:hover{color:#ff4149}

/* Consistent event ticket buttons and a concise game introduction. */
.event-copy>a.ticket,.hot-actions>.ticket{background:#f5f5f2;color:#090909;border-color:#f5f5f2;min-height:44px;padding:11px 21px;font-size:10px}.event-copy>a.ticket:hover,.hot-actions>.ticket:hover{background:#ddd;color:#090909;border-color:#ddd}
.game-info{background:#090909}.game-brief{max-width:500px;padding-top:22px}.game-brief h1{font-size:clamp(30px,7vw,44px);line-height:1.12}.simple-rules{margin:25px 0 28px}.simple-rules p{font-size:12px;line-height:1.7;color:#ddd;margin:0 0 12px}.simple-rules strong{font-weight:400;color:#ff4149}.game-brief>.game-button{background:#f5f5f2;color:#090909;border-color:#f5f5f2}.game-footnote{font-size:9px;line-height:1.6;color:#999;margin-top:14px}

.instagram-post{min-height:580px}.instagram-post>iframe{width:100%;height:540px;min-width:0;border:0}.instagram-post>a{min-height:44px}

/* Controls remain real, keyboard-accessible buttons without selectable labels. */
button,button *,a,a *,[role=button],[role=button] *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}button,a,[role=button]{touch-action:manipulation}.footer-radio-mute{background:none;border:0;padding:8px;color:#aaa;font:inherit;text-transform:uppercase;min-height:44px}
