.gallery-card:hover .overlay {
    opacity: 1;
}
.gallery-card:hover img {
    transform: scale(1.1);
}
.masonry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-auto-rows: 200px;
    gap: 24px;
}

@media (max-width: 768px) {
    .masonry-grid {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
}
.span-v-2 { grid-row: span 2; }
.span-v-3 { grid-row: span 3; }
.span-h-2 { grid-column: span 2; }
.circular-frame {
    border-radius: 50% !important;
    aspect-ratio: 1/1;
}