.site-intro{display:none;position:fixed;inset:0;z-index:100000;isolation:isolate;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
html.intro-active .site-intro{display:flex}
/* Let the scene settle behind the intro; save content entrances for its exit. */
html.intro-active :is(.hero-wordmark,.text-shimmer,.price-subpage,.price-card,.profile-body,.stat-row,.guest-panel,.profile-orders,.order-row,.admin-panel,.admin-stats>div,.admin-key,.admin-log article){animation-play-state:paused!important}
.intro-curtain{position:absolute;inset:0 auto 0 0;width:50%;background:rgb(9 8 15 / 85%);will-change:transform}
.intro-curtain-right{left:50%}
.intro-brand{position:relative;display:flex;align-items:center;gap:22px;width:max-content;max-width:94vw;--intro-shift:110px}
.intro-logo{display:block;width:76px;height:76px;object-fit:cover;border-radius:23px;opacity:0;transform:translateX(var(--intro-shift)) scale(.88);box-shadow:0 0 45px #9e7bfa25;will-change:transform,opacity}
.intro-word.mentality-wordmark{font-size:clamp(32px,6vw,55px);line-height:1.35;color:#f4edff;-webkit-text-fill-color:#f4edff;white-space:nowrap;text-shadow:0 0 24px #d4beff38;opacity:0;filter:blur(7px);will-change:transform,opacity,filter}
.intro-playing .intro-curtain{animation:intro-curtain-in .3s ease-out both,intro-open-left .75s cubic-bezier(.65,0,.25,1) 2.65s both}
.intro-playing .intro-curtain-right{animation-name:intro-curtain-in,intro-open-right}
.intro-playing .intro-logo{animation:intro-logo 3.4s cubic-bezier(.22,.68,.25,1) both}
.intro-playing .intro-word{animation:intro-word 3.4s cubic-bezier(.22,.68,.25,1) both}
@keyframes intro-curtain-in{from{opacity:.75}to{opacity:1}}
@keyframes intro-open-left{to{transform:translateX(-101%)}}
@keyframes intro-open-right{to{transform:translateX(101%)}}
@keyframes intro-logo{0%,7%{opacity:0;transform:translateX(var(--intro-shift)) scale(.88)}23%,32%{opacity:1;transform:translateX(var(--intro-shift)) scale(1)}48%,77%{opacity:1;transform:translateX(0) scale(1)}100%{opacity:0;transform:translateX(-100px) scale(.96)}}
@keyframes intro-word{0%,36%{opacity:0;transform:translateX(-15px);filter:blur(7px)}59%,77%{opacity:1;transform:translateX(0);filter:blur(0)}100%{opacity:0;transform:translateX(100px);filter:blur(5px)}}
@media(max-width:600px){.intro-brand{gap:15px}.intro-logo{width:60px;height:60px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.intro-playing .intro-curtain,.intro-playing .intro-logo,.intro-playing .intro-word{animation:none}.intro-playing{animation:intro-accessible-fade .25s ease-out both}.intro-logo{opacity:1;transform:none}.intro-word.mentality-wordmark{opacity:1;filter:none}@keyframes intro-accessible-fade{to{opacity:0}}}
