/* ===================== REVIEWS (AUTO HEIGHT FIXED) ===================== */
.home-reviews{width:100%;float:left;padding:50px 0;}
.home-reviews-wrap{width:92%;max-width:1180px;margin:0 auto;}

.home-reviews-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.home-reviews-head h2{margin:0;}

.home-reviews-nav{display:flex;gap:10px;}
.rev-btn{
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid #e6ebf5;
  background:#fff;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}
.rev-btn:active{transform:translateY(1px);}
.rev-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}

/* IMPORTANT: stage must not be fixed height by older CSS */
.rev-stage{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  height:auto !important;
  min-height:0 !important;
  transition:height .25s ease;
}

/* track */
.rev-track{
  display:flex;
  align-items:flex-start;             /* IMPORTANT: prevent stretch */
  transition:transform .45s ease;
  will-change:transform;
}

/* slide card */
.rev-card{
  flex:0 0 100%;
  background:#fff;
  border:1px solid #eef2f9;
  border-radius:22px;
  padding:26px 24px 22px;
  box-shadow:0 14px 34px rgba(0,0,0,.07);

  height:auto !important;
  min-height:0 !important;
}

/* quote */
.rev-quote{position:relative;}
.rev-mark{
  position:absolute;
  left:-6px; top:-18px;
  font-size:48px;
  line-height:48px;
  color:#e7edfb;
  font-weight:800;
}
.rev-text{
  padding-left:10px;
  color:#666;
  line-height:1.8;
}

/* footer */
.rev-footer{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.rev-name{font-weight:700;color:#444;}

/* dots */
.rev-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:16px;
}
.rev-dot{
  width:10px;height:10px;border-radius:999px;
  border:1px solid #cfd8ef;
  background:transparent;
  cursor:pointer;
  padding:0;
}
.rev-dot.is-active{background:#0551e5;border-color:#0551e5;}

/* CTA */
.rev-cta{margin-top:14px;text-align:center;}
.rev-cta-link{font-weight:600;text-decoration:underline;color:#0551e5;}

/* mobile */
@media (max-width:768px){
  .home-reviews{padding:36px 0;}
  .home-reviews-head{flex-direction:column;align-items:flex-start;}
  .home-reviews-nav{align-self:flex-end;}
  .rev-card{padding:22px 18px 18px;}
  .rev-mark{left:-2px;}
}
.rev-text{
  position:relative;
  padding:10px 28px;
  color:#666;
  line-height:1.8;
}

/* opening quote */
.rev-text::before{
  content:"“";
  position:absolute;
  left:0;
  top:-14px;
  font-size:48px;
  line-height:48px;
  color:#e7edfb;
  font-weight:800;
}

/* closing quote */
.rev-text::after{
  content:"”";
  position:absolute;
  right:0;
  bottom:-18px;
  font-size:48px;
  line-height:48px;
  color:#e7edfb;
  font-weight:800;
}
