.brand-opener {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 80vh;
    display: block;
    object-fit: cover;
}

.content {
    background-color: var(--lightpink);
}

.content > * {
    max-width: 1440px;
    margin: 0 auto;
}

.content .text {
    padding: 32px;
    padding-top: 25px;
    padding-bottom: 20px;
    max-width: 990px;
    font-size: 16px;
    line-height: 22px;
}

.content .intro {
    font-weight: 700;
    margin-top: 0;
}

.images {
    --container-width: min(100vw, 1440px);
    max-width: var(--container-width);
    padding-bottom: 3rem;
}

.images .grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: center;
}

@media (min-width: 40rem) {
    .images .grid {
        grid-template-columns: repeat(var(--columns), 1fr);
    }
    
    /* .images .grid.grid-multiple {
        height: calc(var(--container-width) / var(--columns));
    } */
}
.images .grid + .grid {
    margin-top: 2rem;
}

.images .grid-image {
    display: block;
    max-width: 100%;
}

/* TODO: find out why this breaks on iOS Safari */
.images .grid-image.image-portrait {
    /* height: 100%; */
}
.images .grid-image.image-landscape {
    width: 100%;
}
