.collage-shell {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;

}

.collage {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    gap: 0;
}

.collage,
.collage * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.collage-item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.collage-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.collage {
    --cols: 4;
}

@media (max-width: 1024px) {
    .collage { --cols: 3; }
}

@media (max-width: 600px) {
    .collage { --cols: 2; }
}

@media (max-width: 420px) {
    .collage { --cols: 1; }
}

.collage--grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(var(--cols), 1fr);
    gap: 6px; 
}

