/* Editorial reviews, second section: warm paper, oversized type and slow slides. */
.reviews-section {
  position:relative; overflow:hidden; isolation:isolate;
  padding:72px 0 48px; background:#e9dfd0; color:#493629;
  border-bottom:1px solid #d5c4af;
}
.reviews-section::before {
  content:'✳'; position:absolute; z-index:-1; right:-90px; top:50px;
  font:400 460px/1 Georgia,serif; color:#d8c8b1; opacity:.38;
  transform:rotate(-12deg); pointer-events:none;
}
.reviews-inner { display:block; max-width:1220px; }
.reviews-intro { position:relative; text-align:center; }
.reviews-intro .eyebrow { font-size:10px; letter-spacing:.24em; margin-bottom:20px; }
.reviews-section h2 { font-size:clamp(44px,6.7vw,94px); line-height:1; margin:0 0 25px; }
.reviews-intro .review-rating {
  display:inline-block; font:400 12px/1.5 var(--sans); letter-spacing:.06em;
  color:#654b34; border:1px solid #baa58a; border-radius:100px; padding:10px 22px;
}
.reviews-intro .review-source { font-size:10px; margin-top:12px; color:#75624f; }

.reviews-intro .text-link { font-size:10px; letter-spacing:.07em; margin:0; }
.reviews-slider { position:relative; margin:40px auto 0; max-width:1050px; }
.reviews-track { padding:0; scrollbar-width:none; gap:36px; align-items:stretch; }
.reviews-track::-webkit-scrollbar { display:none; }
.review-card {
  position:relative; background:transparent; text-align:center; padding:30px 40px 32px;
  min-height:270px; justify-content:center; align-items:center;
  border-top:1px solid #cdbda7; border-bottom:1px solid #cdbda7;
}
.review-card .eyebrow { font-size:9px; letter-spacing:.18em; color:#806c55; margin:0 0 22px; }
.review-quote { font:400 clamp(36px,4.3vw,62px)/1.08 var(--serif); letter-spacing:-.025em; max-width:850px; margin:0 0 25px; text-wrap:balance; }
.review-card .review-author { font-size:11px; color:#75624f; }
.review-card .review-author a { color:#493629; text-decoration:none; border-bottom:1px solid #b7a288; padding-bottom:4px; }
.carousel-controls { max-width:340px; margin:25px auto 0; gap:10px; }
.carousel-position { font:400 13px/1 var(--sans); letter-spacing:.15em; color:#75624f; }
.carousel-controls button { border-radius:50%; border-color:#bba78c; min-width:44px; min-height:44px; padding:8px; transition:background .25s,transform .25s; }
.carousel-controls button:hover { background:#f8f2e8; transform:translateY(-2px); }
.carousel-controls .carousel-pause { border-radius:100px; font-size:10px; padding:8px 16px; }
.reviews-progress { height:2px; width:76px; background:#d1c0a9; overflow:hidden; flex-shrink:0; }
.reviews-progress::after { content:''; display:block; height:100%; background:#8a6743; transform-origin:left; transform:scaleX(0); }
.reviews-slider[data-playing="true"] .reviews-progress::after { animation:review-timer 5.5s linear infinite; }
@keyframes review-timer { from {transform:scaleX(0)} to {transform:scaleX(1)} }
@media(max-width:1099px) {  }
@media(max-width:700px) {
  .reviews-section { padding:46px 0 30px; }
  .reviews-section::before { font-size:310px; right:-150px; top:100px; opacity:.32; }
  .reviews-section h2 { font-size:clamp(44px,12vw,62px); margin-bottom:20px; }
  .reviews-intro .eyebrow { font-size:9px; margin-bottom:14px; }
  .reviews-intro .review-rating { padding:8px 18px; font-size:11px; }
  .reviews-intro .review-source { font-size:9px; }
  
  .reviews-intro .text-link { min-height:40px; padding:9px 0; }
  .reviews-slider { margin-top:24px; }
  .review-card { min-height:250px; padding:25px 8px; }
  .review-quote { font-size:clamp(32px,9vw,42px); line-height:1.12; }
  .review-card .eyebrow { font-size:8px; margin-bottom:20px; }
  .review-card .review-author { font-size:10px; max-width:240px; }
  .carousel-controls { margin-top:18px; gap:8px; }
  .reviews-progress { width:48px; }
}
@media(prefers-reduced-motion:reduce) { .reviews-progress::after { animation:none!important; } }

/* Rating closes the section; carousel runs without visible controls. */
.reviews-inner > .review-rating { width:fit-content; margin:28px auto 0; padding:10px 22px; border:1px solid #baa58a; border-radius:100px; color:#654b34; font:400 12px/1.5 var(--sans); text-align:center; letter-spacing:.04em; }
