.newsletter {
  background: var(--bordeaux-deep);
  color: var(--bg-cream);
  padding: 100px var(--padding-page);
  text-align: center;
}

.newsletter h2 {
  font-family: var(--font-serif);
  font-size: 56px;
  font-weight: 400;
  line-height: 1.05;
}
.newsletter h2 em {
  font-style: italic;
  color: var(--gold-soft);
}

.newsletter p {
  margin: 24px auto 0;
  font-size: 15px;
  color: var(--gold-soft);
  max-width: 520px;
  line-height: 1.7;
}

.newsletter-form {
  margin: 40px auto 0;
  display: flex;
  max-width: 520px;
  gap: 12px;
}

.newsletter-form input {
  flex: 1;
  background: transparent;
  border: 0.5px solid rgba(237, 228, 211, 0.4);
  color: var(--bg-cream);
  padding: 16px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-family: var(--font-sans);
  outline: none;
}
.newsletter-form input::placeholder { color: rgba(237, 228, 211, 0.5); }
.newsletter-form input:focus { border-color: var(--gold-soft); }

.newsletter-form button {
  background: var(--bg-cream);
  color: var(--bordeaux-deep);
  border: none;
  padding: 16px 32px;
  border-radius: 4px;
  font-size: 14px;
  font-family: var(--font-sans);
  cursor: pointer;
  white-space: nowrap;
  transition: opacity var(--transition);
}
.newsletter-form button:hover { opacity: 0.9; }

/* ── Mobile ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .newsletter { padding: 64px var(--padding-mobile); }
  .newsletter h2 { font-size: 38px; }
  .newsletter p  { font-size: 13px; margin-top: 16px; }

  .newsletter-form {
    flex-direction: column;
    gap: 10px;
    margin-top: 28px;
  }
  .newsletter-form input,
  .newsletter-form button { padding: 14px 16px; font-size: 13px; }
  .newsletter-form button { width: 100%; }
}
