.site-intro{display:none}
.js.intro-pending .site-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;pointer-events:none;background:#0b0d0e;color:#fff}
.site-intro::before,.site-intro::after{content:"";position:absolute;z-index:4;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.site-intro::after{z-index:5;background:#f3f1ea;transform-origin:right}
.site-intro__grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:clamp(54px,6vw,88px) clamp(54px,6vw,88px);transform:scale(1.08)}
.site-intro__signal{position:absolute;width:min(62vw,760px);aspect-ratio:1;border:1px solid rgba(200,212,0,.16);border-radius:50%;opacity:0;transform:scale(.72) rotate(-14deg)}
.site-intro__signal i{position:absolute;inset:16%;border:1px solid rgba(200,212,0,.18);border-radius:50%}
.site-intro__signal i:nth-child(2){inset:32%;border-radius:0;transform:rotate(45deg)}
.site-intro__signal i:nth-child(3){inset:42%;border-radius:0;background:transparent;border:1px solid rgba(200,212,0,.52);transform:rotate(45deg)}
.site-intro__brand{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;width:min(320px,74vw);opacity:0;transform:translateY(28px) scale(.92)}
.site-intro__brand img{display:block;width:132px;height:auto;filter:invert(1);object-fit:contain}
.site-intro__brand>span{margin-top:20px;font-size:8px;font-weight:800;letter-spacing:.28em;color:var(--accent)}
.site-intro__brand p{margin:9px 0 24px;font-size:10px;font-weight:600;letter-spacing:.18em;text-align:center;text-transform:uppercase;color:rgba(255,255,255,.58)}
.site-intro__line{width:100%;height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.site-intro__line i{display:block;width:0;height:100%;background:var(--accent)}
.site-intro__footer{position:absolute;z-index:3;right:clamp(22px,4vw,64px);bottom:clamp(20px,4vw,52px);left:clamp(22px,4vw,64px);display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.44);opacity:0}
.site-intro.is-playing .site-intro__grid{animation:introGrid 1.4s var(--ease) both}
.site-intro.is-playing .site-intro__signal{animation:introSignal 1.25s .08s var(--ease) both}
.site-intro.is-playing .site-intro__brand{animation:introBrand .72s .22s var(--ease) forwards}
.site-intro.is-playing .site-intro__line i{animation:introLine 1s .42s var(--ease) forwards}
.site-intro.is-playing .site-intro__footer{animation:introMeta .5s .55s ease forwards}
.site-intro.is-leaving::before{animation:introShutter .4s var(--ease) forwards}
.site-intro.is-leaving::after{animation:introShutter .42s .16s var(--ease) forwards}
.site-intro.is-leaving{opacity:0;transition:opacity .12s .62s linear}
.site-intro.is-leaving .site-intro__brand{transform:scale(.94);opacity:0;transition:transform .55s var(--ease),opacity .25s ease}
@keyframes introGrid{from{opacity:0;transform:scale(1.16)}to{opacity:.2;transform:scale(1)}}
@keyframes introSignal{0%{opacity:0;transform:scale(.72) rotate(-14deg)}55%{opacity:1}100%{opacity:.72;transform:scale(1) rotate(0)}}
@keyframes introBrand{to{opacity:1;transform:none}}
@keyframes introLine{to{width:100%}}
@keyframes introMeta{to{opacity:1}}
@keyframes introShutter{0%{transform:scaleX(0)}55%,100%{transform:scaleX(1)}}
@media(max-width:600px){.site-intro__signal{width:120vw}.site-intro__brand img{width:108px}.site-intro__brand p{font-size:8px}.site-intro__footer{font-size:6px}}
@media(prefers-reduced-motion:reduce){.js .site-intro{display:none!important}}
