.newsletter { border-top:1px solid var(--line); padding:3rem 0; }
.newsletter-layout { display:grid; grid-template-columns:1fr 1fr; gap:2rem 4rem; align-items:start; }
.newsletter h2 { font:700 1.8rem/1.2 var(--sans); letter-spacing:0; margin:0 0 .8rem; }
.newsletter p { margin:0 0 .8rem; }
.newsletter-count { color:var(--muted); font:.85rem/1.5 var(--sans); }
.newsletter-form label { display:block; font:600 .85rem/1.4 var(--sans); margin-bottom:.5rem; }
.newsletter-fields { display:flex; gap:.6rem; }
.newsletter input { min-width:0; width:100%; min-height:3rem; border:1px solid var(--line); border-radius:4px; padding:.75rem; font:1rem/1.4 var(--sans); color:var(--ink); background:var(--paper); }
.newsletter input:focus-visible { outline:2px solid var(--signal); outline-offset:2px; }
.newsletter .button { flex-shrink:0; }
.newsletter-consent { color:var(--muted); font:.75rem/1.5 var(--sans); margin-top:.8rem !important; }
.newsletter-consent a { text-decoration:underline; }
.newsletter-status { min-height:1.5em; font:.85rem/1.5 var(--sans); }
.newsletter-unsubscribe { color:var(--ink); background:none; border:0; padding:.3rem 0; text-decoration:underline; cursor:pointer; font:.85rem/1.5 var(--sans); }
.newsletter [hidden] { display:none; }
.newsletter button:disabled { opacity:.65; cursor:wait; }
@media(max-width:760px) { .newsletter-layout { grid-template-columns:1fr; gap:1rem; } }
@media(max-width:420px) { .newsletter-fields { flex-direction:column; } .newsletter-fields .button { align-self:flex-start; } }
