.launch-intro{--launch-duration:1500ms;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#f8fbff;overflow:hidden;animation:launch-exit var(--launch-duration) ease both;touch-action:manipulation}.launch-skip{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));min-height:44px;padding:10px 16px;border:1px solid #cfdef3;border-radius:50px;background:#ffffffb8;color:#25466c;font:600 12px Poppins,sans-serif;cursor:pointer;z-index:3}.launch-composition{position:relative;text-align:center;isolation:isolate}.launch-logo{position:relative;width:clamp(220px,56vw,330px);aspect-ratio:1;overflow:hidden;border-radius:50%;background:white;box-shadow:0 24px 80px #075aff0b;animation:launch-settle var(--launch-duration) cubic-bezier(.2,.8,.2,1) both}.launch-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity;animation:launch-assemble var(--launch-duration) cubic-bezier(.16,1,.3,1) both}.launch-left{clip-path:polygon(0 0,50% 0,50% 61%,0 61%);--piece-x:-20px;--piece-y:-12px;--piece-rotation:-6deg}.launch-right{clip-path:polygon(50% 0,100% 0,100% 61%,50% 61%);--piece-x:20px;--piece-y:-8px;--piece-rotation:6deg}.launch-wordmark{clip-path:polygon(0 61%,100% 61%,100% 77%,0 77%);--piece-x:0px;--piece-y:15px;--piece-rotation:0deg;animation-name:launch-wordmark}.launch-arc{clip-path:polygon(0 77%,100% 77%,100% 100%,0 100%);--piece-x:0px;--piece-y:14px;--piece-rotation:0deg}.launch-halo{position:absolute;inset:-35%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#03bfff18 0%,#075aff0c 38%,transparent 70%);animation:launch-halo var(--launch-duration) ease both}.launch-light{position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff00 40%,#ffffff9c 50%,#26ccff20 54%,transparent 66%);animation:launch-light var(--launch-duration) ease both;pointer-events:none}.launch-signature{color:#31618a;font:600 10px Poppins,sans-serif;letter-spacing:3px;margin:25px 0 0;animation:launch-caption var(--launch-duration) ease both}.launch-active main *{animation-play-state:paused!important}
@keyframes launch-assemble{0%,8%{opacity:0;transform:translate(var(--piece-x),var(--piece-y)) scale(.95) rotate(var(--piece-rotation))}52%,100%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@keyframes launch-wordmark{0%,35%{opacity:0;transform:translateY(10px)}64%,100%{opacity:1;transform:translateY(0)}}
@keyframes launch-light{0%,35%{opacity:0;transform:translateX(-100%)}45%{opacity:1}75%,100%{opacity:0;transform:translateX(100%)}}
@keyframes launch-caption{0%,48%{opacity:0;transform:translateY(5px)}70%,100%{opacity:1;transform:translateY(0)}}
@keyframes launch-halo{0%{opacity:0;transform:scale(.85)}60%{opacity:1}100%{opacity:0;transform:scale(1.15)}}
@keyframes launch-settle{0%,70%{transform:scale(1)}100%{transform:scale(.97)}}
@keyframes launch-exit{0%,74%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.launch-reduced .launch-piece{animation:none;opacity:1;transform:none}.launch-reduced .launch-logo,.launch-reduced .launch-halo,.launch-reduced .launch-signature{animation:none}.launch-reduced .launch-light{display:none}.launch-reduced{animation:launch-soft var(--launch-duration) ease both}@keyframes launch-soft{0%{opacity:0}25%,65%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.launch-intro{animation:launch-soft 550ms ease both!important}.launch-piece,.launch-logo,.launch-halo,.launch-signature{animation:none!important}.launch-light{display:none}}
