@charset "UTF-8";
:root {
  --color-font-primary: #2f3436;
  --color-font-primary-inverse: #ffffff;
  --color-font-primary-inverse-opacity-50: #ffffff80;
  --color-font-primary-inverse-opacity-20: #ffffff33;
  --color-font-primary-light: #e6e1d8;
  --color-font-secondary: #8b857a;
  --color-font-secondary-opacity-50: #8b857a80;
  --color-bg-main: #eee9e0;
  --color-bg-accent: #0f2a21;
  --color-bg-dark: #0f1111;
  --container-offset: 50px;
}
@media (max-width: 1399px) {
  :root {
    --container-offset: 30px;
  }
}
@media (max-width: 1199px) {
  :root {
    --container-offset: 26px;
  }
}
@media (max-width: 1023px) {
  :root {
    --container-offset: 20px;
  }
}
@media (max-width: 696px) {
  :root {
    --container-offset: 10px;
  }
}

* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  font-family: "Onest", "Helvetica", sans-serif;
  background-color: var(--color-bg-main);
  color: var(--color-font-primary);
  text-wrap: balance;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  min-height: 100vh;
}

img {
  display: block;
}

.container {
  width: 1920px;
  max-width: 100%;
  padding: 0 var(--container-offset);
  margin: 0 auto;
}

.scroll-lock {
  overflow: hidden;
  height: 100%;
  position: relative;
}

.page-content {
  margin-top: 187px;
}
@media (max-width: 1399px) {
  .page-content {
    margin-top: 150px;
  }
}
@media (max-width: 696px) {
  .page-content {
    margin-top: 120px;
  }
}

.hidden {
  display: none;
}

.grid-3-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.grid-4-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

[data-reveal-words] {
  overflow: hidden;
}

[data-reveal-words] .word {
  display: inline-block;
}

[data-reveal-block] {
  overflow: hidden;
  -webkit-transform: translateY(120%);
          transform: translateY(120%);
  opacity: 0; /* скрыто до анимации */
}

[data-reveal-words] .char {
  display: inline-block;
  -webkit-transform: translateY(120%);
          transform: translateY(120%);
  opacity: 0; /* скрыто до анимации */
  will-change: transform, opacity;
}

[data-scale-up] {
  -webkit-transform: scale(0.5);
          transform: scale(0.5); /* изначально маленькая */
  opacity: 0; /* скрыта до анимации */
  -webkit-transform-origin: center;
          transform-origin: center; /* увеличиваем из центра */
  will-change: transform, opacity;
}

[data-scale-down] {
  scale: 1.15;
  will-change: scale;
}

[data-reveal-words-from-opacity] .word {
  display: inline-block;
  opacity: 0;
  will-change: opacity;
}

.logo {
  --logo-color: var(--color-font-primary-inverse);
  width: clamp(154px, 10.36vw, 199px);
  display: block;
}
@media (max-width: 1023px) {
  .logo {
    width: 144px;
  }
}
.logo__img {
  display: block;
  width: 100%;
  height: 100%;
}
.logo__img path {
  fill: var(--logo-color);
}

.plain-text {
  color: var(--color-font-primary);
  font-weight: 400;
  font-size: clamp(18px, 1.15vw, 22px);
  line-height: 1.3;
  text-decoration: none;
}
.plain-text_inverse {
  color: var(--color-font-primary-inverse);
}
.plain-text_primary-light {
  color: var(--color-font-primary-light);
}
.plain-text_size_s {
  font-size: clamp(16px, 1.04vw, 20px);
}
.plain-text_size_xs {
  font-size: 18px;
}
.plain-text_fw_300 {
  font-weight: 300;
}
@media (max-width: 696px) {
  .plain-text {
    font-size: 16px;
  }
}

.socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 17px;
}
.socials_gap_12 {
  gap: 12px;
}

.socials-link {
  --icon-size: 100%;
  display: block;
  width: 24px;
  height: 24px;
  text-decoration: none;
}
@media (max-width: 1399px) {
  .socials-link {
    width: 20px;
    height: 20px;
  }
}
.socials-link_outline {
  --icon-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  border: 1px solid var(--color-font-secondary);
}
.socials-link__icon {
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  -o-object-fit: contain;
     object-fit: contain;
}

.nav {
  --link-fz: clamp(16px, 1.04vw, 20px);
  color: var(--color-font-primary-inverse);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
.nav__link {
  font-size: var(--link-fz);
  color: inherit;
  font-weight: 300;
  line-height: 1.1;
  text-decoration: none;
}
.nav_mob-menu {
  --link-fz: 26px;
  color: var(--color-font-primary-light);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}

.primary-button {
  --circle-size: 63px;
  --circle-color: var(--color-font-secondary);
  --text-color: var(--color-bg-accent);
  --icon-display: block;
  cursor: pointer;
  background-color: transparent;
  border: none;
  padding: 18px 0 18px 39px;
  position: relative;
  font-family: inherit;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.03em;
  font-weight: 300;
  text-transform: uppercase;
  color: var(--text-color);
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 1023px) {
  .primary-button {
    padding: 11px 0 11px 26px;
  }
}
@media (max-width: 1023px) {
  .primary-button {
    --circle-size: 40px;
    font-size: 16px;
  }
}
.primary-button_inverse {
  --text-color: var(--color-font-primary-inverse);
}
.primary-button__circle {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: var(--circle-size);
  height: var(--circle-size);
}
.primary-button__circle circle {
  stroke: var(--circle-color);
}
.primary-button__icon {
  display: var(--icon-display);
  width: 17px;
}
.primary-button__icon circle {
  stroke: var(--icons-color);
}
.primary-button_close-menu {
  --icon-display: none;
  --circle-color: var(--color-font-primary);
  padding: 11px 0 11px 32px;
}
.primary-button_close-menu::after {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: 50%;
  left: 13px;
  translate: 0 -50%;
  background-image: url(../img/close.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.primary-button_size_xs {
  padding: 11px 0 11px 10px;
}

.mob-menu {
  opacity: 0;
  z-index: -1;
  -webkit-transition: opacity 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: opacity 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  position: absolute;
  inset: 0;
  background-color: var(--color-bg-dark);
  color: var(--color-font-primary-light);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mob-menu_open {
  opacity: 1;
  z-index: 9;
}
.mob-menu__content {
  padding: 0px 10px 59px;
  height: calc(100vh - 108px);
  max-height: 780px;
  overflow: auto;
  margin-top: 108px;
  width: 100%;
}
.mob-menu__bottom {
  margin-top: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
}

.mob-menu_open + .header_inverse .logo__img path {
  fill: var(--color-font-primary-inverse);
}

.mob-menu_open + .header_inverse .header__primary-button {
  color: var(--color-font-primary-inverse);
}

.round-button {
  width: clamp(194px, 15.36vw, 295px);
  height: clamp(194px, 15.36vw, 295px);
  display: block;
  border-radius: 50%;
  border: none;
  outline: none;
  background-color: transparent;
  cursor: pointer;
}
@media (max-width: 1399px) {
  .round-button {
    width: 194px;
    height: 194px;
  }
}
.round-button_adaptive {
  width: clamp(170px, 11.98vw, 230px);
  height: clamp(170px, 11.98vw, 230px);
}
@media (max-width: 1199px) {
  .round-button_adaptive {
    width: 150px;
    height: 150px;
  }
}
.round-button_adaptive-s {
  width: clamp(150px, 10.1vw, 194px);
  height: clamp(150px, 10.1vw, 194px);
}
@media (max-width: 1199px) {
  .round-button_adaptive-s {
    width: 150px;
    height: 150px;
  }
}
.round-button__img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
}

.exp-num-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
}
@media (max-width: 696px) {
  .exp-num-block {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
.exp-num-block__num-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
}
.exp-num-block__num {
  font-size: clamp(70px, 4.69vw, 90px);
  font-weight: 300;
  line-height: 90%;
  letter-spacing: -0.06em;
}
@media (max-width: 696px) {
  .exp-num-block__num {
    font-size: 50px;
  }
}
.exp-num-block__num-text {
  font-size: clamp(30px, 2.08vw, 40px);
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 696px) {
  .exp-num-block__num-text {
    font-size: 24px;
  }
}

.section-title {
  font-size: clamp(70px, 4.69vw, 90px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--color-font-primary);
}
.section-title_light {
  color: var(--color-font-primary-light);
}
.section-title_inverse {
  color: var(--color-font-primary-inverse);
}
.section-title_centered {
  text-align: center;
}
@media (max-width: 1199px) {
  .section-title {
    font-size: 60px;
  }
}
@media (max-width: 696px) {
  .section-title {
    font-size: 40px;
  }
}
.section-title__quote {
  display: inline-block;
  vertical-align: top;
  width: clamp(33px, 2.34vw, 45px);
  aspect-ratio: 45/56;
  background-image: url("../img/quote-fill-white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  translate: 0 -50%;
}
@media (max-width: 1199px) {
  .section-title__quote {
    width: 24px;
  }
}
@media (max-width: 696px) {
  .section-title__quote {
    width: 14px;
  }
}

.project {
  position: relative;
  height: 100vh;
  min-height: 684px;
  max-height: 1013px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .project {
    height: auto;
    min-height: unset;
    max-height: unset;
  }
}
.project__image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1023px) {
  .project__image {
    position: static;
    height: auto;
  }
}
.project__container {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 70px;
  padding-bottom: 54px;
}
@media (max-width: 1023px) {
  .project__container {
    display: block;
    padding-top: 50px;
    padding-bottom: 80px;
  }
}
@media (max-width: 696px) {
  .project__container {
    padding-top: 30px;
    padding-bottom: 70px;
  }
}
.project__left {
  -ms-flex-item-align: end;
      align-self: end;
}
@media (max-width: 1023px) {
  .project__left {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: absolute;
    top: -43%;
    right: 60px;
    translate: 0 50%;
  }
}
@media (max-width: 696px) {
  .project__left {
    display: none;
  }
}
.project__right {
  width: clamp(643px, 38.39vw, 737px);
  max-width: 100%;
  justify-self: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (max-width: 1199px) {
  .project__right {
    width: 604px;
  }
}
@media (max-width: 1023px) {
  .project__right {
    width: 100%;
  }
}
@media (max-width: 696px) {
  .project__right {
    gap: 20px;
  }
}
@media (max-width: 1023px) {
  .project__section-title {
    color: var(--color-font-primary);
  }
}
.project__project-num-blocks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 46px;
}
@media (max-width: 696px) {
  .project__project-num-blocks {
    gap: 12px;
  }
}
.project__plain-text {
  color: var(--color-font-primary-light);
}
@media (max-width: 1023px) {
  .project__plain-text {
    color: var(--color-font-primary);
  }
}
.project__project-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 696px) {
  .project__project-tags {
    display: none;
  }
}
@media (min-width: 697px) {
  .project__primary-button {
    display: none;
  }
}

.project-num-block {
  color: var(--color-font-primary-light);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (max-width: 1023px) {
  .project-num-block {
    color: var(--color-font-primary);
  }
}
.project-num-block__num-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 6px;
}
.project-num-block__num {
  font-size: clamp(50px, 3.65vw, 70px);
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: -0.06em;
}
@media (max-width: 696px) {
  .project-num-block__num {
    font-size: 32px;
  }
}
.project-num-block__num-text {
  font-size: clamp(26px, 1.67vw, 32px);
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 696px) {
  .project-num-block__num-text {
    font-size: 22px;
    line-height: 1.1;
  }
}

.project-tag {
  backdrop-filter: blur(16px);
  padding: 20px 70px;
  border-radius: 100px;
  color: var(--color-font-primary-light);
  background-color: var(--color-font-primary-inverse-opacity-20);
  font-size: clamp(18px, 1.04vw, 20px);
}
.project-tag[data-reveal-block] {
  -webkit-filter: blur(0px);
          filter: blur(0px);
  will-change: filter;
}
@media (max-width: 1399px) {
  .project-tag {
    padding: 12px 60px;
  }
}
@media (max-width: 1023px) {
  .project-tag {
    border: 1px solid var(--color-font-secondary);
    background-color: transparent;
    color: var(--color-font-primary);
    padding: 16px 50px;
  }
}

.partner-card {
  background-color: var(--color-font-primary-light);
  padding: 46px;
  height: 100%;
  min-height: clamp(372px, 22.6vw, 434px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 696px) {
  .partner-card {
    padding: 30px;
    min-height: 449px;
  }
}
.partner-card__type {
  color: var(--color-font-secondary);
  line-height: 1.5;
  font-weight: 400;
  font-size: clamp(14px, 0.94vw, 18px);
}
.partner-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 696px) {
  .partner-card__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.partner-card__body {
  width: 473px;
  max-width: 100%;
  margin-top: auto;
}
.partner-card__logo {
  display: block;
  max-width: 100%;
}

.swiper_stretch .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.swiper_stretch .swiper-slide {
  height: auto;
}

.swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: static;
  margin-top: clamp(30px, 2.08vw, 40px);
}
.swiper-pagination-bullet {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 2px;
  border-radius: 0;
}
.swiper-pagination-bullet-active {
  background: var(--color-font-secondary);
}

.swiper-pagination-fraction {
  color: var(--color-font-secondary);
  font-size: clamp(24px, 1.56vw, 30px);
  line-height: 1;
  font-weight: 400;
  width: auto;
}

.swiper-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 33px;
  margin-top: 20px;
}
@media (min-width: 1200px) {
  .swiper-bottom_xl-visible {
    display: none;
  }
}

.swiper-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

.swiper-button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  width: clamp(50px, 3.13vw, 60px);
  height: clamp(50px, 3.13vw, 60px);
  display: block;
}
.swiper-button__icon {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.service-item {
  --title-fz: clamp(30px, 2.08vw, 40px);
  --title-lh: 1.1;
  --title-width: auto;
}
@media (max-width: 1199px) {
  .service-item {
    --title-fz: 26px;
  }
}
.service-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(20px, 2.08vw, 40px);
}
@media (max-width: 696px) {
  .service-item {
    gap: 16px;
    padding: 30px 0;
  }
}
.service-item_big-title {
  --title-fz: clamp(70px, 4.69vw, 90px);
  --title-lh: 1;
  --title-width: 53%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(50px, 5.21vw, 100px);
}
@media (max-width: 1199px) {
  .service-item_big-title {
    --title-fz: 60px;
    --title-width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
@media (max-width: 696px) {
  .service-item_big-title {
    --title-fz: 40px;
  }
}
.service-item__num {
  width: 98px;
  max-width: 33.33%;
  font-size: clamp(26px, 1.56vw, 30px);
  color: var(--color-font-secondary);
  font-weight: 400;
  line-height: 1.1;
}
@media (max-width: 1199px) {
  .service-item__num {
    font-size: 20px;
  }
}
.service-item__title {
  width: var(--title-width);
  font-size: var(--title-fz);
  line-height: var(--title-lh);
  font-weight: 300;
  letter-spacing: -0.06em;
}
.service-item__plain-text {
  width: 568px;
  max-width: 33.33%;
}
@media (max-width: 1199px) {
  .service-item__plain-text {
    max-width: 58%;
  }
}
@media (max-width: 696px) {
  .service-item__plain-text {
    max-width: 100%;
  }
}

.step-chain {
  width: clamp(355px, 21.15vw, 406px);
  max-width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 215px;
}
@media (max-width: 1399px) {
  .step-chain {
    gap: 130px;
  }
}

.step-chain-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  text-align: center;
  position: relative;
}
.step-chain-item::after {
  content: "";
  width: 15px;
  height: 175px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  translate: -50% 100%;
  background-image: url("../img/chain.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 1399px) {
  .step-chain-item::after {
    background-image: url("../img/chain-small.svg");
    width: 10px;
    height: 90px;
  }
}
.step-chain-item:last-child::after {
  display: none;
}
@media (max-width: 1399px) {
  .step-chain-item {
    gap: 10px;
  }
}
.step-chain-item__num {
  color: var(--color-font-secondary);
  font-size: clamp(24px, 1.56vw, 30px);
  line-height: 1.1;
}
@media (max-width: 1199px) {
  .step-chain-item__num {
    font-size: 20px;
  }
}
.step-chain-item__title {
  color: var(--color-font-primary-light);
  font-size: clamp(36px, 2.4vw, 46px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.06em;
}
@media (max-width: 1199px) {
  .step-chain-item__title {
    font-size: 26px;
  }
}

.specialist-card {
  --quote-clip-path: inset(0 0 100% 0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  position: relative;
}
.specialist-card:hover {
  --quote-clip-path: inset(0);
  -webkit-transform: translateY(-75px);
          transform: translateY(-75px);
}
@media (max-width: 1199px) {
  .specialist-card:hover {
    -webkit-transform: translateY(-35px);
            transform: translateY(-35px);
  }
}
.specialist-card__image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: clamp(33px, 28.85vw, 554px);
  aspect-ratio: 480/554;
  pointer-events: none;
}
@media (max-width: 1199px) {
  .specialist-card__image {
    height: 416px;
  }
}
@media (max-width: 696px) {
  .specialist-card__image {
    height: 312px;
  }
}
.specialist-card__name {
  font-size: clamp(22px, 1.56vw, 30px);
  line-height: 1.1;
  font-weight: 400;
  margin-top: clamp(30px, 2.45vw, 47px);
  text-align: center;
}
@media (max-width: 1199px) {
  .specialist-card__name {
    font-size: 18px;
    margin-top: 20px;
  }
}
.specialist-card__position {
  color: var(--color-font-secondary);
  font-size: clamp(16px, 1.15vw, 22px);
  line-height: 1.1;
  margin-top: clamp(6px, 0.63vw, 12px);
  text-align: center;
}
@media (max-width: 1199px) {
  .specialist-card__position {
    font-size: 14px;
  }
}
.specialist-card__quote {
  background-color: var(--color-bg-main);
  padding: 48px clamp(28px, 2.08vw, 40px) 0 clamp(50px, 4.17vw, 80px);
  font-size: clamp(12px, 0.83vw, 16px);
  line-height: 1.5;
  position: absolute;
  min-height: 120px;
  clip-path: var(--quote-clip-path);
  -webkit-transition: clip-path 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: clip-path 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media (max-width: 1199px) {
  .specialist-card__quote {
    padding: 28px 28px 28px 32px;
    line-height: 1.1;
  }
}
.specialist-card__quote::before {
  content: "";
  position: absolute;
  top: 35px;
  left: clamp(25px, 2.03vw, 39px);
  width: 32px;
  height: 40px;
  background: url("../img/quote-fill.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 1199px) {
  .specialist-card__quote::before {
    width: 16px;
    height: 20px;
    left: 12px;
    top: 20px;
  }
}

.news-card {
  --title-fz: clamp(20px, 1.35vw, 26px);
  position: relative;
  text-decoration: none;
  display: block;
}
.news-card_accent {
  --title-fz: clamp(30px, 2.08vw, 40px);
}
@media (max-width: 696px) {
  .news-card_accent {
    --title-fz: 26px;
  }
}
.news-card::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(44.73%, rgba(0, 0, 0, 0)), color-stop(80.32%, rgba(0, 0, 0, 0.7)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 44.73%, rgba(0, 0, 0, 0.7) 80.32%);
  z-index: 1;
}
.news-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-card__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  padding: 36px 40px;
  color: var(--color-font-primary-inverse);
  line-height: 1.1;
}
@media (max-width: 1399px) {
  .news-card__content {
    padding: 26px;
  }
}
.news-card__date {
  backdrop-filter: blur(16px);
  background-color: rgba(255, 255, 255, 0.1);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 16px clamp(30px, 1.88vw, 36px);
  border-radius: 100px;
  font-size: clamp(14px, 0.83vw, 16px);
}
.news-card__title {
  font-weight: 300;
  font-size: var(--title-fz);
}

.page-title {
  font-size: clamp(90px, 8.85vw, 170px);
  line-height: 0.9;
  font-weight: 400;
  letter-spacing: -0.06em;
}
@media (max-width: 696px) {
  .page-title {
    font-size: 76px;
  }
}
.page-title_size_s {
  font-size: clamp(90px, 6.25vw, 120px);
}
@media (max-width: 696px) {
  .page-title_size_s {
    font-size: 50px;
  }
}
.page-title__accent-item {
  display: block;
  color: var(--color-font-secondary);
}

.dropdown-list {
  position: relative;
  color: var(--color-font-primary);
  font-size: 20px;
  line-height: 1.3;
}
.dropdown-list__select {
  position: absolute;
  left: 0;
  bottom: 110%;
  width: 100%;
  display: none;
}
.dropdown-list__label {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  padding: 23px 25px;
  cursor: pointer;
  background-color: var(--color-font-primary-light);
}
.dropdown-list__label-text {
  color: inherit;
  font-weight: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.dropdown-list__label-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  width: 20px;
  height: 20px;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}
.dropdown-list__label-arrow_rotate {
  rotate: 180deg;
}
.dropdown-list__list {
  position: absolute;
  top: 100%;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 100%;
  max-height: 16rem;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
  overflow: auto;
  background-color: var(--color-font-primary-light);
  border-top: 1px solid var(--color-font-secondary-opacity-50);
}
.dropdown-list__list_open {
  z-index: 11;
  opacity: 1;
  pointer-events: all;
}
.dropdown-list__option {
  color: inherit;
  padding: 23px 25px;
  cursor: pointer;
  white-space: nowrap;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
.dropdown-list__option:hover, .dropdown-list__option_selected {
  background-color: #DAD1C1;
}
.dropdown-list * {
  scrollbar-width: thin;
  scrollbar-color: var(--color-font-secondary-opacity-50) rgba(255, 255, 255, 0);
}
.dropdown-list *::-webkit-scrollbar {
  width: 3px;
}
.dropdown-list *::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
}
.dropdown-list *::-webkit-scrollbar-thumb {
  background-color: var(--color-font-secondary-opacity-50);
  border-radius: 10px;
  border: 0px solid #ffffff;
}

.custom-select__label {
  font-size: 20px;
  line-height: 1.3;
  color: var(--color-font-secondary);
  margin-bottom: 12px;
}

.form {
  overflow: hidden;
}
.form__footer {
  margin-top: clamp(50px, 4.69vw, 90px);
}
@media (max-width: 696px) {
  .form__footer {
    margin-top: 30px;
  }
}
.form__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.form__pagination-bullet {
  height: 2px;
  width: 100%;
  background-color: var(--color-font-secondary);
  opacity: 0.3;
  -webkit-transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.form__pagination-bullet_active {
  opacity: 1;
}
.form__navigation {
  margin-top: clamp(20px, 1.56vw, 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: clamp(30px, 2.34vw, 45px);
}
.form__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.form__progress {
  color: var(--color-font-secondary);
  font-size: clamp(24px, 1.56vw, 30px);
  line-height: 1;
  font-weight: 400;
  width: auto;
}

.form-step {
  display: none;
}
.form-step_active {
  display: block;
}
.form-step__title {
  font-size: clamp(30px, 2.08vw, 40px);
  line-height: 1;
  margin-bottom: clamp(30px, 2.6vw, 50px);
}
@media (max-width: 696px) {
  .form-step__title {
    font-size: 26px;
  }
}
.form-step__two-fields {
  width: 869px;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.form-step__plain-text {
  margin-top: 40px;
  width: 681px;
  max-width: 100%;
}
.form-step__fieldset {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  width: 658px;
  max-width: 100%;
}

.outline-button {
  cursor: pointer;
  padding: 17px 60px;
  border-radius: 100px;
  background-color: transparent;
  border: 1px solid var(--color-font-secondary-opacity-50);
  color: var(--color-font-secondary);
  font-size: clamp(18px, 1.04vw, 20px);
  font-family: inherit;
  max-height: 60px;
}
.outline-button:disabled {
  cursor: initial;
}
.outline-button_arrow {
  padding: 0;
  width: 60px;
  height: 60px;
  border: none;
}

.expand-button {
  --icon-rotate: 90deg;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  cursor: pointer;
  border: none;
  background-color: transparent;
  font-family: inherit;
  font-weight: 300;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--color-font-secondary);
}
@media (max-width: 696px) {
  .expand-button {
    font-size: 18px;
    gap: 10px;
  }
}
.expand-button_rotate {
  --icon-rotate: -90deg;
}
.expand-button__icon {
  rotate: var(--icon-rotate);
  width: 52px;
  height: 52px;
}
@media (max-width: 696px) {
  .expand-button__icon {
    width: 44px;
    height: 44px;
  }
}

.service-expand {
  --grid-rows: auto 0fr;
  --header-gap: 20px;
  --num-width: 64px;
  --border-bottom: none;
}
.service-expand_border-bottom {
  --border-bottom: 1px solid var(--color-font-secondary-opacity-50);
}
.service-expand_open {
  --grid-rows: auto 1fr;
  background-color: var(--color-font-primary-light);
}
.service-expand__wrapper {
  padding: 70px 0;
  border-top: 1px solid var(--color-font-secondary-opacity-50);
  border-bottom: var(--border-bottom);
  display: grid;
  grid-template-rows: var(--grid-rows);
  -webkit-transition: grid-template-rows 0.3s;
  transition: grid-template-rows 0.3s;
  transition: grid-template-rows 0.3s, -ms-grid-rows 0.3s;
}
@media (max-width: 1023px) {
  .service-expand__wrapper {
    padding: 50px 0;
  }
}
@media (max-width: 696px) {
  .service-expand__wrapper {
    padding: 30px 0;
  }
}
.service-expand__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--header-gap);
}
@media (max-width: 1023px) {
  .service-expand__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.service-expand__tags {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  max-width: 39%;
}
@media (max-width: 1199px) {
  .service-expand__tags {
    gap: 8px;
  }
}
@media (max-width: 1023px) {
  .service-expand__tags {
    max-width: 100%;
    margin-left: 0;
  }
}
.service-expand__num {
  font-size: clamp(26px, 1.56vw, 30px);
  color: var(--color-font-secondary);
  width: var(--num-width);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.service-expand__title-container {
  max-width: 45%;
}
@media (max-width: 1023px) {
  .service-expand__title-container {
    max-width: 100%;
  }
}
.service-expand__title {
  font-size: clamp(36px, 3.13vw, 60px);
  letter-spacing: -0.06em;
  font-weight: 300;
  line-height: 1;
}
.service-expand__content {
  overflow: hidden;
}
.service-expand__content-inner {
  padding-top: 20px;
  padding-left: calc(var(--num-width) + var(--header-gap));
}
@media (max-width: 1023px) {
  .service-expand__content-inner {
    padding-top: 32px;
    padding-left: 0;
  }
}
.service-expand__expand-button {
  margin-top: 30px;
}
@media (max-width: 1023px) {
  .service-expand__expand-button_lg-mt_0 {
    margin-top: 0;
  }
}
.service-expand__plain-text {
  max-width: 50%;
}
@media (max-width: 1023px) {
  .service-expand__plain-text {
    max-width: 100%;
  }
}

.service-container {
  margin-bottom: 120px;
}
@media (max-width: 696px) {
  .service-container {
    margin-bottom: 80px;
  }
}

.tag {
  background-color: var(--color-font-primary-inverse);
  padding: 14px 40px;
  border-radius: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 300;
  line-height: 1.6;
}
@media (max-width: 1199px) {
  .tag {
    padding: 8px 14px;
    font-size: 14px;
  }
}

.service-detail {
  padding: 50px 0;
  border-top: 1px solid var(--color-font-secondary-opacity-50);
  display: grid;
  grid-template-columns: 53px auto 33.33%;
}
.service-detail_border-bottom {
  border-bottom: 1px solid var(--color-font-secondary-opacity-50);
}
@media (max-width: 1023px) {
  .service-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
    padding: 32px 0;
  }
}
.service-detail__num {
  font-size: 24px;
  line-height: 1.1;
  color: var(--color-font-secondary);
}
.service-detail__title {
  font-weight: 300;
  font-size: clamp(28px, 2.08vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.06em;
  color: var(--color-font-secondary);
  max-width: 72%;
}
@media (max-width: 1023px) {
  .service-detail__title {
    max-width: 100%;
  }
}
.service-detail__plain-text {
  color: #595F63;
  margin-left: 32px;
}
@media (max-width: 1023px) {
  .service-detail__plain-text {
    margin-left: 0;
  }
}
.service-detail__plain-text p, .service-detail__plain-text ul, .service-detail__plain-text ol {
  margin-bottom: 12px;
}
.service-detail__plain-text ul {
  margin-left: 16px;
}

.service-details-list {
  margin-top: 50px;
}
@media (max-width: 1023px) {
  .service-details-list {
    margin-top: 32px;
  }
}

.accent-button {
  background-color: var(--color-bg-accent);
  padding: 17px 60px;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  color: var(--color-font-primary-inverse);
  font-family: inherit;
  font-size: clamp(18px, 1.04vw, 20px);
}

.radio-button-image {
  --input-size: 34px;
  --input-size-rendered: 0;
  --title-margin-left: 0;
  --input-margin-left: -34px;
  --input-margin-right: 0;
  --input-scale: 0.5;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.radio-button-image:has(.radio-button-image__input:checked) {
  --input-size-rendered: 34px;
  --title-margin-left: 10px;
  --input-margin-left: 0;
  --input-scale: 1;
  --input-margin-right: 10px;
}
.radio-button-image__input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.radio-button-image__image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.radio-button-image__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 14px;
  -webkit-transform: translateX(var(--text-translate));
          transform: translateX(var(--text-translate));
  -webkit-transition: -webkit-transform 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: -webkit-transform 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: transform 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: transform 0.15s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.15s cubic-bezier(0.075, 0.82, 0.165, 1);
  font-size: 26px;
}
.radio-button-image__custom-input {
  vertical-align: middle;
  width: var(--input-size);
  height: var(--input-size);
  border-radius: 100%;
  background-color: var(--color-font-secondary);
  position: relative;
  will-change: width;
  margin-left: var(--input-margin-left);
  margin-right: var(--input-margin-right);
  scale: var(--input-scale);
  -webkit-transition: scale, margin-right 0.3s;
  transition: scale, margin-right 0.3s;
  overflow: hidden;
}
.radio-button-image__custom-input::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  width: 14px;
  height: 11px;
  background-image: url("../img/check.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
.radio-button-image__title {
  -webkit-transition: margin-left 0.3s;
  transition: margin-left 0.3s;
}

.radio-button-text {
  --input-size: 34px;
  --input-bg: transparent;
  --check-opacity: 0;
  background-color: var(--color-font-primary-inverse);
  padding: 23px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  width: 100%;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.radio-button-text:has(.radio-button-text__input:checked) {
  --input-bg: var(--color-font-secondary);
  --check-opacity: 1;
}
.radio-button-text__input {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.radio-button-text__title {
  font-size: 20px;
  line-height: 1.3;
}
.radio-button-text__text {
  display: block;
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.3;
  color: var(--color-font-secondary);
}
.radio-button-text__custom-input {
  width: var(--input-size);
  height: var(--input-size);
  border-radius: 100%;
  border: 2px solid var(--color-font-secondary-opacity-50);
  position: relative;
  background-color: var(--input-bg);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.radio-button-text__custom-input::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  width: 14px;
  height: 11px;
  background-image: url("../img/check.svg");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: var(--check-opacity);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.input-label {
  font-size: clamp(18px, 1.04vw, 20px);
  color: var(--color-font-secondary);
  line-height: 1.3;
  display: inline-block;
  margin-bottom: 12px;
}

.input {
  background-color: var(--color-font-primary-inverse);
  border: none;
  display: block;
  padding: 23px 25px;
  font-family: inherit;
  font-size: clamp(18px, 1.04vw, 20px);
  line-height: 1.3;
  width: 100%;
}

.social-radio-button {
  --icon-fill: #595F63;
  --icon-bg: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  cursor: pointer;
  gap: 20px;
}
.social-radio-button:has(.social-radio-button__input:checked) {
  --icon-fill: var(--color-font-primary-inverse);
  --icon-bg: var(--color-bg-accent);
}
.social-radio-button__input {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
}
.social-radio-button__icon-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 73px;
  height: 73px;
  border-radius: 50%;
  border: 1px solid var(--color-font-secondary);
  background-color: var(--icon-bg);
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.social-radio-button__icon {
  width: 24px;
  height: 24px;
}
.social-radio-button__icon path {
  fill: var(--icon-fill);
  -webkit-transition: fill 0.3s;
  transition: fill 0.3s;
}

.social-radio-button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  margin-top: 20px;
}

.header {
  --nav-color: var(--color-font-primary-inverse);
  --border-color: var(--color-font-primary-inverse-opacity-50);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.header_inverse {
  --nav-color: var(--color-font-primary);
  --border-color: var(--color-font-secondary-opacity-50);
}
.header__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px 0 28px;
  border-bottom: 1px solid var(--border-color);
}
@media (max-width: 1399px) {
  .header__top {
    padding: 16px 0 18px;
  }
}
@media (max-width: 1023px) {
  .header__top {
    padding: 19px 0 0;
    border-bottom: none;
  }
}
@media (max-width: 1023px) {
  .header__phone, .header__socials {
    display: none;
  }
}
.header__nav {
  color: var(--nav-color);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 28px;
}
@media (max-width: 1399px) {
  .header__nav {
    margin-top: 18px;
    gap: 50px;
  }
}
@media (max-width: 1023px) {
  .header__nav {
    display: none;
  }
}
.header__primary-button {
  --circle-size: 43px;
  gap: 5px;
  font-size: 16px;
}
.header__primary-button:not(.primary-button_close-menu) {
  padding: 11px 0 11px 26px;
}
@media (min-width: 1024px) {
  .header__primary-button {
    display: none;
  }
}

.header_inverse .plain-text {
  color: var(--color-font-primary);
}
.header_inverse .logo__img path {
  fill: var(--color-font-primary);
}
.header_inverse .header__socials path {
  fill: var(--color-font-primary);
}
.header_inverse .header__primary-button {
  color: var(--color-font-primary);
}

.footer {
  background-color: var(--color-bg-accent);
  color: var(--color-font-primary-inverse);
}
@media (max-width: 696px) {
  .footer {
    margin-top: 120px;
  }
}
.footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 32px 0;
  border-bottom: 1px solid var(--color-font-primary-inverse-opacity-20);
}
@media (max-width: 1399px) {
  .footer__top {
    padding: 16px 0 18px;
  }
}
@media (max-width: 1199px) {
  .footer__top {
    display: none;
  }
}
@media (max-width: 1399px) {
  .footer__nav {
    gap: 35px;
  }
}
@media (max-width: 1199px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.footer__nav_mob {
  display: none;
}
@media (max-width: 1199px) {
  .footer__nav_mob {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 72px;
  }
}
@media (max-width: 696px) {
  .footer__nav_mob {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    margin-top: 30px;
  }
}
.footer__body {
  padding-top: clamp(63px, 5.21vw, 100px);
  padding-bottom: 50px;
  position: relative;
}
@media (max-width: 696px) {
  .footer__body {
    padding-top: 0;
  }
}
.footer__content {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer__contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media (max-width: 1399px) {
  .footer__contacts {
    gap: 16px;
  }
}
@media (max-width: 696px) {
  .footer__contacts {
    gap: 30px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 50px;
  }
}
.footer__contact {
  color: var(--color-font-primary-light);
  font-size: 60px;
  line-height: 1.1;
  font-weight: 300;
  text-decoration: none;
  text-align: center;
}
@media (max-width: 1399px) {
  .footer__contact {
    font-size: 40px;
  }
}
@media (max-width: 696px) {
  .footer__contact {
    font-size: 26px;
  }
}
.footer__address {
  font-style: normal;
  margin-top: 58px;
  width: 311px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media (max-width: 1399px) {
  .footer__address {
    margin-top: clamp(20px, 1.98vw, 27px);
  }
}
@media (max-width: 696px) {
  .footer__address {
    margin-top: 30px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.footer__title {
  color: var(--color-font-primary-light);
  font-size: clamp(300px, 20.83vw, 400px);
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: -0.06em;
  text-align: center;
  margin-top: clamp(75px, 8.13vw, 156px);
}
@media (max-width: 1399px) {
  .footer__title {
    font-size: clamp(180px, 17.58vw, 300px);
  }
}
@media (max-width: 1199px) {
  .footer__title {
    margin-top: 54px;
  }
}
@media (max-width: 1023px) {
  .footer__title {
    font-size: clamp(80px, 23.44vw, 180px);
  }
}
@media (max-width: 696px) {
  .footer__title {
    font-size: 80px;
    margin-top: 50px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (max-width: 359px) {
  .footer__title {
    font-size: 64px;
  }
}
.footer__legals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 12px;
  opacity: 0.3;
}
@media (max-width: 696px) {
  .footer__legals {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    margin-top: 50px;
  }
}
.footer__images {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 696px) {
  .footer__images {
    position: relative;
    height: 243px;
  }
}
.footer__image {
  position: absolute;
  display: block;
  height: auto;
}
.footer__image_position_1 {
  width: clamp(203px, 14.74vw, 283px);
  top: clamp(67px, 5.42vw, 124px);
  left: clamp(54px, 4.53vw, 87px);
}
@media (max-width: 1199px) {
  .footer__image_position_1 {
    width: 185px;
    top: 38%;
    left: 5%;
  }
}
@media (max-width: 1023px) {
  .footer__image_position_1 {
    left: 0;
  }
}
@media (max-width: 696px) {
  .footer__image_position_1 {
    width: 172px;
    top: -35px;
    left: 34px;
  }
}
.footer__image_position_2 {
  width: clamp(146px, 11.25vw, 216px);
  top: clamp(194px, 17.81vw, 342px);
  right: clamp(132px, 10.68vw, 205px);
}
@media (max-width: 1199px) {
  .footer__image_position_2 {
    width: 137px;
    top: 55%;
    right: 2%;
  }
}
@media (max-width: 1023px) {
  .footer__image_position_2 {
    right: 0;
  }
}
@media (max-width: 696px) {
  .footer__image_position_2 {
    width: 122px;
    right: 32px;
    top: unset;
    bottom: 0;
  }
}
.footer__mob-logo {
  display: none;
}
@media (max-width: 1199px) {
  .footer__mob-logo {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 70px;
  }
}
@media (max-width: 696px) {
  .footer__mob-logo {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: 50px;
    margin-bottom: 0;
  }
}
.footer__socials_mob {
  display: none;
}
@media (max-width: 696px) {
  .footer__socials_mob {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30px;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.hero {
  position: relative;
  height: clamp(684px, 50.52vw, 970px);
}
@media (max-width: 1023px) {
  .hero {
    height: 100vh;
    min-height: 580px;
    max-height: 942px;
  }
}
@media (max-width: 696px) {
  .hero {
    max-height: 780px;
  }
}
.hero__bg-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero__bg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}
.hero__container {
  position: relative;
  z-index: 1;
  padding-bottom: 20px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 12px;
}
@media (max-width: 1023px) {
  .hero__container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-top: clamp(118px, 19.27vw, 148px);
  }
}
.hero__title {
  color: var(--color-font-primary-inverse);
  font-size: clamp(200px, 13.02vw, 250px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.06em;
}
@media (max-width: 1199px) {
  .hero__title {
    font-size: 170px;
  }
}
@media (max-width: 1023px) {
  .hero__title {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    font-size: clamp(110px, 19.53vw, 150px);
  }
}
@media (max-width: 359px) {
  .hero__title {
    font-size: 96px;
  }
}
.hero__text {
  color: var(--color-font-primary-inverse);
  line-height: 1.1;
  font-size: clamp(24px, 1.88vw, 36px);
  font-weight: 300;
  width: clamp(378px, 32.81vw, 630px);
  margin-left: 21px;
}
@media (max-width: 1399px) {
  .hero__text {
    font-size: clamp(20px, 1.76vw, 24px);
    margin-left: 15px;
  }
}
@media (max-width: 1023px) {
  .hero__text {
    font-size: 16px;
    width: 228px;
    max-width: 100%;
  }
}
.hero__round-button {
  position: absolute;
  bottom: -68px;
  right: clamp(102px, 8.33vw, 160px);
}
@media (max-width: 1399px) {
  .hero__round-button {
    bottom: -44px;
    right: 102px;
  }
}
@media (max-width: 1023px) {
  .hero__round-button {
    right: 50%;
    translate: 50% 0;
  }
}

.experience {
  padding-top: 120px;
  margin-bottom: 120px;
}
@media (max-width: 696px) {
  .experience {
    padding-top: 80px;
    margin-bottom: 80px;
  }
}
.experience__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 56px;
}
@media (max-width: 1199px) {
  .experience__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
}
@media (max-width: 696px) {
  .experience__container {
    gap: 30px;
  }
}
.experience__text {
  font-size: clamp(50px, 3.65vw, 70px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.06em;
  width: clamp(378px, 28.85vw, 554px);
  max-width: 100%;
}
@media (max-width: 1199px) {
  .experience__text {
    text-align: center;
    width: 449px;
    font-size: 40px;
  }
}
@media (max-width: 696px) {
  .experience__text {
    font-size: 26px;
    width: 313px;
  }
}
.experience__images {
  position: relative;
  width: clamp(422px, 31.25vw, 600px);
  max-width: 100%;
}
@media (max-width: 1199px) {
  .experience__images {
    width: 361px;
  }
}
@media (max-width: 696px) {
  .experience__images {
    width: 62%;
  }
}
.experience__image {
  max-width: 100%;
}
.experience__image_position_1 {
  width: clamp(191px, 14.74vw, 283px);
  position: absolute;
  bottom: 28%;
  left: -38%;
  z-index: 1;
}
@media (max-width: 1199px) {
  .experience__image_position_1 {
    width: 181px;
  }
}
@media (max-width: 696px) {
  .experience__image_position_1 {
    width: 97px;
    left: -24%;
  }
}
.experience__image_position_2 {
  width: clamp(147px, 11.25vw, 216px);
  position: absolute;
  right: -12%;
  bottom: -5%;
  z-index: 1;
}
@media (max-width: 1199px) {
  .experience__image_position_2 {
    width: 138px;
  }
}
@media (max-width: 696px) {
  .experience__image_position_2 {
    width: 75px;
  }
}
@media (max-width: 1199px) {
  .experience__image_position_3 {
    height: 565px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (max-width: 696px) {
  .experience__image_position_3 {
    height: auto;
  }
}
.experience__exp-num-blocks {
  width: clamp(208px, 15.36vw, 295px);
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(26px, 4.74vw, 91px);
  margin-left: clamp(75px, 6.88vw, 132px);
  margin-top: clamp(82px, 7.55vw, 145px);
}
@media (max-width: 1399px) {
  .experience__exp-num-blocks {
    gap: 26px;
    margin-top: 82px;
  }
}
@media (max-width: 1199px) {
  .experience__exp-num-blocks {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
    margin: 60px auto 0;
    width: 682px;
  }
}
@media (max-width: 1023px) {
  .experience__exp-num-blocks {
    width: 100%;
  }
}
@media (max-width: 696px) {
  .experience__exp-num-blocks {
    width: 208px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 46px;
    margin-top: 30px;
  }
}

.projects {
  margin: 120px 0;
}
@media (max-width: 696px) {
  .projects {
    margin: 80px 0;
  }
}
.projects__section-title {
  width: 987px;
  max-width: 80%;
  margin: 0 auto;
}
@media (max-width: 696px) {
  .projects__section-title {
    max-width: 100%;
  }
}
.projects__list {
  margin-top: clamp(70px, 4.17vw, 80px);
}
@media (max-width: 696px) {
  .projects__list {
    margin-top: 40px;
  }
}
.projects__more-button {
  margin-top: clamp(25px, 2.08vw, 40px);
  background-color: var(--color-bg-dark);
  color: var(--color-font-primary-inverse);
  border-radius: 100px;
  font-size: clamp(18px, 1.04vw, 20px);
  text-decoration: none;
  text-align: center;
  display: block;
  width: 100%;
  padding: clamp(30px, 2.08vw, 40px);
}
@media (max-width: 696px) {
  .projects__more-button {
    font-size: 16px;
    padding: 20px;
    margin-top: 0;
  }
}

.partners {
  margin: 120px 0;
  overflow: hidden;
}
@media (max-width: 696px) {
  .partners {
    margin: 70px 0;
  }
}

.partners-swiper {
  margin-top: clamp(50px, 4.17vw, 80px);
  overflow: visible;
}
@media (max-width: 696px) {
  .partners-swiper {
    margin-top: 30px;
  }
}

.services {
  margin: 120px 0;
}
@media (max-width: 696px) {
  .services {
    margin: 70px 0;
  }
}

.services-header {
  position: relative;
}
.services-header__content {
  width: 802px;
  margin: 0 auto;
  max-width: 100%;
  text-align: center;
}
.services-header__plain-text {
  line-height: 1.5;
  width: clamp(422px, 26.77vw, 514px);
  max-width: 100%;
  margin: 26px auto 0;
}
@media (max-width: 1199px) {
  .services-header__plain-text {
    margin-top: 50px;
  }
}

.services-images {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 1023px) {
  .services-images {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 125px;
  }
}
@media (max-width: 696px) {
  .services-images {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 56px;
    padding-bottom: 80px;
  }
}

.services-image-group {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: clamp(20px, 1.77vw, 34px);
}
@media (max-width: 1199px) {
  .services-image-group {
    gap: 10px;
  }
}
@media (max-width: 1023px) {
  .services-image-group {
    position: static;
    gap: 20px;
  }
}
@media (max-width: 696px) {
  .services-image-group {
    gap: 35px;
  }
}
@media (max-width: 359px) {
  .services-image-group {
    gap: 18px;
  }
}
.services-image_position_1 {
  width: clamp(171px, 11.2vw, 215px);
}
@media (max-width: 1199px) {
  .services-image_position_1 {
    width: 127px;
  }
}
@media (max-width: 1023px) {
  .services-image_position_1 {
    width: clamp(171px, 30.99vw, 238px);
  }
}
.services-image_position_2 {
  width: clamp(112px, 6.88vw, 132px);
  margin-bottom: -68px;
}
@media (max-width: 1199px) {
  .services-image_position_2 {
    width: 83px;
    margin-bottom: -36px;
  }
}
@media (max-width: 1023px) {
  .services-image_position_2 {
    width: clamp(112px, 18.23vw, 140px);
    margin-bottom: -57px;
  }
}
@media (max-width: 696px) {
  .services-image_position_2 {
    margin-bottom: -21px;
  }
}
.services-image_position_3 {
  position: absolute;
  width: clamp(126px, 7.92vw, 152px);
  top: 62px;
  right: 0;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1199px) {
  .services-image_position_3 {
    width: 104px;
  }
}
@media (max-width: 1023px) {
  .services-image_position_3 {
    position: static;
    width: clamp(126px, 17.71vw, 136px);
  }
}
@media (max-width: 696px) {
  .services-image_position_3 {
    margin-left: 80px;
  }
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 70px;
     -moz-column-gap: 70px;
          column-gap: 70px;
  row-gap: 50px;
  margin-top: clamp(50px, 4.17vw, 80px);
}
@media (max-width: 1199px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
  }
}
@media (max-width: 696px) {
  .services-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 0;
  }
}
.services-grid__service-item:first-child {
  padding-top: clamp(50px, 3.65vw, 70px);
  border-top: 1px solid var(--color-font-secondary-opacity-50);
}
@media (max-width: 696px) {
  .services-grid__service-item:first-child {
    padding-top: 30px;
  }
}
.services-grid__service-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.services-grid__service-item_fullwidth {
  grid-column: auto/span 3;
  padding-bottom: clamp(50px, 3.65vw, 70px);
  border-bottom: 1px solid var(--color-font-secondary-opacity-50);
}
@media (max-width: 1199px) {
  .services-grid__service-item_fullwidth {
    padding-bottom: 30px;
    grid-column: auto/span 2;
  }
}
@media (max-width: 696px) {
  .services-grid__service-item {
    border-bottom: 1px solid var(--color-font-secondary-opacity-50);
  }
}

.steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-top: 1px solid var(--color-font-secondary-opacity-50);
  border-bottom: 1px solid var(--color-font-secondary-opacity-50);
  position: relative;
}
@media (max-width: 1023px) {
  .steps {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 696px) {
  .steps {
    border-top: none;
  }
}
.steps__section-title {
  margin-top: 44px;
}
@media (max-width: 1399px) {
  .steps__section-title {
    margin-top: 0;
  }
}
.steps__section-title_mob {
  display: none;
}
@media (max-width: 696px) {
  .steps__section-title_mob {
    display: block;
    margin-top: 30px;
  }
}
.steps__left {
  padding-left: var(--container-offset);
  padding-top: 37px;
  padding-right: 83px;
  padding-bottom: 70px;
  position: sticky;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(80px, 6.56vw, 126px);
}
@media (max-width: 1399px) {
  .steps__left {
    padding-right: 30px;
  }
}
@media (max-width: 1199px) {
  .steps__left {
    padding: 0;
  }
}
@media (max-width: 1023px) {
  .steps__left {
    position: static;
    height: auto;
    padding: 120px var(--container-offset) clamp(40px, 10.42vw, 80px);
  }
}
@media (max-width: 696px) {
  .steps__left {
    padding-top: 0;
  }
}
.steps__right {
  width: clamp(562px, 42.55vw, 817px);
  max-width: 50%;
  color: var(--color-font-primary-light);
  background-color: var(--color-bg-accent);
  padding: clamp(70px, 6.04vw, 116px);
}
@media (max-width: 1023px) {
  .steps__right {
    width: 100%;
    max-width: 100%;
  }
}
.steps__left-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(56px, 4.95vw, 95px);
}
@media (max-width: 1199px) {
  .steps__left-header {
    padding: 37px var(--container-offset);
  }
}
@media (max-width: 1023px) {
  .steps__left-header {
    padding: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 696px) {
  .steps__left-header {
    display: none;
  }
}
.steps__round-button_left-header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1199px) {
  .steps__round-button_left-header {
    display: none;
  }
}
.steps__round-button_right {
  display: none;
}
@media (max-width: 1199px) {
  .steps__round-button_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 40px auto 0;
  }
}
.steps__content {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 64px;
}
@media (max-width: 1199px) {
  .steps__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 1023px) {
  .steps__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
  }
}
@media (max-width: 696px) {
  .steps__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}

.steps-image-container {
  position: relative;
  max-width: 50%;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  .steps-image-container {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 696px) {
  .steps-image-container {
    width: 100%;
    max-width: 100%;
  }
}
.steps-image-container__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.steps-image-container__quotes {
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -72%;
  width: clamp(64px, 6.61vw, 127px);
  aspect-ratio: 127/157;
}
@media (max-width: 1399px) {
  .steps-image-container__quotes {
    width: 64px;
    right: 33px;
  }
}
@media (max-width: 696px) {
  .steps-image-container__quotes {
    translate: 0 -34%;
  }
}

.steps-quote-container {
  width: 431px;
  max-width: 100%;
  position: relative;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  .steps-quote-container {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 363px;
  }
}
@media (max-width: 1199px) {
  .steps-quote-container {
    padding-right: var(--container-offset);
  }
}
@media (max-width: 696px) {
  .steps-quote-container {
    width: 100%;
    padding-right: 0;
  }
}
.steps-quote-container__quotes {
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 calc((100% + 12px) * -1);
  width: clamp(28px, 2.14vw, 41px);
  aspect-ratio: 41/50;
}
@media (max-width: 696px) {
  .steps-quote-container__quotes {
    display: none;
  }
}

.specialists {
  padding: 120px 0;
  overflow: hidden;
}
@media (max-width: 696px) {
  .specialists {
    padding: 80px 0;
  }
}
.specialists__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1199px) {
  .specialists__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
.specialists__section-title {
  width: 987px;
  max-width: 58%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 1199px) {
  .specialists__section-title {
    max-width: 100%;
  }
}
.specialists__plain-text {
  padding-top: clamp(80px, 7.29vw, 140px);
  line-height: 1.5;
}
@media (max-width: 1199px) {
  .specialists__plain-text {
    padding-top: 0;
    width: 532px;
    max-width: 100%;
    margin-left: auto;
  }
}
@media (max-width: 696px) {
  .specialists__plain-text {
    width: 100%;
  }
}

.specialist-swiper {
  width: 1920px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  margin-top: 175px;
  overflow: visible;
}
.specialist-swiper .swiper-slide {
  overflow: visible;
}
@media (max-width: 1399px) {
  .specialist-swiper {
    margin-top: 100px;
  }
}
@media (max-width: 1199px) {
  .specialist-swiper {
    margin-top: 50px;
  }
}
@media (max-width: 696px) {
  .specialist-swiper {
    margin-top: 40px;
  }
}

.credo {
  height: 100vh;
  min-height: 684px;
  max-height: 1076px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  overflow: hidden;
}
.credo__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.credo__container {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 26px;
  padding-bottom: clamp(46px, 3.13vw, 60px);
  z-index: 1;
}
@media (max-width: 1199px) {
  .credo__container {
    padding-top: clamp(91px, 17.32vw, 133px);
    margin-top: 0;
  }
}
.credo__section-title {
  text-align: right;
  width: clamp(1140px, 77.5vw, 1488px);
  max-width: 100%;
  position: relative;
}
@media (max-width: 1199px) {
  .credo__section-title {
    width: 66%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (max-width: 1023px) {
  .credo__section-title {
    width: 100%;
  }
}
@media (max-width: 696px) {
  .credo__section-title {
    font-size: 32px;
  }
}
.credo__text {
  color: var(--color-font-primary-inverse);
  font-weight: 300;
  line-height: 1.1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 12px;
}
@media (max-width: 1399px) {
  .credo__text {
    gap: 10px;
  }
}
@media (max-width: 1199px) {
  .credo__text {
    gap: 6px;
  }
}
.credo__name {
  font-size: clamp(20px, 1.25vw, 24px);
}
@media (max-width: 1199px) {
  .credo__name {
    font-size: 18px;
  }
}
@media (max-width: 696px) {
  .credo__name {
    font-size: 16px;
  }
}
.credo__position {
  font-size: clamp(14px, 0.94vw, 18px);
}
@media (max-width: 1199px) {
  .credo__position {
    font-size: 12px;
  }
}

.news {
  margin: 120px 0 30px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .news {
    margin: 120px 0;
  }
}
@media (max-width: 696px) {
  .news {
    margin: 80px 0 0;
  }
}
.news__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 131px;
}
.news__section-title {
  width: 827px;
  max-width: 56%;
}
@media (max-width: 1023px) {
  .news__section-title {
    max-width: 100%;
  }
}
.news__primary-button_lg-visible {
  margin-top: 50px;
}
@media (max-width: 696px) {
  .news__primary-button_lg-visible {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .news__primary-button_lg-visible {
    display: none;
  }
}
@media (max-width: 1023px) {
  .news__primary-button_lg-hidden {
    display: none;
  }
}
.news__content {
  padding: 0 30px;
  margin-top: clamp(88px, 6.88vw, 132px);
}
@media (max-width: 1199px) {
  .news__content {
    margin-top: 50px;
    padding: 0 var(--container-offset);
  }
}
@media (max-width: 696px) {
  .news__content {
    margin-top: 30px;
  }
}

.specialists + .news {
  margin-top: 0;
}

.news-swiper {
  width: 1920px;
  max-width: 100%;
  margin: 0 auto;
}
@media (max-width: 1199px) {
  .news-swiper {
    overflow: visible;
  }
}
.news-swiper__swiper-slide {
  width: calc(25% - 10px);
  height: clamp(370px, 28.65vw, 550px);
}
@media (max-width: 1399px) {
  .news-swiper__swiper-slide {
    height: 370px;
  }
}
@media (max-width: 1199px) {
  .news-swiper__swiper-slide {
    aspect-ratio: 323/370;
    width: auto;
  }
}
.news-swiper__swiper-slide_accent {
  width: calc(50% - 10px);
}
@media (max-width: 1199px) {
  .news-swiper__swiper-slide_accent {
    aspect-ratio: 640/370;
    width: auto;
  }
}
@media (max-width: 1199px) {
  .news-swiper__swiper-slide {
    max-width: calc(100% - var(--container-offset) * 2);
  }
}
.news-swiper__news-card {
  height: 100%;
}

.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 66px;
  color: var(--color-font-primary);
}
@media (max-width: 696px) {
  .breadcrumbs {
    overflow: scroll;
    gap: 40px;
    width: calc(100% + var(--container-offset) * 2);
    margin-left: calc(-1 * var(--container-offset));
    padding: 0 var(--container-offset);
  }
}
.breadcrumbs__link {
  color: inherit;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-decoration: none;
  line-height: 1.1;
  font-weight: 300;
  font-size: clamp(18px, 1.04vw, 20px);
  color: var(--color-font-primary);
  position: relative;
}
.breadcrumbs__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  translate: 100% -50%;
  background-image: url("../img/chevron-right.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 8px;
  height: 14px;
  pointer-events: none;
}
@media (max-width: 696px) {
  .breadcrumbs__link::after {
    right: -20px;
  }
}
@media (max-width: 696px) {
  .breadcrumbs__link {
    font-size: 14px;
  }
}
.breadcrumbs__link_current {
  color: var(--color-font-secondary);
}
.breadcrumbs__link_current::after {
  display: none;
}

.projects-header {
  margin: 50px 0 76px;
}
@media (max-width: 696px) {
  .projects-header {
    margin: 50px 0;
  }
}
.projects-header__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 57px;
}
@media (max-width: 1199px) {
  .projects-header__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 30px;
  }
}
.projects-header__text {
  width: 321px;
  font-size: clamp(26px, 1.56vw, 30px);
  line-height: 1.1;
  font-weight: 300;
  padding-bottom: 12px;
}
@media (max-width: 696px) {
  .projects-header__text {
    font-size: 20px;
    width: 100%;
  }
}
.projects-header__actions {
  width: 1067px;
  max-width: 100%;
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (max-width: 696px) {
  .projects-header__actions {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.projects-header__custom-select {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(50% - 10px);
          flex: 0 0 calc(50% - 10px);
}

.form-section {
  margin: 120px 0;
}
@media (max-width: 696px) {
  .form-section {
    margin: 80px 0;
  }
}
.form-section__content {
  margin-top: 80px;
}
@media (max-width: 1199px) {
  .form-section__content {
    margin-top: 72px;
  }
}
@media (max-width: 1023px) {
  .form-section__content {
    margin-top: 60px;
  }
}
@media (max-width: 696px) {
  .form-section__content {
    margin-top: 40px;
  }
}

.service-header {
  margin-top: 80px;
  margin-bottom: 120px;
}
@media (max-width: 696px) {
  .service-header {
    margin-top: 30px;
    margin-bottom: 50px;
  }
}
.service-header__page-title {
  width: 1452px;
  max-width: 80%;
}
@media (max-width: 1023px) {
  .service-header__page-title {
    max-width: 100%;
  }
}
.service-header__text {
  color: #595F63;
  margin-top: 50px;
  width: 586px;
  max-width: 40%;
  font-size: clamp(18px, 1.15vw, 22px);
  line-height: 1.3;
}
@media (max-width: 1199px) {
  .service-header__text {
    max-width: 50%;
  }
}
@media (max-width: 696px) {
  .service-header__text {
    margin-top: 30px;
    max-width: 100%;
  }
}
.service-header__round-button {
  position: fixed;
  bottom: var(--container-offset);
  right: var(--container-offset);
  z-index: 5;
}

.text-section {
  color: var(--color-font-primary);
  font-weight: 400;
  font-size: clamp(18px, 1.15vw, 22px);
  line-height: 1.3;
  text-wrap: initial;
  margin: 120px 0;
}
@media (max-width: 696px) {
  .text-section {
    margin: 80px 0;
  }
}
.text-section h1, .text-section h2, .text-section h3 {
  font-weight: 300;
  line-height: 90%;
  letter-spacing: -0.06em;
  text-align: center;
  margin-top: 63px;
  margin-bottom: 63px;
}
@media (max-width: 696px) {
  .text-section h1, .text-section h2, .text-section h3 {
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
.text-section h1, .text-section h2 {
  font-size: clamp(70px, 4.69vw, 90px);
}
@media (max-width: 696px) {
  .text-section h1, .text-section h2 {
    font-size: 50px;
  }
}
.text-section h3 {
  font-size: clamp(30px, 2.6vw, 50px);
}
.text-section p, .text-section ul, .text-section ol {
  margin: 30px 0;
}
@media (max-width: 696px) {
  .text-section p, .text-section ul, .text-section ol {
    margin: 16px 0;
  }
}
.text-section ul, .text-section ol {
  margin-left: 16px;
}
.text-section__title {
  width: 1206px;
  max-width: 100%;
  margin: 0 auto;
}
.text-section__content {
  width: 892px;
  max-width: 100%;
  margin: 0 auto;
}