/* A single, skippable comic intro on full page loads. Original vector art and synthesized sound effects. */
.sc-launch-content:focus { outline:none; }
.sc-launch { position:fixed; inset:0; z-index:2147483000; overflow:hidden; background:#06111c; color:#ecfff9; font-family:Arial,Helvetica,sans-serif; animation:sc-launch-exit .5s 13s both; }
.sc-launch-skip { position:absolute; z-index:10; right:clamp(18px,4vw,60px); top:clamp(18px,4vh,44px); display:flex; gap:22px; align-items:center; padding:12px 18px; border:1px solid #86b4b477; border-radius:50px; background:#071622e6; color:#e7fff9; font:600 14px Arial,sans-serif; cursor:pointer; }
.sc-launch-skip:hover { background:#1e3e49; }.sc-launch-skip:focus-visible { outline:3px solid #6dffe0; outline-offset:4px; }
.sc-launch-scene { position:absolute; inset:0; overflow:hidden; background:radial-gradient(ellipse at 50% 46%,#23454c 0%,#0b1f2c 45%,#05101b 85%); }
.sc-launch-grid { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(#70bfb933 1px,transparent 1px),linear-gradient(90deg,#70bfb933 1px,transparent 1px); background-size:64px 64px; transform:perspective(500px) rotateX(30deg) scale(1.4); }
.sc-launch-halo { position:absolute; width:min(76vw,780px); aspect-ratio:1; top:43%; left:50%; transform:translate(-50%,-50%); border-radius:50%; border:1px solid #7bffe329; box-shadow:0 0 0 38px #7bffe309,0 0 0 90px #7bffe306; }
.sc-launch-kicker { position:absolute; z-index:1; top:12%; left:10%; width:80%; text-align:center; color:#86b4b8; font-size:clamp(10px,1.1vw,14px); letter-spacing:.32em; font-weight:700; animation:sc-launch-copy .6s .9s both; }
.sc-launch-art { position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); width:min(1100px,100vw); height:min(64vh,670px); overflow:visible; }
.sc-launch-gorilla { transform-origin:470px 500px; animation:sc-launch-ape 5s both; }
.sc-launch-punch { transform-origin:566px 290px; animation:sc-launch-swing 5s both; }
.sc-launch-left-arm { transform-origin:350px 280px; animation:sc-launch-left 5s both; }
.sc-launch-trader { transform-origin:785px 475px; animation:sc-launch-trader 5s both; }
.sc-launch-impact { transform-origin:732px 364px; animation:sc-launch-impact 5s both; }
.sc-launch-speed { animation:sc-launch-impact 5s both; }
.sc-launch-dizzy { animation:sc-launch-stars 5s both; }
.sc-launch-title { position:absolute; bottom:10%; width:100%; display:flex; flex-direction:column; align-items:center; text-align:center; line-height:.95; animation:sc-launch-copy .5s 10.8s both; }
.sc-launch-title > span { font-size:clamp(15px,2vw,24px); font-weight:700; letter-spacing:.25em; }
.sc-launch-title strong { margin-top:8px; color:#adffe6; font-family:Impact,'Arial Black',sans-serif; font-size:clamp(38px,6.5vw,82px); letter-spacing:.01em; }
.sc-launch-title small { margin-top:20px; font-size:12px; font-weight:700; letter-spacing:.45em; color:#91babd; }
.sc-launch-tear { position:absolute; inset:-8%; z-index:3; background-color:#0c1c29; background-image:repeating-linear-gradient(-28deg,transparent 0 80px,#6d9fa407 80px 81px); display:flex; align-items:center; color:#64808b; font-family:Impact,'Arial Black',sans-serif; font-size:clamp(44px,12vw,180px); letter-spacing:-.04em; }
.sc-launch-tear-left { clip-path:polygon(0 0,51% 0,48% 12%,52% 22%,48% 35%,51% 47%,48% 57%,52% 68%,49% 79%,51% 89%,49% 100%,0 100%); justify-content:flex-end; padding-right:52%; animation:sc-launch-rip-left 1.1s .95s cubic-bezier(.65,0,.25,1) both; }
.sc-launch-tear-right { clip-path:polygon(51% 0,100% 0,100% 100%,49% 100%,51% 89%,49% 79%,52% 68%,48% 57%,51% 47%,48% 35%,52% 22%,48% 12%); padding-left:52%; animation:sc-launch-rip-right 1.1s .95s cubic-bezier(.65,0,.25,1) both; }
.sc-launch-crack { position:absolute; z-index:4; top:0; left:48%; width:4%; height:100%; background:#a6ffe9; clip-path:polygon(65% 0,68% 0,0 12%,90% 22%,0 35%,80% 47%,0 57%,95% 68%,15% 79%,80% 89%,20% 100%,16% 100%,74% 89%,9% 79%,89% 68%,0 57%,74% 47%,0 35%,84% 22%,0 12%); animation:sc-launch-crack .8s .9s both; }
.sc-launch-progress { position:absolute; z-index:5; bottom:0; left:0; right:0; height:3px; background:#2b4b51; }.sc-launch-progress i { display:block; height:100%; background:#91ffde; transform-origin:left; animation:sc-launch-progress 13.5s linear both; }
@keyframes sc-launch-rip-left { 0%,12% { transform:translateX(0) rotate(0); } 28% { transform:translateX(-2%) rotate(-1deg); } 45% { transform:translateX(-1%) rotate(1deg); } 100% { transform:translateX(-65%) rotate(-15deg); } }
@keyframes sc-launch-rip-right { 0%,12% { transform:translateX(0) rotate(0); } 28% { transform:translateX(2%) rotate(1deg); } 45% { transform:translateX(1%) rotate(-1deg); } 100% { transform:translateX(65%) rotate(15deg); } }
@keyframes sc-launch-crack { 0% { opacity:0; transform:scaleY(0); } 35%,65% { opacity:1; transform:scaleY(1); } 100% { opacity:0; } }
@keyframes sc-launch-ape { 0%,10% { opacity:0; transform:translateY(65px) scale(.7); } 24% { opacity:1; transform:translateY(-10px) scale(1.05); } 32%,40% { transform:translate(0,0) scale(1); } 47% { transform:translate(-20px,8px) rotate(-5deg); } 54% { transform:translate(38px,-5px) rotate(6deg); } 61% { transform:translate(8px,0) rotate(-3deg); } 66% { transform:translate(34px,-4px) rotate(5deg); } 78%,100% { opacity:1; transform:translate(0,0) rotate(0); } }
@keyframes sc-launch-swing { 0%,35% { transform:rotate(0); } 45% { transform:rotate(36deg) translate(-8px,0); } 53%,56% { transform:rotate(-43deg) translate(50px,0); } 61% { transform:rotate(25deg); } 66%,69% { transform:rotate(-40deg) translate(50px,0); } 80%,100% { transform:rotate(0); } }
@keyframes sc-launch-left { 0%,17% { transform:rotate(22deg); } 30%,100% { transform:rotate(0); } }
@keyframes sc-launch-trader { 0%,27% { opacity:0; transform:translateX(130px); } 35%,51% { opacity:1; transform:translateX(0); } 55% { transform:translate(42px,-12px) rotate(16deg); } 61% { transform:translate(10px,0) rotate(-8deg); } 65% { transform:translate(15px,0); } 75%,100% { opacity:0; transform:translate(380px,-110px) rotate(85deg); } }
@keyframes sc-launch-impact { 0%,51% { opacity:0; transform:scale(.4); } 54% { opacity:1; transform:scale(1.12); } 59%,64% { opacity:0; transform:scale(.8); } 67% { opacity:1; transform:scale(1.25); } 73%,100% { opacity:0; transform:scale(1.4); } }
@keyframes sc-launch-stars { 0%,52% { opacity:0; } 55%,100% { opacity:1; } }
@keyframes sc-launch-copy { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
@keyframes sc-launch-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes sc-launch-exit { from { opacity:1; } to { opacity:0; visibility:hidden; } }
@media(max-width:600px) { .sc-launch-art { width:150vw; max-width:none; left:45%; top:44%; height:58vh; }.sc-launch-kicker { top:17%; font-size:10px; line-height:1.6; letter-spacing:.18em; }.sc-launch-title { bottom:15%; }.sc-launch-title strong { font-size:42px; }.sc-launch-title small { margin-top:16px; }.sc-launch-tear { font-size:15vw; }.sc-launch-skip { padding:10px 15px; } }
@media(max-height:500px) { .sc-launch-art { top:40%; height:75vh; }.sc-launch-kicker { top:7%; }.sc-launch-title { bottom:7%; }.sc-launch-title strong { font-size:34px; }.sc-launch-title small { display:none; }.sc-launch-title > span { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .sc-launch { display:none; }.sc-launch * { animation:none !important; } }

.sc-launch-sound { position:absolute; z-index:10; top:clamp(18px,4vh,44px); left:clamp(18px,4vw,60px); display:flex; align-items:center; gap:14px; min-height:44px; padding:12px 18px; border:1px solid #86b4b477; border-radius:50px; background:#071622e6; color:#e7fff9; font:600 14px Arial,sans-serif; cursor:pointer; }
.sc-launch-sound:hover { background:#1e3e49; }.sc-launch-sound:focus-visible { outline:3px solid #6dffe0; outline-offset:4px; }
.sc-launch-couple { transform-origin:470px 530px; animation:sc-launch-getaway 13.5s both; }
.sc-launch-lady { transform-origin:575px 350px; animation:sc-launch-romance 13.5s both; }
.sc-launch-hug-arm { transform-origin:573px 304px; animation:sc-launch-hug 13.5s both; }
.sc-launch-hearts { animation:sc-launch-love 13.5s both; }
.sc-launch-carry-arm { animation:sc-launch-lift 13.5s both; }
.sc-launch-helicopter { transform-origin:520px 260px; animation:sc-launch-flight 13.5s both; }
.sc-launch-main-rotor { transform-origin:521px 171px; animation:sc-launch-rotor .1s linear infinite; }
.sc-launch-tail-rotor { transform-origin:269px 226px; animation:sc-launch-tail .14s linear infinite; }
.sc-launch-bill { transform-origin:520px 360px; opacity:0; animation:sc-launch-cash 3.3s var(--bill-delay) ease-in both; }
@keyframes sc-launch-romance { 0%,30% { opacity:0; transform:translate(390px,0); } 33% { opacity:1; transform:translate(300px,-8px); } 39% { opacity:1; transform:translate(0,0); } 43% { transform:translate(-13px,-8px) rotate(-8deg); } 46%,100% { opacity:1; transform:translate(-18px,-32px) rotate(-28deg); } }
@keyframes sc-launch-hug { 0%,36% { transform:rotate(-60deg); } 40%,100% { transform:rotate(0); } }
@keyframes sc-launch-getaway { 0%,44% { transform:translate(0,0); } 47% { transform:translate(-45px,-12px) rotate(-3deg); } 50% { transform:translate(-160px,0); } 53% { transform:translate(-310px,-17px) rotate(-4deg); } 58%,100% { transform:translate(-1100px,-30px) rotate(-8deg); } }
@keyframes sc-launch-love { 0%,37% { opacity:0; transform:translateY(15px); } 40%,45% { opacity:1; transform:translateY(-10px); } 49%,100% { opacity:0; transform:translateY(-50px); } }
@keyframes sc-launch-lift { 0%,41% { opacity:0; } 44%,100% { opacity:1; } }
@keyframes sc-launch-flight { 0%,55% { opacity:0; transform:translate(1100px,-120px) rotate(-8deg); } 61% { opacity:1; transform:translate(140px,-35px) rotate(-4deg); } 65% { transform:translate(0,-10px) rotate(2deg); } 70% { transform:translate(-12px,-20px) rotate(-2deg); } 77% { opacity:1; transform:translate(12px,-10px) rotate(2deg); } 84% { opacity:1; transform:translate(-340px,-80px) rotate(-7deg); } 90%,100% { opacity:0; transform:translate(-1200px,-220px) rotate(-12deg); } }
@keyframes sc-launch-rotor { 0%,100% { transform:scaleX(1); } 50% { transform:scaleX(.2); } }
@keyframes sc-launch-tail { to { transform:rotate(360deg); } }
@keyframes sc-launch-cash { 0% { opacity:0; transform:translate(0,0) rotate(0); } 12% { opacity:1; } 80% { opacity:1; } 100% { opacity:0; transform:translate(var(--bill-x),420px) rotate(var(--bill-spin)); } }
@media(max-width:600px) { .sc-launch-sound { font-size:12px; padding:10px 12px; gap:6px; }.sc-launch-art { width:140vw; left:47%; } }

/* The title sits above the tear masks so no letter is clipped by the seam. */
.sc-launch-wallstreet { position:absolute; z-index:5; inset:0; display:flex; align-items:center; justify-content:center; gap:.22em; padding:24px; box-sizing:border-box; color:#e3f7f4; font-family:Impact,'Arial Black',Arial,sans-serif; font-size:clamp(34px,10vw,150px); font-weight:900; line-height:1.1; letter-spacing:.015em; white-space:nowrap; text-shadow:0 5px 30px #0008; pointer-events:none; animation:sc-launch-wallstreet-out .4s 1.1s both; }
@keyframes sc-launch-wallstreet-out { from { opacity:1; transform:scale(1); } to { opacity:0; transform:scale(1.06); visibility:hidden; } }
