.newsletter-section { padding: 56px 0; color: var(--blue-dark); background: #edf4f0; border-top: 1px solid #d7e4dc; scroll-margin-top: 100px; }
.newsletter-section[hidden] { display: none !important; }
.newsletter-layout { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 64px; }
.newsletter-section .eyebrow { margin-bottom: 12px; }
.newsletter-section h2 { max-width: 440px; margin-bottom: 14px; font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.15; }
.newsletter-description { max-width: 460px; margin-bottom: 0; color: #4d6271; font-size: .95rem; }
.newsletter-form { min-width: 0; }
.newsletter-email-label { display: block; margin-bottom: 8px; font-size: .85rem; font-weight: 800; }
.newsletter-fields { display: flex; align-items: stretch; gap: 10px; }
.newsletter-fields input { min-width: 0; flex: 1; min-height: 50px; padding: 12px 15px; color: #17324d; background: #fff; border: 1px solid #becfc5; border-radius: 7px; font: inherit; font-size: 16px; }
.newsletter-fields input:focus-visible { outline: 2px solid #34745d; outline-offset: 2px; }
.newsletter-fields .button { flex: 0 0 auto; min-height: 50px; padding-inline: 20px; white-space: nowrap; }
.newsletter-fields .button:disabled { opacity: .65; cursor: not-allowed; }
.newsletter-form[aria-busy="true"] .button:disabled { cursor: wait; }
.newsletter-fields input:disabled { background: #f8faf9; cursor: not-allowed; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; color: #4d6271; font-size: .76rem; line-height: 1.6; cursor: pointer; }
.newsletter-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #34745d; }
.newsletter-info { margin: 9px 0 0 28px; color: #4d6271; font-size: .74rem; line-height: 1.6; }
.newsletter-info a { text-decoration: underline; text-underline-offset: 3px; }
.newsletter-message { min-height: 1.5em; margin: 12px 0 0; font-size: .84rem; font-weight: 700; }
.newsletter-message[data-state="error"] { color: #9b2929; }
.newsletter-message[data-state="success"] { color: #285d4b; }
.newsletter-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 820px) { .newsletter-layout { grid-template-columns: 1fr; gap: 28px; } .newsletter-section { padding: 40px 0; } }
@media (max-width: 520px) { .newsletter-fields { flex-direction: column; } .newsletter-fields .button { width: 100%; } .newsletter-info { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .newsletter-section * { transition: none !important; } }
