.sfeerfoto-mosaic {
    box-sizing:border-box;
    display:grid;
    width:100%;
    height:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:minmax(0,1fr);
    gap:clamp(4px,1vw,16px);
    padding:clamp(10px,4vw,64px);
    transition:opacity .45s ease;
}
.sfeerfoto-mosaic[hidden] { display:none; }
.sfeerfoto-mosaic figure { min-width:0; min-height:0; margin:0; overflow:hidden; }
.sfeerfoto-series .sfeerfoto-mosaic figure img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; }
.sfeerfoto-mosaic[data-photo-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sfeerfoto-mosaic:is([data-photo-count="3"],[data-photo-count="6"],[data-photo-count="9"]) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sfeerfoto-mosaic[data-photo-count="5"] {
    grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr) minmax(0,1.5fr);
    grid-template-areas:"lead detail landscape" "lead back interior";
}
.sfeerfoto-mosaic[data-photo-count="5"] figure:nth-child(1) { grid-area:lead; }
.sfeerfoto-mosaic[data-photo-count="5"] figure:nth-child(2) { grid-area:detail; }
.sfeerfoto-mosaic[data-photo-count="5"] figure:nth-child(3) { grid-area:landscape; }
.sfeerfoto-mosaic[data-photo-count="5"] figure:nth-child(4) { grid-area:back; }
.sfeerfoto-mosaic[data-photo-count="5"] figure:nth-child(5) { grid-area:interior; }
@media (max-width:719px) {
    .sfeerfoto-mosaic[data-photo-count="5"] {
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-areas:"lead detail" "lead back" "landscape interior";
    }
}
@media (prefers-reduced-motion:reduce) {
    .sfeerfoto-mosaic { transition:none; }
}
