.kb-page{
    padding:60px 0 90px;
    background:linear-gradient(180deg,#f8fbff 0%,#f2f6fb 100%);
}

/* ======================================================
   HERO
====================================================== */

.kb-hero{
    margin-bottom:80px;
}

.kb-hero-content h1{
    font-size:64px;
    font-weight:900;
    line-height:1.1;
    color:#16315c;
    margin-bottom:24px;
}

.kb-hero-content p{
    font-size:18px;
    line-height:1.9;
    color:#64748b;
    max-width:900px;
    margin-bottom:36px;
}

/* ======================================================
   STATS
====================================================== */

.hero-stats{
    display:flex;
    gap:24px;
}

.hero-stat{
    min-width:220px;
    padding:24px;
    border-radius:24px;
    background:#fff;
    border:1px solid #e7edf5;
    box-shadow:0 12px 35px rgba(15,23,42,.05);
}

.hero-stat h3{
    margin:0 0 8px;
    font-size:40px;
    font-weight:900;
    color:#16315c;
}

.hero-stat span{
    color:#64748b;
}

/* ======================================================
   SECTION
====================================================== */

.kb-section{
    margin-top:70px;
    margin-bottom:80px;
}

/* ======================================================
   GRID
====================================================== */

.kb-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}

/* ======================================================
   CARD
====================================================== */

.kb-card{
    display:flex;
    flex-direction:column;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    text-decoration:none;

    border:1px solid #e8edf5;

    box-shadow:0 12px 35px rgba(15,23,42,.06);

    transition:.35s;
}

.kb-card:hover{
    transform:translateY(-10px);

    box-shadow:0 24px 60px rgba(15,23,42,.12);
}

/* ======================================================
   IMAGE
====================================================== */

.kb-image{
    position:relative;

    height:220px;

    overflow:hidden;
}

.kb-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;
}

.kb-card:hover .kb-image img{

    transform:scale(1.08);
}

/* ======================================================
   OVERLAY
====================================================== */

.kb-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,.18),
        rgba(0,47,108,.78)
    );

    display:flex;

    justify-content:center;

    align-items:center;
}

.kb-overlay i{

    color:#fff;

    font-size:62px;

    text-shadow:0 6px 18px rgba(0,0,0,.25);
}

/* ======================================================
   CONTENT
====================================================== */

.kb-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;
}

.kb-content h4{

    font-size:24px;

    font-weight:800;

    color:#16315c;

    margin-bottom:14px;
}

.kb-content p{

    color:#64748b;

    line-height:1.8;

    flex:1;

    margin-bottom:24px;
}

/* ======================================================
   BUTTON
====================================================== */

.kb-btn{

    height:52px;

    border-radius:14px;

    background:#eff6ff;

    color:#0d4b92;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    font-weight:700;

    transition:.3s;
}

.kb-card:hover .kb-btn{

    background:#002f6c;

    color:#fff;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media(max-width:1200px){

    .kb-grid{

        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:992px){

    .kb-page{

        padding:50px 0 70px;
    }

    .kb-hero-content h1{

        font-size:48px;
    }

    .kb-grid{

        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .kb-page{

        padding:40px 0 60px;
    }

    .kb-hero-content h1{

        font-size:38px;
    }

    .kb-hero-content p{

        font-size:16px;
    }

    .hero-stat{

        min-width:100%;
    }

    .kb-image{

        height:210px;
    }

    .kb-content{

        padding:22px;
    }

    .kb-content h4{

        font-size:22px;
    }

}