/* First screen: shared glow, headline and the illustrated stage with the remote. */

.glow {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, 0.32), rgba(232, 35, 26, 0.1) 55%, transparent);
  filter: blur(20px);
}

/* Hero */
.hero {
  position: relative;
  isolation: isolate;
  padding-top: clamp(40px, 7vw, 96px);
  text-align: center;
}

.hero > .glow {
  left: 50%;
  top: -320px;
  width: min(1100px, 120vw);
  height: 640px;
  transform: translateX(-50%);
}

.hero h1 {
  margin: 22px auto 0;
  max-width: 15ch;
  font-size: clamp(40px, 7.2vw, 92px);
  line-height: 1;
}

.hero .lead {
  max-width: 680px;
  margin: 26px auto 0;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 36px;
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  margin-top: 22px;
  font-size: 14px;
  color: var(--text-3);
}

.hero-meta span + span::before {
  content: "·";
  margin-right: 18px;
}

.stage {
  container-type: inline-size;
  position: relative;
  margin-top: clamp(48px, 7vw, 88px);
}

.stage-scene {
  position: relative;
  aspect-ratio: 2 / 1;
  overflow: hidden;
}

.stage-scene > img {
  width: 100%;
  height: 100%;
}

.stage-scene::before,
.stage-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.stage-scene::before {
  background: linear-gradient(90deg, #000 0%, transparent 7%, transparent 93%, #000 100%);
}

.stage-scene::after {
  background: linear-gradient(#000 0%, transparent 10%, transparent 82%, #000 100%);
}

.stage .iphone {
  position: absolute;
  left: 80.2%;
  top: 1%;
  width: 17.8%;
  transform: rotate(3deg);
}

.stage-pill {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.55em;
  padding: 0.55em 1em 0.55em 0.8em;
  border: 1px solid var(--stroke-glass);
  border-radius: 999px;
  background: rgba(20, 15, 13, 0.55);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  font-size: max(11px, 1.12cqw);
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  animation: pill 6s ease-in-out infinite both;
}

.stage-pill .ic {
  color: var(--flame);
  font-size: 1.2em;
}

.stage-pill:nth-of-type(1) { left: 68.5%; top: 21%; }
.stage-pill:nth-of-type(2) { left: 72%; top: 31%; animation-delay: 2s; }
.stage-pill:nth-of-type(3) { left: 66.5%; top: 41%; animation-delay: 4s; }

@keyframes pill {
  0% { opacity: 0; transform: translateY(10px) scale(0.96); }
  8%, 40% { opacity: 1; transform: none; }
  52%, 100% { opacity: 0; transform: translateY(-12px); }
}

@media (max-width: 760px) {
  .stage-scene {
    aspect-ratio: 940 / 600;
  }

  .stage-scene > img {
    width: 127.66%;
    max-width: none;
  }

  .stage .iphone {
    position: relative;
    left: auto;
    top: auto;
    width: 56%;
    margin: -30% 4% 0 auto;
  }

  .stage-pill {
    display: none;
  }
}
