.reviews-container {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.reviews-title {
  font-size: 22px;            /* smaller */
  font-weight: 800;
  color: #0B1A39;
  margin: 0 0 14px 0;          /* spacing above box */
  text-align: left;            /* left aligned */
}

/*******************************************************
  REVIEWS SECTION
*******************************************************/
.reviews-section {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

/*******************************************************
MAIN GLASS BOX (WHOLE CONTAINER)
*******************************************************/
.reviews-shell {
  width: 100%;
  max-width: 1250px;
  border-radius: 26px;

  background: linear-gradient(
      135deg,
      rgba(205,220,255,0.22),
      rgba(175,195,255,0.26)
  );

  backdrop-filter: blur(38px) saturate(180%);
  -webkit-backdrop-filter: blur(38px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow:
      0 12px 32px rgba(0,0,0,0.07),
      0 3px 10px rgba(0,0,0,0.04);

  padding: 16px 16px 20px;
  box-sizing: border-box;
  position: relative;

  transition: all 0.35s ease;
}

.reviews-shell:hover {
  background: linear-gradient(
      135deg,
      rgba(210,225,255,0.30),
      rgba(185,205,255,0.35)
  );

  backdrop-filter: blur(45px) saturate(190%);
  -webkit-backdrop-filter: blur(45px) saturate(190%);

  border-color: rgba(255,255,255,0.32);

  box-shadow:
      0 16px 42px rgba(0,0,0,0.12),
      0 4px 14px rgba(0,0,0,0.06);
}

/*******************************************************
SLIDER VIEWPORT
*******************************************************/
.reviews-viewport {
  width: 100%;
  overflow: hidden;
}

.reviews-track {
  display: flex;
  transition: transform 0.6s ease;
}

/*******************************************************
INDIVIDUAL REVIEW "BOXES"
*******************************************************/
.review-item {
  flex: 0 0 calc(100% / 3);  /* 3 per row desktop */
  padding: 0 16px;
  height: 225px;             /* enough height for large text */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}

.review-text {
  font-size: 17px;           /* larger text */
  font-weight: 500;
  color: #1F2A44;
  line-height: 1.6;
  margin: 0 0 15px;
}

.review-author {
  margin: 0;
}

.review-author a,
.review-author span {
  color: #0B1A39;
  text-decoration: underline;
  font-weight: 700;
}

/*******************************************************
DOTS (BLUE → GREY)
*******************************************************/
.reviews-dots {
  text-align: center;
  margin-top: 24px;
}

.review-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #238CFF;    /* blue */
  margin: 0 6px;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease;
}

.review-dot.is-active {
  background: #AFC3FF;    /* grey */
}

/*******************************************************
MOBILE VERSION (1 REVIEW AT A TIME)
*******************************************************/
@media (max-width: 900px) {

  .review-item {
      flex: 0 0 100%;
      height: 260px;
      padding: 0 10px;
  }

  .reviews-shell {
      padding: 20px 14px 30px;
  }
}
