.newsletter-signup { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,90px); align-items:start; border-top:1px solid var(--rule); }
.newsletter-signup-copy { padding-top:22px; max-width:480px; }
.newsletter-signup-copy h2 { margin:20px 0 24px; }
.newsletter-signup-copy p:not(.eyebrow) { font-size:18px; line-height:1.75; color:var(--muted); }
.newsletter-signup-detail { display:block; margin-top:28px; font-size:13px; color:var(--muted); }
.newsletter-signup-form { background:var(--surface); border:1px solid var(--rule); border-radius:14px; padding:clamp(22px,3vw,38px); }
.newsletter-signup-form .contact-form { border:0; padding:0; background:transparent; box-shadow:none; }
.newsletter-signup-form .form-privacy { margin-block:14px; }
.newsletter-signup-form .button { width:100%; }
@media(max-width:760px) { .newsletter-signup { grid-template-columns:1fr; gap:28px; } .newsletter-signup-copy { max-width:none; } .newsletter-signup-copy h2 { font-size:36px; } }

/* Article signup sits beside the title and stays out of the reading column. */
.editorial-lead-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,400px); gap:clamp(32px,5vw,72px); align-items:center; padding-top:24px; }
.editorial-lead-grid>.editorial-lead-content { max-width:none; min-width:0; margin:0; }
.article-newsletter { min-width:0; padding:28px; box-shadow:var(--shadow); }
.article-newsletter h2 { font-size:28px; line-height:1.15; letter-spacing:-.035em; margin:0 0 20px; }
.article-newsletter .form-field { gap:8px; margin-bottom:16px; }
.article-newsletter .form-field label { font-size:13px; }
.article-newsletter .form-privacy { font-size:11px; line-height:1.65; margin-block:12px; }
.article-newsletter .turnstile-note { font-size:11px; }
.article-newsletter .button { margin-top:16px; padding-inline:14px; }
@media(max-width:960px) {
  .editorial-lead-grid { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:16px; }
  .article-newsletter { width:100%; max-width:560px; }
}
@media(max-width:540px) {
  .article-newsletter { padding:20px; }
  .article-newsletter h2 { font-size:28px; }
}
@media print {
  .editorial-lead-grid { display:block; }
  .article-newsletter { display:none; }
}
