.reviews{background:var(--sand);padding:130px 0;position:relative;}
.review-ratings{display:flex;justify-content:center;gap:56px;margin-top:38px;flex-wrap:wrap;}
.rating-block{text-align:center;}
.rating-block .score{font-family:var(--serif);font-size:38px;color:var(--navy);}
.rating-block .plat{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;}

/* ---------- EDITORIAL REVIEW CAROUSEL ----------
   No glass, no heavy borders, no card-UI. Each review reads like a
   pull-quote lifted from a travel magazine: an oversized quotation
   mark (the same device as the apartments' ghost numbers), generous
   whitespace, and a quiet byline instead of a boxed footer. */

.review-stage{
  display:flex;align-items:center;gap:28px;
  margin-top:76px;
}
.review-track-wrapper{overflow:hidden;flex:1;}
.review-track{
  display:flex;gap:44px;
  transition:transform .7s var(--ease-soft);
  will-change:transform;
  touch-action:pan-y;
  cursor:grab;
}
.review-track.dragging{cursor:grabbing;transition:none;}

.review-card{
  flex:0 0 calc((100% - 88px) / 3);
  position:relative;
  padding:8px 6px 0;
}

.review-mark{
  display:block;
  font-family:var(--serif);font-style:italic;
  font-size:76px;line-height:1;
  color:var(--terracotta);opacity:0.22;
  margin-bottom:2px;
  pointer-events:none;user-select:none;
}

.quote{
  font-family:var(--serif);font-weight:400;
  font-size:17px;line-height:1.7;color:var(--ink);
  min-height:150px;
}

.review-byline{
  margin-top:26px;padding-top:18px;
  border-top:1px solid rgba(22,48,63,0.14);
  font-size:12.5px;color:var(--ink-soft);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;
}
.review-name{font-weight:600;color:var(--ink);}
.review-country{color:var(--ink-soft);}
.review-country::before{content:"— ";}
.review-platform{
  margin-left:auto;
  font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--terracotta);font-weight:600;
}

.review-arrow{
  flex:0 0 auto;
  width:42px;height:42px;
  border:1px solid var(--navy);border-radius:50%;
  background:transparent;color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;
  cursor:pointer;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.review-arrow:hover{background:var(--navy);color:#fff;}

.carousel-dots{
  display:flex;justify-content:center;gap:10px;
  margin-top:44px;
}
.carousel-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(22,48,63,0.22);
  transition:background .3s ease, transform .3s ease;
}
.carousel-dot.active{
  background:var(--terracotta);
  transform:scale(1.4);
}

@media (max-width: 950px) {
    .review-card { flex: 0 0 calc((100% - 44px) / 2); }
}

@media (max-width: 700px) {
    .review-stage { gap: 14px; margin-top:56px; }
    .review-card { flex: 0 0 100%; }
    .review-arrow { display: none; }
    .review-mark{font-size:60px;}
    .quote{font-size:16px;min-height:0;}
}

@media (prefers-reduced-motion: reduce){
  .review-track{transition:none;}
}
