/* =========================================================
   ABOUT PAGE
   Eaton-Moepeng Tutoring
========================================================= */
/* =========================================================
   GLOBAL NAVIGATION
   Navigation styling is inherited from style.css
========================================================= */


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

.about-hero {

    position: relative;

    padding: 100px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 10% 25%,
            rgba(106, 56, 194, 0.12),
            transparent 35%
        ),

        radial-gradient(
            circle at 90% 75%,
            rgba(244, 63, 142, 0.10),
            transparent 35%
        ),

        linear-gradient(
            135deg,
            var(--white),
            var(--off-white)
        );
}


.about-hero::before {

    content: "";

    position: absolute;

    width: 260px;

    height: 260px;

    top: -120px;

    right: 8%;

    border-radius: 50%;

    background: var(--yellow-light);

    opacity: 0.65;

}


.about-hero::after {

    content: "";

    position: absolute;

    width: 180px;

    height: 180px;

    bottom: -90px;

    left: 5%;

    border-radius: 50%;

    background: var(--pink-light);

    opacity: 0.7;

}


.about-hero-container {

    position: relative;

    z-index: 2;

}


.about-hero-content {

    max-width: 850px;

    margin: 0 auto;

    text-align: center;

}


.about-hero-content .section-badge {

    display: inline-flex;

    align-items: center;

    padding: 8px 17px;

    margin-bottom: 22px;

    border-radius: 50px;

    background: var(--purple-light);

    color: var(--purple);

    font-size: 0.78rem;

    font-weight: 700;

}


.about-hero-content h1 {

    font-size: clamp(
        2.7rem,
        5vw,
        4.3rem
    );

    line-height: 1.08;

    letter-spacing: -2px;

    color: var(--text-dark);

    margin-bottom: 25px;

}


.about-hero-content h1 span {

    display: block;

    color: var(--purple);

}


.about-hero-content p {

    max-width: 700px;

    margin: 0 auto;

    color: var(--text);

    font-size: 1.05rem;

}


/* =========================================================
   OUR STORY
========================================================= */

.about-story-section {

    padding: 110px 0;

    background: var(--white);

}


.about-story-container {

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    align-items: center;

    gap: 80px;

}


.about-story-image {

    position: relative;

}


.about-image-placeholder {

    position: relative;

    padding: 8px;

    border-radius: 35px;

    background:
        linear-gradient(
            145deg,
            var(--purple),
            var(--pink)
        );

    border: 8px solid var(--white);

    box-shadow: var(--shadow-large);

    overflow: hidden;

}

.about-image-placeholder img {

    display: block;

    width: 100%;

    aspect-ratio: 4 / 5;

    object-fit: cover;

    border-radius: 25px;

}


.about-image-placeholder span {

    color: var(--purple);

    font-size: 1rem;

    font-weight: 700;

}


.about-story-content {

    max-width: 650px;

}


.about-story-content h2 {

    font-size: clamp(
        2rem,
        4vw,
        3.1rem
    );

    line-height: 1.15;

    letter-spacing: -1px;

    margin-bottom: 25px;

}


.about-story-content p {

    color: var(--text);

    font-size: 0.95rem;

    margin-bottom: 18px;

}


.about-story-content strong {

    color: var(--purple);

}


/* =========================================================
   MEET KENEILWE
========================================================= */

.about-keneilwe-section {

    padding: 110px 0;

    background: var(--off-white);

}


.about-keneilwe-container {

    display: grid;

    grid-template-columns: 1.1fr 0.9fr;

    align-items: center;

    gap: 80px;

}


.about-keneilwe-content {

    max-width: 650px;

}


.about-keneilwe-content h2 {

    font-size: clamp(
        2rem,
        4vw,
        3rem
    );

    line-height: 1.15;

    letter-spacing: -1px;

    margin-bottom: 25px;

}


.about-keneilwe-content p {

    color: var(--text);

    font-size: 0.95rem;

    margin-bottom: 18px;

}


.about-keneilwe-content strong {

    color: var(--purple);

}


/* =========================================================
   KENEILWE VALUES
========================================================= */

.about-values-card {

    display: flex;

    flex-direction: column;

    gap: 18px;

    padding: 35px;

    background: var(--white);

    border-radius: 30px;

    box-shadow: var(--shadow);

}


.about-value {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 20px;

    border-radius: 20px;

    background: var(--light);

    transition: var(--transition);

}


.about-value:hover {

    transform: translateY(-4px);

    box-shadow: var(--shadow-small);

}


.about-value-icon {

    width: 52px;

    height: 52px;

    display: grid;

    place-items: center;

    flex-shrink: 0;

    border-radius: 15px;

    background: var(--purple-light);

    font-size: 1.35rem;

}


.about-value:nth-child(2) .about-value-icon {

    background: var(--pink-light);

}


.about-value:nth-child(3) .about-value-icon {

    background: var(--yellow-light);

}


.about-value h3 {

    font-size: 1rem;

    margin-bottom: 5px;

}


.about-value p {

    color: var(--text-light);

    font-size: 0.8rem;

}


/* =========================================================
   OUR PHILOSOPHY
========================================================= */

.about-philosophy-section {

    position: relative;

    padding: 110px 0;

    overflow: hidden;

    background: var(--purple);

    color: var(--white);

}


.about-philosophy-section::before {

    content: "";

    position: absolute;

    width: 350px;

    height: 350px;

    top: -180px;

    right: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.06);

}


.about-philosophy-section::after {

    content: "";

    position: absolute;

    width: 250px;

    height: 250px;

    bottom: -140px;

    left: -80px;

    border-radius: 50%;

    background: rgba(255, 191, 36, 0.10);

}


.about-philosophy-container {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 0.9fr 1.1fr;

    gap: 80px;

    align-items: center;

}


.about-philosophy-heading {

    max-width: 500px;

}


.about-philosophy-heading .section-label {

    color: var(--yellow);

}


.about-philosophy-heading h2 {

    color: var(--white);

    font-size: clamp(
        2rem,
        4vw,
        3.2rem
    );

    line-height: 1.12;

    letter-spacing: -1px;

}


.about-philosophy-content {

    display: flex;

    flex-direction: column;

    gap: 18px;

}


.about-philosophy-content p {

    padding: 18px 22px;

    border-left: 4px solid var(--yellow);

    border-radius: 0 14px 14px 0;

    background: rgba(255, 255, 255, 0.08);

    color: rgba(255, 255, 255, 0.88);

    font-size: 0.92rem;

}


.about-philosophy-content p:last-child {

    color: var(--white);

    font-weight: 500;

}


/* =========================================================
   OUR COMMITMENT
========================================================= */

.about-values-section {

    padding: 110px 0;

    background: var(--white);

}


.about-values-container {

    position: relative;

    padding: 70px;

    overflow: hidden;

    border-radius: 35px;

    background:
        linear-gradient(
            135deg,
            var(--purple),
            var(--purple-dark)
        );

    box-shadow: var(--shadow-large);

}


.about-values-container::before {

    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    top: -150px;

    right: -70px;

    border-radius: 50%;

    background: rgba(244, 63, 142, 0.25);

}


.about-values-container::after {

    content: "";

    position: absolute;

    width: 220px;

    height: 220px;

    bottom: -120px;

    left: -60px;

    border-radius: 50%;

    background: rgba(251, 191, 36, 0.18);

}


.about-values-content {

    position: relative;

    z-index: 2;

    max-width: 760px;

}


.about-values-content .section-label {

    color: var(--yellow);

}


.about-values-content h2 {

    color: var(--white);

    font-size: clamp(
        2rem,
        4vw,
        3.2rem
    );

    line-height: 1.12;

    letter-spacing: -1px;

    margin-bottom: 20px;

}


.about-values-content p {

    max-width: 650px;

    margin-bottom: 30px;

    color: rgba(255, 255, 255, 0.85);

}


/* =========================================================
   ABOUT PAGE — TABLET
========================================================= */

@media (max-width: 1000px) {

    .about-story-container,
    .about-keneilwe-container,
    .about-philosophy-container {

        gap: 50px;

    }

}


/* =========================================================
   ABOUT PAGE — MOBILE
========================================================= */

@media (max-width: 800px) {

    .about-story-container,
    .about-keneilwe-container,
    .about-philosophy-container {

        grid-template-columns: 1fr;

    }


    .about-story-content,
    .about-keneilwe-content,
    .about-philosophy-heading {

        max-width: 700px;

        margin-left: auto;

        margin-right: auto;

    }


    .about-story-content,
    .about-keneilwe-content {

        text-align: center;

    }


    .about-story-image {

        max-width: 600px;

        width: 100%;

        margin: 0 auto;

    }


    .about-values-card {

        max-width: 700px;

        width: 100%;

        margin: 0 auto;

    }


    .about-philosophy-heading {

        text-align: center;

    }


    .about-philosophy-content {

        max-width: 700px;

        margin: 0 auto;

    }


    .about-values-container {

        padding: 55px 40px;

    }

}


/* =========================================================
   ABOUT PAGE — SMALL MOBILE
========================================================= */

@media (max-width: 600px) {

    .about-hero {

        padding: 75px 0;

    }


    .about-hero-content h1 {

        font-size: 2.45rem;

        letter-spacing: -1px;

    }


    .about-story-section,
    .about-keneilwe-section,
    .about-philosophy-section,
    .about-values-section {

        padding: 75px 0;

    }


    .about-image-placeholder {

        min-height: 400px;

    }


    .about-values-card {

        padding: 20px;

        border-radius: 25px;

    }


    .about-value {

        padding: 17px;

        gap: 14px;

    }


    .about-value-icon {

        width: 45px;

        height: 45px;

        border-radius: 13px;

    }


    .about-values-container {

        padding: 45px 25px;

        border-radius: 25px;

    }

}