/* Masks reveal the exact original PNG artwork. */
.site-loader { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:#020b06; opacity:1; transition:opacity .4s cubic-bezier(.22,1,.36,1); }
.site-loader__content { width:clamp(100px,24vw,164px); }
.site-loader__logo { display:block; width:100%; height:auto; overflow:visible; animation:logo-finish-glow .4s ease-out 2.5s both; }
.site-loader.is-leaving { opacity:0; pointer-events:none; }
.logo-draw { fill:none; stroke:white; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; animation:logo-stroke .6s cubic-bezier(.4,0,.2,1) forwards; }
.logo-t-top { stroke-width:44px; animation-duration:.25s; }
.logo-t-stem { stroke-width:49px; animation-duration:.35s; animation-delay:.25s; }
.logo-c { stroke-width:70px; animation-delay:.6s; }
.logo-bar { fill:white; transform-box:fill-box; transform-origin:bottom; transform:scaleY(0); animation:logo-bar-grow .3s cubic-bezier(.22,1,.36,1) forwards; }
.logo-bar-orange { animation-delay:1.2s; }
.logo-bar-blue { animation-delay:1.5s; }
.logo-bar-green { animation-delay:1.8s; }
.logo-arrow { stroke-width:49px; animation-delay:2.1s; animation-duration:.4s; }
.logo-complete { opacity:0; animation:logo-complete .01s linear 2.5s forwards; }
@keyframes logo-stroke { to { stroke-dashoffset:0; } }
@keyframes logo-bar-grow { to { transform:scaleY(1); } }
@keyframes logo-complete { to { opacity:1; } }
@keyframes logo-finish-glow { from { filter:drop-shadow(0 0 0 transparent); } to { filter:drop-shadow(0 0 5px #17a93322); } }
@media(prefers-reduced-motion:reduce) {
.site-loader { transition-duration:.15s; }
.site-loader__logo,.logo-draw,.logo-bar,.logo-complete { animation:none; }
.logo-draw { stroke-dashoffset:0; }.logo-bar { transform:none; }.logo-complete { opacity:1; }
}
