/* Newsletter signup card — extracted from _partials/_newsletter_signup.html
   so the CSS lives in <head> (valid HTML) instead of a body-level <style>.
   Linked in the <head> of every page that includes the partial. */
.cv-newsletter-card { background: #102033; color: #fff; border-radius: 14px; padding: 26px 28px; margin: 32px 0; box-shadow: 0 12px 28px rgba(15,23,42,0.08); }
.cv-newsletter-inner { max-width: 720px; margin: 0 auto; }
.cv-newsletter-pitch h3 { color: #fff; font-weight: 700; font-size: 1.2rem; margin: 0 0 6px; }
.cv-newsletter-pitch p { color: #cbd5e1; font-size: 0.92rem; margin: 0 0 16px; }
.cv-newsletter-form { display: flex; gap: 8px; flex-wrap: wrap; }
.cv-newsletter-form input[type=email] { flex: 1 1 240px; padding: 10px 14px; border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; background: rgba(255,255,255,0.06); color: #fff; font-size: 0.95rem; }
.cv-newsletter-form input[type=email]::placeholder { color: #94a3b8; }
.cv-newsletter-form input[type=email]:focus { outline: none; border-color: #f8b440; box-shadow: 0 0 0 3px rgba(248,180,64,0.18); }
.cv-newsletter-btn { background: #f8b440; color: #102033; border: 0; border-radius: 8px; padding: 10px 22px; font-weight: 700; cursor: pointer; transition: filter .15s ease; }
.cv-newsletter-btn:hover { filter: brightness(1.05); }
.cv-newsletter-btn[disabled] { opacity: 0.5; cursor: progress; }
.cv-newsletter-status { color: #f8b440; font-size: 0.85rem; min-height: 1.2em; margin: 10px 0 0; }
.cv-newsletter-status.is-error { color: #fca5a5; }
@media (max-width: 480px) {
  .cv-newsletter-form input[type=email], .cv-newsletter-btn { flex: 1 1 100%; }
}
