.newsletter {
  margin: 64px auto 0;
  max-width: 760px;
  padding: 0 24px;
}
.newsletter-inner {
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.1), rgba(129, 140, 248, 0.1));
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 16px;
  padding: 32px;
  display: grid;
  gap: 20px;
}
.newsletter-copy h2 {
  margin: 0 0 8px;
  font-size: 1.4rem;
}
.newsletter-copy p {
  margin: 0;
  color: var(--text-2, #6b7280);
  font-size: 0.95rem;
  line-height: 1.5;
}
.newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.newsletter-form input[type="email"],
.newsletter-form input[type="text"] {
  flex: 1 1 200px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border, #e5e7eb);
  background: var(--bg, #fff);
  font-size: 0.95rem;
}
.newsletter-form .btn {
  padding: 12px 22px;
  white-space: nowrap;
}
.newsletter-msg {
  flex-basis: 100%;
  margin: 0;
  font-size: 0.9rem;
  min-height: 1.2em;
}
.newsletter-msg.ok { color: #10b981; }
.newsletter-msg.err { color: #ef4444; }
.nl-website {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
@media (max-width: 560px) {
  .newsletter-inner { padding: 24px; }
  .newsletter-form .btn { flex-basis: 100%; }
}
