/* =========================================================
   HOPEBRIDGE FOUNDATION
   ABOUT US PAGE
========================================================= */


/* =========================================================
   ABOUT PAGE BACKGROUND
========================================================= */

.about-page {

    position: relative;

    min-height: calc(100vh - 78px);

    padding: 70px 0 80px;

    overflow: hidden;

    background:
        linear-gradient(
            rgba(15, 42, 34, 0.72),
            rgba(15, 42, 34, 0.72)
        ),
        url("common.jpg");

    background-size: cover;

    background-position: center;

    background-attachment: fixed;
}


/* Slight background blur/softness */

.about-page::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        rgba(0, 0, 0, 0.08);

    pointer-events: none;
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.about-container {

    position: relative;

    z-index: 2;

}


/* =========================================================
   WHITE INFORMATION CARDS
========================================================= */

.about-panel {

    position: relative;

    background:
        rgba(255, 255, 255, 0.94);

    padding: 50px;

    margin-bottom: 28px;

    border-radius: 10px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.20);

    backdrop-filter: blur(5px);

    -webkit-backdrop-filter: blur(5px);

}


/* =========================================================
   HEADINGS
========================================================= */

.about-heading {

    margin-bottom: 30px;

}


.about-label {

    display: inline-block;

    color: var(--orange);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2.5px;

    margin-bottom: 10px;

}


.about-heading h1,
.about-heading h2 {

    font-family:
        "Playfair Display",
        serif;

    color: var(--dark);

    font-size:
        clamp(34px, 5vw, 52px);

    line-height: 1.12;

}


.about-heading h1 span,
.about-heading h2 span {

    color: red;
}


/* =========================================================
   FOUNDATION INTRODUCTION
========================================================= */

.about-introduction {

    max-width: 850px;

}


.about-introduction h2 {

    font-family:
        "Playfair Display",
        serif;

    color: red;

    font-size: 30px;

    margin-bottom: 15px;

}


.about-introduction p {

    color: var(--text);

    font-size: 15px;

    margin-bottom: 15px;

    line-height: 1.8;

}


/* =========================================================
   MISSION / VISION / OBJECTIVES
========================================================= */

.mission-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 25px;

    margin-top: 40px;

    padding-top: 35px;

    border-top:
        1px solid var(--border);

}


.mission-grid > div {

    padding-right: 20px;

}


.mini-icon {

    width: 42px;

    height: 42px;

    display: grid;

    place-items: center;

    background:
        var(--green-light);

    color:
        var(--green);

    border-radius: 50%;

    font-size: 11px;

    font-weight: 700;

    margin-bottom: 15px;

}


.mission-grid h3 {

    font-family:
        "Playfair Display",
        serif;

    color: var(--dark);

    font-size: 23px;

    margin-bottom: 8px;

}


.mission-grid p {

    color: var(--text);

    font-size: 13px;

    line-height: 1.7;

}


/* =========================================================
   FOUNDER & COMMITTEE
========================================================= */

.people-grid {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 35px;

}


.person-card {

    display: flex;

    align-items: center;

    gap: 25px;

    padding: 25px;

    background:
        rgba(248, 245, 237, 0.75);

    border-radius: 8px;

    border:
        1px solid rgba(228, 233, 229, 0.8);

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


.person-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.08);

}


/* =========================================================
   PERSON PHOTO
========================================================= */

.person-image {

    flex-shrink: 0;

}


.person-image img {

    width: 135px;

    height: 135px;

    object-fit: cover;

    border-radius: 50%;

    border:
        5px solid white;

    box-shadow:
        0 8px 25px rgba(0,0,0,.12);

}


/* =========================================================
   PERSON DETAILS
========================================================= */

.person-details {

    flex: 1;

}


.person-role {

    display: block;

    color: var(--orange);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 5px;

}


.person-details h3 {

    font-family:
        "Playfair Display",
        serif;

    color: var(--dark);

    font-size: 25px;

    margin-bottom: 8px;

}


.person-details p {

    color: var(--text);

    font-size: 13px;

    line-height: 1.65;

}


/* =========================================================
   CONTACT SECTION
========================================================= */

.contact-panel {

    margin-bottom: 0;

}


.contact-about-grid {

    display: grid;

    grid-template-columns:
        1.4fr 1fr 1fr;

    gap: 30px;

}


.contact-about-item {

    display: flex;

    gap: 15px;

    padding: 25px;

    background:
        rgba(248, 245, 237, 0.75);

    border-radius: 7px;

    border:
        1px solid var(--border);

}


.contact-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        var(--green-light);

    font-size: 18px;

}


.contact-about-item h3 {

    font-family:
        "Playfair Display",
        serif;

    color: var(--dark);

    font-size: 21px;

    margin-bottom: 10px;

}


.contact-about-item p {

    color: var(--text);

    font-size: 13px;

    line-height: 1.7;

    margin-bottom: 12px;

}


.contact-about-item p:last-child {

    margin-bottom: 0;

}


.contact-about-item strong {

    color: var(--dark);

}


/* =========================================================
   FOOTER
========================================================= */

.footer {

    background:
        var(--dark);

    color:
        #b8c9c1;

}


.footer-bottom {

    min-height: 70px;

    border-top:
        1px solid rgba(255,255,255,.1);

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    font-size: 12px;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .about-page {

        padding:
            55px 0 65px;

    }


    .about-panel {

        padding: 40px;

    }


    .mission-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .mission-grid > div:last-child {

        grid-column:
            1 / -1;

    }


    .contact-about-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .address-item {

        grid-column:
            1 / -1;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .about-page {

        min-height: auto;

        padding:
            35px 0 45px;

        background-attachment:
            scroll;

    }


    .about-panel {

        padding:
            28px 22px;

        margin-bottom:
            18px;

        border-radius:
            7px;

    }


    .about-heading {

        margin-bottom:
            22px;

    }


    .about-heading h1,
    .about-heading h2 {

        font-size:
            34px;

    }


    .about-introduction h2 {

        font-size:
            26px;

    }


    .about-introduction p {

        font-size:
            14px;

    }


    /* Mission */

    .mission-grid {

        grid-template-columns:
            1fr;

        gap: 25px;

        margin-top:
            30px;

        padding-top:
            25px;

    }


    .mission-grid > div:last-child {

        grid-column:
            auto;

    }


    .mission-grid > div {

        padding-right:
            0;

    }


    /* People */

    .people-grid {

        grid-template-columns:
            1fr;

        gap:
            20px;

    }


    .person-card {

        padding:
            20px;

        gap:
            18px;

    }


    .person-image img {

        width:
            100px;

        height:
            100px;

    }


    .person-details h3 {

        font-size:
            22px;

    }


    /* Contact */

    .contact-about-grid {

        grid-template-columns:
            1fr;

        gap:
            15px;

    }


    .address-item {

        grid-column:
            auto;

    }


    .contact-about-item {

        padding:
            20px;

    }

}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .about-page {

        padding:
            25px 0 35px;

    }


    .about-panel {

        padding:
            24px 18px;

    }


    .about-heading h1,
    .about-heading h2 {

        font-size:
            30px;

    }


    .person-card {

        flex-direction:
            column;

        text-align:
            center;

    }


    .person-details {

        width:
            100%;

    }


    .person-image img {

        width:
            115px;

        height:
            115px;

    }


    .footer-bottom {

        min-height:
            65px;

        padding:
            15px;

        font-size:
            11px;

    }

}