.signup-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.signup-card .cta-pill {
  width: 100%;
  align-self: stretch;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}

.signup-card__cupos {
  width: min(100%, 86%);
  margin-top: -0.55rem;
  margin-inline: auto;
  background: var(--white);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18);
  text-align: center;
  position: relative;
  z-index: 1;
}

.signup-card__cupos-title {
  margin: 0;
  color: var(--pink-cta);
  font-family: var(--font-body);
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.1;
}

.signup-card__cupos-sub {
  margin: 0.35rem 0 0;
  color: var(--pink-cta);
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
}

.signup-card--cta {
  width: min(100%, 480px);
}

.signup-card--cta .cta-pill {
  padding: clamp(1.1rem, 2.3vw, 1.5rem) clamp(1.65rem, 3.4vw, 2.35rem);
  font-size: clamp(1.08rem, 2.25vw, 1.65rem);
  box-shadow: 0 6px 16px rgba(248, 21, 113, 0.32);
}

.signup-card--cta .cta-pill img {
  width: clamp(1.45rem, 2.6vw, 2rem);
}

.signup-card--cta .signup-card__cupos {
  padding: clamp(0.95rem, 2vw, 1.15rem) clamp(1.2rem, 2.5vw, 1.55rem);
}

.signup-card--cta .signup-card__cupos-title {
  font-size: clamp(1.15rem, 2.4vw, 1.75rem);
}

.signup-card--cta .signup-card__cupos-sub {
  font-size: clamp(0.92rem, 1.6vw, 1.25rem);
}

.signup-card--hero {
  width: min(100%, 590px);
}

.signup-card--hero .cta-pill {
  padding: clamp(1.22rem, 2.65vw, 1.68rem) clamp(2rem, 4.2vw, 3rem);
  font-size: clamp(1.18rem, 2.55vw, 1.88rem);
  box-shadow: 0 8px 20px rgba(248, 21, 113, 0.35);
}

.signup-card--hero .cta-pill img {
  width: clamp(1.58rem, 2.85vw, 2.25rem);
}

.signup-card--hero .signup-card__cupos {
  padding: clamp(1.05rem, 2.25vw, 1.28rem) clamp(1.35rem, 2.75vw, 1.7rem);
}

.signup-card--hero .signup-card__cupos-title {
  font-size: clamp(1.28rem, 2.65vw, 1.95rem);
}

.signup-card--hero .signup-card__cupos-sub {
  font-size: clamp(1rem, 1.8vw, 1.38rem);
}

@media (max-width: 720px) {
  .signup-card--cta {
    width: min(94vw, 440px);
  }

  .signup-card--hero {
    width: min(96vw, 520px);
  }
}

@media (max-width: 480px) {
  .signup-card--cta .signup-card__cupos,
  .signup-card--hero .signup-card__cupos {
    padding: 0.9rem 1.15rem 1rem;
  }
}
