/* Isolated newsletter component; no theme or guide selectors. */
.exg-newsletter {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
  align-items: center;
  gap: clamp(28px, 4vw, 56px);
  width: 100%;
  margin: 36px auto !important;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(201, 154, 46, .2);
  border-radius: 24px;
  background: linear-gradient(100deg, rgba(255,255,255,.97), rgba(253,250,243,.88) 43%, rgba(250,245,232,.62) 72%, rgba(250,245,232,.38));
  box-shadow: 0 18px 42px rgba(23,56,95,.085);
  color: #17375e;
}
body.home .exg-newsletter { width: min(1300px, calc(100% - 2 * clamp(36px, 5vw, 64px))); margin-block: 48px !important; }
.exg-newsletter__intro, .exg-newsletter__signup { min-width: 0; }
.exg-newsletter__gate { text-align: center; }
.exg-newsletter__gate::before { content: ""; display: block; width: 220px; height: 180px; margin: 0 auto 8px; background: url("envelope.svg") center / contain no-repeat, radial-gradient(ellipse, rgba(201,154,46,.2), rgba(201,154,46,.07) 48%, transparent 72%); pointer-events: none; }
.exg-newsletter .exg-newsletter__invitation { margin: 0 0 18px; font: 600 1rem/1.5 system-ui, sans-serif; color: #17375e; }
@media (prefers-reduced-motion: no-preference) {
  .exg-newsletter--reveal .exg-newsletter__gate::before { opacity: 0; transform: translateX(-36px); transition: opacity .8s ease, transform .9s cubic-bezier(.22,.7,.25,1); }
  .exg-newsletter--visible .exg-newsletter__gate::before { opacity: 1; transform: translateX(0); }
}
.exg-newsletter__intro h2 { margin: 0 0 14px; font: 700 2.08rem/1.12 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: -.02em; color: #17375e; }
.exg-newsletter__intro p { font: 400 1rem/1.6 system-ui, sans-serif; }
.exg-newsletter__intro .exg-newsletter__eyebrow { margin: 0 0 14px; color: #946619; font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.exg-newsletter__intro .exg-newsletter__reassurance { margin-top: 20px; font-size: .86rem; color: #40546a; }
.exg-newsletter__intro .exg-newsletter__topics-label { margin: 18px 0 8px; color: #946619; font-size: .94rem; font-weight: 600; }
.exg-newsletter__topics { margin: 0; padding-left: 20px; font: 400 .94rem/1.55 system-ui, sans-serif; }
.exg-newsletter__topics li + li { margin-top: 8px; }
.exg-newsletter__topics li::marker { color: #946619; }
.exg-newsletter__load { padding: 13px 22px; border: 1px solid #17375e; border-radius: 3px; background: #17375e; color: #fff; font: 600 1rem/1.3 system-ui, sans-serif; cursor: pointer; }
.exg-newsletter__load:disabled { cursor: wait; opacity: .7; }
.exg-newsletter .exg-newsletter__notice { margin: 16px 0 0; font: 400 .8rem/1.6 system-ui, sans-serif; color: #40546a; text-align: left; }
.exg-newsletter [hidden] { display: none !important; }
.exg-newsletter #mlb2-45887898,
.exg-newsletter #mlb2-45887898 .ml-form-embedWrapper {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
}
.exg-newsletter #mlb2-45887898 .ml-form-embedBody { padding: 0 !important; }
.exg-newsletter #mlb2-45887898 .ml-form-embedBody .ml-form-embedContent { display: none !important; }
.exg-newsletter #mlb2-45887898 .ml-form-embedContent h4 {
  color: #17375e !important;
  font: 600 clamp(1.35rem, 2.2vw, 1.8rem)/1.25 system-ui, sans-serif !important;
  margin: 0 0 12px !important;
}
.exg-newsletter #mlb2-45887898 .ml-form-embedContent p {
  color: #40546a !important;
  font: 400 1rem/1.6 system-ui, sans-serif !important;
}
.exg-newsletter #mlb2-45887898 .ml-form-formContent {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.exg-newsletter #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input.form-control {
  min-height: 48px;
  border: 1px solid #bac4cd !important;
  border-radius: 3px !important;
  color: #17375e !important;
  font: 400 16px/1.4 system-ui, sans-serif !important;
}
.exg-newsletter #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary {
  min-height: 48px;
  border: 1px solid #17375e !important;
  border-radius: 3px !important;
  background-color: #17375e !important;
  color: #fff !important;
  font: 600 1rem/1.3 system-ui, sans-serif !important;
}
.exg-newsletter :is(.exg-newsletter__load, #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary) {
  background-image: linear-gradient(90deg, #28537f, #32618b) !important;
  background-size: 0% 100% !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  transition: background-size .42s cubic-bezier(.22,.7,.25,1), box-shadow .25s ease !important;
}
.exg-newsletter :is(.exg-newsletter__load, #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary):is(:hover, :focus-visible) { background-size: 100% 100% !important; }
.exg-newsletter :is(button, a):focus-visible { outline: 2px solid #547897 !important; outline-offset: 3px; }
.exg-newsletter #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input.form-control:focus {
  outline: none !important;
  border-color: #547897 !important;
  box-shadow: 0 0 0 3px rgba(84,120,151,.16) !important;
}
@media (prefers-reduced-motion: reduce) {
  .exg-newsletter :is(.exg-newsletter__load, #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary) { transition: none !important; }
}
.exg-newsletter .exg-newsletter__privacy { margin: 16px 0 0; font: 400 .8rem/1.6 system-ui, sans-serif; color: #40546a; }
.exg-newsletter :is(.exg-newsletter__privacy, .exg-newsletter__notice) a { color: #17375e; text-decoration: underline; }
@media (min-width: 601px) {
  .exg-newsletter #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit { text-align: center !important; }
  .exg-newsletter #mlb2-45887898.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary { width: auto !important; min-width: 200px; padding: 13px 36px !important; }
}
@media (min-width: 782px) {
  body.single-post .exegeo-single > .exg-newsletter { max-width: 1000px; }
  .exg-newsletter__signup { position: relative; }
  .exg-newsletter__signup::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(clamp(28px, 4vw, 56px) / -2); width: 1px; background: linear-gradient(transparent, rgba(201,154,46,.32) 15%, rgba(201,154,46,.32) 85%, transparent); pointer-events: none; }
}
@media (max-width: 600px) {
  .exg-newsletter__intro h2 { font-size: 1.6875rem; }
  .exg-newsletter { padding: 24px 20px; border-radius: 18px; }
  .exg-newsletter__load { box-sizing: border-box; width: 100%; text-align: center; }
  .exg-newsletter__gate::before { width: 176px; height: 144px; }
}
@media (max-width: 781px) {
  .exg-newsletter { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.home .exg-newsletter { width: calc(100% - 28px); margin-block: 32px !important; }
}
