.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 100%, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.92) 18%, rgba(245,252,249,0.88) 34%, rgba(234,247,242,0.92) 60%, rgba(230,244,239,0.96) 80%, rgba(225,241,236,1) 100%);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-conic-gradient(
      from -90deg at 50% 100%,
      rgba(255,255,255,0.35) 0deg 7.2deg,
      rgba(219,239,232,0.17) 7.2deg 14.4deg
    );
  opacity: 0.9;
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 170px;
  background: linear-gradient(to bottom, rgba(245,252,249,0), rgba(245,252,249,0.85), #ffffff 100%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 1;
  max-width: calc(var(--container) + 40px);
  margin: 0 auto;
  padding: 125px 20px 110px;
  text-align: center;
}

.hero h1 {
  margin: 0 auto;
  max-width: 15.5ch;
  font-size: clamp(3.4rem, 7vw, 7rem);
  line-height: 0.96;
  letter-spacing: -0.065em;
  font-weight: 900;
}

.hero-sub {
  max-width: 690px;
  margin: 38px auto 0;
  font-size: clamp(1.12rem, 1.7vw, 1.45rem);
  line-height: 1.55;
  color: #20222a;
  letter-spacing: -0.02em;
}

.benefits {
  list-style: none;
  padding: 0;
  margin: 54px auto 0;
  display: inline-grid;
  gap: 15px;
  text-align: left;
  font-size: clamp(1.02rem, 1.45vw, 1.16rem);
  line-height: 1.45;
  color: #1b1d22;
}

.benefits li {
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  gap: 12px;
  align-items: start;
}

.benefits li::before {
  content: "✓";
  color: var(--purple);
  font-size: 1.42rem;
  line-height: 1;
  transform: translateY(0.01em);
}

.hero .cta-wrap {
  margin-top: 56px;
}

.social-proof {
  width: min(100%, 540px);
  margin: 56px auto 0;
}

@media (max-width: 920px) {
  .hero-inner {
    padding-top: 92px;
    padding-bottom: 96px;
  }

  .hero h1 {
    max-width: 11.8ch;
  }
}

@media (max-width: 720px) {
  .hero h1 {
    font-size: clamp(2.55rem, 13vw, 4.2rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
  }

  .hero-sub {
    margin-top: 28px;
    font-size: 1.04rem;
  }

  .benefits {
    width: 100%;
    max-width: 420px;
    font-size: 0.99rem;
    gap: 13px;
    margin-top: 36px;
  }

  .social-proof {
    width: min(100%, 480px);
    margin-top: 40px;
  }
}
