/* Фото с клиентами слева и один отзыв справа, под общим заголовком. */
.reviews-section {
  background:var(--paper);
  border-block:1px solid #dfd7cd;
  padding:60px 0;
}

.reviews-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"label label" "title title" "clients carousel" ". navigation";
  gap:18px 48px;
  align-items:start;
}
.reviews-label { grid-area:label; margin:0; font-size:14px; }
.reviews-title {
  grid-area:title;
  margin-bottom:10px;
  white-space:nowrap;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:8px;
  text-decoration-skip-ink:none;
}
.reviews-navigation { grid-area:navigation; display:flex; align-items:center; justify-content:center; gap:12px; }
.reviews-count { margin-right:12px; color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.review-arrow {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:46px;
  height:46px;
  border:1px solid #b9a795;
  border-radius:50%;
  color:var(--accent);
  background:transparent;
  transition:background .2s, color .2s;
}
.review-arrow:not(:disabled):hover { background:var(--accent); color:var(--cream); }
.review-arrow:disabled { opacity:.3; cursor:default; }
#reviews-prev svg { transform:rotate(180deg); }
.reviews-carousel { grid-area:carousel; min-width:0; }
.reviews-track {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.reviews-track::-webkit-scrollbar { display:none; }
.review-slide { min-width:0; scroll-snap-align:start; }
.review-card, .clients-card {
  padding:18px;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--cream);
}
.clients-card { grid-area:clients; min-width:0; }
.clients-photo {
  position:relative;
  aspect-ratio:1.45;
  overflow:hidden;
}
.clients-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.review-image { display:flex; align-items:center; justify-content:center; aspect-ratio:1.45; }
.review-image img { width:100%; height:100%; object-fit:contain; }

@media (max-width:950px) {
  .reviews-layout { column-gap:32px; }
}

@media (max-width:760px) {
  .reviews-section { padding:44px 0; }
  .reviews-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"label" "title" "clients" "carousel" "navigation"; gap:20px; }
  .reviews-label { font-size:12px; }
  .reviews-title { font-size:clamp(19px,5.7vw,37px); line-height:1.2; letter-spacing:-.5px; text-underline-offset:6px; margin-bottom:6px; }
  .reviews-track { gap:16px; }
  .review-card, .clients-card { padding:12px; }
  .review-image, .clients-photo { aspect-ratio:1.2; }
}
