.fx-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#030303;transition:opacity .8s cubic-bezier(.16,1,.3,1),visibility .8s}.fx-intro img{width:92px;animation:fx-logo 1.3s cubic-bezier(.16,1,.3,1) both}.fx-intro.done{opacity:0;visibility:hidden}
@keyframes fx-logo{0%{opacity:0;transform:scale(.6) rotate(-90deg);filter:blur(10px)}60%{opacity:1;filter:blur(0)}100%{transform:scale(1) rotate(0)}}
.fx-word{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.5em);transition:opacity .7s,filter .7s,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i)*70ms)}
.fx-words.fx-on .fx-word{opacity:1;filter:blur(0);transform:none}

header nav{transition:max-width .6s cubic-bezier(.16,1,.3,1),border-radius .6s,background .6s,margin .6s,padding .6s,box-shadow .6s}
body.fx-scrolled header nav{max-width:900px;margin:10px auto;border-radius:999px;background:#0b0b0de6;backdrop-filter:blur(14px);border:1px solid #ffffff1f;box-shadow:0 10px 40px #0008;padding-left:18px;padding-right:10px}
.fx-section{transform-origin:50% 0;opacity:.35;transform:scale(.97) translateY(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.fx-section.fx-in{opacity:1;transform:none}
@media not all{.fx-intro{display:none}.fx-word{opacity:1;filter:none;transform:none;transition:none}.fx-section{transform:none!important;opacity:1!important}}
body.fx-leaving main,body.fx-leaving header{opacity:0;transform:translateY(-12px);transition:opacity .35s,transform .35s}
