:root{--night:#0a0e12;--white:#f4f4f1;--soft:#c6d0df;--blue:#4e83ff;--teal:#2dd4aa;--muted:#718097}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;overflow-x:hidden;color:var(--white);background:var(--night);font-family:Helvetica Neue,Avenir Next,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}main{min-height:100vh;min-height:100svh;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#0e141a 0,var(--night) 58%)}main:after{content:"";background:radial-gradient(circle,transparent 35%,rgba(0,0,0,.24) 100%)}.stars,main:after{position:absolute;inset:0;pointer-events:none}.stars{z-index:0;animation:star-drift 24s ease-in-out infinite alternate}.stars span{width:var(--size);height:var(--size);position:absolute;left:var(--x);top:var(--y);border-radius:50%;background:#d8e1e8;opacity:.42;animation:twinkle 4.5s var(--delay) ease-in-out infinite}.composition{width:min(94vw,880px);min-height:min(88svh,920px);padding:clamp(32px,6vh,72px) 20px max(76px,env(safe-area-inset-bottom));position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;transform:translateY(4.2vh)}.coming-soon{margin:0 0 24px;color:var(--blue);font-family:Courier New,Courier,monospace;font-size:clamp(.78rem,1.4vw,1.1rem);font-weight:400;letter-spacing:.42em;text-transform:uppercase;opacity:0;animation:text-reveal .8s ease-out .12s forwards}.planet{width:clamp(220px,27vw,300px);height:auto;overflow:visible;opacity:0;transform:scale(.9);animation:planet-in 1.1s cubic-bezier(.22,1,.36,1) .28s forwards}.globe-lines{fill:none;stroke:var(--white);stroke-width:2.4}.globe-lines ellipse,.globe-lines path{stroke:#5e6670;stroke-width:1;opacity:.65}.core{fill:var(--white)}.orbit-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round}.satellite-blue{fill:var(--blue)}.satellite-teal{fill:var(--teal)}h1{margin:32px 0 8px;color:var(--white);font-size:clamp(4.5rem,10vw,7.8rem);font-weight:700;line-height:.95;letter-spacing:-.045em;opacity:0;transform:translateY(18px);animation:title-reveal .85s cubic-bezier(.22,1,.36,1) .56s forwards}.accent-line{width:0;height:5px;margin:8px 0 31px;border-radius:999px;background:var(--teal);animation:line-reveal .7s cubic-bezier(.22,1,.36,1) .85s forwards}.tagline{margin:0;color:var(--soft);font-size:clamp(1.05rem,3.2vw,2.15rem);font-weight:400;line-height:1.4;letter-spacing:-.018em;opacity:0;animation:text-reveal .8s ease-out .98s forwards}.location{margin:clamp(48px,9vh,92px) 0 0;color:var(--muted);font-size:clamp(.61rem,1.25vw,.82rem);letter-spacing:.27em;text-transform:uppercase;animation:text-reveal .8s ease-out 1.12s forwards}.location,footer{font-family:Courier New,Courier,monospace;opacity:0}footer{position:absolute;z-index:3;left:50%;bottom:max(clamp(18px,3.5vh,38px),env(safe-area-inset-bottom));width:calc(100% - 32px);justify-content:center;display:flex;align-items:center;gap:14px;color:#59677a;font-size:clamp(.54rem,.85vw,.68rem);letter-spacing:.08em;white-space:nowrap;transform:translateX(-50%);animation:footer-in .8s ease-out 1.3s forwards}footer a{color:inherit;text-decoration:none;transition:color .18s ease}footer a:hover{color:var(--teal)}@keyframes text-reveal{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes planet-in{to{opacity:1;transform:scale(1)}}@keyframes title-reveal{to{opacity:1;transform:translateY(0) scaleX(1.16)}}@keyframes line-reveal{to{width:clamp(105px,13vw,140px)}}@keyframes footer-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes twinkle{0%,to{opacity:.22;transform:scale(.8)}50%{opacity:.72;transform:scale(1.15)}}@keyframes star-drift{0%{transform:translate3d(-3px,-2px,0)}to{transform:translate3d(4px,3px,0)}}@media (max-height:760px) and (min-width:620px){.composition{min-height:100svh;padding:34px 20px 50px}.coming-soon{margin-bottom:8px}.planet{width:205px}h1{font-size:5.3rem;margin-top:20px}.accent-line{margin-bottom:19px}.location{margin-top:34px}}@media (max-width:620px){.composition{width:100%;min-height:100vh;min-height:100svh;padding:42px 20px max(96px,calc(env(safe-area-inset-bottom) + 76px));transform:translateY(2.2vh)}.coming-soon{margin-bottom:15px;font-size:.73rem}.planet{width:min(72vw,31svh,270px)}h1{margin-top:20px;font-size:clamp(3.55rem,19.5vw,5rem)}.accent-line{height:4px;margin:7px 0 25px}.tagline{max-width:350px;font-size:1rem}.location{margin-top:50px;max-width:100%;font-size:.58rem;line-height:1.6}footer{bottom:max(16px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;font-size:.49rem;line-height:1.5;letter-spacing:.02em;white-space:normal}}@media (max-width:620px) and (min-height:700px){.planet{width:min(72vw,270px)}}@media (max-width:619px) and (max-height:680px){.composition{padding:22px 16px 76px;transform:none}.coming-soon{margin-bottom:4px;font-size:.63rem}.planet{width:min(56vw,180px)}h1{margin-top:7px;font-size:clamp(3rem,18vw,4rem)}.accent-line{height:3px;margin:4px 0 15px}.tagline{max-width:290px;font-size:.9rem}.location{margin-top:20px;font-size:.51rem}}@media (max-width:350px){footer{flex-direction:column;gap:2px;font-size:.47rem}footer>span{display:none}}@media (min-width:620px) and (max-height:540px){.composition{width:min(94vw,1040px);min-height:100vh;min-height:100svh;padding:28px 5vw 48px;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(380px,1.2fr);grid-template-rows:auto auto auto auto;grid-column-gap:clamp(34px,6vw,90px);column-gap:clamp(34px,6vw,90px);transform:none}.coming-soon{grid-column:1;grid-row:1;align-self:end;margin:0 0 6px;font-size:.7rem}.planet{grid-column:1;grid-row:2/5;align-self:start;width:min(31vw,225px)}h1{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:clamp(4rem,9vw,6rem)}.accent-line{grid-column:2;grid-row:2;justify-self:center;height:4px;margin:11px 0 16px}.tagline{grid-column:2;grid-row:3;max-width:560px;font-size:clamp(1rem,2.2vw,1.4rem)}.location{grid-column:2;grid-row:4;margin:22px 0 0;font-size:.58rem}footer{bottom:max(10px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}