.upcoming-section{
    width:100%;
    min-height:100vh;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    padding:40px 0;
}

.upcoming-container{
    width:min(1300px,90%);
    margin:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.upcoming-header{
    text-align:center;
    margin-bottom:20px;
}

.upcoming-header .subtitle{
    display:block;
    color:#1d4ed8;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:10px;
}

.upcoming-header h2{
    font-family:Georgia,serif;
    font-size:54px;
    color:#183d97;
    line-height:1;
}

.upcoming-image{
    width:100%;
    height:250px;
    overflow:hidden;
    /* border-radius:12px; */
    margin-bottom:20px;
}

.upcoming-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.upcoming-desc{
    max-width:1400px;
    margin:0 auto 28px;
    text-align:center;
}

.upcoming-desc p{
    max-width:1100px;

    color:#666;
    font-size:15px;
    line-height:1.7;
}

.upcoming-grid{
    width:100%;
    max-width:1050px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 120px;
}

.upcoming-card{
    display:flex;
    align-items:flex-start;
    gap:16px;
}

.upcoming-card i{
    width:60px;
    height:60px;
    /* border-radius:16px; */
    background:#2048b5;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
    flex-shrink:0;
}

.upcoming-card h4{
    color:#183d97;
    font-size:21px;
    margin-bottom:5px;
    line-height:1.2;
}

.upcoming-card p{
    color:#666;
    font-size:15px;
    line-height:1.6;
}

@media(max-width:991px){

    .upcoming-section{
        min-height:100vh;
        height:auto;
        padding:70px 0;
    }

    .upcoming-container{
        width:92%;
    }

    .upcoming-header{
        margin-bottom:18px;
    }

    .upcoming-header h2{
        font-size:40px;
    }

    .upcoming-image{
        height:220px;
        margin-bottom:20px;
    }

    .upcoming-desc{
        margin:0 auto 24px;
    }

    .upcoming-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .upcoming-card i{
        width:56px;
        height:56px;
        font-size:22px;
    }

    .upcoming-card h4{
        font-size:19px;
    }

    .upcoming-card p{
        font-size:14px;
    }

}