.reviews {
  justify-content: center;
  align-items: center;
  padding: 12rem 20rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.reviews .reviews-container {
  flex-direction: column;
  align-items: center;
  gap: 10rem;
  width: 100%;
  height: 100%;
  display: flex;
}

.reviews .reviews-heading {
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 100%;
  display: flex;
}

.reviews .reviews-heading .reviews-title {
  color: var(--black);
  text-align: center;
  letter-spacing: -3.2px;
  font-size: max(40px, min(7.5rem + 5px, 140px));
  font-weight: 500;
  line-height: 100%;
}

.reviews .reviews-heading .reviews-desc {
  width: 62rem;
}

.reviews .reviews-heading .reviews-desc p {
  color: var(--gray-secondary);
  text-align: center;
  letter-spacing: -.18px;
  font-size: max(12px, min(1.7rem + 2px, 40px));
  font-weight: 500;
  line-height: 150%;
}

.reviews .reviews-cards {
  --reviews-bleed: max(5rem, 48px);
  -webkit-user-select: none;
  user-select: none;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  width: 100%;
  margin: calc(var(--reviews-bleed) * -1) 0;
  padding: var(--reviews-bleed) 0;
  display: flex;
  -webkit-mask-image: linear-gradient(to right, #0000 0%, #000 14% 86%, #0000 100%);
  mask-image: linear-gradient(to right, #0000 0%, #000 14% 86%, #0000 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.reviews .reviews-cards .reviews-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 1.5rem;
  flex-shrink: 0;
  grid-template-columns: 22rem minmax(0, 1fr);
  width: 68rem;
  display: grid;
  box-shadow: 0 4px 16px #0000001a;
}

.reviews .reviews-card__aside {
  flex-direction: column;
  justify-content: space-between;
  padding: 5.5rem 2.5rem 2.8rem;
  display: flex;
}

.reviews .reviews-card__aside .reviews-card__logo {
  align-self: center;
  width: auto;
  height: 4.5rem;
}

.reviews .reviews-card__aside .reviews-card__tag {
  height: auto;
  color: var(--gray-secondary);
  letter-spacing: -.13px;
  background: #ffffff30;
  border-radius: 100px;
  justify-content: center;
  align-self: flex-start;
  align-items: center;
  padding: 1rem 3rem;
  font-size: max(11px, min(1.1rem + 1px, 24px));
  font-weight: 500;
  display: flex;
  box-shadow: 0 1px 7.1px #8e8e8e2e;
}

.reviews .reviews-card__panel {
  background: #fff;
  border-radius: 1.5rem;
  flex-direction: column;
  gap: 3rem;
  margin: 1rem 1rem 1rem 0;
  padding: 4.2rem 3rem 2.4rem;
  display: flex;
  box-shadow: 0 3px 20px #59595921;
}

.reviews .reviews-card__panel .reviews-card__head {
  align-items: center;
  gap: 3.5rem;
  display: flex;
}

.reviews .reviews-card__panel .reviews-card__quote {
  flex-shrink: 0;
  width: 6rem;
  height: 4.5rem;
}

.reviews .reviews-card__panel .reviews-card__title {
  color: var(--black);
  letter-spacing: -.84px;
  font-size: max(16px, min(1.8rem + 5px, 44px));
  font-weight: 600;
  line-height: 100%;
}

.reviews .reviews-card__panel .reviews-card__line {
  background: #99999953;
  width: 17rem;
  height: 1px;
}

.reviews .reviews-card__panel .reviews-card__desc {
  color: var(--gray-secondary);
  letter-spacing: -.18px;
  font-size: max(12px, min(1.4rem + 2px, 32px));
  font-weight: 500;
  line-height: 150%;
}

.reviews .reviews-pager {
  align-items: center;
  gap: 3rem;
  display: flex;
}

.reviews .reviews-pager .reviews-pager__current, .reviews .reviews-pager .reviews-pager__item {
  letter-spacing: -.2px;
  color: #3b82f6;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  font-size: max(12px, min(1.6rem + 5px, 34px));
  font-weight: 500;
  position: relative;
}

.reviews .reviews-pager .reviews-pager__item {
  opacity: .4;
}

.reviews .reviews-pager .reviews-pager__mask {
  width: 2.4ch;
  display: block;
  position: relative;
  overflow: hidden;
}

.reviews .reviews-pager .reviews-pager__mask span {
  white-space: nowrap;
  width: 100%;
  display: block;
}

.reviews .reviews-pager .reviews-pager__bar {
  background: #bad2fb;
  border-radius: 2px;
  width: 24rem;
  height: 2px;
  overflow: hidden;
}

.reviews .reviews-pager .reviews-pager__progress {
  opacity: 1;
  transform-origin: 0;
  background: #3b82f6;
  border-radius: 2px;
  width: 100%;
  height: 100%;
  display: block;
  transform: scaleX(0);
}

.reviews .reviews-logos {
  align-items: center;
  gap: 3.5rem;
  display: flex;
}

.reviews .reviews-logos .reviews-logos__item {
  cursor: pointer;
  width: auto;
  height: 5%;
}

.reviews .reviews-logos .reviews-logos__item img {
  object-fit: contain;
  width: 100%;
  height: auto;
}

@media (orientation: portrait) {
  .reviews {
    padding: 6rem 0;
  }

  .reviews .reviews-container {
    gap: 8rem;
  }

  .reviews .reviews-heading {
    gap: 1rem;
    width: 33rem;
  }

  .reviews .reviews-heading .reviews-title {
    letter-spacing: -1.4px;
    font-size: 3.5rem;
  }

  .reviews .reviews-heading .reviews-desc {
    width: 100%;
  }

  .reviews .reviews-heading .reviews-desc p {
    letter-spacing: 0;
    font-size: 1.2rem;
  }

  .reviews .reviews-cards {
    gap: 2rem;
    margin: -3rem 0;
    padding: 3rem 0;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .reviews .reviews-cards .reviews-card {
    border-radius: 1.5rem;
    flex-direction: column;
    width: 33rem;
    display: flex;
  }

  .reviews .reviews-card__aside {
    flex-direction: row;
    align-items: center;
    padding: 3.5rem 2rem 5rem;
  }

  .reviews .reviews-card__aside .reviews-card__logo {
    align-self: center;
    height: 3.5rem;
  }

  .reviews .reviews-card__aside .reviews-card__tag {
    letter-spacing: 0;
    align-self: center;
    padding: .6rem 1.8rem;
    font-size: 1.1rem;
  }

  .reviews .reviews-card__panel {
    border-radius: 1.2rem;
    gap: 3rem;
    margin: 0 1rem 1rem;
    padding: 3rem 2rem;
  }

  .reviews .reviews-card__panel .reviews-card__head {
    gap: 2rem;
  }

  .reviews .reviews-card__panel .reviews-card__quote {
    width: 4rem;
    height: 4rem;
  }

  .reviews .reviews-card__panel .reviews-card__title {
    letter-spacing: -.3px;
    font-size: 1.8rem;
  }

  .reviews .reviews-card__panel .reviews-card__line {
    width: 17rem;
  }

  .reviews .reviews-card__panel .reviews-card__desc {
    letter-spacing: 0;
    font-size: 1.2rem;
  }

  .reviews .reviews-pager {
    gap: 3rem;
  }

  .reviews .reviews-pager .reviews-pager__current, .reviews .reviews-pager .reviews-pager__item {
    letter-spacing: 0;
    font-size: 1.4rem;
  }

  .reviews .reviews-pager .reviews-pager__bar {
    width: 8rem;
  }

  .reviews .reviews-logos {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 2.5rem;
    width: 100%;
    padding: 0 2.5rem;
    overflow: auto hidden;
  }

  .reviews .reviews-logos::-webkit-scrollbar {
    display: none;
  }

  .reviews .reviews-logos .reviews-logos__item {
    flex-shrink: 0;
    width: auto;
    height: 2.5rem;
  }

  .reviews .reviews-logos .reviews-logos__item img {
    width: auto;
    height: 100%;
  }
}
