.newsletter-popup {
  position: fixed; inset: 0; z-index: 95; display: none; align-items: center; justify-content: center; padding: 24px;
  color: rgba(var(--color-text));
}
.newsletter-popup.is-open { display: flex; }
.newsletter-popup[hidden] { display: none; }
.newsletter-popup__scrim { position: absolute; inset: 0; background: rgba(11, 11, 11, 0.6); border: 0; cursor: pointer; animation: theme-fade 0.25s ease both; }
.newsletter-popup__box {
  position: relative; width: min(720px, 100%); background: rgba(var(--color-background)); border-radius: var(--radius-xl);
  overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  animation: theme-rise 0.3s ease both; max-height: 92vh;
}
.newsletter-popup__box--no-image { grid-template-columns: 1fr; }
.newsletter-popup__image { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.newsletter-popup__body { padding: 32px; overflow-y: auto; }
.newsletter-popup__close {
  position: absolute; top: 12px; right: 14px; z-index: 2; background: rgba(var(--color-text), 0.07); border: 0; border-radius: var(--pill);
  width: 34px; height: 34px; cursor: pointer; font-size: 20px; line-height: 1; color: rgba(var(--color-text));
}
.newsletter-popup__heading { font-size: 32px; line-height: 1; margin: 12px 0 0; }
.newsletter-popup__text { margin: 14px 0 20px; font-size: 15px; }
.newsletter-popup__form { display: grid; gap: 14px; }
.newsletter-popup__success { font: 600 15px/1.4 var(--font-body); color: rgba(var(--color-text)); }
@media (max-width: 900px) {
  .newsletter-popup__body { padding: 26px; }
}
@media (max-width: 620px) {
  .newsletter-popup { padding: 16px; }
  .newsletter-popup__image { display: none; }
  .newsletter-popup__box { grid-template-columns: 1fr; }
}
