.module-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.25s ease, visibility 0.25s ease;
    z-index:9999;
}

.module-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.module-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.72);
    backdrop-filter:blur(4px);
}

.module-modal__dialog{
    position:relative;
    width:min(920px, calc(100% - 32px));
    max-height:min(88vh, 980px);
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,0.28);
    z-index:2;
    display:flex;
    flex-direction:column;
}

.module-modal__close{
    position:absolute;
    top:16px;
    right:16px;
    width:46px;
    height:46px;
    border:none;
    border-radius:999px;
    background:#111;
    color:#fff;
    cursor:pointer;
    font-size:18px;
    z-index:3;
    transition:transform 0.25s ease, background 0.25s ease;
}

.module-modal__close:hover{
    background:#333;
    transform:scale(1.04);
}

.module-modal__inner{
    padding:34px 28px 28px;
    overflow:auto;
}

.module-modal__title{
    margin:0 56px 22px 0;
    font-size:34px;
    line-height:1.1;
    letter-spacing:-0.02em;
}

.module-modal__content{
    color:#222;
}

.module-modal__content p{
    font-size:17px;
    line-height:1.85;
    margin:0 0 18px 0;
}

.module-modal__content ul,
.module-modal__content ol{
    margin:0 0 18px 0;
    padding-left:22px;
}

.module-modal__content li{
    margin-bottom:10px;
    font-size:17px;
    line-height:1.75;
}

.module-modal__content .btn{
    display:inline-block;
    margin-top:10px;
}

@media (max-width:1024px){

    .module-modal__dialog{
        width:min(860px, calc(100% - 24px));
    }

    .module-modal__title{
        font-size:30px;
    }

    .module-modal__content p,
    .module-modal__content li{
        font-size:16px;
    }
}

@media (max-width:900px){

    .module-modal__dialog{
        width:calc(100% - 16px);
        max-height:92vh;
        border-radius:22px;
    }

    .module-modal__inner{
        padding:22px 18px 18px;
    }

    .module-modal__title{
        font-size:24px;
        margin:0 48px 16px 0;
    }

    .module-modal__content p,
    .module-modal__content li{
        font-size:15px;
        line-height:1.7;
    }

    .module-modal__close{
        top:10px;
        right:10px;
        width:40px;
        height:40px;
        font-size:16px;
    }
}

@media (max-width:560px){

    .module-modal__dialog{
        width:calc(100% - 10px);
        border-radius:18px;
    }

    .module-modal__inner{
        padding:18px 14px 14px;
    }

    .module-modal__title{
        font-size:21px;
    }

    .module-modal__content p,
    .module-modal__content li{
        font-size:14px;
        line-height:1.65;
    }

    .module-modal__content .btn{
        width:100%;
        text-align:center;
        box-sizing:border-box;
    }
}