.lt-newsletter {
  --lt-popup-blue: #316fd0;
  --lt-popup-blue-deep: #153f7c;
  --lt-popup-navy: #153443;
  --lt-popup-sky: #dff2ff;
  --lt-popup-cream: #fffaf2;
  --lt-popup-yellow: #ffd56a;
  --lt-popup-coral: #ff7d6e;
  color: var(--lt-popup-navy);
}

.lt-newsletter__dialog {
  width: min(900px, calc(100vw - 36px));
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 30px;
  overflow: hidden;
  color: inherit;
  background: var(--lt-popup-cream);
  box-shadow: 0 34px 90px rgba(8, 31, 54, .32);
}

.lt-newsletter__dialog::backdrop {
  background: rgba(7, 28, 43, .72);
  backdrop-filter: blur(7px);
}

.lt-newsletter__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(410px, 1.14fr);
  min-height: 540px;
}

.lt-newsletter__close {
  position: absolute;
  z-index: 4;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(21, 52, 67, .12);
  border-radius: 50%;
  color: var(--lt-popup-navy);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 22px rgba(16, 52, 75, .10);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}

.lt-newsletter__close span { font-size: 29px; font-weight: 300; line-height: 1; transform: translateY(-1px); }
.lt-newsletter__close:hover { background: #fff; transform: rotate(5deg) scale(1.05); }

.lt-newsletter__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 42px 34px 34px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 213, 106, .9) 0 3px, transparent 4px),
    radial-gradient(circle at 84% 22%, rgba(255, 255, 255, .62) 0 2px, transparent 3px),
    linear-gradient(145deg, #255fb7 0%, #3e85df 56%, #63b8e8 100%);
}

.lt-newsletter__visual::before,
.lt-newsletter__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.lt-newsletter__visual::before {
  width: 300px;
  height: 300px;
  right: -155px;
  top: 100px;
  border: 60px solid rgba(255, 255, 255, .10);
}

.lt-newsletter__visual::after {
  width: 210px;
  height: 210px;
  left: -115px;
  bottom: -95px;
  background: rgba(255, 213, 106, .24);
}

.lt-newsletter__spark { position: absolute; z-index: 1; color: var(--lt-popup-yellow); font-size: 22px; }
.lt-newsletter__spark--one { top: 118px; right: 45px; transform: rotate(13deg); }
.lt-newsletter__spark--two { bottom: 154px; left: 39px; color: #fff; font-size: 13px; opacity: .85; }

.lt-newsletter__logo-wrap { position: relative; z-index: 2; }
.lt-newsletter__logo-wrap img { display: block; width: 178px; height: auto; }

.lt-newsletter__cast {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 230px;
  margin: 12px -4px 0;
}

.lt-newsletter__portrait {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 132px;
  width: 132px;
  height: 166px;
  border: 7px solid rgba(255, 255, 255, .94);
  border-radius: 68px 68px 58px 58px;
  color: var(--lt-popup-navy);
  background: var(--lt-popup-yellow);
  box-shadow: 0 18px 35px rgba(9, 49, 91, .23);
}

.lt-newsletter__portrait::before {
  content: "";
  position: absolute;
  top: 27px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: currentColor;
  opacity: .1;
}

.lt-newsletter__portrait i { position: relative; z-index: 1; font-style: normal; font-size: 42px; }
.lt-newsletter__portrait--one { transform: rotate(-9deg) translateX(24px) scale(.88); background: #bfe8ff; }
.lt-newsletter__portrait--two { z-index: 2; color: #963c4a; background: #ff9b8d; }
.lt-newsletter__portrait--three { transform: rotate(9deg) translateX(-24px) scale(.88); color: #4c458b; background: #d6ccff; }

.lt-newsletter__visual-copy { position: relative; z-index: 2; display: grid; gap: 7px; }
.lt-newsletter__visual-copy strong { max-width: 300px; font-size: 19px; font-weight: 850; line-height: 1.18; }
.lt-newsletter__visual-copy span { color: rgba(255, 255, 255, .78); font-size: 11px; font-weight: 700; letter-spacing: .02em; }

.lt-newsletter__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 66px 62px 48px;
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 213, 106, .25) 0 72px, transparent 73px),
    var(--lt-popup-cream);
}

.lt-newsletter__form-copy { display: grid; gap: 13px; }
.lt-newsletter__eyebrow { margin: 0; color: var(--lt-popup-blue); font-size: 11px; font-weight: 900; letter-spacing: .12em; line-height: 1.35; }
.lt-newsletter__eyebrow span { color: #ef9f21; }
.lt-newsletter__content h2 { max-width: 440px; margin: 0; color: var(--lt-popup-navy); font-size: clamp(34px, 4.1vw, 48px); font-weight: 900; letter-spacing: -.04em; line-height: .98; }
.lt-newsletter__form-copy > p:last-child,
.lt-newsletter__success > p:not(.lt-newsletter__eyebrow) { margin: 0; color: #55707b; font-size: 15px; line-height: 1.55; }

.lt-newsletter__benefits { display: flex; flex-wrap: wrap; gap: 9px 16px; margin: 22px 0; }
.lt-newsletter__benefits span { display: inline-flex; align-items: center; gap: 7px; color: #365663; font-size: 12px; font-weight: 800; }
.lt-newsletter__benefits i { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; color: var(--lt-popup-blue-deep); background: #d9edff; font-size: 11px; font-style: normal; }

.lt-newsletter__field { display: grid; gap: 8px; }
.lt-newsletter__field label { color: var(--lt-popup-navy); font-size: 12px; font-weight: 850; }
.lt-newsletter__field input {
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  border: 1.5px solid #bed9e8;
  border-radius: 15px;
  outline: none;
  color: var(--lt-popup-navy);
  background: #fff;
  box-shadow: 0 7px 18px rgba(34, 87, 111, .05);
  font: inherit;
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.lt-newsletter__field input:focus { border-color: #4b9fe0; box-shadow: 0 0 0 4px rgba(75, 159, 224, .14); }
.lt-newsletter__field input::placeholder { color: #8da0a8; }

.lt-newsletter__primary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  min-height: 56px;
  margin-top: 12px;
  padding: 0 21px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #255fb7, #347ed8);
  box-shadow: 0 12px 26px rgba(37, 95, 183, .24);
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.lt-newsletter__primary span { font-size: 19px; line-height: 1; transition: transform .2s ease; }
.lt-newsletter__primary:hover { color: #fff; box-shadow: 0 16px 30px rgba(37, 95, 183, .31); transform: translateY(-2px); }
.lt-newsletter__primary:hover span { transform: translateX(3px); }

.lt-newsletter__privacy { margin: 11px 4px 0; color: #71858d; font-size: 9.5px; line-height: 1.45; text-align: center; }
.lt-newsletter__later { align-self: center; margin: 10px auto 0; padding: 5px 8px; border: 0; color: #607881; background: transparent; font: inherit; font-size: 11px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.lt-newsletter__later:hover { color: var(--lt-popup-blue-deep); }
.lt-newsletter__error { margin: 8px 2px 0; color: #b33333; font-size: 11px; font-weight: 750; }

.lt-newsletter__success { display: grid; justify-items: start; gap: 15px; }
.lt-newsletter__success-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 4px; border-radius: 50%; color: var(--lt-popup-blue-deep); background: var(--lt-popup-yellow); box-shadow: 0 9px 22px rgba(188, 137, 23, .18); font-size: 25px; font-weight: 900; }
.lt-newsletter__success .lt-newsletter__primary { margin-top: 7px; }

@media (max-width: 760px) {
  .lt-newsletter__dialog { width: min(94vw, 520px); max-height: calc(100dvh - 24px); border-radius: 24px; }
  .lt-newsletter__card { display: block; min-height: 0; }
  .lt-newsletter__close { top: 12px; right: 12px; width: 38px; height: 38px; }
  .lt-newsletter__visual { min-height: 158px; padding: 24px 24px 18px; }
  .lt-newsletter__logo-wrap img { width: 142px; }
  .lt-newsletter__cast { position: absolute; right: -5px; bottom: 3px; min-height: 0; transform: scale(.48); transform-origin: right bottom; }
  .lt-newsletter__visual-copy { max-width: 245px; margin-top: 42px; }
  .lt-newsletter__visual-copy strong { font-size: 14px; }
  .lt-newsletter__visual-copy span { display: none; }
  .lt-newsletter__spark--one { top: 62px; right: 52%; }
  .lt-newsletter__content { padding: 30px 24px 22px; background: var(--lt-popup-cream); }
  .lt-newsletter__content h2 { font-size: clamp(30px, 9.2vw, 39px); }
  .lt-newsletter__form-copy { gap: 10px; }
  .lt-newsletter__form-copy > p:last-child,
  .lt-newsletter__success > p:not(.lt-newsletter__eyebrow) { font-size: 13px; }
  .lt-newsletter__benefits { display: grid; gap: 8px; margin: 17px 0; }
  .lt-newsletter__field input,
  .lt-newsletter__primary { min-height: 52px; }
}

@media (max-height: 650px) and (min-width: 761px) {
  .lt-newsletter__dialog { transform: scale(.86); }
}

@media (prefers-reduced-motion: reduce) {
  .lt-newsletter__close,
  .lt-newsletter__primary,
  .lt-newsletter__primary span { transition: none; }
}
