/* =========================================================
   Главная страница
   ========================================================= */

/* ---------- Слайдер ---------- */
.hero { margin-top: -38rem; position: relative; }
.hero .swiper-slide { height: auto; }
.hero__item { position: relative; display: block; color: var(--c-head); font-family: var(--font-main); text-decoration: none; overflow: hidden; }
.hero__item picture { display: block; }
.hero__item img { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 800; object-fit: cover; }
.hero__content { position: absolute; z-index: 2; top: 191rem; left: 146rem; width: 757rem; }
.hero__title { margin: 0; font-family: var(--font-accent); font-weight: var(--fw-accent); font-size: 50rem; line-height: 60rem; text-transform: uppercase; color: var(--c-head); }
.hero__text { margin: 24rem 0 0; max-width: 640rem; font-size: 30rem; line-height: 36rem; color: var(--c-head); }
.hero__cta {
  position: absolute;
  z-index: 3;
  top: 600.795rem;
  left: 144rem;
  min-width: 176rem;
  height: 44rem;
  margin: 0;
  padding: 10rem 24rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 871rem;
  background-color: var(--c-accent);
  color: #fff;
  font-family: var(--font-main);
  font-weight: var(--fw-medium);
  font-size: 22rem;
  line-height: 24rem;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}
.hero__cta::before { content: ''; position: absolute; right: 0; top: 0; width: 70%; height: 100%; background: var(--shine); opacity: 0; transition: opacity .3s; }
.hero__item:hover .hero__cta::before { opacity: 1; }
.hero__note { position: absolute; z-index: 2; top: 664rem; left: 144rem; display: flex; align-items: flex-start; gap: 4rem; font-size: 16rem; line-height: 20rem; color: var(--c-head); }
.hero__nav { position: absolute; top: 0; width: 7.4%; height: 100%; z-index: 10; cursor: pointer; }
.hero__nav--prev { left: 0; }
.hero__nav--next { right: 0; }
.hero__nav--prev:hover { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='18' viewBox='0 0 44 18' fill='none'%3E%3Cpath d='M43 9H2M14 1 2.400 8.200a1 1 0 0 0 0 1.700L14 17' stroke='%2329282A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 4 9, auto; }
.hero__nav--next:hover { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='18' viewBox='0 0 44 18' fill='none'%3E%3Cpath d='M1 9h41M30 1l11.600 7.200a1 1 0 0 1 0 1.700L30 17' stroke='%2329282A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 40 9, auto; }
.hero__dots { position: absolute; bottom: 22rem; left: 0; width: 100%; display: flex; justify-content: center; gap: 10rem; z-index: 2; }
.hero__dots.swiper-pagination-lock { display: none; }
.hero__dots span { width: 10rem; height: 10rem; border: 1rem solid #909090; border-radius: 50%; background: transparent; opacity: 1; margin: 0 !important; cursor: pointer; }
.hero__dots span.swiper-pagination-bullet-active { background-color: #909090; }
@media (min-width: 992px) and (max-width: 1439px) {
  .hero__content { top: 115rem; }
  .hero__cta { top: 535rem; }
  .hero__note { top: 599rem; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hero__content { top: 37rem; left: 40rem; width: 363rem; }
  .hero__title { font-size: 24rem; line-height: 28rem; }
  .hero__text { margin-top: 10rem; max-width: 330rem; font-size: 16rem; line-height: 20rem; }
  .hero__cta { top: 230rem; left: 43rem; min-width: 150rem; height: 36rem; font-size: 15rem; line-height: 16rem; }
  .hero__note { top: 283rem; left: 43rem; font-size: 12rem; line-height: 14rem; }
}
@media (max-width: 767px) {
  .hero { margin-top: 0; }
  .hero__item img { aspect-ratio: 640 / 840; }
  .hero__content { top: 31rem; left: 50%; width: 295rem; transform: translateX(-50%); text-align: center; }
  .hero__title { font-size: 20rem; line-height: 24rem; }
  .hero__text { margin: 10rem auto 0; font-size: 14rem; line-height: 18rem; }
  .hero__cta { top: auto; bottom: 18rem; left: 50%; transform: translateX(-50%); min-width: 150rem; height: 36rem; font-size: 15rem; line-height: 16rem; }
  .hero__note { display: none; }
  .hero__dots { bottom: 10rem; }
  .hero__dots span { width: 6rem; height: 6rem; }
}

/* ---------- Заголовок и товары ---------- */
.section.why { margin-bottom: 30rem; }
.section.home-equipments { margin-top: 30rem; }
.home-equipments .product-items { margin-bottom: 30rem; }
@media (min-width: 1200px) {
  .section.why { margin-top: 60rem; margin-bottom: 35rem; }
  .section.home-equipments { margin-top: 35rem; }
}
@media (max-width: 991px) { .section.why { margin-top: 40rem; margin-bottom: 20rem; } }
@media (min-width: 768px) and (max-width: 991px) { .section.home-equipments { margin: 16rem 0 40rem; } }
@media (max-width: 767px) {
  .section.why { margin-top: 19rem; margin-bottom: 15rem; }
  .section.home-equipments { margin-top: 15rem; }
}

/* ---------- Программы лояльности ---------- */
.loy .section-title { padding-left: 120rem; margin-bottom: 8rem; }
.loy__cols { display: flex; gap: 20rem; z-index: 1; position: relative; }
.loy-left { width: 630rem; flex-shrink: 0; }
.loy-box { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 0 52rem; gap: 30rem; height: 100%; background: #fff; border-radius: 80rem; margin-bottom: 14rem; }
.loy-item { display: flex; align-items: flex-start; gap: 20rem; color: inherit; text-decoration: none; }
.loy-item svg { flex-grow: 0; flex-shrink: 0; height: 40rem; width: 44rem; margin-top: -7rem; }
.loy-item__meta { display: flex; flex-direction: column; gap: 10rem; }
.loy-item__title { font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 26rem; line-height: 28rem; color: var(--c-head); }
.loy-item__text { font-family: var(--font-main); font-size: 22rem; line-height: 26rem; color: #282828; }
.loy-left .btn { display: none; }
.loy-right { flex-shrink: 1; flex-grow: 1; margin-top: -54rem; min-width: 0; }
.loy-right__top {
  width: 100%;
  aspect-ratio: 890 / 406;
  position: relative;
  z-index: 2;
  padding-top: 126rem;
  padding-left: 90rem;
  display: block;
  color: inherit;
  text-decoration: none;
  background: linear-gradient(120deg, #E4E4DE 0%, #E2E1DB 55%, #EBEAE6 100%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 890 406' preserveAspectRatio='none'%3E%3Cpath d='M0 144A90 90 0 0 1 90 54H346C378 54 394 44 420 27C446 10 462 0 493 0H800A90 90 0 0 1 890 90V316A90 90 0 0 1 800 406H90A90 90 0 0 1 0 316Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 890 406' preserveAspectRatio='none'%3E%3Cpath d='M0 144A90 90 0 0 1 90 54H346C378 54 394 44 420 27C446 10 462 0 493 0H800A90 90 0 0 1 890 90V316A90 90 0 0 1 800 406H90A90 90 0 0 1 0 316Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.loy-right__title { font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 40rem; line-height: 42rem; text-transform: uppercase; color: var(--c-head); margin-bottom: 12rem; position: relative; z-index: 1; }
.loy-right__text { font-family: var(--font-main); font-size: 22rem; line-height: 24rem; color: var(--c-head); position: relative; z-index: 1; }
.loy-art { position: absolute; right: 58rem; top: 62rem; width: 276rem; height: 276rem; pointer-events: none; }
.loy-art::before { content: ''; position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(232, 76, 97, .30), rgba(232, 76, 97, 0) 62%), radial-gradient(circle at 70% 72%, rgba(0, 55, 77, .26), rgba(0, 55, 77, 0) 60%); filter: blur(6rem); }
.loy-art svg { position: relative; width: 100%; height: 100%; display: block; fill: url(#pb-art-grad); transform: rotate(-8deg); filter: drop-shadow(0 18rem 26rem rgba(0, 55, 77, .22)); }
.loy-right__bottom { margin-top: -186rem; height: 270rem; background: #fff; border-radius: 80rem; position: relative; z-index: 1; display: flex; flex-direction: column; padding-bottom: 30rem; }
.loy-right__bottom ul { display: flex; margin: auto 0 0; padding: 0; gap: 16rem; justify-content: center; list-style: none; }
.loy-right__bottom li { display: flex; justify-content: center; align-items: center; padding: 2rem 20rem 4rem; border: 2px solid var(--c-accent); border-radius: 100rem; font-family: var(--font-main); font-size: 18rem; line-height: 23rem; color: var(--c-head); white-space: nowrap; }
.loy-tablet-pay { display: none; }
@media (min-width: 1200px) { .section.loy { margin-bottom: 234rem; } }

/* планшет: большая карточка с пунктами и рисунком, ниже белая полоса о рассрочке */
@media (min-width: 768px) and (max-width: 991px) {
  .section.loy { margin: 40rem 0 80rem; }
  .loy .section-title { position: absolute; z-index: 3; left: 68rem; top: 0; padding: 0; margin: 0; font-size: 26rem; line-height: 31rem; width: 250rem; }
  .loy > .container { position: relative; }
  .loy__cols { display: block; }
  .loy-left { position: absolute; z-index: 3; left: 58rem; top: 112rem; width: 320rem; }
  .loy-box { background: none; padding: 0; gap: 20rem; height: auto; border-radius: 0; margin: 0; }
  .loy-item { gap: 12rem; }
  .loy-item svg { width: 26rem; height: 24rem; margin-top: -2rem; }
  .loy-item__meta { gap: 6rem; }
  .loy-item__title { font-size: 18rem; line-height: 20rem; }
  .loy-item__text { font-size: 14rem; line-height: 18rem; }
  .loy-left .btn { display: inline-flex; margin-left: 20rem; padding: 8rem 24rem; font-size: 14rem; }
  .loy-right { margin-top: 0; }
  .loy-right__top { aspect-ratio: 748 / 390; padding: 0; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 748 390' preserveAspectRatio='none'%3E%3Cpath d='M0 122A40 40 0 0 1 40 82H282C304 82 314 70 330 46C346 20 358 0 386 0H698A50 50 0 0 1 748 50V340A50 50 0 0 1 698 390H50A50 50 0 0 1 0 340Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 748 390' preserveAspectRatio='none'%3E%3Cpath d='M0 122A40 40 0 0 1 40 82H282C304 82 314 70 330 46C346 20 358 0 386 0H698A50 50 0 0 1 748 50V340A50 50 0 0 1 698 390H50A50 50 0 0 1 0 340Z'/%3E%3C/svg%3E"); }
  .loy-right__title, .loy-right__text { display: none; }
  .loy-art { right: 56rem; top: 76rem; width: 230rem; height: 230rem; }
  .loy-right__bottom { margin-top: -50rem; height: auto; border-radius: 0 0 50rem 50rem; padding: 78rem 100rem 30rem; flex-direction: row; justify-content: space-between; align-items: center; gap: 24rem; }
  .loy-tablet-pay { display: block; }
  .loy-tablet-pay b { display: block; font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 18rem; line-height: 22rem; text-transform: uppercase; color: var(--c-head); }
  .loy-tablet-pay span { display: block; font-family: var(--font-main); font-size: 16rem; line-height: 21rem; color: var(--c-head); max-width: 300rem; }
  .loy-right__bottom ul { flex-direction: column; margin: 0; gap: 2rem; align-items: flex-start; }
  .loy-right__bottom li { border: 0; padding: 0 0 0 14rem; font-size: 15rem; line-height: 21rem; position: relative; }
  .loy-right__bottom li::before { content: ''; position: absolute; left: 0; top: 9rem; width: 4rem; height: 4rem; border-radius: 50%; background: var(--c-accent); }
}
@media (max-width: 767px) {
  .section.loy { margin-bottom: 54rem; }
  .loy .section-title { padding-left: 0; }
  .loy__cols { flex-wrap: wrap; gap: 10rem; }
  .loy-left { width: 100%; order: 2; }
  .loy-box { gap: 18rem; padding: 24rem; border-radius: 30rem; height: auto; }
  .loy-item svg { height: 24rem; width: 24rem; }
  .loy-item__meta { gap: 6rem; }
  .loy-item__title { font-size: 16rem; line-height: 1; }
  .loy-item__text { font-size: 10rem; line-height: 12rem; }
  .loy-right { width: 100%; order: 1; margin-top: -20rem; }
  .loy-right__top {
    aspect-ratio: 445 / 309;
    padding-left: 22rem;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 208' preserveAspectRatio='none'%3E%3Cpath d='M0 53.600A30 30 0 0 1 30 23.600H170C186 23.600 194 19 205 11.500C216 4 224 0 240 0H270A30 30 0 0 1 300 30V178A30 30 0 0 1 270 208H30A30 30 0 0 1 0 178Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 208' preserveAspectRatio='none'%3E%3Cpath d='M0 53.600A30 30 0 0 1 30 23.600H170C186 23.600 194 19 205 11.500C216 4 224 0 240 0H270A30 30 0 0 1 300 30V178A30 30 0 0 1 270 208H30A30 30 0 0 1 0 178Z'/%3E%3C/svg%3E");
  }
  .loy-right__title { font-size: 16rem; line-height: 14rem; }
  .loy-right__text { font-size: 10rem; line-height: 12rem; }
  .loy-art { right: 22rem; top: 30rem; width: 96rem; height: 96rem; }
  .loy-right__bottom { border-radius: 30rem; padding-bottom: 12rem; }
  .loy-right__bottom ul { flex-wrap: wrap; gap: 8rem; }
  .loy-right__bottom li { font-size: 10rem; line-height: 12rem; padding: 2rem 10rem 4rem; border-width: 1px; }
}

/* ---------- Преимущества: тёмная карточка и лента ---------- */
.section.adv { position: relative; margin: 100rem 0; }
.adv__line { position: absolute; top: -180rem; left: 50%; width: 1920rem; height: 1080rem; margin-left: -960rem; pointer-events: none; z-index: 2; }
.adv__line svg { display: block; width: 100%; height: 100%; overflow: visible; }
.adv__line path.ribbon { fill: none; stroke: var(--c-accent); stroke-width: 44; stroke-linecap: butt; }
.adv__line text { font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 17px; fill: #fff; letter-spacing: .02em; }
.adv__cols { display: flex; gap: 20rem; justify-content: space-between; }
.adv-left { width: 760rem; height: 760rem; position: relative; padding-top: 120rem; display: flex; flex-direction: column; gap: 36rem; flex-shrink: 0; }
.adv-left::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -100vw;
  z-index: 1;
  border-radius: 0 90rem 90rem 0;
  background-color: #010405;
  background-image:
    radial-gradient(60rem 60rem at 100% 100%, rgba(232, 180, 180, .9) 0, rgba(232, 180, 180, 0) 100%),
    radial-gradient(520rem 360rem at 100% 112%, rgba(232, 92, 106, .95) 0, rgba(190, 64, 78, .55) 38%, rgba(60, 22, 26, 0) 100%),
    radial-gradient(620rem 520rem at 104% 26%, #0b4a66 0, #06374c 30%, rgba(3, 30, 40, .6) 62%, rgba(1, 8, 10, 0) 100%),
    linear-gradient(90deg, #000 0, #010405 60%, #02161d 100%);
}
.adv-left > * { position: relative; z-index: 3; }
.adv-left .section-title { position: absolute; left: 118rem; top: 4rem; }
.adv-left__icon { width: 75rem; height: 97rem; display: block; }
.adv-box { color: var(--c-dark); display: flex; flex-direction: column; gap: 16rem; }
.adv-box--white { color: #fff; }
.adv-box__title { font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 26rem; line-height: 28rem; display: flex; align-items: center; gap: 12rem; }
.adv-box__title span { padding: 10px 20px; border-radius: 90px; border: 1rem solid var(--c-accent); }
.adv-box__text { font-family: var(--font-main); font-size: 22rem; line-height: 26rem; max-width: 620rem; }
.adv-left__tags { margin-top: auto; margin-bottom: 65rem; display: flex; gap: 16rem; align-items: center; }
.adv-left__tags span { display: inline-flex; align-items: center; height: 23rem; padding: 0 16rem; border: 1px solid var(--c-accent); border-radius: 12rem; color: #fff; font-family: var(--font-accent); font-weight: 400; font-size: 9rem; line-height: 1; letter-spacing: .04em; text-transform: uppercase; }
.adv-right { width: 760rem; flex-shrink: 0; }
.adv-right .section-title { margin-left: 58rem; margin-bottom: 190rem; }
.adv-meta {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 760 450'%3E%3Cpath d='M281 0C300.900 0 319.200 6.400 334.100 17.300C363.700 39 394.100 68.100 430.800 68.100H670A90 90 0 0 1 760 158.100V360A90 90 0 0 1 670 450H90A90 90 0 0 1 0 360V90A90 90 0 0 1 90 0Z'/%3E%3C/svg%3E") no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 760 450'%3E%3Cpath d='M281 0C300.900 0 319.200 6.400 334.100 17.300C363.700 39 394.100 68.100 430.800 68.100H670A90 90 0 0 1 760 158.100V360A90 90 0 0 1 670 450H90A90 90 0 0 1 0 360V90A90 90 0 0 1 90 0Z'/%3E%3C/svg%3E") no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #fff;
  aspect-ratio: 760 / 450;
  padding-top: 82rem;
  padding-left: 58rem;
  display: flex;
  flex-direction: column;
  gap: 30rem;
  color: var(--c-dark);
}
.adv-meta .btn { margin: 0 auto 0 0; font-size: 14rem; }
.adv__labels { display: none; }
@media (min-width: 768px) { .adv-right { position: relative; } }
@media (min-width: 768px) and (max-width: 991px) {
  .section.adv { margin: 40rem 0 -20rem; }
  .adv__line { top: -60rem; left: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; margin-left: 0; }
  .adv-left { width: 320rem; padding-top: 50rem; padding-bottom: 76rem; gap: 24rem; padding-right: 70rem; height: auto; min-height: 305rem; z-index: 2; }
  .adv-left::before { right: -48rem; top: 13rem; bottom: -13rem; border-radius: 0 36rem 36rem 0; }
  .adv-left__icon { display: none; }
  .adv-left .adv-box { gap: 12rem; }
  .adv-left__tags { display: none; }
  .adv-box__title { font-size: 16rem; line-height: 20rem; }
  .adv-box__title span { padding: 6rem 20rem; }
  .adv-box__text { font-size: 14rem; line-height: 18rem; }
  .adv-right { width: 320rem; }
  .adv-right .section-title { margin-right: auto; margin-bottom: 100rem; margin-left: 0; font-size: 26rem; line-height: 31rem; }
  .adv-meta { -webkit-mask: none; mask: none; background: none; padding: 0; aspect-ratio: 353 / 228; gap: 20rem; }
  .adv-meta .btn { position: absolute; left: -428rem; bottom: 20rem; z-index: 3; }
}
@media (max-width: 767px) {
  .section.adv { margin: 32rem auto; max-width: 322rem; }
  .adv__cols { flex-wrap: wrap; }
  .adv__line { display: none; }
  .adv-left {
    aspect-ratio: 296 / 214;
    gap: 16rem;
    padding: 12rem;
    width: 100%;
    height: auto;
    background-color: #010405;
    background-image:
      radial-gradient(150rem 90rem at 0 104%, rgba(232, 92, 106, .95) 0, rgba(190, 64, 78, .5) 42%, rgba(60, 22, 26, 0) 100%),
      radial-gradient(200rem 170rem at -6% 18%, #0b4a66 0, #06374c 30%, rgba(3, 30, 40, .55) 64%, rgba(1, 8, 10, 0) 100%);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 296 214' preserveAspectRatio='none'%3E%3Cpath d='M0 30A30 30 0 0 1 30 0H78C92 0 99 6 106 15.500C113 25 120 31 134 31H266A30 30 0 0 1 296 61V184A30 30 0 0 1 266 214H30A30 30 0 0 1 0 184Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 296 214' preserveAspectRatio='none'%3E%3Cpath d='M0 30A30 30 0 0 1 30 0H78C92 0 99 6 106 15.500C113 25 120 31 134 31H266A30 30 0 0 1 296 61V184A30 30 0 0 1 266 214H30A30 30 0 0 1 0 184Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  }
  .adv-left::before { display: none; }
  .adv-left .section-title { color: var(--c-head); }
  .adv-left__icon { width: 30rem; height: auto; padding-left: 6rem; }
  .adv-left__tags { display: none; }
  .adv-box { gap: 4rem; }
  .adv-box__title { gap: 6rem; font-size: 13rem; line-height: 13rem; }
  .adv-box__title span { padding: 4rem 10rem; }
  .adv-box__text { font-size: 10rem; line-height: 12rem; }
  .adv-right { width: 100%; }
  .adv-meta { -webkit-mask: none; mask: none; aspect-ratio: auto; gap: 20rem; padding: 44rem 12rem 22rem; background-color: #fff; margin-top: -38rem; border-bottom-right-radius: 30rem; border-bottom-left-radius: 30rem; }
  .adv-meta .btn { display: none; }
  .adv__labels { display: flex; gap: 8rem; width: 100%; margin-top: 10rem; }
  .adv__labels span { display: inline-flex; align-items: center; height: 15rem; padding: 0 10rem; border-radius: 8rem; background: var(--c-accent); color: #fff; font-family: var(--font-accent); font-size: 6rem; line-height: 1; letter-spacing: .04em; text-transform: uppercase; }
}
/* на телефоне заголовок блока стоит в «язычке» над тёмной карточкой */
@media (max-width: 767px) {
  .adv__mobile-title { position: relative; height: 0; z-index: 4; }
  .adv__mobile-title .section-title { position: absolute; left: 130rem; top: 6rem; margin: 0; white-space: nowrap; }
}

/* ---------- Отзывы ---------- */
.section.reviews { margin: 0 0 50rem; }
.reviews .section-subtitle { display: block; }
.review-slide { position: relative; padding: 0; display: block; overflow: hidden; text-decoration: none; border: 0; background: none; width: 100%; text-align: left; }
.review-slide.has-video::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 33rem;
  height: 35rem;
  transform: translate(-50%, -50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 35'%3E%3Cpath d='M29.300 12.600c3.900 2.200 3.900 7.600 0 9.800L8.700 34.200C4.800 36.400 0 33.700 0 29.300V5.700C0 1.300 4.800-1.400 8.700.800z' fill='white'/%3E%3C/svg%3E") center / cover no-repeat;
}
.review-slide img { display: block; width: 100%; object-fit: cover; aspect-ratio: 370 / 500; border-radius: 90rem; overflow: hidden; }
.review-slide__meta { position: absolute; bottom: 54rem; left: 42rem; right: 30rem; }
.review-slide__title { font-family: var(--font-main); color: #fff; font-size: 26rem; font-weight: var(--fw-medium); line-height: 28rem; }
.review-slide__subtitle { font-family: var(--font-main); color: #fff; font-size: 18rem; line-height: normal; }
.reviews__dots { display: flex; margin-top: 32rem; justify-content: center; gap: 10rem; }
.reviews__dots.swiper-pagination-lock { display: none; }
.reviews__dots span { width: 10rem; height: 10rem; border: 1rem solid var(--c-gray); border-radius: 50%; background: transparent; opacity: 1; margin: 0 !important; cursor: pointer; }
.reviews__dots span.swiper-pagination-bullet-active { background-color: var(--c-gray); }
.aggregators { margin-top: 104rem; display: flex; justify-content: center; gap: 20rem; }
.aggregator { width: 240rem; position: relative; }
.aggregator__icon { height: 60rem; position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; padding: 0 16rem; border-radius: 30rem; background: var(--c-head); color: #fff; font-family: var(--font-main); font-weight: var(--fw-medium); font-size: 20rem; white-space: nowrap; }
.aggregator__body { border-radius: 45px; background-color: #fff; padding: 50rem 0 18rem; display: flex; flex-direction: column; align-items: center; gap: 20rem; }
.aggregator__stars { display: flex; align-items: center; gap: 2rem; }
.aggregator__stars svg { display: block; width: 26rem; height: 26rem; }
@media (max-width: 991px) {
  .section.reviews { margin: 0; }
  .scale-tablet .review-slide img { border-radius: 20rem; }
  .scale-tablet .review-slide.has-video::before { width: 20rem; height: 22rem; top: 88rem; transform: translateX(-50%); }
  .scale-tablet .review-slide__meta { position: static; margin-top: 12rem; }
  .scale-tablet .review-slide__title { color: var(--c-head); font-size: 14px; }
  .scale-tablet .review-slide__subtitle { color: var(--c-dark); font-size: 14px; }
  .scale-tablet .aggregators { margin-top: 72rem; gap: 10rem; }
  .scale-tablet .aggregator__icon { height: 40rem; font-size: 14rem; }
  .scale-tablet .aggregator__body { border-radius: 20rem; gap: 10rem; padding-top: 38rem; }
  .scale-tablet .aggregator__stars svg { width: 22rem; height: 22rem; }
  .scale-tablet .aggregator .btn { font-size: 16rem; font-weight: var(--fw-regular); padding: 5rem 20rem; border: 2px solid var(--c-accent); }
}
@media (max-width: 767px) {
  .review-slide img { border-radius: 20rem; }
  .review-slide.has-video::before, .scale-tablet .review-slide.has-video::before { width: 14rem; height: 15rem; top: 50%; transform: translate(-50%, -50%); }
  .review-slide__meta, .scale-tablet .review-slide__meta { display: none; }
  .reviews__dots { margin-top: 10rem; }
  .reviews__dots span { width: 6rem; height: 6rem; }
  .aggregators, .scale-tablet .aggregators { margin-top: 40rem; --gap: 8rem; --columns: 2; flex-wrap: wrap; gap: var(--gap); row-gap: 34rem; }
  .aggregator { width: calc(100% / var(--columns) - var(--gap) + var(--gap) / var(--columns)); }
  .aggregator__icon, .scale-tablet .aggregator__icon { height: 28rem; font-size: 11rem; padding: 0 10rem; }
  .aggregator__body, .scale-tablet .aggregator__body { border-radius: 20rem; padding: 24rem 0 7rem; gap: 8rem; }
  .aggregator__stars svg, .scale-tablet .aggregator__stars svg { width: 16rem; height: 16rem; }
  .scale-tablet .aggregator .btn { font-size: 13rem; padding: 0 16rem; border: 1px solid var(--c-accent); }
}

/* ---------- Сертификаты и награды ---------- */
.section.certs { margin: 100rem 0; }
.cert-box { display: flex; background-color: #fff; border-top-right-radius: 90rem; border-bottom-right-radius: 90rem; }
.cert-box__left { position: relative; display: flex; justify-content: flex-end; height: 713rem; flex-grow: 1; flex-shrink: 1; }
.cert-box__left img { border-top-right-radius: 90rem; border-bottom-right-radius: 90rem; position: absolute; right: 0; top: 0; display: block; height: 100%; max-width: none; aspect-ratio: 950 / 713; object-fit: cover; }
.cert-box__right { position: relative; width: 780rem; padding: 46rem 125rem 0 85rem; flex-grow: 0; flex-shrink: 0; }
.cert-title { font-family: var(--font-accent); font-weight: var(--fw-accent); font-size: 55rem; line-height: 60rem; text-transform: uppercase; color: var(--c-head); margin-bottom: 20rem; }
.cert-text { font-family: var(--font-main); font-size: 22rem; line-height: 24rem; color: var(--c-dark); }
.cert-items { margin-top: 50rem; display: flex; gap: 28rem; flex-wrap: wrap; }
.cert-item { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 70rem; min-width: 70rem; padding: 0 12rem; border: 2rem solid var(--c-head); border-radius: 14rem; color: var(--c-head); font-family: var(--font-accent); font-weight: 500; font-size: 15rem; line-height: 1.1; text-align: center; text-transform: uppercase; }
.cert-item small { display: block; margin-top: 4rem; font-family: var(--font-main); font-weight: var(--fw-regular); font-size: 10rem; letter-spacing: .04em; text-transform: none; }
.award-boxes { margin-top: 71rem; }
.award-boxes .swiper-slide { height: auto; }
.award__icon { display: flex; justify-content: center; align-items: center; height: 122rem; margin-top: 31rem; margin-bottom: -62rem; position: relative; z-index: 1; }
.award__icon span { display: flex; align-items: center; justify-content: center; width: 122rem; height: 122rem; border-radius: 50%; background: var(--c-head); color: #fff; box-shadow: 0 0 0 8rem var(--c-bg); }
.award__icon span.is-accent { background: var(--c-accent); }
.award__icon svg { width: 56rem; height: 56rem; }
.award__body { border-radius: 90px; background: #fff; padding-top: 90rem; padding-left: 46rem; padding-right: 30rem; height: 284rem; }
.award__title { color: #000; font-family: var(--font-main); font-size: 18rem; font-weight: var(--fw-medium); line-height: normal; margin-bottom: 12rem; }
.award__text { color: #000; font-family: var(--font-main); font-size: 16rem; line-height: 20rem; }
.award-dots { margin-top: 10rem; display: none; justify-content: center; gap: 10rem; }
.award-dots span { width: 6px; height: 6px; border: 1px solid var(--c-gray); border-radius: 50%; background: transparent; opacity: 1; margin: 0 !important; }
.award-dots span.swiper-pagination-bullet-active { background-color: var(--c-gray); }
.award-arrows { display: none; }
.award-arrows button { border: 0; background: none; padding: 0; color: var(--c-gray); }
.award-arrows svg { width: 28rem; height: 28rem; display: block; }
@media (max-width: 991px) {
  .section.certs { margin: 40rem 0; }
  .scale-tablet .cert-box { flex-wrap: nowrap; border-radius: 40rem; margin-right: 0; }
  .scale-tablet .cert-box__left { height: 284rem; }
  .scale-tablet .cert-box__left img { border-top-right-radius: 40rem; border-bottom-right-radius: 40rem; aspect-ratio: 379 / 284; }
  .scale-tablet .cert-box__right { width: 335rem; padding: 20rem 26rem 0 10rem; }
  .scale-tablet .cert-title { font-size: 24rem; line-height: 30rem; }
  .scale-tablet .cert-text { font-size: 14rem; line-height: 16rem; }
  .scale-tablet .cert-text br { display: none; }
  .scale-tablet .cert-items { gap: 16rem; justify-content: flex-start; margin-top: 15rem; }
  .scale-tablet .cert-item { height: 30rem; min-width: 30rem; padding: 0 6rem; border-width: 1rem; border-radius: 6rem; font-size: 8rem; }
  .scale-tablet .cert-item small { display: none; }
  .scale-tablet .award-boxes { margin-top: 30rem; }
  .scale-tablet .award__icon { height: 92rem; margin-bottom: -50rem; }
  .scale-tablet .award__icon span { width: 92rem; height: 92rem; }
  .scale-tablet .award__icon svg { width: 42rem; height: 42rem; }
  .scale-tablet .award__title { font-size: 16rem; }
  .scale-tablet .award__text { font-size: 14rem; }
  .scale-tablet .award__body { border-radius: 40rem; height: 211rem; padding: 63rem 38rem 26rem; }
  .award-arrows { display: flex; margin-top: 12rem; gap: 16rem; justify-content: center; }
}
@media (max-width: 767px) {
  .section.certs { margin: 32rem 0; }
  .cert-box, .scale-tablet .cert-box { flex-wrap: wrap; border-radius: 20rem; }
  .cert-box__left, .scale-tablet .cert-box__left { width: 100%; height: auto; }
  .cert-box__left img, .scale-tablet .cert-box__left img { position: static; width: 100%; height: auto; aspect-ratio: 296 / 222; border-radius: 20rem; overflow: hidden; }
  .cert-box__right, .scale-tablet .cert-box__right { width: 100%; padding: 24rem 10rem 38rem; }
  .cert-items, .scale-tablet .cert-items { gap: 16rem; justify-content: space-between; margin-top: 0; }
  .cert-item, .scale-tablet .cert-item { height: 30rem; min-width: 30rem; padding: 0 6rem; border-width: 1rem; border-radius: 6rem; font-size: 8rem; }
  .cert-item small { display: none; }
  .award-boxes, .scale-tablet .award-boxes { margin-top: 40rem; }
  .award { display: flex; align-items: center; gap: 10rem; background-color: #fff; border-radius: 20rem; padding: 14rem 10rem; height: 100%; }
  .award__icon, .scale-tablet .award__icon { flex-grow: 0; flex-shrink: 0; margin: 0; width: 80rem; height: auto; }
  .award__icon span, .scale-tablet .award__icon span { width: 60rem; height: 60rem; box-shadow: none; }
  .award__icon svg, .scale-tablet .award__icon svg { width: 28rem; height: 28rem; }
  .award__body, .scale-tablet .award__body { height: auto; padding: 0; background: none; border-radius: 0; }
  .award__title, .scale-tablet .award__title { font-size: 13rem; line-height: 14rem; margin-bottom: 8rem; }
  .award__text, .scale-tablet .award__text { font-size: 10px; line-height: 12px; }
  .award-dots { display: flex; }
  .award-arrows { display: none; }
}

/* ---------- Сертификаты и награды: логотипы ---------- */
.cert-item, .scale-tablet .cert-item { height: auto; min-width: 0; padding: 0; border: 0; border-radius: 0; }
.cert-item img { display: block; height: 70rem; width: auto; }
.award__icon img { display: block; width: 200rem; height: 122rem; }
@media (max-width: 991px) {
  .scale-tablet .cert-item img { height: 30rem; }
  .scale-tablet .award__icon img { width: 150rem; height: 92rem; }
}
@media (max-width: 767px) {
  .cert-item img, .scale-tablet .cert-item img { height: 30rem; }
  .award__icon img, .scale-tablet .award__icon img { width: 80rem; height: 49rem; }
}
