/* Visterra Runs — testimonial carousel for the Plan Martín pilot pages (Rome EN).
   Same structure, classes and behavior as the reviews carousel on /honolulu (rwc-*, review-*), with the Rome page tokens
   (flat cards: no hover lift or shadow, same orange top rule). Loaded only by the pilot page that uses it. */
.pm-reviews { background: var(--vr-paper); padding: clamp(64px, 8vw, 104px) 0; }
.pm-reviews h2 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(34px, 4.4vw, 52px); line-height: 0.98; letter-spacing: -0.01em; color: var(--vr-ink); margin-bottom: 34px; max-width: 20ch; }

.rwc-wrap { display: flex; align-items: center; gap: 0; }
.rwc-viewport { overflow: hidden; flex: 1; min-width: 0; }
.rwc-track { display: flex; gap: 24px; transition: transform 0.42s cubic-bezier(0.25, 0.46, 0.45, 0.94); will-change: transform; align-items: stretch; }
.rwc-track .review-card { flex: 0 0 auto; min-width: 0; }
.rwc-arrow { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid var(--vr-line); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--vr-ink); transition: background 0.18s, color 0.18s; }
.rwc-prev { margin-right: 14px; }
.rwc-next { margin-left: 14px; }
.rwc-arrow:hover:not(:disabled) { background: var(--vr-navy); color: #fff; }
.rwc-arrow:disabled { opacity: 0.28; cursor: not-allowed; }
.rwc-dots { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.rwc-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(11, 17, 24, 0.22); border: none; cursor: pointer; padding: 0; transition: background 0.2s, transform 0.2s; }
.rwc-dot.is-active { background: var(--vr-navy); transform: scale(1.3); }
@media (max-width: 767px) { .rwc-arrow { display: none; } }

.review-card { display: flex; flex-direction: column; background: #fffdfa; border: 1px solid var(--vr-line); border-top: 3px solid var(--vr-orange); border-radius: 2px; padding: clamp(24px, 2.6vw, 34px); }
.review-stars { display: flex; gap: 3px; margin-bottom: 18px; }
.review-stars svg { width: 15px; height: 15px; fill: #c4923d; }
.review-quote { color: var(--vr-ink); font-size: 16.5px; font-weight: 500; line-height: 1.62; flex-grow: 1; margin: 0 0 24px; }
.review-author { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--vr-line); }
.review-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: center; background: #d9d0bf; border: 2px solid #fffdf8; flex-shrink: 0; }
.author-name { color: var(--vr-ink); font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.author-meta { color: var(--vr-muted); font-size: 14px; }
