.hero__blob {
  position: absolute;
  inset-inline: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  filter: blur(72px);
  min-height: 100vh;
}
.hero__blob--top { top: -20rem; }
.hero__blob--bot { top: calc(100% - 16rem); }
.hero__blob-shape {
  position: relative;
  left: calc(50% - 11rem);
  aspect-ratio: 1155 / 678;
  width: 36.125rem;
  max-width: none;
  min-height: 100vh;
  transform: translateX(-50%) rotate(30deg);
  opacity: 0.34;
  clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%);
  background: linear-gradient(to top right, #e3a14a, #6b4ee6);
}
.hero__blob--bot .hero__blob-shape {
  left: calc(50% + 3rem);
  transform: translateX(-50%);
}
@media (min-width: 640px) {
  .hero__blob--top { top: -22rem; }
  .hero__blob--bot { top: calc(100% - 30rem); }
  .hero__blob-shape {
    left: calc(50% - 30rem);
    width: 72.1875rem;
  }
  .hero__blob--bot .hero__blob-shape { left: calc(50% + 36rem); }
}

.scan {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 59;
  opacity: 0.045;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0 2px,
    rgba(246, 241, 232, 0.35) 2px 3px
  );
}

.ticker {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-block: 1px solid var(--line);
  background: rgba(7, 8, 12, 0.45);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ticker__track {
  display: flex;
  gap: 2.4rem;
  width: max-content;
  padding: 0.7rem 0;
  font-family: var(--mono);
  font-size: 0.72rem;
  color: var(--text-mute);
  animation: ticker 28s linear infinite;
}
.ticker b { color: var(--copper); font-weight: 500; }
.ticker em { color: var(--teal); font-style: normal; }

.constellation {
  position: relative;
  width: min(820px, 96%);
  height: min(58vw, 430px);
  margin: 0 auto;
}
.constellation__ring {
  position: absolute;
  inset: 8% 12%;
  border: 1px solid rgba(227, 161, 74, 0.16);
  border-radius: 50%;
  animation: spin 36s linear infinite;
}
.constellation__ring--2 {
  inset: 16% 20%;
  border-color: rgba(108, 227, 210, 0.14);
  animation-duration: 48s;
  animation-direction: reverse;
}
.constellation__core {
  position: absolute;
  left: 50%;
  top: 54%;
  width: 88px;
  height: 88px;
  margin: -44px 0 0 -44px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227, 161, 74, 0.55), transparent 70%);
  box-shadow: 0 0 40px rgba(227, 161, 74, 0.28);
  animation: corePulse 2.8s ease-in-out infinite;
}
.constellation__core::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: #e3a14a;
}
.cell {
  position: absolute;
  min-width: 108px;
  padding: 0.65rem 0.8rem;
  border-radius: 14px;
  background: rgba(12, 14, 20, 0.72);
  border: 1px solid rgba(246, 241, 232, 0.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
  animation: cellFloat 6.5s ease-in-out infinite;
}
.cell b {
  display: block;
  font-family: var(--mono);
  font-size: 0.72rem;
  color: #f0d48a;
}
.cell span {
  display: block;
  font-size: 0.68rem;
  color: var(--teal);
  margin-top: 0.15rem;
}
.cell--a { left: 8%; top: 18%; }
.cell--b { right: 10%; top: 12%; animation-delay: -2s; }
.cell--c { left: 38%; bottom: 6%; animation-delay: -3.6s; }

.news__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news__art--1, .news__art--2, .news__art--3 { background: #0b0d12; }

.diagram {
  overflow: hidden;
  position: relative;
}
.diagram svg { animation: driftSoft 8s ease-in-out infinite; }

.globe circle[r="1.4"] {
  animation: starTwinkle 3.6s ease-in-out infinite;
}

.launch {
  background:
    radial-gradient(circle at 80% 20%, rgba(227, 161, 74, 0.16), transparent 28%),
    radial-gradient(circle at 10% 80%, rgba(108, 227, 210, 0.1), transparent 26%);
}

.intro { cursor: pointer; }
.intro__skip {
  position: absolute;
  bottom: 1.6rem;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-mute);
}

@keyframes ticker {
  to { transform: translateX(-50%); }
}
@keyframes corePulse {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.08); opacity: 1; }
}
@keyframes cellFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes driftSoft {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes starTwinkle {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 0.9; }
}

@media (max-width: 700px) {
  .cell--a { left: 4%; top: 10%; }
  .cell--b { right: 4%; top: 8%; }
  .cell--c { left: 28%; bottom: 4%; }
}
