.self-portrait {
    display: flex;
    border: 1px solid #000;
    max-height: 100%;
}

.about-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    aspect-ratio: 2 / 3;
    max-height: 100%;
    max-width: 100%;
    justify-content: center;
    padding: 0 1.5rem;
}

/*-------------- tablet styles (≤1024px) --------------*/
@media screen and (max-width: 1024px) {
    .self-portrait {
        width: 85vw;
        margin-top: 1rem;
        max-width: 500px;
    }

    .about-info {
        font-size: 14px;
        width: 85vw;
        max-width: 500px;
        height: auto;
        max-height: none;
        aspect-ratio: unset;
        margin: 4rem 0;
        padding: 0;
    }
}

/*-------------- mobile styles (≤767px) --------------*/
@media screen and (max-width: 767px) {
    .about-info {
        margin: 3rem 0;
    }
}