/* Homepage opening film — rendered entirely with canvas and CSS. */
html.home-opening-pending,
html.home-opening-pending body{overflow:hidden!important;overscroll-behavior:none}
.home-v2 .page-loader{display:none!important}
.home-opening{position:fixed;inset:0;z-index:1000;width:100%;height:100vh;height:100svh;overflow:hidden;background:#050505;color:#fff;isolation:isolate;cursor:default;will-change:opacity,transform}
.home-opening:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.home-opening-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.home-opening-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 25%,transparent 68%,rgba(0,0,0,.72)),radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.72) 105%)}
.home-opening-bars{position:absolute;inset:0;z-index:5;pointer-events:none}.home-opening-bars i{position:absolute;left:0;right:0;height:clamp(26px,6vh,68px);background:#000;transition:opacity .15s linear}.home-opening-bars i:first-child{top:0}.home-opening-bars i:last-child{bottom:0}
.home-opening-bee{--bee-x:-100px;--bee-y:50vh;--bee-angle:0deg;--bee-visible:0;position:absolute;z-index:4;left:0;top:0;width:clamp(92px,10vw,155px);aspect-ratio:1;opacity:var(--bee-visible);transform:translate3d(var(--bee-x),var(--bee-y),0) translate(-50%,-50%) rotate(var(--bee-angle));will-change:transform,opacity;display:grid;place-items:center}
.home-opening-bee img{position:relative;z-index:3;width:72%;height:auto;filter:drop-shadow(0 0 10px rgba(243,169,37,.72)) drop-shadow(0 15px 20px rgba(0,0,0,.8));animation:openingBeePulse 1.25s ease-in-out infinite}
.bee-aura{position:absolute;z-index:1;inset:0;border:1px solid rgba(243,169,37,.5);clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);background:radial-gradient(circle,rgba(243,169,37,.15),transparent 62%);box-shadow:inset 0 0 24px rgba(243,169,37,.2);animation:openingBeeAura 3s linear infinite}
.bee-aura:before,.bee-aura:after{content:"";position:absolute;inset:13%;border:1px dashed rgba(255,224,143,.45);border-radius:50%;animation:openingBeeOrbit 2.2s linear infinite}.bee-aura:after{inset:28%;border-style:solid;animation-direction:reverse;animation-duration:1.4s}
.bee-streaks{position:absolute;right:72%;top:50%;width:105%;height:55%;translate:0 -50%;filter:drop-shadow(0 0 7px #f3a925)}.bee-streaks i{position:absolute;right:0;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#f3a925,#fff0ba);transform-origin:right;animation:openingBeeStreak .85s ease-in-out infinite}.bee-streaks i:nth-child(1){top:15%;width:92%;animation-delay:-.2s}.bee-streaks i:nth-child(2){top:49%;width:68%;animation-delay:-.55s}.bee-streaks i:nth-child(3){bottom:12%;width:105%;animation-delay:-.75s}
@keyframes openingBeePulse{50%{transform:scale(1.09) translateY(-3px);filter:drop-shadow(0 0 18px rgba(243,169,37,.95)) drop-shadow(0 18px 22px rgba(0,0,0,.8))}}@keyframes openingBeeAura{to{rotate:360deg}}@keyframes openingBeeOrbit{to{rotate:-360deg}}@keyframes openingBeeStreak{0%,100%{opacity:.15;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1)}}
.home-opening-logo{--logo-reveal:0;position:absolute;z-index:20;left:50%;top:50%;width:min(62vw,760px);opacity:var(--logo-reveal);transform:translate(-50%,-50%) scale(calc(.9 + var(--logo-reveal)*.1));filter:blur(calc((1 - var(--logo-reveal))*8px));will-change:opacity,transform,filter;isolation:isolate}
.home-opening-logo:before{content:"";position:absolute;z-index:-2;left:50%;top:50%;width:100vw;height:100vh;height:100svh;translate:-50% -50%;opacity:var(--logo-reveal);background:radial-gradient(circle at center,rgba(243,169,37,.09),transparent 34%),linear-gradient(30deg,rgba(243,169,37,.018) 12%,transparent 12.5%,transparent 87%,rgba(243,169,37,.018) 87.5%),linear-gradient(150deg,rgba(243,169,37,.018) 12%,transparent 12.5%,transparent 87%,rgba(243,169,37,.018) 87.5%),#050505;background-size:auto,84px 146px,84px 146px}
.home-opening-logo img{position:relative;z-index:2;display:block;width:100%;height:auto;opacity:1!important;visibility:visible!important;filter:drop-shadow(0 10px 26px rgba(0,0,0,.6))}
.home-opening-logo:after{content:none}
.logo-stage-art{position:absolute;z-index:1;left:50%;top:50%;width:calc(100% + 180px);height:calc(100% + 150px);translate:-50% -50%;pointer-events:none}
.logo-stage-art i{position:absolute;width:48px;height:48px;opacity:calc(var(--logo-reveal)*.72)}
.logo-stage-art i:before,.logo-stage-art i:after{content:"";position:absolute;background:#f3a925;box-shadow:0 0 12px rgba(243,169,37,.45)}
.logo-stage-art i:before{width:48px;height:1px}.logo-stage-art i:after{width:1px;height:48px}
.logo-stage-art i:nth-child(1){left:0;top:0}.logo-stage-art i:nth-child(2){right:0;top:0;rotate:90deg}.logo-stage-art i:nth-child(3){right:0;bottom:0;rotate:180deg}.logo-stage-art i:nth-child(4){left:0;bottom:0;rotate:270deg}
.logo-stage-art b{position:absolute;left:50%;top:50%;width:min(92vw,1080px);aspect-ratio:2.6/1;translate:-50% -50%;border:1px solid rgba(243,169,37,.12);border-radius:50%;opacity:var(--logo-reveal);animation:logoStageOrbit 14s linear infinite}
.logo-stage-art b:before,.logo-stage-art b:after{content:"";position:absolute;width:7px;aspect-ratio:1;border-radius:50%;background:#f3a925;box-shadow:0 0 16px 5px rgba(243,169,37,.36)}.logo-stage-art b:before{left:8%;top:15%}.logo-stage-art b:after{right:8%;bottom:15%}
.logo-stage-art em{--node-angle:0deg;position:absolute;left:50%;top:50%;width:12px;aspect-ratio:1;background:linear-gradient(145deg,#ffe49b,#d98a0d);clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);opacity:calc(var(--logo-reveal)*.65);transform:translate(-50%,-50%) rotate(var(--node-angle)) translateX(min(44vw,520px));filter:drop-shadow(0 0 7px rgba(243,169,37,.65));animation:logoNodeBreath 2.4s ease-in-out infinite}.logo-stage-art em:nth-of-type(1){--node-angle:0deg}.logo-stage-art em:nth-of-type(2){--node-angle:60deg;animation-delay:-.4s}.logo-stage-art em:nth-of-type(3){--node-angle:120deg;animation-delay:-.8s}.logo-stage-art em:nth-of-type(4){--node-angle:180deg;animation-delay:-1.2s}.logo-stage-art em:nth-of-type(5){--node-angle:240deg;animation-delay:-1.6s}.logo-stage-art em:nth-of-type(6){--node-angle:300deg;animation-delay:-2s}
@keyframes logoStageOrbit{to{rotate:360deg}}
@keyframes logoNodeBreath{50%{opacity:var(--logo-reveal);scale:1.65}}
.home-opening-chrome{position:absolute;left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px);top:clamp(18px,3vw,40px);display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(255,255,255,.28);font:600 9px/1 "DM Sans",sans-serif;letter-spacing:.18em;color:#ddd}
.home-opening-progress{position:absolute;left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px);bottom:clamp(20px,3vw,38px);display:grid;grid-template-columns:auto 1fr 30px;align-items:center;gap:18px;padding-top:11px;border-top:1px solid rgba(255,255,255,.18);font:600 8px/1 "DM Sans",sans-serif;letter-spacing:.18em;z-index:6}
.home-opening-progress>i{position:relative;height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.home-opening-progress i b{display:block;width:100%;height:100%;background:linear-gradient(90deg,#ba7107,#f3a925,#fff0b8);box-shadow:0 0 8px rgba(243,169,37,.65);transform:scaleX(0);transform-origin:left center;will-change:transform}
.home-opening-progress>i em{display:none}
.home-opening-progress-label{min-width:160px;transition:opacity .2s}
.home-opening-progress-value{text-align:right;font-variant-numeric:tabular-nums}
.home-opening-skip{position:absolute;z-index:6;right:clamp(18px,3vw,48px);bottom:clamp(54px,6vw,82px);border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.42);color:#fff;padding:9px 12px;font:600 9px/1 "DM Sans",sans-serif;letter-spacing:.16em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .2s,color .2s}
.home-opening-skip:hover{background:#f3a925;color:#111;transform:translateY(-2px)}
.home-opening-skip span{margin-left:6px}
.home-opening.is-ready .home-opening-chrome,.home-opening.is-ready .home-opening-progress,.home-opening.is-ready .home-opening-skip{animation:opening-ui-in .5s ease both}
.home-opening.is-exiting{pointer-events:none}
.home-opening.is-exiting .home-opening-chrome,.home-opening.is-exiting .home-opening-progress,.home-opening.is-exiting .home-opening-skip{opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s}
.home-opening-finished .home-opening{display:none}
html.home-opening-pending .v2-hero-copy,html.home-opening-pending .hero-bottom{opacity:0;transform:translate3d(0,32px,0)}
@keyframes opening-ui-in{from{opacity:0}to{opacity:1}}
@media(max-width:900px){
  .home-opening-chrome{left:24px;right:24px;top:22px}
  .home-opening-logo{width:min(74vw,680px)}
  .home-opening-bee{width:118px}
  .logo-stage-art{width:calc(100% + 110px);height:calc(100% + 125px)}
  .home-opening-progress{left:24px;right:24px;width:auto}
}
@media(max-width:600px){
  .home-opening:after{display:none}
  .home-opening-chrome{left:18px;right:18px;top:18px;font-size:7px;letter-spacing:.14em}
  .home-opening-chrome span:last-child{display:none}
  .home-opening-logo{top:46%;width:84vw;max-width:440px}
  .home-opening-logo{filter:none}
  .home-opening-logo img{filter:none}
  .home-opening-logo:before{background:radial-gradient(circle at 50% 44%,rgba(243,169,37,.1),transparent 32%),#050505}
  .home-opening-bee{width:94px}
  .home-opening-bee img{filter:drop-shadow(0 6px 8px rgba(0,0,0,.65));animation-duration:1.6s}
  .bee-aura{box-shadow:none}
  .bee-aura:after{display:none}
  .bee-streaks{width:72%}
  .bee-streaks{filter:none}
  .logo-stage-art{width:calc(100% + 46px);height:calc(100% + 82px)}
  .logo-stage-art i{width:25px;height:25px}
  .logo-stage-art i:before{width:25px}.logo-stage-art i:after{height:25px}
  .logo-stage-art b{width:94vw;aspect-ratio:1.65/1}
  .logo-stage-art em{width:8px;transform:translate(-50%,-50%) rotate(var(--node-angle)) translateX(46vw)}
  .logo-stage-art em{filter:none}
  .home-opening-progress{left:18px;right:18px;bottom:18px;width:auto;translate:0;grid-template-columns:1fr 28px;gap:10px;padding:9px 0 0}
  .home-opening-progress-label{display:none}
  .home-opening-progress>i{height:2px}
  .home-opening-skip{right:18px;bottom:54px;padding:8px 10px;font-size:8px}
  .home-opening-skip{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(max-width:380px){
  .home-opening-logo{width:88vw}
  .logo-stage-art{width:calc(100% + 28px);height:calc(100% + 65px)}
  .logo-stage-art i{display:none}
  .home-opening-progress{left:12px;right:12px}
}
@media(max-height:560px) and (orientation:landscape){
  .home-opening-chrome{top:12px}
  .home-opening-logo{top:44%;width:min(58vw,610px)}
  .home-opening-bee{width:78px}
  .logo-stage-art{height:calc(100% + 48px)}
  .home-opening-progress{bottom:10px;padding-block:8px}
  .home-opening-skip{bottom:56px}
}
@media(prefers-reduced-motion:reduce){.home-opening-chrome,.home-opening-progress,.home-opening-skip,.home-opening-vignette{display:none}}
