.site-footer .footer-newsletter {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(18rem, 1.1fr);
  gap: .75rem 1.5rem;
  align-items: end;
  padding: 1.5rem 0 1.15rem;
  margin: 1.5rem 0;
  border-top: 1px solid rgba(244,239,227,.24);
  border-bottom: 1px solid rgba(244,239,227,.24);
}
.footer-newsletter h2 { margin: 0 0 .2rem; color: var(--paper); font: 800 var(--type-lg)/1.2 var(--sans); }
.footer-newsletter p { margin: .2rem 0; }
.site-footer .footer-pilot-cta { margin-bottom: 1.5rem; }
.footer-newsletter form label, .newsletter-field > label { display: block; margin-bottom: .35rem; font-weight: 750; }
.footer-newsletter label span, .newsletter-field label span, .newsletter-topics legend span { font-size: var(--type-sm); font-weight: 500; opacity: .78; }
.newsletter-inline-fields { display: flex; gap: .55rem; }
.newsletter-form input[type="email"], .newsletter-form input[type="text"] {
  width: 100%; min-width: 0; min-height: 44px; padding: .65rem .8rem;
  border: 1px solid var(--line); border-radius: var(--radius-badge); background: var(--card-bg); color: var(--ink); font: inherit;
}
.newsletter-submit {
  min-height: 44px; padding: .65rem 1.2rem; border: 0; border-radius: var(--radius-pill);
  background: #3f6f55; color: #fff8e8; font: 800 var(--type-sm)/1.2 var(--sans); cursor: pointer; white-space: nowrap;
}
.newsletter-submit:hover { background: #315b45; }
.newsletter-submit:disabled { opacity: .62; cursor: wait; }
.newsletter-submit:focus-visible, .newsletter-form input:focus-visible, .newsletter-interest input:focus-visible,
.newsletter-more-options:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
.footer-newsletter .newsletter-privacy, .newsletter-privacy { grid-column: 1 / -1; margin: 0; font-size: var(--type-sm); line-height: 1.45; }
.footer-newsletter .newsletter-more-options { color: var(--cream-warm); font-size: var(--type-sm); font-weight: 700; }
.newsletter-form-status { min-height: 1.4em; }
.newsletter-error-summary { color: #a23232; font-weight: 700; }
.site-footer .newsletter-error-summary { color: #ffd9c8; }
.newsletter-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.newsletter-page { width: min(var(--container-max), calc(100% - var(--space-8))); margin: 1.5rem auto; }
.newsletter-page .compact-hero { margin-bottom: 1rem; }
.newsletter-panel { max-width: 50rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--card-bg); box-shadow: var(--shadow-card); }
.newsletter-panel h2 { margin-top: 0; font-size: var(--type-2xl); }
.newsletter-panel .newsletter-privacy { margin-bottom: 1.25rem; color: var(--ink-soft); }
.newsletter-form-full { display: grid; gap: 1rem; }
.newsletter-field { min-width: 0; }
.newsletter-field input { max-width: 36rem; }
.newsletter-topics { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin: 0; padding: 0; border: 0; }
.newsletter-topics legend { width: 100%; margin-bottom: .3rem; font-weight: 750; }
.newsletter-interest { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .25rem .2rem; }
.newsletter-interest input { width: 1.1rem; height: 1.1rem; accent-color: #3f6f55; }
.newsletter-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.newsletter-submit-row .newsletter-form-status { margin: 0; }
.newsletter-form-full .newsletter-submit { min-width: 9rem; }
@media (max-width: 700px) {
  .site-footer .footer-newsletter { grid-template-columns: minmax(0, 1fr); }
  .newsletter-inline-fields { align-items: stretch; }
  .newsletter-inline-fields .newsletter-submit { min-width: 7.25rem; }
  .newsletter-page { width: min(100% - 1.5rem, var(--container-max)); }
  .newsletter-panel { padding: 1rem; }
  .newsletter-submit-row { align-items: stretch; flex-direction: column; }
  .newsletter-submit-row .newsletter-submit { width: 100%; }
}
