.rv-device-section {
  --rv-ink: #16181c;
  --rv-muted: #666d77;
  --rv-soft: #f5f6f8;
  --rv-line: #e5e8ec;
  --rv-action: #17191d;
  padding: clamp(68px, 7vw, 104px) max(28px, calc((100vw - 1440px) / 2));
  background: var(--rv-soft);
  color: var(--rv-ink);
}
.rv-section-head { max-width: 800px; margin-bottom: 38px; }
.rv-section-head > p { margin: 0 0 12px; color: var(--rv-muted); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.rv-section-head h2 { margin: 0; color: var(--rv-ink); font-size: clamp(34px, 4vw, 58px); font-weight: 720; letter-spacing: -.035em; line-height: 1.08; }
.rv-section-intro { max-width: 680px; margin-top: 16px; color: var(--rv-muted); font-size: 16px; line-height: 1.65; }
.rv-device-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rv-device-card { min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--rv-line); border-radius: 12px; background: #ffffff; color: var(--rv-ink); transition: transform .2s ease, box-shadow .2s ease; }
a.rv-device-card:hover { transform: translateY(-4px); box-shadow: 0 18px 46px rgba(18, 24, 32, .07); }
.rv-device-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  box-sizing: border-box;
  display: block;
  padding: clamp(24px, 2.4vw, 38px);
  background: #f5f6f8;
  object-fit: contain;
  object-position: center;
}
.rv-device-card strong { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; font-size: 19px; }
.rv-device-card--placeholder { opacity: .74; }
@media (max-width: 980px) { .rv-device-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rv-device-section { padding-inline: 14px; } .rv-device-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .rv-device-card { transition: none; } }
