.review-carousel { min-width: 0; }
.review-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border: 1px solid #303b29;
}
.review-track::-webkit-scrollbar { display: none; }
.review-track:focus-visible { outline: 2px solid var(--green); outline-offset: 6px; }
.review-slide {
  flex: 0 0 100%;
  min-width: 0;
  min-height: 335px;
  padding: 40px 50px 30px;
  border: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.review-slide blockquote { max-width: 850px; font-size: clamp(26px, 3.1vw, 42px); line-height: 1.4; letter-spacing: -1px; margin: 30px 0 35px; }
.review-slide .review-source { margin-top: auto; padding-top: 20px; }
.review-slide .review-top > span:first-child { line-height: 1; }
.rating-content { margin: 30px 0 25px; }
.rating-label { font: 9px/1.8 var(--mono); color: #7e9270; letter-spacing: .7px; }
.rating-content h3 { font-size: clamp(25px, 2.7vw, 37px); line-height: 1.3; margin: 12px 0; letter-spacing: -.9px; }
.rating-content p { font-size: 12px; margin: 0; }
.review-controls { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 22px; }
.review-position { font: 12px var(--mono); color: #647759; min-width: 65px; }
#review-current { color: var(--green); }
.review-dots { display: flex; gap: 4px; }
.review-dot { padding: 10px; border: 0; background: transparent; cursor: pointer; }
.review-dot::after { content: ''; display: block; width: 6px; height: 6px; background: #44503a; border-radius: 50%; }
.review-dot[aria-current='true']::after { background: var(--green); box-shadow: 0 0 10px #b9fb6333; }
.review-arrows { display: flex; gap: 10px; }
.review-arrows button { width: 46px; height: 42px; border: 1px solid #405232; background: transparent; color: var(--green); font-size: 22px; cursor: pointer; transition: background .2s; }
.review-arrows button:hover { background: #202e17; }
@media (max-width: 680px) {
  .review-slide { padding: 26px 24px; min-height: 340px; }
  .review-slide blockquote { font-size: 27px; letter-spacing: -.5px; margin: 26px 0 35px; }
  .review-controls { gap: 9px; flex-wrap: wrap; }
  .review-dots { gap: 0; }
  .review-dot { padding: 8px; }
  .review-position { font-size: 10px; min-width: 56px; }
  .review-arrows { gap: 7px; }
  .review-arrows button { width: 37px; height: 38px; }
}
