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

.page-hero{

    position:relative;

    min-height:60vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    overflow:hidden;

    background:
    linear-gradient(rgba(31,43,108,.88),rgba(31,43,108,.88)),
    url("../images/about-hero.jpg") center/cover no-repeat;

    animation:heroZoom 18s ease-in-out infinite alternate;

}

.page-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,.05),
        rgba(0,0,0,.25)
    );

}

.page-hero::after{

    content:"";

    position:absolute;

    bottom:0;

    right:0;

    width:100%;

    height:4px;

    background:var(--secondary);

}

.page-hero-content{

    position:relative;

    z-index:2;

    max-width:850px;

    margin:auto;

    animation:fadeUp 1s ease;

}

.page-hero span{

    display:inline-block;

    color:var(--secondary);

    font-size:18px;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:18px;

}

.page-hero h1{

    color:#fff;

    font-size:64px;

    font-weight:900;

    line-height:1.25;

    margin-bottom:25px;

    text-shadow:0 8px 25px rgba(0,0,0,.35);

}

.page-hero p{

    color:rgba(255,255,255,.92);

    font-size:20px;

    line-height:2;

    max-width:760px;

    margin:auto;

}


/*==================================================
                ANIMATIONS
==================================================*/

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(40px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

@keyframes heroZoom{

    0%{

        background-size:100%;

    }

    100%{

        background-size:108%;

    }

}
/*==================================================
                    COMPANY
==================================================*/

.company{
padding:80px 0;

    background:#fff;

}

.company-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}


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

.company-image{

    position:relative;

}

.company-image img{

    width:100%;

    height:540px;

    object-fit:cover;

    border-radius:24px;

    box-shadow:var(--shadow);

    transition:.5s;

}

.company-image:hover img{

    transform:scale(1.03);

}


/*==============================
        EXPERIENCE BOX
==============================*/

.experience-box{

    position:absolute;

    bottom:25px;

    left:25px;

    background:var(--secondary);

    color:#fff;

    padding:22px 30px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.20);

}

.experience-box h2{

    font-size:42px;

    font-weight:900;

}

.experience-box span{

    font-size:16px;

    font-weight:600;

}


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

.company-content span{

    color:var(--secondary);

    font-size:17px;

    font-weight:700;

    letter-spacing:1px;

}

.company-content h2{

    color:var(--primary);

    font-size:44px;

    line-height:1.4;

    margin:20px 0;

}

.company-content p{

    color:var(--light);

    font-size:17px;

    line-height:2;

    margin-bottom:20px;

}


/*==============================
        STATISTICS CARDS
==============================*/

.company-cards{

    display:grid;

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

    gap:20px;

    margin:40px 0;

}

.company-cards div{

    background:#fff;

    padding:25px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}
.company-cards div:hover h3{

transform:scale(1.08);

}

.company-cards h3{

transition:.35s;

}

.company-cards span{

    color:var(--primary);

    font-size:16px;

    font-weight:700;

}


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

.about-btn{

    margin-top:40px;

    display:flex;

    justify-content:center;

}
/*==================================================
                    VISION
==================================================*/

.vision{

    background:var(--section);

}

.vision-grid{

    display:grid;

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

    gap:30px;

}

.vision-card{

    background:#fff;

    border-radius:24px;

    padding:45px 35px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.10);

    transition:var(--transition);

    position:relative;

    overflow:hidden;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

}

.vision-card::before{

    content:"";

    position:absolute;

    top:0;

    right:0;

    width:100%;

    height:5px;

    background:var(--secondary);

    transform:scaleX(0);

    transition:var(--transition);

}

.vision-card:hover::before{

    transform:scaleX(1);

}

.vision-card:hover{

    transform:translateY(-12px);

    box-shadow:0 28px 60px rgba(0,0,0,.16);

}

.vision-icon{

    width:100px;

    height:100px;

    margin:auto auto 25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(212,160,23,.12);

    color:var(--secondary);

    font-size:34px;

    transition:var(--transition);

}

.vision-card:hover .vision-icon{

    background:var(--secondary);

    color:#fff;

    transform:rotateY(180deg) scale(1.1);

}

.vision-card h3{

    color:var(--primary);

    font-size:24px;

    font-weight:800;

    margin-bottom:18px;

}

.vision-card p{

    color:var(--light);

    font-size:16px;

    line-height:2;

}


/*==================================================
                    WHY US
==================================================*/

.why-us{

    background:#fff;

}

.why-grid{

    display:grid;

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

    gap:35px;

}

.why-card{

    background:#fff;

    border-radius:24px;

    padding:40px 35px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.10);

    transition:var(--transition);

    position:relative;

    overflow:hidden;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

}

.why-card::before{

    content:"";

    position:absolute;

    top:0;

    right:0;

    width:100%;

    height:5px;

    background:var(--secondary);

    transform:scaleX(0);

    transition:var(--transition);

}

.why-card:hover::before{

    transform:scaleX(1);

}

.why-card:hover{

    transform:translateY(-12px);

    box-shadow:0 28px 60px rgba(0,0,0,.16);

}

.why-icon{

    width:90px;

    height:90px;

    margin:auto auto 25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(212,160,23,.12);

    color:var(--secondary);

    font-size:34px;

    transition:var(--transition);

}

.why-card:hover .why-icon{

    background:var(--secondary);

    color:#fff;

    transform:rotateY(180deg) scale(1.1);

}

.why-card h3{

    color:var(--primary);

    font-size:24px;

    font-weight:800;

    margin-bottom:15px;

}

.why-card p{

    color:var(--light);

    font-size:16px;

    line-height:2;

}
/*==================================================
                WORK STEPS
==================================================*/

.work-steps{

    background:var(--section);

}

.steps-grid{

    display:grid;

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

    gap:30px;

}

.step-card{

    position:relative;

    background:#fff;

    border-radius:24px;

    padding:45px 30px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.10);

    transition:var(--transition);

    overflow:hidden;

    height:100%;

}

.step-card:hover{

    transform:translateY(-12px);

    box-shadow:0 28px 60px rgba(0,0,0,.16);

}

.step-number{

    position:absolute;

    top:18px;

    left:20px;

    font-size:60px;

    font-weight:900;

    color:rgba(212,160,23,.12);

    line-height:1;

}

.step-icon{

    width:90px;

    height:90px;

    margin:auto auto 25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(212,160,23,.12);

    color:var(--secondary);

    font-size:34px;

    box-shadow:0 10px 25px rgba(212,160,23,.18);

    transition:var(--transition);

}

.step-card:hover .step-icon{

    background:var(--secondary);

    color:#fff;

    transform:rotateY(180deg) scale(1.1);

}

.step-card h3{

    color:var(--primary);

    font-size:24px;

    font-weight:800;

    margin-bottom:15px;

}

.step-card p{

    color:var(--light);

    font-size:16px;

    line-height:2;

}


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

@media(max-width:992px){

    .page-hero{

        min-height:55vh;

        padding:100px 0 70px;

    }

    .page-hero h1{

        font-size:50px;

    }

    .page-hero p{

        font-size:18px;

    }

    .company-grid{

        grid-template-columns:1fr;

    }

    .company-content{

        text-align:center;

    }

    .company-cards{

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

    }

    .vision-grid{

        grid-template-columns:1fr;

    }

    .why-grid{

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

    }

    .steps-grid{

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

    }

}

@media(max-width:768px){

    .page-hero{

        min-height:45vh;

        padding:90px 0 60px;

    }

    .page-hero h1{

        font-size:38px;

    }

    .page-hero p{

        font-size:17px;

        line-height:1.9;

        padding:0 10px;

    }

    .page-hero span{

        font-size:16px;

    }

    .company-content h2{

        font-size:34px;

    }

    .company-cards{

        grid-template-columns:1fr;

    }

    .why-grid{

        grid-template-columns:1fr;

    }

    .steps-grid{

        grid-template-columns:1fr;

    }

}
/*==================================================
                PARTNERS
==================================================*/

.partners{

    padding:100px 0;

    background:#fff;

}

.partners-grid{

    display:grid;

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

    gap:30px;

    margin-top:60px;

}

.partner-card{

    background:#fff;

    border-radius:24px;

    height:190px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:30px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.4s;

    overflow:hidden;

}

.partner-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.16);

}

.partner-logo{

    width:100px;

    max-width:220%;

    max-height:120px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.75;

    transition:.45s;

}

.partner-card:hover .partner-logo{

    filter:grayscale(0);

    opacity:1;

    transform:scale(1.08);

}
@media(max-width:992px){

.partners-grid{

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

}

}

@media(max-width:768px){

.partners-grid{

grid-template-columns:1fr;

}

.partner-card{

 height:180px;
 padding:35px;
 display:flex;
 justify-content:center;
align-items:center;
}
}
/*==================================================
                ABOUT CTA
==================================================*/

.about-cta{

    padding:100px 0;

    background:linear-gradient(
        rgba(31,43,108,.92),
        rgba(31,43,108,.92)
    ),
    url("../images/about-hero.jpg") center/cover no-repeat;

    position:relative;

    overflow:hidden;

}

.cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#fff;

}

.cta-box span{

    display:inline-block;

    color:var(--secondary);

    font-size:18px;

    font-weight:700;

    margin-bottom:18px;

    letter-spacing:1px;

}

.cta-box h2{

    font-size:48px;

    font-weight:900;

    line-height:1.4;

    margin-bottom:25px;

}

.cta-box p{

    max-width:700px;

    margin:auto;

    color:rgba(255,255,255,.9);

    font-size:18px;

    line-height:2;

    margin-bottom:40px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.cta-buttons .btn{

    min-width:190px;

}

.cta-buttons .btn-outline{

    border:2px solid #fff;

    color:#fff;

}

.cta-buttons .btn-outline:hover{

    background:#fff;

    color:var(--primary);

}
@media(max-width:768px){

    .cta-box h2{

        font-size:34px;

    }

    .cta-box p{

        font-size:16px;

        padding:0 10px;

    }

    .cta-buttons{

        flex-direction:column;

        align-items:center;

    }

}