.vsg-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    padding: 20px;
}

.vsg-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    height: 450px;
    background: #000;
}

.vsg-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.vsg-card:hover video {
    transform: scale(1.08);
}

.vsg-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
}

@media (max-width: 1024px) {
    .vsg-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .vsg-grid {
        grid-template-columns: 1fr;
    }
}
