.newsletter-section { padding:64px 0; }
.newsletter-form { max-width:680px; padding:28px; border:2px solid var(--ink); border-radius:12px; background:var(--surface); box-shadow:4px 4px 0 var(--ink); }
.newsletter-form h2 { font:400 26px/1.4 var(--mono); margin-bottom:14px; }
.newsletter-form p { font-size:17px; line-height:1.6; margin-bottom:18px; }
.newsletter-label { display:block; margin-bottom:6px; font:500 13px/1.4 var(--mono); color:var(--ink); }
.newsletter-row { display:flex; gap:12px; }
.newsletter-row input { min-width:0; flex:1; padding:12px; border:1px solid var(--hairline); border-radius:6px; background:var(--paper); color:var(--ink); font:16px/1.5 var(--mono); }
.newsletter-status { min-height:1.5em; margin:12px 0 0; font-size:14px; line-height:1.5; }
.newsletter-status:empty { min-height:0; margin-top:0; }
.newsletter-status[data-error] { color:#9b2c2c; }
.newsletter-hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.newsletter-form .newsletter-fine { margin:12px 0 0; font:12px/1.5 var(--mono); color:var(--ink-soft); }
[data-newsletter-form] button:disabled { opacity:.65; cursor:wait; }
@media(max-width:600px) { .newsletter-row { flex-direction:column; } .newsletter-form { padding:22px; } }
