/* Scoped to the new signup section; existing site styles remain untouched. */
.newsletter { background: var(--paper); }
.newsletter-field { margin-bottom: 24px; }
.newsletter label { display: block; margin-bottom: 9px; font-size: 14px; line-height: 1.7; }
.newsletter .input { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.newsletter .input:focus-visible, .newsletter input[type="checkbox"]:focus-visible, .newsletter button:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.newsletter .newsletter-consent { display: flex; align-items: flex-start; gap: 12px; }
.newsletter input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--red); }
.newsletter-help { color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.newsletter .button { border: 0; font-family: inherit; cursor: pointer; min-height: 48px; }
.newsletter .input--hidden, .newsletter .sib-loader, .newsletter .entry__error, .newsletter .sib-form-message-panel { display: none; }
.newsletter .entry__error { color: #a52b23; font-size: 13px; margin-top: 8px; line-height: 1.6; }
.newsletter .sib-form-message-panel--active { display: block; padding: 18px; margin-bottom: 24px; background: #fff; border-left: 3px solid var(--red); font-size: 14px; line-height: 1.7; }
.newsletter .sib-loader { color: var(--muted); font-size: 14px; }
@media (max-width: 700px) { .newsletter .button { width: 100%; justify-content: center; } }
