/* Newsletter dialog. Kept separate so public pages share one compact layout. */
.email-popup{
  --newsletter-ink:#17221c;
  --newsletter-muted:#606a63;
  --newsletter-green:#237434;
  position:fixed;
  inset:0;
  z-index:9998;
  display:grid;
  place-items:center;
  padding:24px;
  padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  height:100%;
  height:var(--newsletter-viewport-height,100dvh);
  top:var(--newsletter-viewport-top,0px);
  overflow:auto;
  overscroll-behavior:contain;
  background:rgba(16,26,19,.38);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  opacity:0;
  transition:opacity .18s ease;
}
.email-popup.show{opacity:1}
.email-popup .email-popup-card{
  display:block;
  position:relative;
  width:min(520px,100%);
  max-height:calc(100vh - 48px);
  max-height:calc(var(--newsletter-viewport-height,100dvh) - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));
  margin:auto;
  overflow:auto;
  overscroll-behavior:contain;
  background:#fff;
  color:var(--newsletter-ink);
  border:1px solid rgba(27,54,35,.12);
  border-radius:14px;
  box-shadow:0 24px 90px rgba(10,25,14,.19),0 4px 16px rgba(10,25,14,.05);
  transform:translateY(8px);
  transition:transform .22s ease;
}
.email-popup.show .email-popup-card{transform:none}
.email-popup .email-popup-content{padding:38px 36px 32px}
.email-popup .email-popup-close{
  position:absolute;
  top:9px;
  right:9px;
  z-index:2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#6b746d;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.email-popup .email-popup-close:hover{background:#f1f4f0;color:var(--newsletter-ink)}
.email-popup .email-popup-close svg{display:block;flex:none;width:20px;height:20px}
.email-popup .email-popup-eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 22px 20px 0;
  color:var(--newsletter-green);
  font-size:11px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.email-popup .email-popup-eyebrow>span{width:6px;height:6px;flex:none;border-radius:50%;background:#2da339}
.email-popup .email-popup-content h2{
  max-width:390px;
  margin:0 0 14px;
  color:var(--newsletter-ink);
  font-size:clamp(28px,4vw,36px);
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.045em;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.email-popup .email-popup-content>p{margin:0;max-width:410px;color:var(--newsletter-muted);font-size:15px;line-height:1.65;overflow-wrap:break-word}
.email-popup .email-popup-form{margin-top:26px}
.email-popup .email-popup-form>label{display:block;margin:0 0 8px;color:var(--newsletter-ink);font-size:12px;font-weight:650;line-height:1.5}
.email-popup .email-popup-input-row{display:grid;grid-template-columns:1fr;gap:10px;margin:0;min-width:0}
.email-popup .email-popup-input-row input{
  width:100%;
  min-width:0;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #ced6cf;
  border-radius:7px;
  outline:none;
  background:#fff;
  color:var(--newsletter-ink);
  font-size:16px;
  line-height:1.4;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.email-popup .email-popup-input-row input::placeholder{color:#7a827c;opacity:1}
.email-popup .email-popup-input-row input:focus{border-color:var(--newsletter-green);box-shadow:0 0 0 3px rgba(35,116,52,.12)}
.email-popup .email-popup-input-row input[aria-invalid="true"]{border-color:#ac3b30}
.email-popup .email-popup-input-row input:disabled{background:#f5f7f4;color:#626e65;opacity:1}
.email-popup .email-popup-input-row .button-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:49px;
  padding:13px 18px;
  border:1px solid transparent;
  border-radius:7px;
  background:var(--newsletter-green);
  color:#fff;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
  cursor:pointer;
  transition:background .16s ease;
}
.email-popup .email-popup-input-row .button-primary:hover{background:#1a5d29;color:#fff;transform:none}
.email-popup .email-popup-input-row .button-primary:disabled{background:#4e7956;color:#fff;cursor:default;opacity:1}
.email-popup .email-popup-note{margin:14px 0 0!important;color:var(--newsletter-muted);font-size:12px!important;line-height:1.65!important;overflow-wrap:break-word}
.email-popup .email-popup-note a{color:var(--newsletter-ink);text-decoration:underline;text-underline-offset:3px}
.email-popup .email-popup-status{margin:12px 0 0;color:var(--newsletter-muted);font-size:13px;line-height:1.6;overflow-wrap:break-word}
.email-popup .email-popup-status:empty{display:none}
.email-popup .email-popup-status.success{color:#226b32}
.email-popup .email-popup-status.error{color:#a3382d}
.email-popup :is(button,a):focus-visible{outline:2px solid var(--newsletter-green);outline-offset:3px}
@media(max-width:480px){
  .email-popup{padding:14px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .email-popup .email-popup-card{max-height:calc(var(--newsletter-viewport-height,100dvh) - max(14px,env(safe-area-inset-top)) - max(14px,env(safe-area-inset-bottom)));border-radius:12px}
  .email-popup .email-popup-content{padding:32px 24px 26px}
  .email-popup .email-popup-content h2{font-size:30px}
  .email-popup .email-popup-content>p{font-size:14px;line-height:1.6}
  .email-popup .email-popup-eyebrow{margin-bottom:18px;padding-right:8px;font-size:10px}
  .email-popup .email-popup-form{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){
  .email-popup,.email-popup .email-popup-card,.email-popup .email-popup-close,.email-popup .email-popup-input-row input,.email-popup .email-popup-input-row .button-primary{transition:none}
  .email-popup .email-popup-card{transform:none}
}
