.article-newsletter { padding: 74px 24px 84px; background: #500039; color: #fff8f4; font-family: inherit; }
.article-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 72px; width: min(100%, 1040px); margin-inline: auto; }
.article-newsletter h2 { max-width: 500px; margin: 0; color: #fff8f4; font-size: clamp(31px, 3.3vw, 44px); line-height: 1.15; }
.article-newsletter__form { position: relative; min-width: 0; }
.article-newsletter__form > label:first-child { display: block; margin-bottom: 10px; font-size: 16px; font-weight: 700; }
.article-newsletter__input-row { display: flex; align-items: stretch; gap: 10px; }
.article-newsletter__input-row input { min-width: 0; flex: 1; min-height: 54px; padding: 12px 16px; border: 1px solid #e4ccd9; border-radius: 9px; background: #fffaf6; color: #40002f; font: inherit; font-size: 17px; text-align: left; }
.article-newsletter__privacy { margin: 14px 0 0; color: #f4e7ee; font-size: 14px; line-height: 1.6; }
.article-newsletter__privacy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.article-newsletter__consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 8px; color: #f4e7ee; font-size: 14px; line-height: 1.6; }
.article-newsletter__consent input { width: 20px; height: 20px; flex: none; margin: 2px 0 0; accent-color: #b4e900; cursor: pointer; }
.article-newsletter__consent label { cursor: pointer; }
.article-newsletter__submit { min-height: 54px; margin-top: 18px; padding: 12px 22px; border: 0; border-radius: 9px; background: #b4e900; color: #310025; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.article-newsletter__submit:hover { background: #cbf550; }
.article-newsletter__submit:disabled { opacity: .65; cursor: wait; }
.article-newsletter__status { min-height: 1.5em; margin: 10px 0 0; font-size: 15px; }
.article-newsletter__honeypot { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.article-newsletter :focus-visible { outline: 3px solid #b4e900; outline-offset: 3px; }

@media (max-width: 767px) {
  .article-newsletter { padding: 56px 20px 66px; }
  .article-newsletter__inner { grid-template-columns: 1fr; gap: 30px; }
  .article-newsletter__input-row { flex-direction: column; }
  .article-newsletter__submit { width: 100%; }
}
