/* ==========================================
   ABOUT SECTION
========================================== */
.about{
    position:relative;
    background:
        radial-gradient(circle at top left,
        rgba(31,125,83,.08),
        transparent 40%),
        radial-gradient(circle at bottom right,
        rgba(132,204,22,.06),
        transparent 45%),
        var(--bg-light);
    overflow:hidden;
}
.about::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    top:-120px;
    left:-120px;
    border-radius:50%;
    background:rgba(31,125,83,.06);
    filter:blur(80px);
    animation:blobOne 10s ease-in-out infinite;
}

.about::after{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    right:-100px;
    bottom:-120px;
    border-radius:50%;
    background:rgba(132,204,22,.06);
    filter:blur(80px);
    animation:blobTwo 12s ease-in-out infinite;
}
.about-container{

    display:grid;

    grid-template-columns:1fr 1.08fr;

    gap:90px;

    align-items:center;

    position:relative;

    z-index:2;

}
.about-image{
    position:relative;
    border-radius:var(--radius-xl);
    overflow:visible;
    perspective:1200px;
}
.about-image img{
    display:block;
    width:100%;
    border-radius:var(--radius-xl);

    box-shadow:
        0 35px 70px rgba(0,0,0,.18);

    transform:rotate(-2deg);

    transition:
        transform .6s ease,
        box-shadow .6s ease;

    animation:
        hero-float 6s ease-in-out infinite;
}
.about-image:hover img{

    transform:
        rotate(0deg)
        scale(1.02);

    box-shadow:
        0 45px 90px rgba(0,0,0,.22);

}
.about-image::before{

    content:"";

    position:absolute;

    width:85%;

    height:85%;

    left:-35px;

    top:35px;

    background:linear-gradient(
        135deg,
        rgba(31,125,83,.12),
        rgba(132,204,22,.08)
    );

    border-radius:var(--radius-xl);

    z-index:-1;

    animation:blobOne 10s ease-in-out infinite;

}
.about-badge{

    position:absolute;

    left:-30px;

    bottom:40px;

    padding:22px 28px;

    display:flex;

    flex-direction:column;

    gap:6px;

    color:white;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.25);

    border-radius:20px;

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

    animation:floatCard 4s ease-in-out infinite;

    z-index:5;

}
.about-badge strong{

    font-family:var(--heading-font);

    font-size:30px;

    font-weight:700;

    color:white;

    line-height:1;

}
.about-badge span{

    font-size:14px;

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

    line-height:1.5;

}
.about-content p{

    font-size:17px;

    line-height:1.9;

    color:var(--text-light);

    margin-bottom:24px;

    max-width:640px;

}
.about-content .section-title{

    max-width:650px;

    margin-bottom:28px;

    line-height:1.15;

}
.about-mission-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:30px 0 35px;
}
.about-content .btn{

    margin-top:10px;

    padding:18px 38px;

    border-radius:999px;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.about-content .btn:hover{

    transform:
        translateY(-4px);

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

}
.mission-card{

    position:relative;

    background:rgba(255,255,255,.65);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.55);

    border-radius:22px;

    padding:30px;

    overflow:hidden;

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;

    box-shadow:
        0 20px 50px rgba(0,0,0,.08);

}
.mission-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(31,125,83,.05),
        transparent 70%
    );

    opacity:0;

    transition:opacity .4s ease;

}
.mission-card:hover{

    transform:
        translateY(-10px);

    border-color:
        rgba(31,125,83,.35);

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

}
.mission-card:hover::before{

    opacity:1;

}
.mission-icon{

    width:62px;

    height:62px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    border-radius:18px;

    margin-bottom:18px;

    background:linear-gradient(
        135deg,
        rgba(31,125,83,.14),
        rgba(132,204,22,.14)
    );

}
.mission-card h4{

    margin-bottom:12px;

    font-size:22px;

}
.mission-card p{

    margin:0;

    font-size:15px;

    line-height:1.8;

}
/* ==========================================
   STANDALONE STRENGTHS (about page)
========================================== */
.strengths-standalone{
    background:var(--bg-main);
}
.strength-card{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:22px 26px;
}
.strength-card .check{
    color:var(--secondary);
    font-size:18px;
    flex-shrink:0;
}
.strength-card p{
    margin:0;
    color:var(--text-dark);
    font-weight:500;
}
@media (max-width:768px){

    .about-badge{

        left:20px;

        bottom:20px;

        padding:16px 20px;

    }

    .about-badge strong{

        font-size:22px;

    }

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

    .about-container{

        grid-template-columns:1fr;

        gap:60px;

    }

    .about-content{

        text-align:center;

    }

    .about-content p{

        margin-left:auto;
        margin-right:auto;

    }

    .about-mission-grid{

        grid-template-columns:1fr;

    }

}