body:before {
  transform: scale(1.035) translate(calc(var(--pointer-x, 0) * -8px), calc(var(--pointer-y, 0) * -5px));
  animation: horizon-breathe 9s ease-in-out infinite alternate;
  will-change: transform, filter;
}
.ambient { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.ambient i { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #fff; opacity: .1; animation: star-drift 8s ease-in-out infinite; }
.ambient i:nth-child(1){left:12%;top:22%;animation-delay:-1s}.ambient i:nth-child(2){left:24%;top:37%;animation-delay:-4s}.ambient i:nth-child(3){left:36%;top:18%;animation-delay:-7s}.ambient i:nth-child(4){left:47%;top:31%;animation-delay:-2s}.ambient i:nth-child(5){left:59%;top:15%;animation-delay:-5s}.ambient i:nth-child(6){left:71%;top:39%;animation-delay:-8s}.ambient i:nth-child(7){left:84%;top:24%;animation-delay:-3s}.ambient i:nth-child(8){left:91%;top:47%;animation-delay:-6s}.ambient i:nth-child(9){left:18%;top:54%;animation-delay:-9s}.ambient i:nth-child(10){left:42%;top:49%;animation-delay:-2.5s}.ambient i:nth-child(11){left:66%;top:53%;animation-delay:-5.5s}.ambient i:nth-child(12){left:78%;top:10%;animation-delay:-7.5s}.ambient i:nth-child(13){left:31%;top:61%;animation-delay:-3.5s}.ambient i:nth-child(14){left:55%;top:58%;animation-delay:-6.5s}
.site-header,.eyebrow,h1,.intro,.signup-panel,footer { animation: reveal-up .9s cubic-bezier(.2,.75,.2,1) both; }
.site-header{animation-delay:.05s}.eyebrow{animation-delay:.18s}h1{animation-delay:.28s}.intro{animation-delay:.4s}.signup-panel{animation-delay:.52s}footer{animation-delay:.65s}
h1 em { display: inline-block; animation: soft-focus 6s ease-in-out 1.3s infinite alternate; }
.form-row { transition: border-color .2s, transform .25s, box-shadow .25s; }
.form-row:focus-within { transform: translateY(-2px); border-color: rgba(255,255,255,.46); box-shadow: 0 18px 55px rgba(0,0,0,.4); }
@keyframes reveal-up { from { opacity: 0; transform: translateY(24px); filter: blur(10px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes horizon-breathe { from { filter: brightness(.88); transform: scale(1.035) translate(calc(var(--pointer-x,0) * -8px),calc(var(--pointer-y,0) * -5px)); } to { filter: brightness(1.08); transform: scale(1.055) translate(calc(var(--pointer-x,0) * -12px),calc(var(--pointer-y,0) * -7px)); } }
@keyframes star-drift { 0%,100% { opacity:.08; transform:translateY(0) scale(.7); } 50% { opacity:.55; transform:translateY(-10px) scale(1.15); } }
@keyframes soft-focus { 0%,35% { filter:blur(0); opacity:1; } 70%,100% { filter:blur(.45px); opacity:.86; } }
@media (prefers-reduced-motion: reduce) {
  body:before,.ambient i,.site-header,.eyebrow,h1,.intro,.signup-panel,footer,h1 em { animation:none; transform:none; filter:none; }
  .form-row:focus-within { transform:none; }
}
.waitlist-count { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:18px; color:#92959b; font-size:11px; animation:reveal-up .9s cubic-bezier(.2,.75,.2,1) .65s both; }
.waitlist-count p { margin:0; }
.waitlist-count strong { color:#dededb; font-weight:650; }
.people { display:flex; padding-left:12px; }
.people i { width:36px; height:36px; margin-left:-12px; border:2px solid #111318; border-radius:50%; background-image:url("waitlist-people.png"); background-repeat:no-repeat; background-size:300% auto; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.people i:nth-child(1) { background-position:0 30%; }
.people i:nth-child(2) { background-position:50% 30%; }
.people i:nth-child(3) { background-position:100% 30%; }
@media (prefers-reduced-motion: reduce) { .waitlist-count { animation:none; } }
.shell { grid-template-rows: 1fr auto; }
.hero { padding-top: clamp(54px, 9vh, 96px); }
.brand-logo-wrap { width:180px; margin:0 auto 42px; animation:reveal-up .8s cubic-bezier(.2,.75,.2,1) both; }
.brand-logo { display:block; width:100%; height:auto; filter:invert(1) contrast(1.25); mix-blend-mode:screen; }
.eyebrow { animation-delay:.12s; }
h1 { animation-delay:.22s; }
.intro { animation-delay:.34s; }
.signup-panel { animation-delay:.46s; }
@media (max-width:620px) { .hero { padding-top:48px; } .brand-logo-wrap { width:160px; margin-bottom:34px; } }
@media (prefers-reduced-motion:reduce) { .brand-logo-wrap { animation:none; } }
/* Main background. To use the alternative, replace horizon.png with moon-horizon.png. */
body:before { background-image:url("horizon.png"); background-position:center bottom; }
