/* ==========================================================
   About Section - Structure
   1) Layout
   2) Typography + Copy
   3) Reveal Helper
   4) Responsive
   ========================================================== */

/* ==========================================================
   Layout
   ========================================================== */
.about-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
    gap: clamp(40px, 5vw, 72px);
    align-items: center;
}

.about-visual {
    margin: 0;
    width: 100%;
}

.about-image {
    aspect-ratio: 36 / 49;
    width: 100%;
    object-fit: cover;
}

.about-content {
    width: 100%;
    max-width: 700px;
}

/* ==========================================================
   Typography + Copy
   ========================================================== */
.section-title {
    margin-bottom: var(--title-text-space);
    font-size: var(--title-size);
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.about-copy {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    text-align: justify;
}

.about-copy p {
    font-size: var(--body-size);
    line-height: var(--body-leading);
    font-weight: 400;
    text-wrap: pretty;
}

/* ==========================================================
   Reveal Helper
   ========================================================== */
.about-word {
    opacity: 0;
    transition: opacity 200ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
    .about-word {
        opacity: 1;
        transition: none;
    }
}

/* ==========================================================
   Responsive
   ========================================================== */
@media (min-width: 1025px) {
    #about .page-shell {
        min-height: 100vh;
        display: grid;
        align-items: center;
    }
}

@media (max-width: 1024px) {
    .about-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-visual {
        max-width: 620px;
        margin-inline: auto;
    }

    .about-content {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .section-title {
        line-height: 1;
    }

    .about-copy p {
        text-wrap: auto;
    }
}
