.affiliate-public-signin {
  margin: 17px 0 0 !important;
  color: var(--muted) !important;
  font-size: .83rem !important;
}

.affiliate-public-signin a {
  color: var(--pink);
  font-weight: 800;
}

.affiliate-public-benefit-copy li > span {
  font: inherit;
}

.affiliate-public-benefit-copy li > span svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Match the site's full-width presentation while retaining readable gutters. */
.affiliate-public-hero,
.affiliate-public-section,
.affiliate-public-final {
  width: 100%;
  padding-right: clamp(24px, 5vw, 96px);
  padding-left: clamp(24px, 5vw, 96px);
}

/* Keep headings crisp and less visually heavy across the page. */
.affiliate-public-hero h1 {
  max-width: 1100px;
  font-size: clamp(3.2rem, 6.2vw, 6.4rem);
  font-weight: 680;
  line-height: .96;
  letter-spacing: -.055em;
}

.affiliate-public-section h2,
.affiliate-public-final h2 {
  max-width: 1000px;
  font-size: clamp(2.35rem, 4.3vw, 4.7rem);
  font-weight: 660;
  line-height: 1;
  letter-spacing: -.045em;
}

.affiliate-public-earnings h2 {
  font-size: clamp(1.9rem, 2.6vw, 2.75rem);
  font-weight: 680;
  letter-spacing: -.035em;
}

.affiliate-public-feature-grid h3,
.affiliate-public-steps h3,
.affiliate-public-benefit-copy li strong,
.affiliate-public-rules dt,
.affiliate-public-faq-list summary {
  font-weight: 700;
}

@media (max-width: 760px) {
  .affiliate-public-hero,
  .affiliate-public-section,
  .affiliate-public-final {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
  }

  .affiliate-public-hero h1 {
    font-size: clamp(2.8rem, 13vw, 4.5rem);
  }
}

@media (max-width: 520px) {
  .affiliate-public-hero,
  .affiliate-public-section,
  .affiliate-public-final {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
  }
}
