/* Styles shared with other versions */
.vest-rs { margin: 28px 0; }
.vest-rs-head h2 { font-size: 1.25rem; margin: 0 0 14px; font-weight: 700; }
.vest-rs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.vest-rs-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.vest-rs-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.vest-rs-imgwrap { display:block; aspect-ratio: 16/9; overflow:hidden; background:#f3f4f6; }
.vest-rs-imgwrap img { width:100%; height:100%; object-fit:cover; display:block; }
.vest-rs-title { font-size: .98rem; line-height: 1.3; padding: 10px 12px 14px; margin: 0; }
.vest-rs-title a { color: inherit; text-decoration: none; }
.vest-rs-title a:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .vest-rs-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .vest-rs-grid { grid-template-columns: 1fr; }
}