.swnet-newsletter-overlay{
  position:fixed;
  z-index:2147483646;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(1rem,4vw,3rem);
  background:rgba(0,24,43,.74);
  backdrop-filter:blur(4px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 1.15s ease,visibility 0s linear 1.15s;
}
.swnet-newsletter-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 1.15s ease;
}
.swnet-newsletter-overlay__dialog{
  position:relative;
  display:grid;
  grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr);
  width:min(920px,100%);
  max-height:min(760px,calc(100svh - 2rem));
  overflow:auto;
  background:#fff;
  border-top:5px solid var(--gold,#fecc00);
  box-shadow:0 32px 90px rgba(0,24,43,.42);
  transform:translateY(22px) scale(.985);
  transition:transform 1.15s cubic-bezier(.2,.75,.2,1);
}
.swnet-newsletter-overlay.is-visible .swnet-newsletter-overlay__dialog{transform:none}
.swnet-newsletter-overlay__x{
  position:absolute;
  z-index:2;
  top:.7rem;
  right:.8rem;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(0,40,74,.24);
  background:#fff;
  color:var(--pine,#00284a);
  font:400 1.75rem/1 system-ui,sans-serif;
  cursor:pointer;
}
.swnet-newsletter-overlay__x:hover,.swnet-newsletter-overlay__x:focus-visible{background:var(--gold,#fecc00);border-color:var(--gold,#fecc00)}
.swnet-newsletter-overlay__visual{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:500px;
  padding:2rem;
  overflow:hidden;
  background:linear-gradient(145deg,#00284a 0%,#005293 64%,#1a6fb5 100%);
  color:#fff;
}
.swnet-newsletter-overlay__visual::before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  top:-110px;
  right:-105px;
  border:42px solid rgba(254,204,0,.18);
  border-radius:50%;
}
.swnet-newsletter-overlay__visual.has-image::before{display:none}
.swnet-newsletter-overlay__image{position:absolute;inset:0 0 34%;overflow:hidden}
.swnet-newsletter-overlay__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,40,74,.06) 38%,#005293 100%)}
.swnet-newsletter-overlay__image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.swnet-newsletter-overlay__visual span{position:relative;color:var(--gold,#fecc00);font-size:clamp(4rem,8vw,7rem);font-weight:850;line-height:.85;letter-spacing:-.08em}
.swnet-newsletter-overlay__visual strong{position:relative;margin-top:1rem;color:#fff;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.swnet-newsletter-overlay__content{align-self:center;padding:clamp(2.25rem,5vw,4.5rem)}
.swnet-newsletter-overlay__eyebrow{display:inline-block;margin-bottom:1rem;color:var(--blue,#005293);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.swnet-newsletter-overlay__content h2{margin:0 0 1.15rem;padding:0;border:0;color:var(--pine,#00284a);font-size:clamp(2rem,4vw,3.25rem);line-height:1.02;letter-spacing:-.045em}
.swnet-newsletter-overlay__content>p{margin:0 0 1.5rem;color:var(--muted,#4a6076);font-size:1.02rem;line-height:1.7}
.swnet-newsletter-overlay__form{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;margin:0}
.swnet-newsletter-overlay__form .swnet-newsletter-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.swnet-newsletter-overlay__form input[type=text]:not(.swnet-newsletter-hp),.swnet-newsletter-overlay__form input[type=email]{box-sizing:border-box;min-width:0;width:100%;padding:.95rem 1rem;border:1px solid var(--line,#d6dde6);background:#fff;color:var(--pine,#00284a);font:inherit}
.swnet-newsletter-overlay__form input[type=text]:not(.swnet-newsletter-hp):focus,.swnet-newsletter-overlay__form input[type=email]:focus{outline:3px solid rgba(254,204,0,.42);outline-offset:1px;border-color:var(--blue,#005293)}
.swnet-newsletter-overlay__form .btn{width:100%;margin:0;padding:.95rem 1.2rem;white-space:normal;line-height:1.3}
.swnet-newsletter-overlay__content>small{display:block;margin-top:.8rem;color:var(--muted,#4a6076);font-size:.76rem}
.swnet-newsletter-overlay__later{margin-top:1.25rem;padding:.25rem 0;border:0;border-bottom:1px solid rgba(0,82,147,.35);background:transparent;color:var(--blue-dark,#003d6b);font:700 .82rem/1.4 system-ui,sans-serif;cursor:pointer}
.swnet-newsletter-overlay__later:hover,.swnet-newsletter-overlay__later:focus-visible{border-color:var(--gold,#fecc00)}
.swnet-newsletter-overlay .newsletter__notice{margin:0 0 1rem}
.swnet-newsletter-overlay .newsletter__notice--check+.swnet-newsletter-overlay__form{display:none}
body.swnet-newsletter-overlay-open{overflow:hidden}
@media(max-width:700px){
  .swnet-newsletter-overlay{align-items:start;padding:.55rem}
  .swnet-newsletter-overlay__dialog{grid-template-columns:1fr;max-height:calc(100dvh - 1.1rem)}
  .swnet-newsletter-overlay__x{z-index:20;top:.55rem;right:.55rem;width:38px;height:38px;background:#fff;box-shadow:0 3px 14px rgba(0,40,74,.2)}
  .swnet-newsletter-overlay__visual{min-height:92px;padding:1rem 1.25rem;justify-content:center}
  .swnet-newsletter-overlay__visual.has-image{min-height:150px;justify-content:flex-end}
  .swnet-newsletter-overlay__image{inset:0}
  .swnet-newsletter-overlay__image::after{background:linear-gradient(90deg,rgba(0,40,74,.2),rgba(0,82,147,.9))}
  .swnet-newsletter-overlay__visual span{font-size:2.8rem}
  .swnet-newsletter-overlay__visual strong{margin-top:.35rem}
  .swnet-newsletter-overlay__content{padding:2rem 1.25rem 1.5rem}
  .swnet-newsletter-overlay__content h2{padding-right:2rem;font-size:clamp(1.75rem,8vw,2.35rem)}
  .swnet-newsletter-overlay__content>p{font-size:.94rem;line-height:1.6}
  .swnet-newsletter-overlay__form{grid-template-columns:1fr}
  .swnet-newsletter-overlay__form .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .swnet-newsletter-overlay,.swnet-newsletter-overlay__dialog{transition:none}
}
