.newsletter-section { padding: clamp(64px, 8vw, 120px) 24px; border-top: 1px solid var(--divider); background: radial-gradient(ellipse at 12% 70%, #4ade820c, transparent 55%), var(--bg-ink); }
.newsletter-inner { max-width: var(--max); margin: auto; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(36px, 7vw, 100px); }
.newsletter-copy h2 { margin: 24px 0; font-size: clamp(2.2rem, 4vw, 3.7rem); line-height: 1.15; }
.newsletter-copy h2 em { color: var(--aurora-green); font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; }
.newsletter-copy > p:last-of-type { max-width: 530px; }
.newsletter-signature { margin-top: 32px; font-size: .7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .12em; }
.newsletter-signature span { color: var(--gold); margin: 0 8px; }
.newsletter-panel { min-width: 0; padding: clamp(24px, 4vw, 42px); border: 1px solid #4ade823d; border-top: 2px solid var(--aurora-green); border-radius: 8px; background: #081625; }
.newsletter-panel-label { color: var(--aurora-green); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; }
.newsletter-panel h3 { margin: 14px 0 30px; font-size: 1.65rem; line-height: 1.4; }
#newsletterForm label { display: block; font-size: .8rem; margin-bottom: 10px; color: var(--text-body); }
#newsletterForm input[type=email] { display: block; width: 100%; min-width: 0; min-height: 56px; padding: 14px 16px; border: 1px solid #8fa3ba70; border-radius: 4px; background: var(--bg-deep); color: white; font: inherit; font-size: 1rem; }
#newsletterForm input::placeholder { color: var(--text-muted); }
#newsletterForm .btn-primary { width: 100%; gap: 16px; margin-top: 16px; cursor: pointer; }
#newsletterForm button:disabled { opacity: .65; cursor: wait; transform: none; }
.newsletter-note { margin-top: 18px; color: var(--text-muted); font-size: .75rem; line-height: 1.7; }
.newsletter-status { min-height: 1.6em; margin-top: 12px; font-size: .85rem; overflow-wrap: anywhere; }
.newsletter-status[data-state=error] { color: #ffb4a6; }
.newsletter-status[data-state=success] { color: var(--aurora-green); }
.newsletter-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.newsletter-thanks { margin: auto; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 48px 30px 36px; border: 1px solid var(--aurora-green); border-radius: 8px; background: var(--bg-ink); color: var(--text-body); text-align: center; box-shadow: var(--shadow-heavy); }
.newsletter-thanks::backdrop { background: #030812cc; }
.newsletter-thanks h2 { font-size: clamp(2rem, 5vw, 3rem); margin: 20px 0; line-height: 1.2; }
.newsletter-thanks .eyebrow { color: var(--aurora-green); }
.newsletter-thanks > p { margin-bottom: 24px; }
.newsletter-thanks .btn-primary { cursor: pointer; }
.newsletter-check { width: 54px; height: 54px; margin: 0 auto 20px; border: 1px solid var(--aurora-green); border-radius: 50%; color: var(--aurora-green); font-size: 28px; }
.newsletter-close { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: white; font-size: 28px; cursor: pointer; }
#newsletterForm :focus-visible, .newsletter-thanks :focus-visible { outline: 2px solid var(--aurora-green); outline-offset: 4px; }
@media (max-width: 800px) { .newsletter-inner { grid-template-columns: 1fr; } }
