/* Short brand entrance; page content and scroll position remain untouched. */
.mgo-intro{--intro-box:80px;--intro-word:178px;--intro-gap:18px;position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;background:#0a0b0e;color:#f2f4f8;pointer-events:none;user-select:none;animation:mgo-intro-failsafe .15s linear 5s forwards}
.mgo-intro__lockup{display:flex;align-items:center;gap:var(--intro-gap);animation:mgo-intro-dissolve .38s cubic-bezier(.22,1,.36,1) 1.3s both}
.mgo-intro__slot{width:var(--intro-box);height:var(--intro-box);flex:none;animation:mgo-intro-slide .56s cubic-bezier(.22,1,.36,1) .43s both}
.mgo-intro__icon{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 28px rgba(94,107,242,.15));transform-origin:50% 80%;animation:mgo-intro-drop .72s cubic-bezier(.2,.75,.25,1) both}
.mgo-intro__art{opacity:0;animation:mgo-intro-art .3s cubic-bezier(.22,1,.36,1) .48s both}
.mgo-intro__word{display:block;width:var(--intro-word);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:32px;font-weight:650;letter-spacing:-1.1px;line-height:1.2;white-space:nowrap;animation:mgo-intro-word .42s cubic-bezier(.22,1,.36,1) .72s both}
.mgo-intro__word span{font:inherit;color:inherit}
/* Keep frame zero until the controller has a visible, paintable page. */
.mgo-intro *{animation-play-state:paused}
.mgo-intro--ready{animation:none}
.mgo-intro--playing{animation:mgo-intro-exit 1.74s linear both}
.mgo-intro--playing *{animation-play-state:running}
.mgo-intro--paused,.mgo-intro--paused *{animation-play-state:paused}
@keyframes mgo-intro-drop{
  0%{transform:translate3d(0,-96px,0) rotate(-14deg) scale(.88)}
  12%{transform:translate3d(0,-100px,0) rotate(-14deg) scale(.9)}
  58%{transform:translate3d(0,5px,0) rotate(3deg) scale(1.06,.94)}
  78%{transform:translate3d(0,-7px,0) rotate(-2deg) scale(.99,1.01)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@keyframes mgo-intro-slide{from{transform:translate3d(calc((var(--intro-word) + var(--intro-gap))/2),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes mgo-intro-art{from{opacity:0}to{opacity:1}}
@keyframes mgo-intro-word{from{opacity:0;transform:translate3d(12px,4px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes mgo-intro-dissolve{from{opacity:1;transform:translate3d(0,0,0) scale(1)}to{opacity:0;transform:translate3d(0,-5px,0) scale(1.025)}}
/* CSS still clears the overlay if the controller fails to load. */
@keyframes mgo-intro-failsafe{to{opacity:0;visibility:hidden}}
@keyframes mgo-intro-exit{0%,77%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(max-width:480px){.mgo-intro{--intro-box:64px;--intro-word:148px;--intro-gap:14px}.mgo-intro__word{font-size:28px;letter-spacing:-.8px}}
@media(prefers-reduced-motion:reduce){.mgo-intro{display:none!important}.mgo-intro *{animation:none!important}}
@media print{.mgo-intro{display:none!important}}
