/* =========================================================
   ABOUT PAGE
   ========================================================= */

.about-page {
    padding-block:
        clamp(48px, 6vw, 88px)
        clamp(80px, 9vw, 140px);
}


/* =========================================================
   INTRO
   ========================================================= */

.about-page__intro {
    width: min(100%, 1260px);

    margin-inline: auto;

    padding-inline:
        clamp(20px, 3vw, 54px);
}


.about-page__title {
    width: min(100%, 920px);

    margin: 0;

    font-size:
        clamp(3.6rem, 7vw, 7.4rem);

    line-height: 0.92;
    letter-spacing: -0.04em;
}


.about-page__lead {
    width: min(100%, 620px);

    margin:
        clamp(32px, 4vw, 52px)
        0
        0;

    font-size: 1.12rem;
    line-height: 1.6;
}


/* =========================================================
   SHARED SECTION HEADER
   ========================================================= */

.about-page__section-header {
    margin-bottom: 28px;
}


.about-page__section-header h2 {
    margin: 0;

    font-size: 0.90rem;
    font-weight: 700;

    letter-spacing: 0.03em;

    text-transform: uppercase;
}


/* =========================================================
   PROJECT
   ========================================================= */

.about-page__project {
    display: grid;

    grid-template-columns:
        minmax(160px, 0.35fr)
        minmax(0, 1fr);

    gap: clamp(40px, 7vw, 100px);

    width: min(100%, 1080px);

    margin:
        clamp(80px, 10vw, 140px)
        auto
        0;

    padding-inline:
        clamp(20px, 3vw, 54px);
}


.about-page__project-text {
    width: min(100%, 720px);

    font-size: 1.10rem;
    line-height: 1.68;
}


.about-page__project-text > *:first-child {
    margin-top: 0;
}


.about-page__project-text > *:last-child {
    margin-bottom: 0;
}

.about-page__project-support {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.90rem;
    font-weight: 400;

    letter-spacing: 0.03em;

}
/* =========================================================
   TEAM PHOTO
   ========================================================= */

.about-page__team-photo {
    width: min(100%, 1180px);

    margin:
        clamp(72px, 9vw, 128px)
        auto
        0;

    padding-inline:
        clamp(20px, 3vw, 54px);
}


.about-page__team-photo img {
    display: block;

    width: 100%;
    height: auto;
}


/* =========================================================
   TEAM
   ========================================================= */

.about-page__team {
    width: min(100%, 1080px);

    margin:
        clamp(72px, 8vw, 120px)
        auto
        0;

    padding-inline:
        clamp(20px, 3vw, 54px);
}


.about-page__team-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        clamp(48px, 6vw, 80px)
        clamp(56px, 8vw, 110px);
}


.about-person__name {
    margin: 0;

    font-size:
        clamp(1.5rem, 2vw, 2rem);

    line-height: 1.1;
}


.about-person__role {
    margin:
        8px
        0
        0;

    color: var(--color-muted);

    font-size: 0.76rem;
    font-weight: 700;

    letter-spacing: 0.03em;

    text-transform: uppercase;
}


.about-person__text {
    width: min(100%, 42ch);

    margin:
        18px
        0
        0;

    line-height: 1.55;
}

.about-page__team-grid--compact {
    margin-top: 24px;
    row-gap: 24px;
}

.about-person--compact .about-person__name {
    font-size: 1.05rem;
}

.about-person--compact .about-person__role {
    margin-top: 4px;
}

/* =========================================================
   COLLABORATORS
   ========================================================= */

.about-page__collaborators {
    width: min(100%, 1080px);

    margin:
        clamp(64px, 7vw, 96px)
        auto
        0;

    padding-inline:
        clamp(20px, 3vw, 54px);
}

.about-page__collaborators
.about-page__section-title {
    margin: 0;

    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.about-page__team-grid--compact {
    margin-top: 24px;

    row-gap: 24px;
}

.about-person--compact .about-person__name {
    font-size: 1.05rem;
}

.about-person--compact .about-person__role {
    margin-top: 4px;
}


/* =========================================================
   CONTACT
   ========================================================= */

.about-page__contact {
    width: min(100%, 1080px);

    margin:
        clamp(88px, 10vw, 150px)
        auto
        0;

    padding-inline:
        clamp(20px, 3vw, 54px);
}


.about-page__contact-text {
    width: min(100%, 560px);

    font-size: 1.05rem;
    line-height: 1.6;
}


.about-page__contact-text p {
    margin-top: 0;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .about-page {
        padding-block:
            28px
            80px;
    }


    .about-page__title {
        font-size:
            clamp(3rem, 14vw, 5rem);
    }


    .about-page__lead {
        margin-top: 24px;

        font-size: 1rem;
    }


    .about-page__project {
        grid-template-columns: 1fr;

        gap: 20px;

        margin-top: 64px;
    }


    .about-page__team-photo {
        margin-top: 64px;
    }


    .about-page__team {
        margin-top: 64px;
    }


    .about-page__team-grid {
        grid-template-columns: 1fr;

        gap: 44px;
    }


    .about-page__contact {
        margin-top: 72px;
    }

}

@media (max-width: 700px) {

    .about-page__collaborators {
        margin-top: 56px;
    }

    .about-page__team-grid--compact {
        gap: 20px;
    }

}