.newsletter-section {
  padding: clamp(24px, 3vw, 52px) 0 clamp(72px, 7vw, 112px);
  background: #fff;
  scroll-margin-top: 24px;
}

.newsletter-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
  overflow: hidden;
  border-radius: clamp(24px, 2.5vw, 38px);
  background: #fff;
  box-shadow: 0 24px 70px rgb(0 0 0 / 10%);
}

.newsletter-copy {
  position: relative;
  z-index: 0;
  display: flex;
  min-height: 390px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5vw, 76px);
  overflow: hidden;
  color: #fff;
  background: #090909;
}

.newsletter-copy::before {
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -190px;
  bottom: -250px;
  border-radius: 50%;
  content: "";
  background: #ed1c24;
  filter: blur(10px);
  opacity: .72;
}

.newsletter-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 18px;
  color: rgb(255 255 255 / 68%);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.newsletter-kicker::before {
  width: 38px;
  height: 2px;
  content: "";
  background: #ed1c24;
}

.newsletter-copy h2 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(38px, 4vw, 62px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.newsletter-lead {
  max-width: 560px;
  margin: 24px 0 0;
  color: rgb(255 255 255 / 68%);
  font-size: 16px;
  line-height: 1.75;
}

.newsletter-note {
  margin: 20px 0 0;
  color: rgb(255 255 255 / 88%);
  font-size: 13px;
  font-weight: 600;
}

.newsletter-embed {
  display: flex;
  min-width: 0;
  min-height: 390px;
  align-items: center;
  justify-content: center;
  padding: clamp(22px, 3vw, 52px);
  background: #fff;
}

.newsletter-embed iframe {
  display: block;
  width: 100% !important;
  max-width: 760px;
  min-height: 330px;
  border: 0;
}

@media (max-width: 980px) {
  .newsletter-panel {
    grid-template-columns: 1fr;
  }

  .newsletter-copy {
    min-height: 0;
  }

  .newsletter-embed {
    min-height: 350px;
  }
}

@media (max-width: 560px) {
  .newsletter-section {
    padding-bottom: 72px;
  }

  .newsletter-copy,
  .newsletter-embed {
    padding: 30px 22px;
  }

  .newsletter-copy h2 {
    font-size: 38px;
  }

  .newsletter-embed iframe {
    min-height: 390px;
  }
}

/*
 * Keep one predictable rhythm across the optional home-page modules. Each
 * visible section contributes half of the space at a boundary; a module hidden
 * with display:none contributes nothing, so neighbouring sections never inherit
 * an oversized gap.
 */
main > section.home-promos,
main > section.section-space,
main > section.newsletter-section,
main > section.featured-products,
main > section.youtube-home,
main > section.shared-footer-promos {
  padding-top: clamp(32px, 3vw, 52px);
  padding-bottom: clamp(32px, 3vw, 52px);
}
