﻿/* =========================================
   ABOUT PAGE - PREMIUM DESIGN
========================================= */

.about-page {
    overflow: hidden;
    background: #fff;
    color: #183b32;
}

    /* HERO */

    .about-page .inner-page-hero {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: 105px 20px 100px;
        text-align: center;
        background: radial-gradient(circle at 15% 20%, rgba(214,173,96,.20), transparent 28%), radial-gradient(circle at 85% 80%, rgba(7,92,72,.13), transparent 30%), linear-gradient(125deg, #e6f0e8, #f2eee2, #dcebe2);
    }

        .about-page .inner-page-hero::before,
        .about-page .inner-page-hero::after {
            content: "";
            position: absolute;
            z-index: -1;
            border: 1px solid rgba(7,92,72,.13);
            border-radius: 50%;
            pointer-events: none;
        }

        .about-page .inner-page-hero::before {
            width: 380px;
            height: 380px;
            top: -220px;
            left: -100px;
            animation: aboutFloat 12s ease-in-out infinite;
        }

        .about-page .inner-page-hero::after {
            width: 300px;
            height: 300px;
            right: -100px;
            bottom: -190px;
            animation: aboutFloat 10s ease-in-out infinite reverse;
        }

        .about-page .inner-page-hero .container {
            max-width: 900px;
            margin: auto;
        }

    .about-page .inner-page-tag {
        display: inline-block;
        margin-bottom: 18px;
        color: #a77b32;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 2.5px;
        text-transform: uppercase;
    }

    .about-page .inner-page-hero h1 {
        max-width: 850px;
        margin: auto;
        color: #073d32;
        font-size: clamp(34px, 5vw, 57px);
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: -1.5px;
    }

    .about-page .inner-page-hero p {
        max-width: 700px;
        margin: 22px auto 0;
        color: #52685d;
        font-size: 16px;
        line-height: 1.9;
    }

    /* INTRODUCTION */

    .about-page .about-content-section {
        padding: 100px 0;
        background: #fff;
    }

    .about-page .about-content-grid {
        display: grid;
        grid-template-columns: 1.35fr .85fr;
        align-items: center;
        gap: 70px;
    }

        .about-page .about-content-grid h2 {
            margin-bottom: 22px;
            color: #073d32;
            font-size: clamp(29px, 3.5vw, 43px);
            line-height: 1.25;
            letter-spacing: -.8px;
        }

        .about-page .about-content-grid p {
            margin-bottom: 16px;
            color: #65766e;
            font-size: 15px;
            line-height: 1.95;
        }

    .about-page .about-highlight {
        position: relative;
        overflow: hidden;
        padding: 42px 35px;
        border: 1px solid #e2eae3;
        border-radius: 24px;
        background: linear-gradient(145deg, #f0f6f0, #e5eee6);
        box-shadow: 0 18px 45px rgba(5,46,43,.07);
        transition: transform .4s ease, box-shadow .4s ease;
    }

        .about-page .about-highlight::after {
            content: "";
            position: absolute;
            width: 150px;
            height: 150px;
            right: -65px;
            bottom: -70px;
            border: 1px solid rgba(167,123,50,.25);
            border-radius: 50%;
        }

        .about-page .about-highlight:hover {
            transform: translateY(-8px);
            box-shadow: 0 25px 55px rgba(5,46,43,.12);
        }

        .about-page .about-highlight h3 {
            margin-bottom: 16px;
            color: #075c48;
            font-size: 25px;
        }

        .about-page .about-highlight p {
            margin: 0;
            color: #60736a;
            line-height: 1.9;
        }

    /* WORKING APPROACH */

    .about-page .about-approach-section {
        padding: 85px 0;
        background: #f5f8f5;
    }

    .about-page .about-approach-box {
        max-width: 850px;
        margin: auto;
        text-align: center;
    }

        .about-page .about-approach-box h2 {
            margin-bottom: 20px;
            color: #073d32;
            font-size: clamp(28px, 3.5vw, 40px);
        }

        .about-page .about-approach-box p {
            color: #64756c;
            font-size: 15px;
            line-height: 1.95;
        }

    /* CORE VALUES */

    .about-page .about-values-section {
        padding: 95px 0;
        background: #fff;
    }

    .about-page .about-values-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .about-page .about-value-card {
        position: relative;
        padding: 32px;
        border: 1px solid #e5ece6;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 28px rgba(5,46,43,.045);
        transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
    }

        .about-page .about-value-card:hover {
            transform: translateY(-7px);
            border-color: #d6ad60;
            box-shadow: 0 18px 38px rgba(5,46,43,.09);
        }

        .about-page .about-value-card h3 {
            margin-bottom: 12px;
            color: #075c48;
            font-size: 20px;
        }

        .about-page .about-value-card p {
            margin: 0;
            color: #64756c;
            font-size: 14px;
            line-height: 1.9;
        }

    /* ABOUT CTA */

    .about-page .about-cta {
        position: relative;
        overflow: hidden;
        padding: 85px 20px;
        text-align: center;
        background: radial-gradient(circle at 10% 20%, rgba(214,173,96,.18), transparent 30%), linear-gradient(120deg, #dcebe2, #e9e5d6, #d3e5da);
    }

        .about-page .about-cta h2 {
            color: #073d32;
            font-size: clamp(28px, 3.5vw, 42px);
        }

        .about-page .about-cta p {
            max-width: 650px;
            margin: 16px auto 26px;
            color: #64756c;
            line-height: 1.9;
        }

/* ANIMATIONS */

@keyframes aboutFloat {
    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(20px) rotate(8deg);
    }
}

.about-page .inner-page-hero h1,
.about-page .inner-page-hero p,
.about-page .inner-page-tag {
    animation: aboutEnter .8s ease both;
}

.about-page .inner-page-hero p {
    animation-delay: .15s;
}

@keyframes aboutEnter {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* RESPONSIVE */

@media (max-width: 768px) {
    .about-page .inner-page-hero {
        padding: 75px 18px;
    }

    .about-page .about-content-section,
    .about-page .about-values-section {
        padding: 65px 0;
    }

    .about-page .about-content-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .about-page .about-values-grid {
        grid-template-columns: 1fr;
    }

    .about-page .about-highlight,
    .about-page .about-value-card {
        padding: 26px;
    }

    .about-page .about-approach-section {
        padding: 65px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page *,
    .about-page *::before,
    .about-page *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
