.twd-newsletter-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  margin: auto;
  padding: 48px 20px 24px;
  border: 1px solid #dce1e3;
  border-radius: 20px;
  background: #fff;
  color: var(--black, #151515);
  font-family: inherit;
  line-height: 1.6;
  overflow: auto;
  overscroll-behavior: contain;
}
.twd-newsletter-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.twd-newsletter-dialog .twd-newsletter-close {
  position: absolute;
  top: 8px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: 300 30px/1 sans-serif;
  cursor: pointer;
}
.twd-newsletter-dialog :is(button, a):focus-visible {
  outline: 2px solid var(--accent, #005c67);
  outline-offset: 3px;
}
.twd-newsletter-dialog :is(.twd-newsletter-loading, .twd-newsletter-fallback) {
  margin: 12px 16px;
  font-size: 14px;
}
.twd-newsletter-dialog .twd-newsletter-fallback a {
  display: inline;
  color: var(--accent, #005c67);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.twd-newsletter-dialog [hidden] { display: none; }
.twd-newsletter-dialog .ml-embedded { width: 100%; min-width: 0; }
@media (max-width: 600px) {
  .twd-newsletter-dialog { padding: 44px 8px 16px; border-radius: 16px; }
}

.twd-newsletter-dialog:focus { outline: none; }
.twd-newsletter-dialog .twd-newsletter-close,
.twd-newsletter-dialog .twd-newsletter-close:hover,
.twd-newsletter-dialog .twd-newsletter-close:active,
.twd-newsletter-dialog .twd-newsletter-close:focus,
.twd-newsletter-dialog .twd-newsletter-close:focus-visible {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.twd-newsletter-dialog .twd-newsletter-close:focus-visible {
  color: var(--accent, #005c67);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.twd-newsletter-dialog .twd-newsletter-retry {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent, #005c67);
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
#mlb2-47546263.ml-form-embedContainer .ml-form-embedWrapper {
  width: 100%;
  max-width: 460px;
}
/* Match the email field and submit button to the contact form. */
.twd-newsletter-dialog #mlb2-47546263 .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input {
  min-height: 44px;
  padding: 11px 12px !important;
  border-color: #cbd1d4;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: var(--black, #151515) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

.twd-newsletter-dialog #mlb2-47546263 .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input:is(:focus, :focus-visible) {
  outline: 2px solid var(--accent, #005c67) !important;
  outline-offset: 3px;
  box-shadow: none !important;
}

.twd-newsletter-dialog #mlb2-47546263 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button {
  min-height: 48px;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 99px !important;
  background-color: var(--black, #151515) !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
}

.twd-newsletter-dialog #mlb2-47546263 .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button:not(:disabled):hover {
  background-color: var(--accent, #005c67) !important;
}
#mlb2-47546263 .ml-form-embedSubmit button.primary:disabled {
  opacity: .6;
  cursor: wait;
}
#mlb2-47546263 .ml-form-checkboxRow input:focus-visible + .label-description::before {
  outline: 2px solid var(--accent, #005c67);
  outline-offset: 3px;
}
#mlb2-47546263 .ml-form-successContent h4:focus { outline: none; }

/* Palette from the active theme; no change to the submission handler. */
#mlb2-47546263 .ml-form-checkboxRow input[type=checkbox]:checked ~ .label-description::before {
  background-color: var(--accent, #005c67) !important;
  border-color: var(--accent, #005c67) !important;
}
