.portal-newsletter-lock,.portal-newsletter-lock body{overflow:hidden}.portal-newsletter-modal{position:fixed;inset:0;display:none;z-index:100100}.portal-newsletter-modal.is-open{display:block}.portal-newsletter-modal__backdrop{position:absolute;inset:0;background:rgb(15 23 42 / .52)}.portal-newsletter-modal__dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px, calc(100% - 28px));background:#fff;border-radius:24px;border:1px solid rgb(17 24 39 / .08);box-shadow:0 30px 80px rgb(0 0 0 / .18);padding:28px 24px 24px}.portal-newsletter-modal__close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:999px;background:#f3f4f6;font-size:24px;cursor:pointer}.portal-newsletter-modal__eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:10px}.portal-newsletter-modal__title{margin:0 0 10px;font-size:28px;line-height:1.12;color:#111827}.portal-newsletter-modal__text{margin:0 0 18px;font-size:15px;line-height:1.6;color:#374151}.portal-newsletter-form__label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:#111827}.portal-newsletter-form__input{width:100%;height:50px;border-radius:14px;border:1px solid #d1d5db;padding:0 14px;font-size:15px;margin-bottom:12px}.portal-newsletter-form__submit{width:100%;min-height:50px;border:0;border-radius:14px;background:#111827;color:#fff;font-size:15px;font-weight:700;cursor:pointer}.portal-newsletter-form__note,.portal-newsletter-form__status,.portal-newsletter-login-note{margin-top:10px;font-size:13px;color:#6b7280;line-height:1.5}@media (max-width:640px){.portal-newsletter-modal__dialog{padding:22px 18px 18px;border-radius:20px}.portal-newsletter-modal__title{font-size:23px}}.portal-newsletter-form__consent{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px;font-size:12.5px;line-height:1.45;color:#4b5563}.portal-newsletter-form__consent input{width:16px;height:16px;margin:1px 0 0;flex:0 0 auto}.portal-newsletter-form__consent a{color:#111827;text-decoration:underline;text-underline-offset:2px}