.reviews {
  position: relative;
  margin-inline: calc(var(--space-page-x) * -1);
  padding: 117px 0 54px;
  overflow: hidden;
  background: #111111;
  color: #ffffff;
}

.reviews__title {
  margin-inline: auto;
  max-width: 609px;
  color: #ffffff;
  font-size: 48px;
  line-height: 56px;
  text-align: center;
}

.reviews__title span {
  color: var(--color-muted-70);
}

.reviews__board {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 485fr) minmax(0, 488fr) minmax(0, 485fr);
  gap: 8px;
  max-width: 1471px;
  max-height: 1880px;
  margin: 64px auto 0;
  overflow: hidden;
}

.reviews__col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.reviews__col--side {
  margin-top: 84px;
}

.reviews__card {
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: 32px;
  background: #1f1e1e;
}

.reviews__who {
  display: flex;
  align-items: center;
  gap: 16px;
}

.reviews__avatar {
  position: relative;
  width: 64px;
  height: 64px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 24px;
}

.reviews__avatar img {
  position: absolute;
  max-width: none;
}

.reviews__avatar--zerna img { width: 207.9px; height: 191.5px; left: -5.1px; top: -19.4px; }
.reviews__avatar--muse img { width: 207.7px; height: 207.7px; left: -72px; top: -26px; }
.reviews__avatar--tooth img { width: 207.7px; height: 207.7px; left: -139.4px; top: -26px; }
.reviews__avatar--profit img { width: 157.1px; height: 157.1px; left: -10.6px; top: -78.5px; }
.reviews__avatar--techno img { width: 157.1px; height: 157.1px; left: -81.3px; top: -78.5px; }
.reviews__avatar--sweet img { width: 209px; height: 209px; left: -5px; top: -27.9px; }
.reviews__avatar--vet img { width: 215.6px; height: 215.6px; left: -75.6px; top: -31.1px; }
.reviews__avatar--auto img { width: 210.1px; height: 210.1px; left: -138.7px; top: -30.7px; }
.reviews__avatar--garden img { width: 172.2px; height: 172.2px; left: -20.4px; top: -89px; }
.reviews__avatar--edu img { width: 172.2px; height: 172.2px; left: -87.5px; top: -89px; }

.reviews__name {
  color: #ffffff;
  font-family: var(--font-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0;
}

.reviews__city {
  color: #ffffff;
  font-size: 18px;
  line-height: 28px;
  opacity: 0.7;
}

.reviews__quote {
  margin-top: 96px;
  color: #ffffff;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
}

.reviews__card--photo {
  position: relative;
  justify-content: flex-end;
  height: 619px;
  padding: 32px;
  overflow: hidden;
  background: #1a1a1a;
}

.reviews__card--photo > img {
  position: absolute;
  top: -12.57%;
  left: -9.86%;
  width: 119.72%;
  max-width: none;
  height: 122.66%;
  object-fit: fill;
}

.reviews__card--polina > img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.reviews__card--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(17 17 17 / 40%) 16%, rgb(17 17 17 / 0%) 37%);
}

.reviews__photo-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.reviews__quote--photo {
  margin-top: 0;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0;
}

.reviews__name--on-photo {
  margin-top: 0;
  font-weight: 400;
  letter-spacing: -0.02em;
  opacity: 0.5;
}

.reviews__name--dark {
  color: #212121;
}

.reviews__only-mobile {
  display: none;
}

.reviews__fade {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 687px;
  background: linear-gradient(to top, #111111 0%, rgb(17 17 17 / 70%) 56.74%, rgb(17 17 17 / 0%) 100%);
  pointer-events: none;
}

.reviews__foot {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 96px;
}

.reviews__map {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.1;
  pointer-events: none;
}

.reviews__stat {
  position: relative;
  margin-top: 64px;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 160px;
  font-weight: 400;
  line-height: 192px;
  letter-spacing: 0;
  text-align: center;
}

.reviews__caption {
  position: relative;
  width: min(485px, calc(100% - 48px));
  color: #ffffff;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  text-align: center;
}

.reviews__logos {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  width: min(1398px, calc(100% - 48px));
  margin: 96px 0 0;
  padding: 0;
  list-style: none;
  opacity: 0.5;
}

.reviews__logos li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 186px;
  height: 80px;
}

@media (max-width: 900px) {
  .reviews {
    padding: 64px 0 32px;
  }

  .reviews__title {
    max-width: none;
    padding: 0 24px;
    font-size: 24px;
    line-height: 32px;
    text-align: left;
  }

  .reviews__board {
    display: block;
    max-height: none;
    margin: 32px 8px 0;
    overflow: visible;
  }

  .reviews__col--side {
    margin-top: 0;
  }

  .reviews__col--mid,
  .reviews__col--right {
    display: none;
  }

  .reviews__only-mobile {
    display: flex;
  }

  .reviews__card,
  .reviews__card--photo {
    padding: 24px;
  }

  .reviews__avatar {
    zoom: 0.75;
  }

  .reviews__card--photo {
    height: 429px;
  }

  .reviews__card--photo > img,
  .reviews__card--polina > img {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .reviews__card--photo > img {
    object-position: center 18%;
  }

  .reviews__quote--photo {
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: -0.02em;
  }

  .reviews__name--on-photo {
    font-size: 14px;
    line-height: 20px;
  }

  .reviews__card--polina .reviews__name--on-photo {
    font-size: 18px;
    line-height: 28px;
    color: #ffffff;
  }

  .reviews__map {
    transform: translateX(-50%) scale(0.266);
    transform-origin: top center;
  }

  .reviews__stat {
    margin-top: 32px;
    font-size: 80px;
    line-height: 96px;
  }

  .reviews__caption {
    width: min(320px, calc(100% - 40px));
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
  }

  .reviews__logos {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0;
    width: auto;
    max-width: none;
    margin: 48px 0 0 -100px;
  }

  .reviews__logos li {
    width: 112px;
    height: 48px;
  }

  .reviews__logos li:nth-child(n + 6) {
    display: none;
  }

  .reviews__logos img {
    transform: scale(0.6);
  }
}
