.newsletter-page { min-height: 100vh; display: grid; place-items: center; padding: 48px 20px; }
.newsletter-card { width: 100%; max-width: 760px; padding: clamp(24px, 5vw, 56px); background: var(--glass); border: 1px solid var(--glass-border); border-radius: 20px; }
.newsletter-card h1, .newsletter-card h2 { font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.2; margin: 20px 0 16px; }
.newsletter-card p { margin-bottom: 24px; color: var(--text-muted); }
.newsletter-card a { color: #73cdff; }
.newsletter-card .newsletter-brand { color: var(--text-light); font-size: 1.2rem; font-weight: 700; text-decoration: none; }
.newsletter-field label { display: block; margin-bottom: 8px; }
.newsletter-field input { width: 100%; min-height: 50px; padding: 12px 16px; border-radius: 8px; border: 1px solid var(--glass-border); background: var(--bg-dark); color: var(--text-light); font: inherit; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0; }
.newsletter-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; accent-color: var(--primary); }
.newsletter-consent label { font-size: .92rem; color: var(--text-muted); }
.newsletter-card button { font: inherit; cursor: pointer; white-space: normal; }
.newsletter-card button:disabled { opacity: .65; cursor: wait; }
.newsletter-card :focus-visible { outline: 3px solid #73cdff; outline-offset: 4px; }
.newsletter-card .newsletter-privacy { font-size: .85rem; margin: 20px 0 0; }
.newsletter-status { margin-top: 20px; padding: 16px; border-radius: 8px; border: 1px solid var(--glass-border); }
.newsletter-status[data-error="true"] { border-color: #f87171; }
.newsletter-card [hidden] { display: none !important; }
.newsletter-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.newsletter-card .newsletter-token-status { margin: 20px 0; }
@media (max-width: 480px) { .newsletter-card button { width: 100%; } }
