/* All rules are scoped to the newsletter; existing styles.css is untouched. */
#newsletter { color: #edf6f7; background: #080d10; padding: 76px 0; scroll-margin-top: 100px; }
#newsletter .nl-card { max-width: 960px; margin: 0 auto; padding: clamp(24px, 5vw, 54px); border: 1px solid rgba(96,239,218,.22); border-radius: 24px; background: linear-gradient(135deg, rgba(31,209,220,.07), rgba(255,255,255,.015)); }
#newsletter h2, #newsletter h1 { max-width: 740px; margin: 14px 0 18px; color: #f3f7f8; font-size: clamp(1.8rem, 3.5vw, 2.7rem); letter-spacing: -.035em; line-height: 1.15; }
#newsletter p { color: #adbcc0; line-height: 1.65; }
#newsletter .kicker { color: #60efda; }
#newsletter form { margin-top: 28px; }
#newsletter .nl-row { display: flex; gap: 12px; margin-top: 10px; }
#newsletter input[type="email"] { min-width: 0; width: 100%; min-height: 52px; padding: 14px 16px; color: #f3f7f8; background: #060b0d; border: 1px solid #667b80; border-radius: 10px; font: inherit; }
#newsletter input[type="email"]::placeholder { color: #9aa7aa; }
#newsletter .nl-row button { flex: 0 0 auto; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
#newsletter button:disabled { opacity: .65; cursor: wait; }
#newsletter .nl-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; font-size: .875rem; line-height: 1.65; color: #b9c7ca; }
#newsletter input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 auto; margin: 4px 0 0; accent-color: #60efda; }
#newsletter a { color: #60efda; text-decoration: underline; text-underline-offset: 3px; }
#newsletter :focus-visible { outline: 3px solid #60efda; outline-offset: 4px; }
#newsletter .nl-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#newsletter .nl-status { min-height: 26px; margin: 16px 0 0; }
#newsletter .nl-status[data-state="success"], #newsletter #newsletter-success { color: #60efda; }
#newsletter .nl-status[data-state="error"], #newsletter .nl-fallback { color: #ffb8ad; }
#newsletter .nl-fallback { display: none; scroll-margin-top: 120px; }
#newsletter .nl-fallback:target { display: block; }
#newsletter .nl-fallback.nl-dismissed { display: none; }
#newsletter .nl-note { font-size: .8rem; }
#newsletter.nl-standalone { min-height: 100vh; display: grid; align-items: center; }
@media (max-width: 640px) {
  #newsletter { padding: 48px 0; }
  #newsletter .nl-row { flex-direction: column; }
  #newsletter .nl-row button { width: 100%; }
}
