/* ==========================================================
   NIYAMIT — ABOUT US
   Page-specific styles
   Requires: common.css
   ========================================================== */


/* ==========================================================
   ABOUT CONTENT
   ========================================================== */

.about-page {
    background: #f7faf8;
}


/* ==========================================================
   ABOUT HERO
   ========================================================== */

.about-hero {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #0d1f14 0%,
            #122a1c 55%,
            #1b3d28 100%
        );

    color: var(--white);
}

.about-hero::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -180px;
    top: -220px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(45, 181, 78, 0.25),
            transparent 65%
        );
}

.about-hero-content {
    position: relative;

    z-index: 2;

    max-width: 700px;
}

.about-hero .eyebrow {
    display: inline-block;

    margin-bottom: 14px;

    padding: 6px 14px;

    border-radius: 50px;

    background: rgba(45, 181, 78, 0.12);

    border:
        1px solid rgba(45, 181, 78, 0.25);

    color: var(--green-3);

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}

.about-hero h1 {
    font-family: "Baloo 2", "Poppins", sans-serif;

    font-size: clamp(42px, 6vw, 68px);

    line-height: 1.05;

    font-weight: 800;

    margin-bottom: 18px;
}

.about-hero h1 span {
    color: var(--green-3);
}

.about-hero p {
    max-width: 620px;

    color: rgba(255, 255, 255, 0.68);

    font-size: 16px;

    line-height: 1.8;
}


/* ==========================================================
   COMMON ABOUT SECTION
   ========================================================== */

.about-section {
    padding: 90px 0;
}

.about-section:nth-child(even) {
    background: var(--white);
}

.about-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 80px;
}

.about-row.reverse {
    direction: rtl;
}

.about-row.reverse > * {
    direction: ltr;
}


/* ==========================================================
   TEXT
   ========================================================== */

.about-content .section-tag {
    display: inline-block;

    margin-bottom: 12px;

    color: var(--green);

    font-size: 12px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}

.about-content h2 {
    font-family: "Baloo 2", "Poppins", sans-serif;

    font-size: clamp(30px, 4vw, 44px);

    line-height: 1.15;

    font-weight: 800;

    color: var(--dark-1);

    margin-bottom: 18px;
}

.about-content h2 span {
    color: var(--green);
}

.about-content p {
    color: #68716b;

    font-size: 15px;

    line-height: 1.9;

    margin-bottom: 20px;
}


/* ==========================================================
   WHY CHOOSE US
   ========================================================== */

.why-list {
    display: grid;

    gap: 13px;

    margin-top: 25px;
}

.why-item {
    display: flex;

    align-items: flex-start;

    gap: 12px;

    padding: 13px 15px;

    border-radius: 12px;

    background: #f7faf8;

    border:
        1px solid rgba(45, 181, 78, 0.08);
}

.why-icon {
    flex-shrink: 0;

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(45, 181, 78, 0.12);

    color: var(--green);

    font-size: 12px;
}

.why-item strong {
    display: block;

    margin-bottom: 2px;

    color: var(--dark-1);

    font-size: 13px;
}

.why-item span {
    color: #747b76;

    font-size: 12px;

    line-height: 1.5;
}


/* ==========================================================
   APP IMAGE CARD
   ========================================================== */

.about-image {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 400px;

    padding: 30px;

    border-radius: var(--radius-xl);

    background:
        linear-gradient(
            145deg,
            #e4ffeb,
            #f5faf6
        );

    overflow: hidden;

    box-shadow:
        var(--shadow-md);
}

.about-image::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    border-radius: 50%;

    background:
        rgba(45, 181, 78, 0.10);

    top: -80px;
    right: -70px;
}

.about-image::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    border-radius: 50%;

    background:
        rgba(45, 181, 78, 0.07);

    bottom: -80px;
    left: -50px;
}

.about-image img {
    position: relative;

    z-index: 2;

    width: min(100%, 400px);

    max-height: 480px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 25px 30px rgba(0, 0, 0, 0.15)
        );

    transition:
        transform 0.5s var(--ease);
}

.about-image:hover img {
    transform: translateY(-8px);
}


/* ==========================================================
   MISSION CARD
   ========================================================== */

.mission-section {
    position: relative;

    padding: 100px 0;

    background:
        linear-gradient(
            135deg,
            var(--dark-1),
            var(--dark-2)
        );

    overflow: hidden;
}

.mission-section::before {
    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    border-radius: 50%;

    background:
        rgba(45, 181, 78, 0.08);

    left: -180px;
    bottom: -200px;
}

.mission-content {
    position: relative;

    z-index: 2;
}

.mission-content .section-tag {
    color: var(--green-3);
}

.mission-content h2 {
    color: var(--white);
}

.mission-content p {
    color: rgba(255, 255, 255, 0.65);
}


/* ==========================================================
   MISSION FEATURES
   ========================================================== */

.mission-points {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 15px;

    margin-top: 30px;
}

.mission-point {
    padding: 20px;

    border-radius: 16px;

    background:
        rgba(255, 255, 255, 0.04);

    border:
        1px solid rgba(255, 255, 255, 0.08);
}

.mission-point i {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-bottom: 13px;

    border-radius: 12px;

    background:
        rgba(45, 181, 78, 0.12);

    color: var(--green-3);
}

.mission-point h3 {
    color: var(--white);

    font-size: 14px;

    margin-bottom: 7px;
}

.mission-point p {
    margin: 0;

    font-size: 12px;

    line-height: 1.6;
}


/* ==========================================================
   JOIN CTA
   ========================================================== */

.about-cta {
    padding: 90px 0;

    background: #f7faf8;
}

.about-cta-box {
    position: relative;

    padding: 60px 40px;

    border-radius: var(--radius-xl);

    text-align: center;

    background:
        linear-gradient(
            135deg,
            var(--green),
            var(--green-2)
        );

    color: var(--white);

    overflow: hidden;

    box-shadow:
        0 20px 50px rgba(45, 181, 78, 0.18);
}

.about-cta-box::before {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    top: -160px;
    right: -100px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.08);
}

.about-cta-box h2 {
    position: relative;

    z-index: 1;

    font-family: "Baloo 2", "Poppins", sans-serif;

    font-size: clamp(30px, 5vw, 46px);

    line-height: 1.1;

    margin-bottom: 12px;
}

.about-cta-box p {
    position: relative;

    z-index: 1;

    max-width: 600px;

    margin: 0 auto 25px;

    color: rgba(255, 255, 255, 0.85);

    font-size: 14px;

    line-height: 1.7;
}

.about-cta-box .btn-primary {
    position: relative;

    z-index: 1;

    background: var(--white);

    color: var(--green-dark);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .about-hero {
        min-height: 380px;
    }

    .about-row {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .about-row.reverse {
        direction: ltr;
    }

    .about-image {
        min-height: 350px;

        order: -1;
    }

    .mission-points {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    .about-hero {
        min-height: 360px;

        padding:
            calc(var(--navbar-height) + 45px)
            0
            55px;
    }

    .about-hero h1 {
        font-size: 42px;
    }

    .about-hero p {
        font-size: 14px;
    }

    .about-section {
        padding: 60px 0;
    }

    .about-content h2 {
        font-size: 32px;
    }

    .about-content p {
        font-size: 14px;
    }

    .about-image {
        min-height: 300px;

        padding: 20px;

        border-radius: 22px;
    }

    .about-image img {
        max-height: 350px;
    }

    .about-cta {
        padding: 60px 0;
    }

    .about-cta-box {
        padding: 45px 22px;

        border-radius: 24px;
    }
}