:root {
    font-size: 150%;
    --body-flex-spacing: 64px;
}

main {
    display: flex;
    flex-direction: column;
    gap: var(--body-flex-spacing);
    padding: var(--body-flex-spacing);
}

#banner {
    gap: 32px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

#banner-hgroup {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#img-avatar {
    border-radius: 50%;
    aspect-ratio: 1;
    object-fit: cover;
    max-width: 200px;
}

figcaption {
    font-size: 0.8rem;
}

@media screen and (max-width: 1000px) {
    :root {
        font-size: 125%;
        --body-flex-spacing: 48px;
    }
    #img-avatar {
        max-width: 180px;
    }
}

@media screen and (max-width: 768px) {
    :root {
        font-size: 100%;
        --body-flex-spacing: 32px;
    }
    #banner {
        flex-direction: column;
    }
    #img-avatar {
        max-width: 150px;
    }
}
