.reviews-slider {
  position: relative;
  width: calc(100% - 28px);
  margin: 14px;
  padding: 95px 0 75px;
  overflow: hidden;
  border: 1px solid rgba(168,137,79,.3);
  border-radius: 24px;
  background: linear-gradient(145deg,#f7efe2,#eadcc4);
}
.reviews-slider-head {
  display: grid;
  grid-template-columns: 1fr .55fr;
  gap: 9vw;
  align-items: end;
  padding: 0 max(6vw,24px);
  margin-bottom: 48px;
}
.reviews-slider-head h2 {
  margin: 0;
  font: 400 clamp(2.15rem,3.25vw,3.45rem)/1.12 var(--display);
  letter-spacing: -.025em;
}
.reviews-slider-head > div:last-child > p { max-width: 430px; color: var(--muted); }
.slider-controls { display: flex; gap: 8px; margin-top: 20px; }
.slider-controls button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(168,137,79,.48);
  border-radius: 50%;
  color: var(--gold-deep);
  background: rgba(255,253,248,.6);
  cursor: pointer;
  transition: color .25s ease,background .25s ease,transform .25s ease;
}
.slider-controls button:hover { color: white; background: var(--gold-deep); transform: translateY(-2px); }
.reviews-viewport { overflow: hidden; }
.reviews-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px)/3);
  gap: 16px;
  padding: 0 max(6vw,24px) 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: max(6vw,24px);
  scrollbar-width: none;
}
.reviews-track::-webkit-scrollbar { display: none; }
.review-slide {
  position: relative;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  min-height: 360px;
  margin: 0;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(168,137,79,.32);
  border-radius: 18px;
  background: #fffaf2;
  box-shadow: 0 18px 45px rgba(61,48,35,.06);
}
.review-slide.champagne { background: linear-gradient(145deg,#eedfbe,#dfc994); }
.review-slide.taupe { color: #fffaf2; background: linear-gradient(145deg,#5c5249,#403a34); }
.review-slide::before {
  content: '';
  position: absolute;
  left: 22px;
  top: 0;
  width: 88px;
  height: 2px;
  background: linear-gradient(90deg,transparent,var(--gold-deep),var(--gold2),transparent);
  background-size: 200% 100%;
  animation: reviewLine 4.5s ease-in-out infinite;
}
.review-slide::after {
  content: '“';
  position: absolute;
  top: 58px;
  right: 28px;
  color: rgba(168,137,79,.14);
  font: 400 76px/1 var(--display);
}
.review-slide.taupe::after { color: rgba(224,204,157,.17); }
.review-slide > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.review-slide > div:first-child span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(168,137,79,.42);
  border-radius: 50%;
  color: var(--gold-deep);
  font-size: 9px;
}
.review-slide b { color: var(--gold-deep); font-size: 10px; font-weight: 400; letter-spacing: .12em; }
.review-slide.taupe b,.review-slide.taupe > div:first-child span { color: var(--gold2); }
.review-slide > p {
  position: relative;
  z-index: 1;
  margin: 52px 0 30px;
  color: #554b42;
  font: 400 clamp(1.15rem,1.45vw,1.4rem)/1.52 'Playfair Display',serif;
}
.review-slide.taupe > p { color: #fffaf2; }
.review-author { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(168,137,79,.26); }
.review-author cite,.review-author small { display: block; }
.review-author cite { font-size: 13px; font-style: normal; font-weight: 600; }
.review-author small { margin-top: 3px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.review-slide.taupe .review-author { border-color: rgba(224,204,157,.3); }
.review-slide.taupe .review-author small { color: #d2c5b8; }
.reviews-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 32px max(6vw,24px) 0;
}
.reviews-bottom > p { display: flex; align-items: center; gap: 11px; width: min(300px,35vw); color: var(--gold-deep); font-size: 9px; }
.reviews-bottom > p i { flex: 1; height: 1px; background: linear-gradient(90deg,var(--gold-deep),rgba(168,137,79,.2)); }
.reviews-bottom > a {
  position: relative;
  padding: 12px 18px;
  overflow: hidden;
  border: 1px solid rgba(168,137,79,.48);
  border-radius: 999px;
  color: var(--ink);
  background: rgba(255,253,248,.52);
  font-size: 12px;
  font-weight: 600;
}
.reviews-bottom > a b { margin-left: 12px; color: var(--gold-deep); }
@keyframes reviewLine { 0%,100%{background-position:100% 0;opacity:.45}50%{background-position:0 0;opacity:1} }
@media(max-width:850px) {
  .reviews-slider { width: calc(100% - 16px); margin: 8px; padding: 78px 0 62px; border-radius: 19px; }
  .reviews-slider-head { grid-template-columns: 1fr; gap: 22px; }
  .reviews-track { grid-auto-columns: min(84vw,360px); }
  .review-slide { min-height: 350px; }
  .reviews-bottom { align-items: flex-start; flex-direction: column; }
  .reviews-bottom > p { width: 100%; }
}
@media(prefers-reduced-motion:reduce){.review-slide::before{animation:none}}
