.reviews {
  position: relative;
  overflow: hidden;
  font-family: "Montserrat", var(--font-main);
  background-color: var(--color-bg-nav);
  background-image: url("data:image/svg+xml,%3Csvg%20width='482'%20height='1144'%20viewBox='0%200%20482%201144'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M637.5%20576.267L207.778%20936.191V789.867L541.444%20510.674V128.886M541.444%20128.886L0.5%20594.768V448.444L541.444%201.0625V128.886ZM610.537%20719.227V858.824L275.185%201143.06H0.5V687.272L374.611%20376.123V520.765L110.037%20742.774V1030.38H231.37L610.537%20719.227ZM418.426%20340.803V502.264L487.519%20441.716V278.574L418.426%20340.803Z'%20stroke='url(%23paint0_linear_235_3627)'%20stroke-opacity='0.4'/%3E%3Cdefs%3E%3ClinearGradient%20id='paint0_linear_235_3627'%20x1='319'%20y1='1.0625'%20x2='319'%20y2='1143.06'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20offset='0.376619'%20stop-color='%23B69259'/%3E%3Cstop%20offset='1'%20stop-color='%23B69259'%20stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
}
.reviews * {
  box-sizing: border-box;
}
.reviews a {
  color: inherit;
  text-decoration: none;
}
.reviews button {
  font: inherit;
  color: inherit;
  border: none;
  cursor: pointer;
  padding: 0;
}
.reviews svg {
  display: block;
}
.reviews a:focus-visible,
.reviews button:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.reviews::before,
.reviews::after {
  content: "";
  position: absolute;
  top: 28px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  z-index: 2;
}
.reviews::before {
  left: var(--container-pad);
}
.reviews::after {
  right: var(--container-pad);
}

.reviews__head {
  position: relative;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 76px var(--container-pad) 40px;
  padding-left: calc(var(--container-pad) + 34px);
}
.reviews__brand {
   left: 0;
    top: 2px;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.32em;
    color: #FFFFFF1A;
    opacity: 0.55;
    display: inline-flex;
    white-space: nowrap;
}

.reviews__brand svg{
  margin-right: 30px;
}
.reviews__title {
    margin: 0;
    color: var(--color-text);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 100%;
    letter-spacing: -4%;
    font-size: 85px;
    display: flex;
    flex-direction: column;
}

/* ===== Карусель ===== */
.reviews__track {
  position: relative;
    overflow: hidden;
    padding-left: 130px;
    padding-bottom: 4px;
    cursor: grab;
    touch-action: pan-y;
}
.reviews__track.is-dragging {
  cursor: grabbing;
}
.reviews__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  will-change: transform;
  gap: 5px;
}
.reviews__list.is-animating {
  transition: transform 0.45s var(--ease);
}
.reviews__list > li {
  flex: 0 0 auto;
  width: 400px;
  margin-right: 5px;
}
.reviews__list > li + li {
  border-left: 1px solid var(--color-divider);
}


.reviews__list > li.reviews__item--news,
.reviews__list > li.reviews__item--topic {
  width: clamp(260px, 22vw, 320px);
}
.reviews__list > li.reviews__item--article {
  width: clamp(420px, 45vw, 640px);
}

.feed-news,
.feed-topic {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 32px 30px;
  position: relative;
  overflow: hidden;
}
.feed-article {
  height: 100%;
  padding: 32px 36px;
  position: relative;
  overflow: hidden;
}

.feed-article::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 121px;
  height: 174px;
  background-image: url("data:image/svg+xml,%3Csvg width='121' height='174' viewBox='0 0 121 174' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M159.5 31.053L52.2381 121.191V84.5464L135.524 14.6259V-80.9882M135.524 -80.9882L0.5 35.6863V-0.958761L135.524 -113V-80.9882ZM152.77 66.8557V101.816L69.0635 173H0.5V58.8527L93.881 -19.0707V17.1532L27.8413 72.7526V144.779H58.127L152.77 66.8557ZM104.817 -27.9161V12.5199L122.063 -2.64359V-43.5007L104.817 -27.9161Z' stroke='url(%23paint0_linear_235_4268)' stroke-opacity='0.4'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_235_4268' x1='80' y1='-113' x2='80' y2='173' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0.376619' stop-color='%23B69259'/%3E%3Cstop offset='1' stop-color='%23B69259' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  pointer-events: none;
  opacity: 0.16;
}

.feed-news__mark {
  position: absolute;
  left: -20px;
  bottom: -20px;
  width: 170px;
  height: 170px;
  opacity: 0.12;
  color: var(--color-text);
  pointer-events: none;
}
.feed-news__label {
  position: relative;
  z-index: 1;
  margin: 0 0 16px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff66;
}
.feed-news__title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-text);
  transition: color var(--transition-fast);
}
.feed-news__date {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 24px;
  font-size: 13.5px;
  color: var(--color-text);
}
@media (hover: hover) {
  .feed-news:hover .feed-news__title {
    color: var(--color-accent-light);
  }
}

.feed-article__title {
  margin: 0 0 20px;
  font-size: clamp(20px, 2.1vw, 27px);
  font-weight: 400;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
.feed-article__text {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--color-text-muted);
}
.feed-article__text:last-child {
  margin-bottom: 0;
}

.feed-topic__title {
  margin: 0 0 16px;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--color-text);
  transition: color var(--transition-fast);
}
.feed-topic__text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--color-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (hover: hover) {
  .feed-topic:hover .feed-topic__title {
    color: var(--color-accent-light);
  }
}

@media (max-width: 640px) {
  .reviews__list > li.reviews__item--news,
  .reviews__list > li.reviews__item--topic {
    width: 78vw;
  }
  .reviews__list > li.reviews__item--article {
    width: 86vw;
  }
  .feed-news,
  .feed-topic {
    padding: 24px 22px;
  }
  .feed-article {
    padding: 24px 22px;
  }
}

.reviews--benefits {
  background-image: none;
}
.reviews--benefits::before,
.reviews--benefits::after {
  display: none;
}
.reviews--benefits .reviews__track {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-pad);
  padding-right: var(--container-pad);
  cursor: default;
}
.reviews--benefits .reviews__list > li.reviews__item--benefit {
  flex: 1 1 0;
  width: auto;
  margin-right: 0;
}
.reviews--benefits .reviews__controls {
  display: none;
}

.benefit-card {
  height: 100%;
  padding: 32px 28px 40px;
}
.benefit-card__num {
  display: block;
  margin-bottom: 40px;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
.benefit-card__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--color-text-muted);
}

@media (max-width: 992px) {
  .reviews--benefits .reviews__track {
    cursor: grab;
  }
  .reviews--benefits .reviews__track.is-dragging {
    cursor: grabbing;
  }
  .reviews--benefits .reviews__list > li.reviews__item--benefit {
    flex: 0 0 auto;
    width: clamp(220px, 42vw, 300px);
  }
  .reviews--benefits .reviews__controls {
    display: block;
  }
  .benefit-card {
    padding: 26px 24px 32px;
  }
  .benefit-card__num {
    font-size: 34px;
    margin-bottom: 28px;
  }
}
@media (max-width: 640px) {
  .reviews--benefits .reviews__list > li.reviews__item--benefit {
    width: 78vw;
  }
}

.reviews-controls-only .reviews__head,
.reviews-controls-only .reviews__track {
  display: none;
}

.reviews-controls-only .reviews__controls {
  position: static;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 18px 0 48px;
  height: auto;
}

.reviews-controls-only .reviews__dots {
  position: static;
  transform: none;
  justify-content: center;
  gap: 16px;
}

.reviews-controls-only .reviews__nav {
  position: static;
  right: auto;
  top: auto;
  margin-top: 16px;
  justify-content: center;
  width: 100%;
}

.reviews-controls-only .reviews__controls {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.reviews-controls-only .reviews__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #FFFFFF33;
}

.reviews-controls-only .reviews__dot.is-active {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: white;
}

.reviews-controls-only .reviews__arrow {
  width: 42px;
  height: 42px;
  border: 1px solid #FFFFFF66;
}

/* ===== Карточка отзыва ===== */
.review-card {
  display: block;
    padding: 20px;
    width: 400px;
    user-select: none;
    background: #182531;
    -webkit-user-drag: none;
    text-decoration: none;
}
.review-card__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.review-card__avatar {
  position: relative;
    flex: 0 0 auto;
    width: 82px;
    height: 82px;
    /* border-radius: 50%; */
    overflow: hidden;
    /* background: #2a3240;*/
}
.review-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.review-card__name {
     margin: 0 0 3px;
    font-size: 25px;
    font-weight: 400;
    letter-spacing: -4%;
    text-transform: uppercase;
    color: var(--color-text);
}
.review-card__subject {
      margin: 0;
    font-size: 15px;
    color: #FFFFFF66;
    font-family: "Montserrat", var(--font-main);
}
.review-card__text {
    margin: 51px 0;
    font-size: 21px;
    line-height: 1.2;
    color: white;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: "Montserrat", var(--font-main);
}
.review-card__more {
  display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: none;
    font: inherit;
    font-size: 17px;
    font-weight: 400;
    color: #FFFFFF66;
    background: transparent;
    cursor: pointer;
    transition: gap var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);
}
.review-card.is-expanded .review-card__text {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.review-card__more svg {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  transition: transform var(--transition-fast);
}
@media (hover: hover) {
  .review-card__more:hover,
  .review-card:focus-visible .review-card__more {
    color: var(--color-accent-light);
    gap: 12px;
  }
}

/* ===== Управление: точки + стрелки ===== */
.reviews__controls {
   position: relative;
   z-index: 1;

  max-width: var(--container-max);
  margin: 0 auto;

  height: 100px;
  padding: 50px 0px 140px 0px;
}
.reviews__nav {
  z-index: 2;
}
.reviews__arrow {
  position: relative;
  z-index: 2;
}
.reviews__dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);

  display: flex;
  align-items: flex-end;
  gap: 21px;
}
.reviews__dot {
  width: 1px;
  height: 50px;
  background: #FFFFFF33;
  transition: background-color var(--transition-fast), width var(--transition-fast), opacity var(--transition-fast);
}
.reviews__dot.is-active {
  width: 1px;
    height: 71px;
    border-radius: 3px;
    background: white;
}
@media (hover: hover) {
  .reviews__dot:hover {
    background: var(--color-accent-light);
  }
}

.reviews__nav {
   position: absolute;

  right: var(--container-pad);
  top: 50px;

  display: flex;
  align-items: center;
  gap: 8px;
}
.reviews__arrow {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 63px;
  height: 63px;

  border-radius: 0;

  background: transparent;
  border: 1px solid #FFFFFF66;

  color: #101820;

  transition:
    background .3s ease,
    border-color .3s ease,
    color .3s ease,
    transform .3s ease;
}


.reviews__arrow svg {
  width: 100%;
  height: 100%;
}

.reviews__arrow svg use {
  fill: currentColor;
}


/* обычное состояние */
.reviews__arrow--prev,
.reviews__arrow--next {
  background: transparent;
  color: #FFFFFF;
}

.reviews__arrow:hover svg use {
  fill: currentColor;
}


.reviews__arrow:disabled {
  opacity: .32;
  cursor: default;
}
/* ===================== Планшет ===================== */
@media (max-width: 992px) {
  .reviews__head {
    padding: 56px var(--container-pad) 32px;
    padding-left: calc(var(--container-pad) + 26px);
  }
  .reviews__brand svg{
  margin-right: 12px;
  width: 96px;
}
  .reviews__list > li {
    width: 300px;
  }
  .reviews__controls {
    justify-content: flex-start;
    padding: 24px var(--container-pad) 56px;
  }

  .reviews__title{
    font-size: 40px;
    line-height: 1.4;
  }

  .review-card__avatar {
    width: 72px;
    height: 72px;
  }

  .review-card__name {
    font-size: 18px;
  }

  .review-card__subject {
    font-size: 13px;
  }

  .review-card__text {
    margin: 30px 0;
    font-size: 16px;
    line-height: 1.4;
  }

  .review-card__more {
    font-size: 13px;
  }

  .reviews__dots{
    position: relative;
  }
}

/* ===================== Мобильные ===================== */
@media (max-width: 640px) {
  .reviews::before,
  .reviews::after {
    top: 20px;
  }
  .reviews__head {
    padding: 44px 20px 24px;
    padding-left: calc(20px + 24px);
  }
  .reviews__brand {
    top: 46px;
    left: 20px;
  }
  .reviews__track {
    padding-left: 20px;
  }
  .reviews__list > li {
    margin-right: 50px;
  }
  .review-card {
    width: 335px;
    height: stretch;
  }
  .review-card__text {
    -webkit-line-clamp: 5;
  }
  .reviews__controls {
    justify-content: center;
    padding: 22px 20px 48px;
    margin-top: 36px;
    margin-bottom: 50px;
  }
  .reviews__nav {
    right: 20px;
    bottom: 20px;
  }
  .reviews__arrow {
    width: 34px;
    height: 34px;
  }
}

/* Уважение к reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reviews__list.is-animating {
    transition: none;
  }
}
