.modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    z-index:9999;
    justify-content:center;
    align-items:center;
    padding:15px;
    backdrop-filter:blur(6px);
}

.modal-content{
    width:100%;
    max-width:650px;      /* ↓ уже */
    max-height:80vh;      /* ↓ меньше */
    overflow-y:auto;
    background:#111;
    border-radius:16px;
    padding:18px;
    position:relative;

    /* плавность */
    transform:scale(.98);
    animation: modalIn .15s ease forwards;
    will-change: transform;
}

@keyframes modalIn{
    to { transform:scale(1); }
}

.close{
    position: absolute;
    right: 5px;
    top: -15px;
    font-size: 29px;
    cursor: pointer;
    opacity: .8;
}

.close:hover{
    opacity:1;
}

.slider-wrapper{
    position:relative;
}

.slider-image{
    width:100%;
    height:320px;         /* ↓ фиксируем высоту = меньше лагов */
    object-fit:cover;
    border-radius:12px;
    margin-bottom:12px;

    transition:opacity .15s ease;
    will-change: opacity;
}

/* кнопки слайдера */
.slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    z-index:10;
    font-size:18px;
    background:rgba(0,0,0,.5);
    color:white;
    transition:.2s;
}

.slider-btn:hover{
    background:rgba(0,0,0,.8);
}

.slider-btn:first-child{
    left:8px;
}

.slider-btn:last-child{
    right:8px;
}

/* текст */
.modal-content h2{
    font-size:20px;
    margin:10px 0 6px;
}

.modal-content p{
    font-size:14px;
    line-height:1.4;
    opacity:.9;
}

/* кнопки */
.project-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.project-actions button{
    padding:8px 12px;
    font-size:13px;
}