/**
 * Swiper 10.0.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 8, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  --gap: 3rem;
  --duration: 30s;
  --scroll-start: 0;
  --scroll-end: calc(-100% - var(--gap));
  --mask-direction: right;
}

@media only screen and (min-width: 992px) {
  section {
    padding: 11rem 0;
  }
}

.gradient {
  background: linear-gradient(293.03deg, #d3dcfc -17.29%, #a29ddf -3.19%, #463da9 24.71%, #121212 67.84%);
  color: #fff;
  z-index: 98;
}

.descr {
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 2.08rem;
}
@media only screen and (min-width: 992px) {
  .descr {
    font-size: 2rem;
    line-height: 2.6rem;
  }
}
.descr p {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}
.descr p + p {
  margin-top: 2rem;
}
@media only screen and (min-width: 992px) {
  .descr p + p {
    margin-top: 4rem;
  }
}

.title {
  font-size: 5.2rem;
  line-height: 5.7rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .title {
    font-size: 8.6rem;
    line-height: 100%;
  }
}

.subtitle {
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 4.56rem;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .subtitle {
    font-size: 6.4rem;
    line-height: 7.68rem;
  }
}

.section-title {
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 4.56rem;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .section-title {
    font-size: 5.8rem;
    line-height: 6.96rem;
  }
}

.subsection-title {
  font-size: 2.8rem;
  line-height: 2.08rem;
  font-weight: 400;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .subsection-title {
    font-size: 4.8rem;
    line-height: 5.76rem;
  }
}

.banner {
  padding: 10.8rem 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .banner {
    padding-top: 16.6rem;
  }
}
.banner__head-img {
  position: absolute;
  top: 5rem;
  right: -10rem;
  z-index: -1;
  max-width: 50rem;
}
@media only screen and (min-width: 1200px) {
  .banner__head-img {
    top: -103rem;
    right: 78rem;
    max-width: 100%;
  }
  .banner__head-img canvas {
    transition: all 0.3s linear;
    transform: rotate(4deg);
  }
  .banner__head-img.no-rotate canvas {
    transform: unset;
  }
}
@media only screen and (max-width: 576px) {
  .banner__head-img {
    top: 6rem;
    max-width: 30rem;
  }
}
.banner__head-img #bird-container {
  max-width: 20rem;
  filter: brightness(2);
}
@media only screen and (max-width: 1200px) {
  .banner__head-img.desktop {
    display: none;
  }
}
.banner__head-img.mob img {
  max-width: 100%;
}
@media only screen and (min-width: 1200px) {
  .banner__head-img.mob {
    display: none;
  }
}
.banner__head {
  max-width: 94rem;
}
.banner__subtitle {
  font-size: 2.6rem;
  color: #fff;
  display: block;
  width: max-content;
  font-weight: 400;
  text-transform: uppercase;
  transform-origin: center;
}
@media only screen and (min-width: 992px) {
  .banner__subtitle {
    font-size: 3.2rem;
  }
}
.banner__title {
  margin-top: 1.3rem;
  font-size: 5.4rem;
  font-weight: 600;
  flex-direction: column;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 992px) {
  .banner__title {
    margin-top: 4rem;
    font-size: 9.2rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner__title {
    font-size: 3rem;
  }
}
.banner__title span {
  font-size: inherit;
}
.banner__title .small-text {
  font-size: inherit;
  line-height: normal;
}
@media only screen and (min-width: 992px) {
  .banner__title .flex {
    align-items: center;
    display: inline-flex;
    gap: 4rem;
  }
}
.banner__title b,
.banner__title i {
  line-height: 1.062;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
}
.banner__title b {
  line-height: 0;
}
.banner__title b.line {
  align-items: center;
}
.banner__title b.line::after {
  content: "";
  position: absolute;
  left: 0;
  height: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  background-color: #fff;
  transition: all 0.35s linear;
}
@media only screen and (max-width: 576px) {
  .banner__title b.line::after {
    display: none;
  }
}
.banner__title b.line:before {
  content: "";
  background-color: #fff;
  margin-right: 2rem;
  width: 86px;
  height: 2px;
  display: inline-block;
  transition: all 0.2s linear;
  opacity: 0;
}
@media only screen and (min-width: 992px) {
  .banner__title b.line:before {
    margin-right: 3rem;
  }
}
@media only screen and (max-width: 576px) {
  .banner__title b.line:before {
    width: 58px;
  }
}
@media only screen and (max-width: 576px) {
  .banner__title b.line:before {
    display: none;
  }
}
.banner__title b.line.line-animate::after {
  width: 86px;
}
@media only screen and (max-width: 576px) {
  .banner__title b.line.line-animate::after {
    width: 58px;
  }
}
.banner__title .char {
  font-size: inherit;
  line-height: inherit;
}
.banner__title i {
  font-style: normal;
}
.banner__title small {
  font-weight: 200;
  line-height: inherit;
}
.banner__title .tar {
  text-align: right;
}
.banner__body {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 10rem;
  gap: 1.2rem;
}
@media only screen and (max-width: 992px) {
  .banner__body .title-small::before {
    width: 1.2rem !important;
    height: 1.2rem !important;
  }
  .banner__body .title-small span {
    transform: translate(0);
  }
}
@media only screen and (min-width: 992px) {
  .banner__body {
    margin-top: 22.5rem;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.banner__img {
  max-width: 44rem;
  z-index: 3;
  position: sticky;
  top: 20rem;
  pointer-events: none;
}
@media only screen and (max-width: 992px) {
  .banner__img {
    display: none;
  }
}
.banner__img img {
  max-width: 100%;
  width: 100%;
}
@media only screen and (min-width: 1200px) {
  .banner__img img {
    opacity: 0;
  }
}
@media only screen and (min-width: 992px) {
  .banner__content {
    position: sticky;
    top: 8.2rem;
    flex: 1;
    max-width: 64.8rem;
  }
}
.banner__content .title-small {
  margin-bottom: 2.8rem;
  overflow: hidden;
}
.banner__content-title {
  font-size: 2.8rem;
  font-weight: 500;
  overflow: hidden;
  letter-spacing: -0.02em;
}
.banner__content-title i {
  font-style: normal;
  font-size: inherit;
  overflow: visible;
  line-height: 102%;
  display: inline-block;
  white-space: nowrap;
}
@media only screen and (min-width: 992px) {
  .banner__content-title {
    font-size: 4.9rem;
  }
}
.banner__content-title span {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: var(--secondary);
  display: unset !important;
}
.banner__content-descr {
  color: #f3eff8;
  margin-top: 2.8rem;
}
@media only screen and (min-width: 992px) {
  .banner__content-descr {
    margin-top: 4.5rem;
  }
}
.banner__content-descr div,
.banner__content-descr span {
  font-size: inherit;
}
.banner__content-images {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 3rem;
  max-width: 56rem;
}
@media only screen and (min-width: 992px) {
  .banner__content-images {
    gap: 5rem;
    justify-content: flex-start;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 992px) {
  .banner__content-image {
    max-width: 7rem;
  }
}
.banner__content-image img {
  max-width: 100%;
}
@media only screen and (max-width: 576px) {
  .banner__bttn {
    margin-top: 2rem;
  }
}

.goals {
  padding: 2.8rem 0 0;
}
@media only screen and (min-width: 992px) {
  .goals {
    padding: 13rem 0 0;
  }
}
.goals__wrap {
  padding-bottom: 3rem;
  grid-gap: 40px;
}
@media only screen and (max-width: 992px) {
  .goals__wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.4rem 3rem;
  }
}
.goals__wrap-line {
  background: rgba(159, 152, 239, 0.26);
  position: absolute;
  height: 1px;
  left: 0;
  bottom: 0;
  width: 100%;
}
.goals__item {
  padding-top: 3rem;
  padding-bottom: 2rem;
}
@media only screen and (min-width: 992px) {
  .goals__item {
    padding-top: 5rem;
  }
}
.goals__item-line {
  background: rgba(159, 152, 239, 0.26);
  position: absolute;
  height: 1px;
  width: 100%;
  top: 0;
  left: 0;
}
.goals__item-title {
  font-size: 5.8rem;
  font-weight: 500;
  line-height: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 992px) {
  .goals__item-title {
    font-size: 8.6rem;
  }
}
.goals__item-title span {
  font-size: inherit;
  line-height: 1;
}
.goals__item-descr {
  color: rgba(243, 239, 248, 0.94);
  font-size: 1.4rem;
  margin-top: 1.8rem;
  font-weight: 300;
  overflow: hidden;
}
.goals__item-descr span {
  font-size: inherit;
  line-height: 1;
}
@media only screen and (min-width: 992px) {
  .goals__item-descr {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}

.clients {
  text-align: center;
  padding-bottom: 5rem;
}
.clients__wrap {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 10px 2px;
}
@media only screen and (min-width: 768px) {
  .clients__wrap {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .clients__wrap {
    grid-template-columns: repeat(5, 1fr);
  }
}
.clients__item img {
  max-width: 100%;
}
.clients__bttn {
  display: inline-flex;
  margin-top: 3rem;
}

.expertise {
  background-color: #fff;
  text-align: center;
}
.expertise .title-small span {
  margin: 0 5px;
}
.expertise__descr {
  max-width: 80rem;
  margin-top: 2rem;
}
.expertise__wrap {
  margin-top: 3.2rem;
  overflow-x: hidden;
}
.expertise__wrap::-webkit-scrollbar {
  width: 0;
  height: 0;
}
@media only screen and (max-width: 992px) {
  .expertise__wrap {
    display: flex;
    overflow: auto;
    width: calc(100% + 4rem);
    left: -2rem;
    padding: 0 2rem;
    scroll-snap-type: x mandatory;
    grid-gap: 15px;
  }
}
@media only screen and (min-width: 992px) {
  .expertise__wrap {
    margin-top: 5rem;
    overflow: hidden;
  }
}
.expertise__item {
  background-color: rgba(240, 241, 250, 0.6);
  border: 1px solid rgba(221, 223, 239, 0.3);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  text-align: center;
  overflow: hidden;
  flex: 1;
  min-width: 32rem;
  scroll-snap-align: center;
}
.expertise__item-img {
  width: 100%;
  height: 21rem;
  background: radial-gradient(127.62% 167.45% at 61.09% 153.17%, #a29ddf 0%, #463da9 49.88%, #121212 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}
.expertise__item-img:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url("../../img/circle.svg");
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 992px) {
  .expertise__item-img {
    height: 23rem;
  }
}
.expertise__item-img img {
  max-width: 100%;
  max-height: 100%;
}
.expertise__item-wrap {
  padding: 3rem;
}
@media only screen and (min-width: 992px) {
  .expertise__item-wrap {
    padding: 4rem;
  }
}
.expertise__item-title {
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  min-height: 6.72rem;
  max-width: 25rem;
  margin: 0 auto;
}
.expertise__item-descr {
  margin-top: 1.6rem;
}
.expertise__item-descr ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 400;
  height: 5.2rem;
}
.expertise__item-descr ul li + li {
  border-top: 1px solid rgba(181, 184, 208, 0.3);
}

.why {
  background-color: #fff;
}
@media only screen and (min-width: 992px) {
  .why {
    position: static;
    overflow: visible;
  }
  .why .container,
  .why .grid-2 {
    position: static;
  }
}
@media only screen and (max-width: 992px) {
  .why {
    padding: 5.3rem 0 5rem;
  }
}
@media only screen and (max-width: 992px) {
  .why__head {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 992px) {
  .why__sticky {
    margin-top: 1.4rem;
  }
}
.why__sticky .bttn {
  position: sticky;
  top: 10rem;
}
@media only screen and (max-width: 576px) {
  .why__sticky .bttn {
    width: 100%;
  }
}
@media only screen and (min-width: 992px) {
  .why__content {
    grid-column: 2/5;
  }
}
.why__title {
  font-size: 4.2rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 110%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.why__title i {
  overflow: hidden;
  font-style: normal;
  font-size: inherit;
  line-height: 1;
}
@media only screen and (min-width: 992px) {
  .why__title {
    font-size: 8.6rem;
  }
}
.why__title span {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  display: block;
  margin-left: 4rem;
}
@media only screen and (min-width: 992px) {
  .why__title span {
    margin-left: 8rem;
  }
}
.why__descr {
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: -0.01em;
  margin-top: 3rem;
  line-height: 140%;
}
@media only screen and (min-width: 992px) {
  .why__descr {
    margin-top: 6rem;
    font-size: 2.8rem;
  }
}
.why__descr p {
  line-height: inherit;
  font-size: inherit;
}
.why__descr .title-small {
  display: block;
}
@media only screen and (min-width: 992px) {
  .why__descr .title-small {
    float: left;
    margin: 1.35rem 11.8rem 4.2rem 0.2rem;
  }
}
.why__wrap {
  margin-top: 4rem;
}
@media only screen and (min-width: 992px) {
  .why__wrap {
    margin-top: 6rem;
  }
}
.why__item {
  background-color: rgba(240, 241, 250, 0.6);
  border: 1px solid rgba(221, 223, 239, 0.3);
  border-radius: 6px;
  padding: 3.6rem 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}
.why__item-img {
  max-width: 6rem;
}
.why__item-img img {
  max-width: 100%;
}
.why__item-title {
  color: #121212;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2rem;
}

.approach {
  background: linear-gradient(293.03deg, #d3dcfc -17.29%, #a29ddf -3.19%, #463da9 24.71%, #121212 67.84%);
}
.approach__title {
  color: #fff;
}
.approach__wrap {
  margin-top: 6rem;
}
@media only screen and (min-width: 992px) {
  .approach__wrap {
    margin-top: 10.6rem;
  }
}
.approach__steps {
  max-width: 83rem;
}
@media only screen and (max-width: 992px) {
  .approach__steps {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .approach__steps {
    grid-gap: 9.6rem 11.3rem;
    padding-left: 9.4rem;
  }
}
.approach__steps-line {
  display: none;
}
.approach__steps-line svg {
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 992px) {
  .approach__steps-line {
    top: -4rem;
    display: block;
    position: absolute;
    top: -4rem;
    left: 0;
    z-index: -1;
    max-width: 100%;
  }
}
.approach__steps-line img {
  max-width: 100%;
}
.approach__item {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 300;
  min-height: 11rem;
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .approach__item {
    min-height: 11rem;
    width: 17rem;
  }
}
.approach__item-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.8rem;
  height: 3.8rem;
  border-radius: 8rem;
  background-color: var(--primary);
  font-weight: 400;
  font-size: 1.6rem;
}
.approach__item-title {
  margin-top: 1.3rem;
  line-height: 130%;
}
.approach__item:nth-child(4) {
  grid-row: 2/3;
}
.approach__item:nth-child(4), .approach__item:nth-child(5) {
  grid-column: 1/2;
}
.approach__item:nth-child(3), .approach__item:nth-child(6) {
  grid-column: 2/3;
}
.approach__img {
  display: none;
  position: absolute;
  top: 0;
  right: 12rem;
  max-width: 70rem;
  filter: brightness(2);
}
.approach__img img {
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .approach__img {
    display: block;
  }
}

.awards {
  background-color: #fff;
}
@media only screen and (max-width: 992px) {
  .awards {
    padding: 6.6rem 0 4.5rem;
  }
}
@media only screen and (min-width: 992px) {
  .awards {
    padding-bottom: 8rem;
  }
}
.awards__head {
  align-items: flex-end;
}
.awards .title-small {
  margin-bottom: 3.4rem;
}
.awards__title {
  font-size: 4.8rem;
  font-weight: 500;
}
@media only screen and (min-width: 992px) {
  .awards__title {
    font-size: 8.6rem;
  }
}
.awards__descr {
  font-size: 1.6rem;
  font-weight: 300;
}
@media only screen and (min-width: 992px) {
  .awards__descr {
    font-size: 2rem;
  }
}
.awards__wrap {
  margin-top: 3.2rem;
}
@media only screen and (min-width: 992px) {
  .awards__wrap {
    margin-top: 7rem;
  }
}
.awards__item {
  border-top: 1px solid rgba(217, 218, 230, 0.7);
}
@media only screen and (max-width: 992px) {
  .awards__item {
    grid-gap: 2.4rem;
  }
}
.awards__item:last-child {
  padding-bottom: 0;
}
.awards__item--accordion .awards__item-head {
  cursor: pointer;
}
.awards__item--accordion .awards__item-head:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  right: 0.5rem;
  bottom: 4.4rem;
  background-image: url("../../img/icons/accordion.svg");
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.2s ease-in-out;
}
@media only screen and (min-width: 576px) {
  .awards__item--accordion .awards__item-head:after {
    width: 1.8rem;
    height: 1.8rem;
    right: 1.2rem;
  }
}
.awards__item.show .awards__item-head:after {
  transform: scale(1, -1);
}
.awards__item-head {
  align-items: center;
  padding: 3rem 0rem;
  transition: 0.2s ease-in-out;
}
@media only screen and (min-width: 992px) {
  .awards__item-head {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.2rem;
    padding: 3rem 1.2rem;
  }
}
.awards__item-head:before {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleY(0);
  height: 100%;
  bottom: 0;
  left: 0;
  background-color: rgba(217, 218, 230, 0.2);
  transform-origin: bottom;
  transition: transform 0.45s ease-out;
}
.awards__item-head:hover:before {
  transform: scaleY(1);
  transform-origin: top;
}
@media only screen and (min-width: 992px) {
  .awards__item-wrap {
    grid-column: 1/4;
  }
}
.awards__item-num {
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2rem;
  font-size: 1.4rem;
}
.awards__item-title {
  font-size: 2.8rem;
  font-weight: 500;
  margin-top: 1rem;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .awards__item-title {
    font-size: 3.6rem;
  }
}
.awards__item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0.6rem;
}
@media only screen and (max-width: 992px) {
  .awards__item-tags {
    margin-top: 1.6rem;
    padding-right: 2rem;
  }
}
@media only screen and (min-width: 992px) {
  .awards__item-tags {
    grid-column: 7/13;
  }
}
.awards__item-tags li {
  color: #121212;
  font-size: 1rem;
  line-height: 100%;
  font-weight: 300;
  letter-spacing: -0.02em;
  padding: 0.6rem 1.2rem;
  border-radius: 2.4rem;
  border: 1px solid rgba(18, 18, 18, 0.4);
}
.awards__item-tags li span {
  font-size: inherit;
  font-weight: inherit;
  opacity: 0.5;
}
@media only screen and (min-width: 992px) {
  .awards__item-tags li {
    font-size: 1.5rem;
    padding: 1rem 1.4rem;
  }
}
.awards__item-img {
  overflow: hidden;
  border-radius: 4px;
}
.awards__item-img img {
  max-width: 100%;
}
.awards__item-content {
  display: none;
}
.awards__item-content__item {
  padding: 3rem 1.2rem;
  border-top: 1px solid rgba(181, 184, 208, 0.5);
}
@media only screen and (min-width: 992px) {
  .awards__item-content__item {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.2rem;
  }
}
.awards__item-content__item-num {
  font-size: 1.4rem;
  line-height: 1.2rem;
  color: #121212;
}
@media only screen and (min-width: 992px) {
  .awards__item-content__item-num {
    grid-column: 1/2;
  }
}
.awards__item-content__item-title {
  font-size: 2rem;
}
@media only screen and (min-width: 992px) {
  .awards__item-content__item-title {
    grid-column: 4/7;
  }
}
.awards__item-content__item-descr {
  font-size: 1.4rem;
  line-height: 130%;
  margin-top: 2rem;
}
@media only screen and (min-width: 992px) {
  .awards__item-content__item-descr {
    grid-column: 7/13;
    margin-top: 0;
  }
}

.focus {
  background: var(--primary);
  background: linear-gradient(225.5deg, #d3dcfc -0.8%, #a29ddf 9.53%, #463da9 32.1%, #121212 61.55%);
}
@media only screen and (max-width: 992px) {
  .focus {
    padding: 5rem 0;
  }
}
.focus__content {
  color: #fff;
}
.focus__content .title-small {
  margin-bottom: 3rem;
}
.focus__title {
  font-size: 3.8rem;
  color: #fff;
}
@media only screen and (min-width: 992px) {
  .focus__title {
    font-size: 6.4rem;
    max-width: 40rem;
  }
}
.focus__descr {
  color: rgba(236, 237, 249, 0.9);
}
.focus__descr p {
  font-size: 1.6rem;
  line-height: 140%;
  font-weight: 300;
  color: inherit;
}
@media only screen and (min-width: 992px) {
  .focus__descr p {
    font-size: 2rem;
  }
}
.focus__descr p + p {
  margin-top: 1.6rem;
}
.focus__wrap {
  margin-top: 3.6rem;
}
@media only screen and (min-width: 992px) {
  .focus__wrap {
    margin-top: 6rem;
  }
}
.focus__item {
  padding: 4rem 3rem;
  color: #f3eff8;
  display: flex;
  flex-direction: column;
  border-radius: 6px;
  transition: 0.2s ease-in-out;
  background-color: rgba(138, 132, 209, 0.12);
  overflow: hidden;
  min-height: 42rem;
  max-height: 60rem;
  height: auto;
}
@media only screen and (min-width: 576px) {
  .focus__item {
    width: 27rem !important;
  }
}
@media only screen and (min-width: 992px) {
  .focus__item {
    padding: 2.6rem 2.4rem;
  }
}
.focus__item-bg {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 0.2s ease-in-out;
}
.focus__item-bg img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: auto;
}
.focus__item-num {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.focus__item:hover {
  background-color: rgba(138, 132, 209, 0.2);
}
.focus__item:hover .focus__item-bg {
  opacity: 0;
}
.focus__item:hover .focus__item-descr {
  opacity: 1;
}
.focus__item-content {
  margin-left: 2rem;
  flex: 1;
}
@media only screen and (min-width: 992px) {
  .focus__item-content {
    margin-left: 2.2rem;
  }
}
.focus__item-title {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #f3eff8;
  margin-top: 1rem;
}
@media only screen and (min-width: 992px) {
  .focus__item-title {
    font-size: 2.6rem;
    min-height: 6.3rem;
  }
}
.focus__item-descr {
  font-size: 1.4rem;
  font-weight: 300;
  margin-top: 1.8rem;
  color: #f3eff8;
  line-height: 130%;
  opacity: 0;
  transition: 0.2s ease-in-out;
}
.focus__control {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 3rem;
  gap: 4rem;
}
@media only screen and (min-width: 992px) {
  .focus__control {
    margin-top: 6rem;
    gap: 10rem;
  }
}

.ecosystem .container {
  text-align: center;
}
.ecosystem__title {
  font-size: 3.8rem;
  max-width: 110rem;
  margin: 0 auto;
}
@media only screen and (min-width: 992px) {
  .ecosystem__title {
    font-size: 6.4rem;
  }
}
.ecosystem__descr {
  margin: 2.4rem auto 0;
  font-size: 1.6rem;
  font-weight: 300;
  max-width: 80.2rem;
}
@media only screen and (min-width: 992px) {
  .ecosystem__descr {
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.ecosystem__wrap {
  grid-gap: 6px;
  margin-top: 5rem;
}
@media only screen and (min-width: 992px) {
  .ecosystem__wrap {
    margin-top: 6rem;
    grid-gap: 12px;
  }
}
.ecosystem__item {
  border: 1px solid #e9eff1;
  background-color: #f5f5f5;
  padding: 1.4rem 1.8rem;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 2rem;
  border-radius: 4px;
}
@media only screen and (min-width: 992px) {
  .ecosystem__item {
    background-color: #f7fafb;
    padding: 2.6rem 2.4rem;
  }
}
.ecosystem__item-icon {
  width: 4.2rem;
  height: 4.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 992px) {
  .ecosystem__item-icon {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.ecosystem__item-icon img {
  max-width: 100%;
  max-height: 100%;
}
.ecosystem__item-title {
  font-size: 1.4rem;
  font-weight: 300;
  color: #121212;
  flex: 1;
}
@media only screen and (min-width: 992px) {
  .ecosystem__item-title {
    font-size: 1.8rem;
  }
}

.subscribe {
  background: linear-gradient(208.7deg, #d3dcfc -0.67%, #a29ddf 9.83%, #463da9 24.81%, #121212 52.77%);
}
.subscribe .container {
  grid-gap: 2.4rem;
}
@media only screen and (min-width: 992px) {
  .subscribe .container {
    grid-gap: 12rem;
  }
}
.subscribe__title {
  color: #fff;
  font-size: 3.8rem;
}
@media only screen and (min-width: 992px) {
  .subscribe__title {
    font-size: 5.8rem;
  }
}
.subscribe__form {
  max-width: 45.2rem;
}
.subscribe__form-title {
  color: rgba(236, 237, 249, 0.8);
  font-size: 1.6rem;
  font-weight: 300;
}
@media only screen and (min-width: 992px) {
  .subscribe__form-title {
    font-size: 2rem;
  }
}
.subscribe__form-wrap {
  margin-top: 2.4rem;
}
@media only screen and (min-width: 992px) {
  .subscribe__form-wrap {
    margin-top: 3rem;
  }
}

.contact {
  background-color: #fff;
  overflow: visible;
}
.contact__container {
  align-items: flex-start;
}
.contact__wrap {
  max-width: 43.5rem;
}
@media only screen and (min-width: 992px) {
  .contact__wrap {
    position: sticky;
    top: 8.2rem;
  }
}
.contact__title {
  font-size: 3.8rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 992px) {
  .contact__title {
    font-size: 6.4rem;
  }
}
.contact__descr {
  font-size: 1.6rem;
  font-weight: 300;
  max-width: 37rem;
  margin-top: 2.4rem;
}
@media only screen and (min-width: 992px) {
  .contact__descr {
    font-size: 2rem;
    margin-top: 3rem;
  }
}

:root {
  --gap: 3rem;
  --mask-direction: right;
}

.tape .marquee {
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(var(--mask-direction, to right)), color-stop(hsla(0, 0%, 0%, 0)), color-stop(20%, hsl(0, 0%, 0%)), color-stop(80%, hsl(0, 0%, 0%)), to(hsla(0, 0%, 0%, 0)));
  -webkit-mask-image: linear-gradient(var(--mask-direction, to right), hsla(0, 0%, 0%, 0), hsl(0, 0%, 0%) 20%, hsl(0, 0%, 0%) 80%, hsla(0, 0%, 0%, 0));
  mask-image: -webkit-gradient(linear, left top, left bottom, from(var(--mask-direction, to right)), color-stop(hsla(0, 0%, 0%, 0)), color-stop(20%, hsl(0, 0%, 0%)), color-stop(80%, hsl(0, 0%, 0%)), to(hsla(0, 0%, 0%, 0)));
  mask-image: linear-gradient(var(--mask-direction, to right), hsla(0, 0%, 0%, 0), hsl(0, 0%, 0%) 20%, hsl(0, 0%, 0%) 80%, hsla(0, 0%, 0%, 0));
}
.tape .marquee__group {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap);
  min-width: 100%;
  animation: scroll-x var(--duration) linear infinite;
}
.tape .marquee__group span {
  font-size: 7.8rem;
  font-weight: 600;
  text-shadow: -1px 0 #9396ae, 0 1px #9396ae, 1px 0 #9396ae, 0 -1px #9396ae;
  color: white;
  text-transform: uppercase;
  letter-spacing: -0.04em;
}
@media only screen and (min-width: 992px) {
  .tape .marquee__group span {
    font-size: 12.4rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tape .marquee__group {
    animation-play-state: paused;
  }
}
@keyframes scroll-x {
  from {
    transform: translateX(var(--scroll-start));
  }
  to {
    transform: translateX(var(--scroll-end));
  }
}

#containerTEST {
  display: flex;
  position: relative;
  height: 150px;
  width: 150px;
  justify-content: center;
  align-items: center;
}

.circle {
  position: absolute;
  height: 50px;
  width: 50px;
  border: solid 2px gray;
  border-radius: 100%;
}

.green {
  background: green;
}

.ml10 {
  position: relative;
  font-weight: 900;
  font-size: 4em;
}

.ml10 .text-wrapper {
  position: relative;
  display: inline-block;
  padding-top: 0.2em;
  padding-right: 0.05em;
  padding-bottom: 0.1em;
  overflow: hidden;
}

.ml10 .letter {
  display: inline-block;
  line-height: 1em;
  transform-origin: 0 0;
}