.vlt-vg {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}

.vlt-vc {
  display: block;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  transition: border-color .15s, transform .15s;
}

.vlt-vc:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.vlt-vc picture,
.vlt-vc img {
  display: block;
  width: 100%;
}

.vlt-vc img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.vlt-vh {
  margin-top: 64px;
}

@media (max-width: 980px) {
  .vlt-vg {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .vlt-vg {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .vlt-vh {
    margin-top: 32px;
  }
}

@media (max-width: 380px) {
  .vlt-vg {
    gap: 8px;
  }
}
