.newsletter > div { flex: 1; min-width: 0; }
.newsletter-form { width: min(100%, 440px); flex: 1; min-width: 0; }
.newsletter-form label { display: block; font-size: 1rem; font-weight: 600; margin-bottom: 8px; }
.signup-fields { display: flex; gap: 10px; align-items: stretch; }
.signup-fields input { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #76786e; background: var(--paper); color: var(--ink); padding: 12px; font: 1rem/1.4 var(--sans); border-radius: 0; }
.signup-fields input:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 3px; }
.newsletter .signup-fields .button { width: auto; min-height: 48px; justify-content: center; }
.signup-fields button:disabled { opacity: .65; cursor: wait; }
.newsletter-form .signup-note { margin-top: 12px; font-size: .875rem; line-height: 1.6; color: #485054; }
.signup-note a { text-decoration: underline; }
#signup-status { min-height: 1.6em; margin-top: 12px; font-size: 1rem; }
#signup-status[data-state="error"] { color: #8a2e26; }
#signup-status[data-state="success"] { color: #285234; }
#newsletter { scroll-margin-top: 110px; }
@media (max-width: 1000px) { .newsletter { flex-direction: column; align-items: stretch; } .newsletter-form { width: 100%; max-width: 600px; } }
@media (max-width: 700px) { .signup-fields { flex-direction: column; } .newsletter .signup-fields .button { width: 100%; } }
