.rv-newsletter {
  padding: clamp(64px, 7vw, 96px) 20px;
  background: #f5f6f8;
  color: #16181c;
}
.rv-newsletter__inner {
  width: min(640px, 100%);
  margin-inline: auto;
  text-align: center;
}
.rv-newsletter h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.12;
}
.rv-newsletter p {
  margin: 14px auto 24px;
  color: #666d77;
  line-height: 1.65;
}
.rv-newsletter__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}
.rv-newsletter__form :where(input, button) { min-height: 48px; }
@media (max-width: 600px) {
  .rv-newsletter__form { grid-template-columns: 1fr; }
}
