.lead-modal, .lead-modal * { box-sizing: border-box; }
.lead-modal { --lead-modal-art-height: 220px; overflow-anchor: none; }
.lead-popup { color: #393939; }
.lead-modal .modal-dialog { width: 440px; max-width: calc(100% - 60px); margin: max(20px, calc((100vh - 680px) / 2)) auto 20px; }
.lead-popup .modal-dialog { padding-top: var(--lead-modal-art-height); }
.lead-popup .modal-content { position: relative; border: 0; border-radius: 24px; box-shadow: none; background: #fff; overflow: visible; }
.lead-popup .modal-header { position: absolute; top: -39px; right: -12px; z-index: 2; width: 44px; height: 44px; border: 0; padding: 0; }
.lead-popup .modal-header .close { float: none; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; opacity: 1; color: transparent; font-size: 0; text-shadow: none; background: transparent url('../../img/lead/popup-close.svg') center / 24px 24px no-repeat; }
.lead-popup .modal-header .close:hover { opacity: .75; }
.lead-popup .modal-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lead-popup .modal-body { padding: 40px 32px 28px; }
.lead-popup__art { position: absolute; top: 0; left: 0; width: 100%; aspect-ratio: 341 / 200; transform: translateY(-85%); pointer-events: none; }
.lead-popup__art picture { position: absolute; display: block; }
.lead-popup__art img { display: block; width: 100%; height: 100%; }
.lead-popup__cloud { left: -.215%; top: 14.667%; width: 86.510%; height: 83.5%; }
.lead-popup__art-title { left: -7.918%; top: 28.338%; width: 67.156%; height: 52.5%; }
.lead-popup__girl { left: 21.646%; top: 0; width: 75.073%; height: 100%; }
.lead-popup__description, .lead-popup__invitation { padding: 0; color: #393939; font-size: 16px; line-height: 24px; font-weight: 500; letter-spacing: .16px; }
.lead-popup__description { margin: 0 0 24px; }
.lead-popup__invitation { margin: 0 0 16px; }
.lead-popup__mobile-break { display: none; }
.lead-popup__form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.lead-popup__form input:not([type=hidden]) { display: block; width: 100%; height: 52px; min-width: 0; margin: 0; padding: 10px 14px; border: 0; border-radius: 12px; box-shadow: none; background: #f2eaff; color: #393939; font: 500 18px/24px 'PT Sans', sans-serif; letter-spacing: .54px; }
.lead-popup__form input::placeholder { color: #a592c3; opacity: 1; }
.lead-popup__submit { width: 100%; min-height: 56px; margin: 0; padding: 10px 14px; border: 0; border-radius: 12px; background: #6d4da7; color: #fff; font: 800 16px/22px 'PT Sans', sans-serif; letter-spacing: .48px; text-transform: uppercase; cursor: pointer; }
.lead-popup__submit:hover { background: #583c8b; }
.lead-popup__submit:disabled { cursor: wait; opacity: .65; }
.lead-popup input:focus-visible, .lead-popup button:focus-visible, .lead-popup a:focus-visible { outline: 2px solid #a592c3; outline-offset: 2px; }
.lead-popup__rules { margin: 16px 0 0; color: #916da3; font-size: 13px; line-height: 18px; font-weight: 500; }
.lead-popup__rules a { display: block; color: inherit; text-decoration: underline; }
.lead-popup .lead-form-error { margin: 0; font-size: 14px; line-height: 20px; }
@media (max-width: 479px) {
    .lead-modal { --lead-modal-art-height: calc(100vw * 160 / 360); }
    .lead-modal .modal-dialog { width: 100%; max-width: none; margin: 20px 0 0; }
    .lead-modal .modal-content { border-radius: 24px 24px 0 0; }
    .lead-popup .modal-header { top: -43px; right: 0; }
    .lead-popup .modal-header .close { background-position: calc(50% + 6px) center; }
    .lead-popup .modal-body { padding: calc(100vw * 40 / 360) 24px calc(32px + env(safe-area-inset-bottom, 0px)); }
    .lead-popup__art { aspect-ratio: 360 / 202; transform: translateY(-79.208%); }
    .lead-popup__cloud { left: 7.094%; top: 14.685%; width: 85.278%; height: 83.663%; }
    .lead-popup__art-title { left: 0; top: 28.377%; width: 63.889%; height: 52.475%; }
    .lead-popup__girl { left: 28.038%; width: 71.667%; }
    .lead-popup__mobile-break { display: inline; }
    .lead-popup__rules { font-size: 14px; line-height: 20px; }
}
