.jo-newsletter{background:var(--cream,#f4ede5);border:1px solid var(--line,#d9cec4);padding:35px;max-width:560px;margin:0 auto;text-align:left;color:var(--ink,#263b40)}
.jo-newsletter h2{font:400 30px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:0 0 14px}
.jo-newsletter p{font-size:15px;line-height:1.6;margin:0 0 20px}
.jo-newsletter form{display:grid;gap:20px}
.jo-newsletter label{display:block;font-size:15px;line-height:1.5}
.jo-newsletter input{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:7px;padding:11px 13px;font:inherit;color:inherit;border:1px solid var(--line,#d9cec4);border-radius:4px;background:#fff}
.jo-newsletter input:focus-visible,.jo-newsletter button:focus-visible{outline:3px solid #a77b3d;outline-offset:3px}
.jo-newsletter button{justify-self:start;font-family:inherit;cursor:pointer;background:var(--teal,#245d65);color:#fff;padding:13px 23px;border:1px solid var(--teal,#245d65);font-size:15px;min-height:48px}
.jo-newsletter button:hover{background:#17434a}
.jo-newsletter button:disabled{opacity:.6;cursor:wait}
.jo-newsletter .jo-newsletter-note{font-size:13px;color:var(--muted,#5d696b);margin:0}
.jo-newsletter .jo-newsletter-status{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.jo-newsletter-status[data-state=error]{color:#8c352d}
.jo-newsletter-status[data-state=success]{color:var(--teal,#245d65);font-weight:600}
.jo-newsletter-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.jo-newsletter [hidden]{display:none!important}
@media(max-width:620px){.jo-newsletter{padding:24px}}
@media(max-width:480px){.jo-newsletter button{width:100%}}

/* Compact form in the lower signup band or footer.
   The dedicated newsletter-page form keeps its original sizing. */
:is(.signup-band, footer) .jo-newsletter {
  padding: 20px;
  container-type: inline-size;
  container-name: joNewsletter;
}
:is(.signup-band, footer) .jo-newsletter h2 {
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 8px;
}
:is(.signup-band, footer) .jo-newsletter .jo-newsletter-intro {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 14px;
}
:is(.signup-band, footer) .jo-newsletter form {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
:is(.signup-band, footer) .jo-newsletter form > * {
  grid-column: 1 / -1;
  min-width: 0;
}
:is(.signup-band, footer) .jo-newsletter label {
  font-size: 13px;
  line-height: 1.4;
}
:is(.signup-band, footer) .jo-newsletter input {
  min-height: 44px;
  margin-top: 5px;
  padding: 9px 11px;
  font-size: 16px;
  line-height: 1.4;
}
:is(.signup-band, footer) .jo-newsletter button {
  min-height: 44px;
  padding: 10px 16px;
  font-size: 14px;
  line-height: 1.4;
}
:is(.signup-band, footer) .jo-newsletter .jo-newsletter-note {
  font-size: 12px;
  line-height: 1.5;
}
:is(.signup-band, footer) .jo-newsletter .jo-newsletter-status {
  font-size: 13px;
  line-height: 1.4;
}
:is(.signup-band, footer) .jo-newsletter .jo-newsletter-status:empty,
:is(.signup-band, footer) .jo-newsletter .jo-newsletter-verification:empty {
  display: none;
}
@container joNewsletter (min-width: 390px) {
  :is(.signup-band, footer) .jo-newsletter form {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  }
  :is(.signup-band, footer) .jo-newsletter form > label:nth-of-type(1) {
    grid-column: 1;
  }
  :is(.signup-band, footer) .jo-newsletter form > label:nth-of-type(2) {
    grid-column: 2;
  }
}
