/* 설치 사례 마퀴·전체보기 (2026-10-02)
   마퀴 규칙: 한 벌을 컨테이너 너비 이상으로 채우고(JS) 2벌로 잇는다. 트랙은 정확히 한 벌(-50%)만 움직인다.
   간격은 카드마다 margin-right 로 줘서 한 벌 끝에도 똑같이 붙는다. 카드 너비·사진 비율 고정(로딩 전후 너비 불변). */
.rv-case-marquee{position:relative;overflow:hidden;margin-top:6px;padding:4px 0 8px}
.rv-case-track{display:flex;width:max-content;animation:rvCaseFlow var(--case-dur,40s) linear infinite;will-change:transform}
.rv-case-track.is-static{animation:none}
.rv-case-marquee .rv-case{flex:0 0 auto;flex-shrink:0;width:320px;margin:0 20px 0 0}
.rv-case-marquee:hover .rv-case-track,.rv-case-marquee:focus-within .rv-case-track{animation-play-state:paused}
@keyframes rvCaseFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:640px){.rv-case-marquee .rv-case{width:260px;margin-right:14px}}
@media (prefers-reduced-motion:reduce){.rv-case-track{animation:none}.rv-case-marquee{overflow-x:auto}}
.rv-case-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.rv-case-link:hover .rv-case-body b,.rv-case-link:focus-visible .rv-case-body b{text-decoration:underline}
.rv-case-ph{aspect-ratio:4/3}
.rv-case-ph img{width:100%;height:100%;object-fit:cover}
/* 전체보기 쪽 */
.rv-cases-all .rv-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rv-cases-all .rv-case-body p+p{margin-top:8px}
.rv-cases-all .rv-case{scroll-margin-top:96px}
.rv-cases-all .rv-case:target{box-shadow:0 0 0 3px rgba(11,92,214,.35)}
.rv-case-empty{margin:8px 0 0;font-size:15px;color:#4a5f7c}
.rv-cases-cta{margin-top:28px;padding:22px 24px;border-radius:16px;background:#f6f9fd;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rv-cases-cta p{margin:0;font-weight:700;color:#0f2a4a}
@media (max-width:1024px){.rv-cases-all .rv-case-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.rv-cases-all .rv-case-grid{grid-template-columns:1fr}}
