.reviews {
  position: relative; padding: 76px 0 0;
}
.reviews-heading {
  margin-bottom: 28px; text-align: center;
}
.reviews-title {
  margin: 0 0 10px; font-family: var(--font-heading); font-size: clamp(32px, 3vw, 50px); font-weight: 800; line-height: 1.15; color: var(--color-ink);
}
.reviews-intro {
  margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--color-muted);
}
.reviews-body {
  position: relative;
}
.reviews-slider {
  --carousel-items: 3; --carousel-gap: 24px;
}
.reviews-slider:not(.owl-loaded) {
  display: grid; grid-template-columns: repeat(var(--carousel-items), minmax(0, 1fr)); gap: var(--carousel-gap);
}
.reviews-slider:focus-visible {
  outline: 3px solid var(--color-dot-active); outline-offset: 5px; border-radius: 16px;
}
.reviews-slider .owl-stage {
  display: flex; align-items: stretch; padding-top: 8px; padding-bottom: 20px;
}
.reviews-slider .owl-item {
  display: flex; flex-shrink: 0; float: none;
}
.reviews-slider.owl-drag .owl-item {
  cursor: grab; touch-action: pan-y;
}
.reviews-slider.owl-grab .owl-item {
  cursor: grabbing;
}
.review-card {
  position: relative; display: flex; flex-direction: column; width: 100%; min-height: 260px; padding: 30px; background: #fffefb; border: 1px solid rgba(255, 255, 255, 0.85); border-radius: 22px; box-shadow: 0 6px 18px rgba(60, 48, 33, 0.06); overflow: hidden;
}
.review-label {
  position: relative; margin: 0 0 18px; font-size: 12px; font-weight: 800; line-height: 1.4; letter-spacing: 0.05em; color: var(--color-dot-active); text-transform: uppercase;
}
.review-text {
  position: relative; flex: 1; margin: 0 0 28px; font-size: 18px; font-weight: 600; line-height: 1.65; color: var(--color-ink);
}
.review-author {
  display: flex; align-items: center; gap: 13px;
}
.review-avatar {
  display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 50px; height: 50px; font-size: 16px; font-weight: 900; color: var(--color-dot-active); background: var(--color-section-tinted); border: 1px solid var(--color-divider); border-radius: 50%;
}
.review-author-copy {
  min-width: 0;
}
.review-author-name {
  margin: 0; font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--color-ink);
}
.reviews-slider .owl-nav {
  display: none;
}
.reviews-slider .owl-dots {
  display: flex; align-items: center; justify-content: center; gap: 6px; padding-top: 2px;
}
.reviews-slider .owl-dots.disabled {
  display: none;
}
.reviews-slider button.owl-dot {
  display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; background: transparent; border: 0; border-radius: 50%; cursor: pointer;
}
.reviews-slider .owl-dot span {
  display: block; width: 10px; height: 10px; background: var(--color-dot); border-radius: 50%; transition: background-color 160ms ease, transform 160ms ease;
}
.reviews-slider .owl-dot.active span {
  background: var(--color-dot-active); transform: scale(1.25);
}
.reviews-slider .owl-dot:hover span {
  background: var(--color-dot-hover);
}
.reviews-source {
  margin: 14px 0 0; font-size: 13px; line-height: 1.4; text-align: center; color: var(--color-muted);
}
.reviews-source a {
  display: inline-flex; align-items: center; gap: 7px; transition: color 160ms ease;
}
.reviews-source a:hover {
  color: var(--color-ink);
}
.reviews-source .icon {
  width: 15px; height: 15px;
}
