.review-carousel { grid-column:1 / -1; min-width:0; }
.review-carousel-stage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.review-carousel-controls { display:none; }
.review-select { display:none; }
.editorial-home .review-carousel .review-card { display:block; margin:0; border-radius:16px; }
.editorial-home .review-carousel .review-image-link { height:300px; padding:20px; }
.editorial-home .review-carousel .review-copy { padding:26px 28px; }
.editorial-home .review-carousel h3 { font-size:30px; line-height:1.3; }
.editorial-home .review-carousel blockquote { margin-top:20px; }
.editorial-home .review-carousel blockquote p { font-size:17px; min-height:58px; margin-bottom:16px; }
.editorial-home .review-carousel cite { font-size:12px; }
.review-carousel.is-ready .review-carousel-stage { position:relative; display:block; overflow:hidden; padding:32px 0 24px; touch-action:pan-y; }
.review-carousel.is-ready .review-slide { position:absolute; top:32px; left:50%; width:min(420px,calc(100% - 64px)); transform:translateX(calc(-50% + var(--position) * 78%)) translateY(18px) rotate(calc(var(--position) * 1deg)) scale(.94); transform-origin:50% 50%; transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s; opacity:.68; z-index:1; }
.review-carousel.is-ready .review-slide.is-active { transform:translateX(-50%); opacity:1; z-index:2; }
.review-carousel.is-ready .review-slide.is-distant { opacity:0; pointer-events:none; }
.review-evidence-link { display:inline-block; margin-top:12px; color:var(--ds-primary-active); font-size:13px; text-underline-offset:4px; }
.editorial-home .review-carousel.is-ready .review-card { height:100%; border:1px solid var(--ds-hairline); box-shadow:0 5px 16px rgb(24 23 21 / 4%); }
.review-carousel.is-ready .review-select { display:block; position:absolute; inset:0; width:100%; border:0; border-radius:16px; cursor:pointer; background:transparent; }
.review-carousel.is-ready .is-active .review-select { display:none; }
.review-carousel.is-ready .review-carousel-controls { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:12px; }
.review-carousel-controls button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--ds-hairline); border-radius:50%; background:var(--ds-canvas); color:var(--ds-ink); cursor:pointer; transition:background .2s,color .2s; }
.review-carousel-controls button:hover { background:var(--ds-primary); color:white; }
.review-carousel button:focus-visible { outline:2px solid var(--ds-primary); outline-offset:4px; }
.review-carousel-status { min-width:50px; text-align:center; font-family:var(--ds-sans); font-size:14px; color:var(--ds-muted); font-variant-numeric:tabular-nums; }
@media(max-width:767px) {
 .review-carousel-stage { grid-template-columns:1fr; }
 .editorial-home .review-carousel .review-image-link { height:280px; padding:18px; }
 .editorial-home .review-carousel .review-copy { padding:22px; }
 .editorial-home .review-carousel h3 { font-size:28px; }
 .editorial-home .review-carousel blockquote p { font-size:16px; min-height:0; }
 .review-carousel.is-ready .review-slide { transform:translateX(calc(-50% + var(--position) * 89%)) translateY(12px) scale(.96); }
 .review-carousel.is-ready .review-slide.is-active { transform:translateX(-50%); }
}
@media(prefers-reduced-motion:reduce) {
 .review-carousel.is-ready .review-slide,.review-carousel-controls button { transition:none; }
}
@media(prefers-reduced-motion:no-preference) {
 .review-carousel.is-ready .review-slide { transition-duration:1.6s; }
}
