/* Hero: headline, calls to action, product mock-up and trust badges. */

.hero {
  position: relative;
  padding: clamp(56px, 8vw, 104px) var(--gutter) clamp(48px, 6vw, 72px);
  overflow: hidden;
}

.hero__shell {
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
}

.hero__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 22px;
}

.hero__badge {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  color: var(--nx-600);
  background: var(--nx-bone-2);
  border: 1px solid var(--nx-bone-3);
  padding: 7px 14px;
  border-radius: var(--r-pill);
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(31px, 7.4vw, 76px);
  line-height: 1.04;
  letter-spacing: -.035em;
  max-width: 16ch;
}

.hero__lead {
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.6;
  color: var(--nx-600);
  max-width: 62ch;
}

.hero__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 6px;
}

.hero__fineprint {
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--nx-500);
  letter-spacing: .01em;
}

/* Sparkle placement */

.hero__sparkle--1 {
  top: 40px;
  left: -60px;
  width: 320px;
  opacity: .06;
}

.hero__sparkle--2 {
  top: 340px;
  right: -40px;
  width: 200px;
  opacity: .07;
}

.hero__sparkle--3 {
  top: 120px;
  right: 22%;
  width: 74px;
  opacity: .1;
}

.hero__sparkle--4 {
  left: 2%;
  top: 8%;
  width: 64px;
  opacity: .09;
}

.hero__sparkle--5 {
  right: 3%;
  top: 30%;
  width: 96px;
  opacity: .07;
}

.hero__sparkle--6 {
  left: 12%;
  bottom: 2%;
  width: 44px;
  opacity: .1;
}

/* Mock-up slot: desktop monitor above 1080px, standalone picker below */

.hero__showcase {
  margin-top: clamp(36px, 5vw, 64px);
  position: relative;
}

.hero__showcase-mobile {
  display: none;
}

@media (max-width: 1080px) {
  .hero__showcase-desktop {
    display: none;
  }

  .hero__showcase-mobile {
    display: block;
  }
}

/* Trust badges */

.hero__trust {
  list-style: none;
  margin: 34px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 40px;
  justify-content: center;
}

.hero__trust li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  color: var(--nx-700);
  font-weight: 500;
}

.hero__trust .icon {
  --icon-size: 20px;
  color: var(--nx-billing);
}
