/* A hidden ascent, built from local artwork, SVG, CSS, and a small starfield. */
.contact-flight{position:fixed;inset:0;z-index:90;overflow:hidden;color:#eff1f7;background:#03050b00;isolation:isolate;animation:contact-night 5.6s linear forwards;touch-action:none}.contact-flight[hidden]{display:none}.contact-stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.contact-flight:focus{outline:none}.contact-flight::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 30%,#02030a80);opacity:.8}.contact-world{position:absolute;inset:0;pointer-events:none}.contact-rabbit{position:absolute;left:var(--contact-x,18%);top:var(--contact-y,73%);width:150px;height:170px;margin:-85px 0 0 -75px;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse,black 30%,transparent 70%);animation:contact-lift 5.6s cubic-bezier(.38,0,.4,1) forwards;filter:drop-shadow(0 0 18px #e2ddff66)}.contact-craft{position:absolute;left:var(--contact-x,18%);top:calc(var(--contact-y,73%) - 215px);width:220px;height:95px;margin-left:-110px;z-index:3;filter:drop-shadow(0 5px 25px #cbc2ff30);animation:contact-craft 5.6s cubic-bezier(.3,.05,.4,1) forwards}.contact-craft svg{width:100%;height:100%}.contact-beam{position:absolute;left:var(--contact-x,18%);top:calc(var(--contact-y,73%) - 160px);width:260px;height:280px;margin-left:-130px;background:linear-gradient(180deg,#d4c7ff55,#b2eaff04);clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);transform-origin:50% 0;animation:contact-beam 5.6s ease forwards;filter:blur(1px)}.contact-halo{position:absolute;left:var(--contact-x,18%);top:calc(var(--contact-y,73%) + 90px);width:280px;height:40px;margin:-20px 0 0 -140px;background:radial-gradient(ellipse,#d4d0ff40,transparent 68%);animation:contact-beam 5.6s ease forwards}.contact-horizon{position:absolute;left:-25%;width:150%;height:80vh;bottom:-77vh;border-radius:50%;border-top:2px solid #b1dcff;box-shadow:0 -5px 35px #9ccaff33,0 -1px 4px #d2e6ff;opacity:0;animation:contact-horizon 5.6s ease-in-out forwards}.contact-horizon::after{content:"";position:absolute;inset:2px;background:radial-gradient(ellipse at 50% 0,#182c4655,#01020a 45%);border-radius:50%}.contact-caption{position:absolute;left:6%;right:6%;bottom:8%;z-index:6;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;animation:contact-caption 5.6s ease forwards}.contact-caption .eyebrow{color:#b9b1de;font:8px var(--mono,monospace);letter-spacing:.23em;margin:0 0 13px}.contact-caption h2{font:400 clamp(29px,5vw,60px)/1.1 var(--sans,sans-serif);letter-spacing:-.055em;margin:0;max-width:680px}.contact-phase{color:#85859c;font:8px var(--mono,monospace);letter-spacing:.1em;text-align:right;line-height:1.8}.contact-skip{position:absolute;right:5%;top:30px;z-index:9;padding:12px;border:1px solid #c1bfd533;border-radius:30px;font:9px var(--mono,monospace);letter-spacing:.06em;color:#d2cce5;background:#06081150}.contact-skip:hover{border-color:#c6beff88;color:#fff}.contact-skip:focus-visible{outline:2px solid #d9d3ff;outline-offset:5px}.contact-departing{overflow:hidden}.contact-departing>header,.contact-departing>main,.contact-departing>footer{pointer-events:none;animation:contact-surface-fall 5.6s cubic-bezier(.55,0,.5,1) forwards}.contact-departing>.secret-room{visibility:hidden}.footer-brand{position:relative}.footer-brand.is-listening::after{content:"";position:absolute;left:0;bottom:-8px;height:1px;background:#e0d6ff;animation:contact-listening 1.6s linear forwards}.orbit-return{font:7px var(--mono);letter-spacing:.1em;color:#c2b5ee;padding:9px 0;white-space:nowrap}.orbit-return:hover{color:#eee7ff}.orbit-next-clue{margin:22px 0 4px;border-top:1px solid #afa2e82a;padding-top:20px}.orbit-next-clue p{font-size:11px;line-height:1.9;color:#a59cbd}.orbit-next-clue button{color:#ddd3ff;font:10px var(--sans);padding:9px 0;border-bottom:1px solid #c3b5ed40}.orbit-next-clue code{color:#d6cdf4;font:10px var(--mono)}
@keyframes contact-night{0%{background:#03050b00}26%{background:#03050b66}48%{background:#03050be0}70%,100%{background:#03050b}}
@keyframes contact-craft{0%{opacity:0;transform:translate(55vw,-50vh) rotate(-15deg) scale(.4)}16%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}44%{opacity:1;transform:translate(0,-5px) scale(1)}68%{opacity:1;transform:translate(38vw,-48vh) rotate(12deg) scale(.5)}80%,100%{opacity:0;transform:translate(60vw,-100vh) scale(.1)}}
@keyframes contact-lift{0%,19%{opacity:1;transform:translateY(0) scale(1)}28%{opacity:1;transform:translateY(-8px) scale(1)}45%{opacity:1;transform:translateY(-145px) scale(.35) rotate(-5deg)}51%,100%{opacity:0;transform:translateY(-180px) scale(.04)}}
@keyframes contact-beam{0%,17%{opacity:0;transform:scaleY(0)}23%,42%{opacity:1;transform:scaleY(1)}48%,100%{opacity:0;transform:scaleY(.1)}}
@keyframes contact-horizon{0%,45%{opacity:0;transform:translateY(50vh)}62%{opacity:.8;transform:translateY(0)}100%{opacity:0;transform:translateY(50vh) scale(.7)}}
@keyframes contact-surface-fall{0%,26%{transform:none;opacity:1}58%{transform:translateY(45vh) scale(.94);opacity:.15}75%,100%{transform:translateY(100vh) scale(.8);opacity:0}}
@keyframes contact-caption{0%,10%{opacity:0;transform:translateY(12px)}22%,90%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-12px)}}
@keyframes contact-listening{from{width:0}to{width:100%}}
@media(max-width:700px){.contact-caption{bottom:10%;display:block}.contact-caption h2{font-size:38px}.contact-phase{margin-top:23px;text-align:left;font-size:6px}.contact-craft{width:170px;height:75px;margin-left:-85px;top:calc(var(--contact-y,70%) - 180px)}.contact-rabbit{width:125px;height:145px;margin:-72px 0 0 -62px}.contact-beam{top:calc(var(--contact-y,70%) - 135px);width:200px;margin-left:-100px;height:230px}.contact-halo{width:210px;margin-left:-105px;top:calc(var(--contact-y,70%) + 70px)}.contact-skip{top:20px;font-size:8px}.orbit-return{font-size:6px}.contact-flight{--contact-x:35%!important;--contact-y:55%!important}}
@media(prefers-reduced-motion:reduce){.contact-flight,.contact-flight *,.contact-departing>header,.contact-departing>main,.contact-departing>footer{animation:none!important}}
