:root {
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 991px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: var(--size-font);
}

body {
  overflow-x: hidden;
}

/* КРИТИЧЕСКИ ВАЖНО: Фикс для всех pinned элементов в Safari */
.sticky-projects,
.section-white.c2 {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

/* Фикс для анимируемых элементов */
.service-img,
.services,
.service-copy,
.steps-wrapper {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

/* Оптимизация для overlay counter */
.overlay-count-row,
.count-column,
.overlay-step {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* Tablet (Portrait & Landscape) */
@media screen and (max-width: 991px) and (orientation: portrait) {
  :root {
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

/* Mobile Landscape */
@media screen and (max-width: 991px) and (orientation: landscape) {
  :root {
    --size-container-ideal: 667;
    --size-container-min: 480px;
    --size-container-max: 991px;
  }
}

/* Mobile Portrait */
@media screen and (max-width: 479px) and (orientation: portrait) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

.logo-part {
  stroke-width: 3;
  stroke-linejoin: round;
  fill-opacity: 0;
  stroke-dasharray: 9999;
  stroke-dashoffset: 9999;
}

.body.no-scroll {
  overflow: hidden !important;
  touch-action: none;
  -ms-touch-action: none;
}

.dropdown_wrap:focus-within .dropdown_height,
.dropdown_wrap:hover .dropdown_height {
  grid-template-rows: 1fr;
  opacity: 1;
}

.dropdown_wrap:focus-within .dropdown_arrow,
.dropdown_wrap:hover .dropdown_arrow {
  transform: rotate(-180deg);
}

.btn-a-up:hover .arrow._1 {
  transform: translate(150%, -150%);
}

.btn-a-up:hover .arrow__bg {
  width: 100%;
  height: 100%;

}

.btn-a-up:hover .wrapper-arrow-btn-2 {
  background-color: #333;
}

.btn-a-d:hover .arrow._1 {
  transform: translate(150%, 150%);
}


.btn-a-d:hover .wrapper-arrow-btn {
  background-color: #333;
}



.btn-a-d:hover .arrow__bg {
  width: 100%;
  height: 100%;

}


@media (min-width: 991px) {
  .splide__slide:hover .button_text {
    transform: translateY(0);
  }

  .splide__slide:hover .button_arrow {
    transform: rotate(45deg);
    background-color: #00dfca;
  }

  .menu-link:hover .text-link {
    transform: translateY(-100%);
  }

  .menu-link.btn:hover .text-link {
    transform: translateY(0%);
  }



  .footer-link:hover .text-link-footer {
    transform: translateY(-100%);
  }


}






.splide__slide:hover .heading-blog {
  color: var(--blue);
}




.wrapper-arrow-slider-left:hover .arrow.left {
  transform: translate(-170%);
}

.wrapper-arrow-slider-left:hover .arrow__bg-2 {
  width: 100%;
  height: 100%;

}

.wrapper-arrow-slider:hover .arrow.right {
  transform: translate(170%);
}

.wrapper-arrow-slider:hover .arrow__bg-2 {
  width: 100%;
  height: 100%;

}




.button-reviews-left:hover .arrow-reviews.left {
  transform: translate(-170%);
}

.button-reviews-left:hover .arrow__bg-2 {
  width: 100%;
  height: 100%;

}

.button-reviews-right:hover .arrow-reviews.right {
  transform: translate(170%);
}

.button-reviews-right:hover .arrow__bg-2 {
  width: 100%;
  height: 100%;

}