#night{position:fixed;inset:0;z-index:1;background:#0b0908;opacity:0;transition:opacity 1.8s;pointer-events:none}
body.gathering #night{transition-duration:1.15s}
body.beaming,body.gathering{overflow:hidden}
body.beaming #night,body.gathering #night{z-index:60}
body.beaming #night{opacity:1}
body.go.beaming section,body.go.beaming #nav,body.go.beaming #replay,body.go.beaming #skip,body.go.beaming #mini,body.go.beaming #menu,body.go.beaming #burger{opacity:0!important;pointer-events:none}
body.go section,body.go #nav,body.go #replay,body.go #skip{transition:opacity .9s}
#lb-gates{position:fixed;inset:0;z-index:8;pointer-events:none}
#lb-gates.scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;pointer-events:auto}
.lb-gate{position:absolute;left:0;top:0;width:var(--sw,220px);background:none;border:0;color:#f1ebe0;text-align:left;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 1.4s .3s;font:inherit;padding:0}
body.gates .lb-gate{opacity:1;pointer-events:auto}
.lb-gate b{display:block;font-weight:200;font-size:clamp(.95rem,1.5vw,1.35rem);letter-spacing:-.02em;line-height:1.1;transition:transform .5s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-gate:hover b{transform:translateX(8px)}
.lb-gate span{display:block;margin-top:.28rem;font-size:.56rem;letter-spacing:.16em;line-height:1.3;text-transform:uppercase;color:#f08a4b}
#br-ball{position:fixed;left:clamp(1.2rem,4vw,3.2rem);bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));z-index:9;background:none;border:0;border-bottom:1px solid #f1ebe0;color:#f1ebe0;font:inherit;font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;padding:0 0 .3rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 1s 1s;text-shadow:0 0 8px #0b0908,0 1px 2px #0b0908}
body.gates #br-ball{opacity:.8;pointer-events:auto}
.wel{position:fixed;left:clamp(1.2rem,4vw,3.2rem);top:calc(11vh + env(safe-area-inset-top,0px));z-index:9;color:#f1ebe0;opacity:0;pointer-events:none;transition:opacity 1.8s .8s;max-width:min(20ch,38vw);padding-right:1rem}
body.gates .wel{opacity:1}
.wel::after{content:"";position:absolute;inset:-1.5rem -2rem -1rem -1.5rem;z-index:-1;background:radial-gradient(ellipse 120% 100% at 0 0,rgba(11,9,8,.92) 0%,rgba(11,9,8,.55) 45%,transparent 72%);pointer-events:none}
.wel>*{display:block}
.wel .lb-places{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:1.15rem;pointer-events:auto}
.wel .lb-places[hidden]{display:none}
.lb-places a{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:#f1ebe0;text-decoration:none;border-bottom:1px solid #f1ebe0;padding-bottom:.28rem}
.wel b{font-weight:200;font-size:clamp(2rem,5.2vw,4.5rem);letter-spacing:-.03em;line-height:1.05;margin:.5rem 0 .8rem;max-width:12ch}
@media(max-width:800px){
  .wel{max-width:min(16ch,88vw)}
  .wel b{max-width:none;font-size:clamp(1.85rem,9vw,3rem)}
}
.gs{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:2.39;background:#000 center/cover no-repeat;margin-bottom:.55rem;filter:brightness(.82);transform-origin:0 50%;transition:transform .6s,filter .6s,box-shadow .6s;box-shadow:0 0 38px -6px #f08a4b66,0 0 64px -10px #4a74c966,inset 0 0 0 1px #ffffff22}
.gs:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffe9c633,transparent 35%)}
.lb-gate:hover .gs{transform:scale(1.05);filter:brightness(1.08);box-shadow:0 0 80px #ffe9c655,inset 0 0 0 1px #ffffff44}
.gs-img{position:absolute;inset:-6%;background:var(--im) 50% 40%/cover no-repeat}
.gs-lens{position:absolute;inset:0;background:radial-gradient(ellipse at 0 50%,rgba(255,240,215,.9),rgba(255,240,215,0) 62%);mix-blend-mode:screen;opacity:var(--fl,0);pointer-events:none}
html.beam-back,html.beam-back body{background:#0b0908;overflow:hidden}
html.beam-back #night{opacity:1;transition:none;z-index:50}
html.beam-back body section,html.beam-back #nav,html.beam-back #replay,html.beam-back #skip{opacity:0!important;transition:none}
html.beam-back .lb-gate,html.beam-back .wel{opacity:1;transition:none}
html.beam-back .lb-gate{pointer-events:auto}
html.beam-back #br-ball{opacity:.8;transition:none;pointer-events:auto}
