/* Lightweight automatic opening sequence: compositor-only transforms and opacity. */
body.intro-active{overflow:hidden}
.intro{visibility:visible;display:grid;opacity:1;animation:introFinish .5s 4.55s ease forwards!important;contain:paint}
.intro-mark{opacity:0;transform:translate3d(0,18px,0);animation:introLogo 2.05s .15s cubic-bezier(.22,.75,.22,1) forwards!important;will-change:transform,opacity}
.intro-lockup>p{opacity:0;transform:translate3d(0,10px,0);animation:introPlace 1.7s .5s ease forwards!important;will-change:transform,opacity}
.intro-curtain{transform:translate3d(0,101%,0);animation:introCurtain 2.8s 1.75s cubic-bezier(.76,0,.24,1) forwards!important;will-change:transform;backface-visibility:hidden}
.curtain-lockup{opacity:0;transform:translate3d(0,14px,0) scale(.97);animation:introWords 2.2s 2.1s ease forwards!important;will-change:transform,opacity}
.curtain-lockup i{width:0;animation:introLine .72s 2.65s ease forwards!important}
@keyframes introLogo{0%{opacity:0;transform:translate3d(0,18px,0)}30%,67%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,-16px,0)}}
@keyframes introPlace{0%,18%{opacity:0;transform:translate3d(0,10px,0)}42%,70%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,-8px,0)}}
@keyframes introCurtain{0%{transform:translate3d(0,101%,0)}34%,72%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-101%,0)}}
@keyframes introWords{0%,12%{opacity:0;transform:translate3d(0,14px,0) scale(.97)}34%,74%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(0,-8px,0) scale(1.015)}}
@keyframes introLine{to{width:92px}}
@keyframes introFinish{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.intro{display:none!important}.intro-mark,.intro-lockup>p,.intro-curtain,.curtain-lockup,.curtain-lockup i{animation:none!important}}
