@charset "UTF-8";
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

* {
  padding: 0px;
  margin: 0px; }

html,
body {
  min-height: 100%; }

body {
  position: relative;
  -webkit-font-smoothing: antialiased; }

:focus,
:active,
:hover,
:link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
  -webkit-focus-ring-color: rgba(0, 0, 0, 0) !important;
  -webkit-outline: none;
  outline: none; }

ul,
ol {
  list-style-position: inside;
  list-style-type: none;
  text-align: left; }

li {
  height: auto; }

img,
picture,
video,
canvas,
svg,
iframe {
  display: block;
  max-width: 100%;
  border: 0; }

a {
  color: inherit;
  text-decoration: none;
  font-family: inherit; }

input,
textarea,
button,
select {
  display: block;
  font-family: inherit; }

button,
select {
  display: block;
  padding: 0;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  font-family: inherit;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  text-transform: none; }

textarea {
  resize: none; }

input,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
  width: 100%; }

button {
  text-transform: none;
  cursor: pointer; }

[hidden],
::-ms-clear {
  display: none; }

::-moz-focus-inner {
  border: 0;
  padding: 0; }

:-moz-focusring {
  -webkit-outline: none;
  outline: none; }

::-webkit-search-decoration,
::-webkit-file-upload-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

::-webkit-calendar-picker-indicator {
  opacity: 0; }

[type="number"] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
  appearance: textfield; }

::-webkit-outer-spin-button,
::-webkit-inner-spin-button {
  display: none; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

html {
  padding: env(safe-area-inset); }
  @media (hover: hover) and (pointer: fine) {
    html {
      scrollbar-gutter: stable; } }

html,
body {
  scroll-behavior: smooth;
  scroll-margin-top: 83px;
  scroll-padding-top: 83px; }
  @media (max-width: 1269px) {
    html,
    body {
      scroll-margin-top: 100px;
      scroll-padding-top: 100px; } }
  @media (max-width: 767px) {
    html,
    body {
      scroll-margin-top: 66px;
      scroll-padding-top: 66px; } }
  html:has(.modal.is-open),
  body:has(.modal.is-open) {
    scroll-margin-top: 0px;
    scroll-padding-top: 0px; }

body {
  position: relative;
  overflow-x: hidden;
  font-family: "Inter Tight", sans-serif;
  padding: 0px;
  margin: 0px auto;
  font-size: 16px;
  line-height: 140%;
  color: black;
  background-color: white;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none; }
  @media (hover: hover) and (pointer: fine) {
    body {
      scrollbar-gutter: stable; } }
  @media (max-width: 1269px) {
    body.overflow {
      overflow: hidden; } }

.bodyWrap {
  min-height: 100vh;
  padding-top: 83px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  scroll-snap-type: y mandatory;
  overflow: hidden; }
  @media (max-width: 1269px) {
    .bodyWrap {
      padding-top: 101px; } }
  @media (max-width: 767px) {
    .bodyWrap {
      padding-top: 66px; } }

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0px; }

ul,
ol {
  margin: 0px;
  padding: 0px;
  list-style-type: none; }

a {
  text-decoration: none; }

select,
input,
textarea {
  width: 100%;
  -webkit-outline: none;
  -moz-outline: none;
  outline: none;
  background: transparent;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: none;
  font-family: "Inter Tight";
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

button {
  padding: 0px;
  font-family: "Inter Tight";
  background-color: transparent;
  border: none;
  -webkit-outline: none;
  -moz-outline: none;
  outline: none;
  cursor: pointer; }
  button:disabled {
    cursor: default; }

label {
  -webkit-outline: none;
  -moz-outline: none;
  outline: none; }

@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden; }
  100% {
    opacity: 1;
    visibility: visible; } }
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px); } }
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible; }
  100% {
    opacity: 0;
    visibility: hidden; } }
.container {
  width: 1270px;
  margin: 0px auto;
  padding-left: 15px;
  padding-right: 15px; }

.siteLogo {
  display: block;
  width: 128px; }
  .siteLogo img {
    display: block;
    max-width: unset;
    width: 100%;
    height: auto; }

.simpleLink {
  position: relative;
  display: inline-block;
  font-weight: 600;
  font-size: 14px;
  line-height: 17px;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  color: #4474FF;
  transition: all 0.3s; }
  .simpleLink::before {
    content: '';
    display: block;
    position: absolute;
    left: -10px;
    top: -5px;
    width: calc(100% + 20px);
    height: calc(100% + 10px);
    border: 1px solid black;
    border-radius: 1px;
    opacity: 0;
    transition: opacity 0.3s; }
  @media (hover: hover) and (pointer: fine) {
    .simpleLink:hover {
      color: black;
      text-decoration-color: transparent; }
      .simpleLink:hover::before {
        opacity: 0; } }
  .simpleLink:focus-visible {
    color: #4474FF;
    text-decoration-color: inherit; }
    .simpleLink:focus-visible::before {
      opacity: 1; }
  .simpleLink:active {
    color: black;
    text-decoration-color: transparent; }
    .simpleLink:active::before {
      opacity: 0; }

[class*=backEl] {
  position: absolute;
  z-index: -1; }

.isoLink {
  position: absolute;
  top: 82px;
  right: -50px;
  padding: 6px 21px 11px;
  min-height: 44px;
  font-size: 8px;
  line-height: 140%;
  letter-spacing: 0.02em;
  color: white;
  text-align: center;
  background-color: #4474FF;
  transform: rotate(-90deg);
  transform-origin: center;
  perspective: 0px;
  box-shadow: inset 0px 0px 0px 1px transparent;
  -webkit-transform-origin: 50% 51%; }
  @media (hover: hover) and (pointer: fine) {
    .isoLink {
      transition: right 0.3s, background-color 0.3s, box-shadow 0.3s; }
      .isoLink:hover {
        right: -47px;
        background-color: black;
        box-shadow: inset 0px 0px 0px 1px transparent; } }
  .isoLink:focus-visible {
    right: -50px;
    background-color: #4474FF;
    box-shadow: inset 0px 0px 0px 1px black; }
  .isoLink:active {
    right: -47px;
    background-color: black;
    box-shadow: inset 0px 0px 0px 1px transparent; }
  .isoLink span {
    display: block; }
    .isoLink span + span {
      margin-top: -1px; }
  .isoLink .lg {
    font-weight: 500;
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em; }

.cookiesBanner {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 0px;
  right: 0px;
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  background-color: #F5F8FD;
  border-radius: 100px;
  z-index: 9;
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  -o-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  -o-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }
  @media (max-width: 767px) {
    .cookiesBanner {
      max-width: 480px; } }
  .cookiesBanner.visible {
    display: block; }
  .cookiesBanner .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px; }
    @media (max-width: 767px) {
      .cookiesBanner .inner {
        padding-top: 16px;
        padding-bottom: 16px; } }
  .cookiesBanner .text {
    font-size: 12px;
    line-height: 16px; }
    @media (max-width: 767px) {
      .cookiesBanner .text {
        line-height: 20px; } }
    .cookiesBanner .text a {
      position: relative;
      display: inline-block;
      color: inherit;
      font-weight: 600;
      text-decoration: underline;
      text-decoration-color: inherit;
      text-decoration-thickness: 1px;
      text-underline-offset: 0.25em; }
      .cookiesBanner .text a::before {
        content: '';
        display: block;
        position: absolute;
        left: -5px;
        top: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        border: 1px solid black;
        border-radius: 1px;
        opacity: 0; }
      @media (hover: hover) and (pointer: fine) {
        .cookiesBanner .text a {
          transition: all 0.3s; }
          .cookiesBanner .text a::before {
            transition: opacity 0.3s; }
          .cookiesBanner .text a:hover {
            color: #214FC3;
            text-decoration-color: transparent; }
            .cookiesBanner .text a:hover::before {
              opacity: 0; } }
      .cookiesBanner .text a:focus-visible {
        color: inherit;
        text-decoration-color: inherit; }
        .cookiesBanner .text a:focus-visible::before {
          opacity: 1; }
      .cookiesBanner .text a:active {
        color: #214FC3;
        text-decoration-color: transparent; }
        .cookiesBanner .text a:active::before {
          opacity: 0; }
  .cookiesBanner .button {
    margin-left: 11px; }

.showMoreBlock .hidden {
  display: none; }
.showMoreBlock .visible {
  -webkit-animation-name: fadeInBottom;
  -moz-animation-name: fadeInBottom;
  -o-animation-name: fadeInBottom;
  animation-name: fadeInBottom;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  -o-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }

.btnFill {
  display: inline-block;
  padding: 20px 32px;
  font-size: 20px;
  line-height: 24px;
  font-weight: 500;
  color: white;
  background-color: #4474FF;
  border-radius: 32px;
  box-shadow: inset 0px 0px 0px 1px transparent;
  transition: all 0.3s; }
  @media (hover: hover) and (pointer: fine) {
    .btnFill:hover {
      background-color: black;
      box-shadow: inset 0px 0px 0px 1px transparent; } }
  .btnFill:focus-visible {
    background-color: #4474FF;
    box-shadow: inset 0px 0px 0px 1px black; }
  .btnFill:active {
    background-color: black;
    box-shadow: inset 0px 0px 0px 1px transparent; }
  .btnFill:disabled, .btnFill.disabled {
    background-color: black;
    box-shadow: inset 0px 0px 0px 1px transparent;
    opacity: 0.2;
    pointer-events: none; }

.btnDark {
  display: inline-block;
  padding: 20px 32px;
  font-size: 20px;
  line-height: 24px;
  font-weight: 500;
  color: white;
  background-color: black;
  border-radius: 32px;
  box-shadow: inset 0px 0px 0px 1px transparent;
  transition: all 0.3s; }
  @media (hover: hover) and (pointer: fine) {
    .btnDark:hover {
      background-color: #4474FF;
      box-shadow: inset 0px 0px 0px 1px transparent; } }
  .btnDark:focus-visible {
    background-color: black;
    box-shadow: inset 0px 0px 0px 1px #4474FF; }
  .btnDark:active {
    background-color: #4474FF;
    box-shadow: inset 0px 0px 0px 1px transparent; }
  .btnDark:disabled, .btnDark.disabled {
    background-color: black;
    box-shadow: inset 0px 0px 0px 1px transparent;
    opacity: 0.2;
    pointer-events: none; }
  .btnDark.sm {
    padding: 9px 24px;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0.03em;
    border-radius: 32px; }
    @media (max-width: 767px) {
      .btnDark.sm {
        padding-left: 12px;
        padding-right: 12px; } }

.btnSimple {
  display: inline-block;
  padding: 5px 10px;
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
  color: black;
  box-shadow: inset 0px 0px 0px 1px transparent;
  border-radius: 1px;
  transition: all 0.3s; }
  @media (hover: hover) and (pointer: fine) {
    .btnSimple:hover {
      color: #214FC3;
      box-shadow: inset 0px 0px 0px 1px transparent; } }
  .btnSimple:focus-visible {
    color: #172133;
    box-shadow: inset 0px 0px 0px 1px black; }
  .btnSimple:active {
    color: #214FC3;
    box-shadow: inset 0px 0px 0px 1px transparent; }

.inputBlock {
  position: relative; }
  .inputBlock label {
    display: block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: black; }
    .inputBlock label + * {
      margin-top: 6px; }
    .inputBlock label:has(+ input:disabled, textarea:disabled) {
      color: #9D9D9D; }
  .inputBlock input,
  .inputBlock textarea {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: black;
    background-color: white;
    border-radius: 10px;
    box-shadow: inset 0px 0px 0px 1px transparent;
    transition: all 0.3s; }
    @media (hover: hover) and (pointer: fine) {
      .inputBlock input:hover,
      .inputBlock textarea:hover {
        background-color: #F6F9FF;
        box-shadow: inset 0px 0px 0px 1px transparent; } }
    .inputBlock input.error,
    .inputBlock textarea.error {
      box-shadow: inset 0px 0px 0px 1px #F42828; }
      .inputBlock input.error + .errorMessage,
      .inputBlock textarea.error + .errorMessage {
        display: block; }
    .inputBlock input:disabled,
    .inputBlock textarea:disabled {
      pointer-events: none; }
    .inputBlock input:focus,
    .inputBlock textarea:focus {
      background-color: white;
      box-shadow: inset 0px 0px 0px 1px black; }
    .inputBlock input::placeholder,
    .inputBlock textarea::placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
    .inputBlock input:-ms-input-placeholder,
    .inputBlock textarea:-ms-input-placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
    .inputBlock input::-ms-input-placeholder,
    .inputBlock textarea::-ms-input-placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
    .inputBlock input::-webkit-input-placeholder,
    .inputBlock textarea::-webkit-input-placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
    .inputBlock input:-moz-placeholder,
    .inputBlock textarea:-moz-placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
    .inputBlock input::-moz-placeholder,
    .inputBlock textarea::-moz-placeholder {
      color: rgba(0, 0, 0, 0.2);
      opacity: 1; }
  .inputBlock textarea {
    min-height: 132px; }

.errorMessage {
  margin-top: 6px;
  font-size: 12px;
  line-height: 120%;
  color: #F42828; }

.checkBtn {
  position: relative;
  display: flex;
  align-items: flex-start;
  cursor: pointer; }
  @media (hover: hover) and (pointer: fine) {
    .checkBtn:hover .label {
      color: #2B2B2B; } }
  .checkBtn:active .label {
    color: #2B2B2B; }
  .checkBtn input {
    position: absolute;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 0; }
    .checkBtn input:checked + .btn::before {
      background-color: #65DE02;
      border: 1px solid #65DE02; }
    .checkBtn input:checked + .btn::after {
      opacity: 1; }
    .checkBtn input:focus-visible ~ .btn {
      box-shadow: inset 0px 0px 0px 1px black; }
    .checkBtn input:invalid ~ .btn::before {
      border: 1px solid #F42828; }
  .checkBtn .btn {
    position: relative;
    margin-right: 8px;
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    box-shadow: inset 0px 0px 0px 1px transparent;
    transition: box-shadow 0.3s; }
    .checkBtn .btn::before, .checkBtn .btn::after {
      content: '';
      display: block;
      position: absolute;
      width: 12px;
      height: 12px;
      left: 0px;
      top: 0px;
      right: 0px;
      bottom: 0px;
      margin: auto;
      border-radius: 3px; }
    .checkBtn .btn::before {
      background-color: transparent;
      border: 1px solid black;
      transition: all 0.3s; }
    .checkBtn .btn::after {
      background-image: url(../img/check.svg);
      background-size: auto;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0;
      transition: opacity 0.3s; }
  .checkBtn .label {
    display: block;
    max-width: 360px;
    width: 100%;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: black;
    transition: color 0.3s; }

h1 {
  font-weight: 700;
  font-size: 90px;
  line-height: 100%;
  color: black; }
  @media (max-width: 1269px) {
    h1 {
      font-size: 54px; } }
  @media (max-width: 767px) {
    h1 {
      font-size: 36px; } }

h2 {
  font-weight: 400;
  font-size: 60px;
  line-height: 100%;
  color: black; }
  @media (max-width: 1269px) {
    h2 {
      font-size: 40px; } }
  @media (max-width: 767px) {
    h2 {
      font-size: 32px; } }

h3 {
  font-weight: 600;
  font-size: 46px;
  line-height: 100%;
  color: black; }
  @media (max-width: 1269px) {
    h3 {
      font-size: 30px; } }

.header {
  position: fixed;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 100%;
  left: 0px;
  top: 0px;
  transition: background-color 0.3s, backdrop-filter 0.3s;
  z-index: 12; }
  .header .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .header.fixed {
    background: rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(17px);
    backdrop-filter: blur(17px); }

.siteMenu {
  display: flex;
  align-items: center; }
  .siteMenu li + li {
    margin-left: 10px; }
  .siteMenu li a {
    display: inline-block;
    padding: 5px 10px;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #172133;
    box-shadow: inset 0px 0px 0px 1px transparent;
    border-radius: 1px;
    transition: all 0.3s; }
    @media (hover: hover) and (pointer: fine) {
      .siteMenu li a:hover {
        color: #214FC3;
        box-shadow: inset 0px 0px 0px 1px transparent; } }
    .siteMenu li a:focus-visible {
      color: #172133;
      box-shadow: inset 0px 0px 0px 1px black; }
    .siteMenu li a:active {
      color: #214FC3;
      box-shadow: inset 0px 0px 0px 1px transparent; }

.burgerWrap {
  display: none; }

.openMenu {
  display: block;
  font-size: 24px;
  line-height: 24px;
  color: black; }

.mobileMenu .topBlock {
  display: none; }

.footer {
  margin-top: 140px;
  padding-top: 60px;
  padding-bottom: 32px;
  background-color: black;
  border-radius: 60px 60px 0px 0px; }
  .footer .container {
    width: 1354px; }
  .footer .wrapper {
    display: flex;
    justify-content: space-between; }
  .footer .footerLinks {
    margin-top: 18px; }
  .footer .footerImg {
    margin-left: 18px;
    margin-top: -3px; }

.footerLinks {
  padding-top: 20px;
  font-size: 12px;
  line-height: 12px;
  color: white;
  border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .footerLinks ul {
    display: flex;
    justify-content: center; }
    .footerLinks ul li + li {
      margin-left: 100px; }
  .footerLinks a {
    position: relative;
    display: inline-block;
    color: inherit;
    transition: color 0.3s; }
    .footerLinks a::before {
      content: '';
      display: block;
      position: absolute;
      left: -11px;
      top: -5px;
      width: calc(100% + 22px);
      height: calc(100% + 10px);
      border: 1px solid white;
      border-radius: 1px;
      opacity: 0;
      transition: opacity 0.3s; }
    @media (hover: hover) and (pointer: fine) {
      .footerLinks a:hover {
        color: #65DE02; }
        .footerLinks a:hover::before {
          opacity: 0; } }
    .footerLinks a:focus-visible {
      color: inherit; }
      .footerLinks a:focus-visible::before {
        opacity: 1; }
    .footerLinks a:active {
      color: #65DE02; }
      .footerLinks a:active::before {
        opacity: 0; }

.footerMenu {
  display: flex; }
  .footerMenu li a {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25em;
    color: white; }
    .footerMenu li a::before {
      content: '';
      position: absolute;
      display: block;
      left: -9px;
      top: -5px;
      width: calc(100% + 18px);
      height: calc(100% + 10px);
      border: 1px solid white;
      border-radius: 1px;
      opacity: 0; }
    @media (hover: hover) and (pointer: fine) {
      .footerMenu li a {
        transition: all 0.3s; }
        .footerMenu li a::before {
          transition: opacity 0.3s; }
        .footerMenu li a:hover {
          color: #65DE02;
          text-decoration-color: transparent; }
          .footerMenu li a:hover::before {
            opacity: 0; } }
    .footerMenu li a:focus-visible {
      color: white;
      text-decoration-color: inherit; }
      .footerMenu li a:focus-visible::before {
        opacity: 1; }
    .footerMenu li a:active {
      color: #65DE02;
      text-decoration-color: transparent; }
      .footerMenu li a:active::before {
        opacity: 0; }
  .footerMenu li + li {
    margin-left: 28.75px; }

.footerContacts {
  margin-top: 40px;
  display: flex;
  justify-content: space-between; }
  .footerContacts .location .cap {
    display: block;
    font-weight: 600;
    font-size: 36px;
    line-height: 100%;
    color: white; }
  .footerContacts .location ul {
    margin-top: 20px;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: white; }
    .footerContacts .location ul a {
      position: relative;
      display: inline-block;
      color: inherit;
      transition: color 0.3s; }
      .footerContacts .location ul a::before {
        content: '';
        position: absolute;
        display: block;
        left: -10px;
        top: -5px;
        width: calc(100% + 20px);
        height: calc(100% + 10px);
        border: 1px solid white;
        border-radius: 1px;
        opacity: 0;
        transition: opacity 0.3s; }
      @media (hover: hover) and (pointer: fine) {
        .footerContacts .location ul a:hover {
          color: #65DE02; }
          .footerContacts .location ul a:hover::before {
            opacity: 0; } }
      .footerContacts .location ul a:focus-visible {
        color: white; }
        .footerContacts .location ul a:focus-visible::before {
          opacity: 1; }
      .footerContacts .location ul a:active {
        color: #65DE02; }
        .footerContacts .location ul a:active::before {
          opacity: 0; }
    .footerContacts .location ul li + li {
      margin-top: 6px; }
  .footerContacts .logo {
    display: block;
    width: 148px;
    margin-top: 23px; }

.socList {
  display: flex; }
  .socList li a {
    display: flex;
    box-shadow: inset 0px 0px 0px 1px transparent;
    border-radius: 1px;
    transition: box-shadow 0.3s; }
    @media (hover: hover) and (pointer: fine) {
      .socList li a:hover {
        box-shadow: inset 0px 0px 0px 1px transparent; }
        .socList li a:hover [class*=icon] {
          color: #65DE02; } }
    .socList li a:focus-visible {
      box-shadow: inset 0px 0px 0px 1px white; }
      .socList li a:focus-visible [class*=icon] {
        color: white; }
    .socList li a:active {
      box-shadow: inset 0px 0px 0px 1px transparent; }
      .socList li a:active [class*=icon] {
        color: #65DE02; }
    .socList li a [class*=icon] {
      font-size: 36px;
      line-height: 36px;
      color: white;
      transition: color 0.3s; }
  .socList li + li {
    margin-left: 20px; }

.startScreen {
  position: relative;
  padding-top: 93px;
  min-height: 640px;
  text-align: center; }
  .startScreen .back {
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -500px;
    z-index: -2; }
  .startScreen .circle {
    position: absolute;
    bottom: 190px;
    left: 50%;
    margin-left: -465px; }
  .startScreen .docs {
    position: absolute;
    top: 160px;
    left: 50%;
    margin-left: -594px;
    width: 201px;
    height: 289px;
    transform-origin: center;
    transform: rotate(-18deg);
    z-index: -1; }
    .startScreen .docs .doc {
      position: absolute;
      left: 0px;
      top: 0px;
      z-index: 1; }
    .startScreen .docs .list {
      position: absolute;
      left: 0px;
      top: 0px;
      width: 201px;
      height: 289px;
      background: rgba(201, 219, 255, 0.3);
      backdrop-filter: blur(6px);
      transform-origin: center; }
    .startScreen .docs .list1 {
      transform: rotate(-10deg);
      left: -12px;
      top: 6px; }
    .startScreen .docs .list2 {
      transform: rotate(-19deg);
      left: -17px;
      top: 16px; }
    .startScreen .docs .list3 {
      transform: rotate(-30deg) translateX(0px);
      left: -17px;
      top: 15px; }
  .startScreen .cards {
    position: absolute;
    top: 194px;
    right: 50%;
    margin-right: -584px;
    width: 262px;
    height: 161px;
    transform: rotate(-44deg);
    z-index: -1; }
    .startScreen .cards .card {
      position: absolute;
      left: 0px;
      top: 0px;
      transform-origin: left bottom; }
    .startScreen .cards .card2 {
      transform: rotate(15deg);
      left: -4px;
      top: 4px; }
    .startScreen .cards .card3 {
      transform: rotate(30deg);
      left: -5px;
      top: 15px; }
  .startScreen .titleContainer {
    position: relative; }
    .startScreen .titleContainer + .contentContainer {
      margin-top: 60px; }
    .startScreen .titleContainer .underline1 {
      position: absolute;
      display: block;
      top: calc(100% - 7px);
      right: 50%;
      margin-right: -304px; }
    .startScreen .titleContainer .underline2 {
      position: absolute;
      display: block;
      top: calc(100% + 10px);
      right: 50%;
      margin-right: -290px; }
  .startScreen .text {
    position: relative;
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    letter-spacing: 0.02em; }
    .startScreen .text .underline3 {
      position: absolute;
      display: block;
      top: 100%;
      right: 50%;
      margin-right: -130px; }
  .startScreen .buttons {
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .startScreen .button {
    min-width: 164px;
    text-align: center; }
    .startScreen .button + .button {
      margin-left: 10px; }

.advantagesList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px; }
  .advantagesList .item {
    text-align: center; }
  .advantagesList .icon {
    width: 48px;
    height: 48px;
    margin: 0px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #4474FF;
    border-radius: 50%; }
    .advantagesList .icon svg {
      display: block; }
  .advantagesList .title {
    margin-top: 20px;
    display: block;
    font-weight: 600;
    font-size: 24px;
    line-height: 24px;
    color: black; }
  .advantagesList p {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: black; }
  .advantagesList .link {
    margin-top: 8px; }

.siteSection {
  margin-top: 140px; }
  .siteSection .titleContainer {
    display: flex;
    align-items: center; }
    .siteSection .titleContainer .info {
      margin-left: 60px;
      max-width: 300px;
      width: 100%;
      font-size: 18px;
      line-height: 120%;
      letter-spacing: 0.03em;
      color: #000000; }
    .siteSection .titleContainer + .contentContainer {
      margin-top: 60px; }
  .siteSection .sectionWrapper {
    display: flex; }
  .siteSection .buttonContainer {
    margin-top: 60px; }
  .siteSection:first-child {
    margin-top: 0px; }

.featuresSection {
  position: relative; }
  .featuresSection .backEl1 {
    position: absolute;
    top: -155px;
    right: 50%;
    margin-right: -400px;
    z-index: -1; }
  .featuresSection .title {
    position: relative; }
  .featuresSection .exclamation1 {
    position: absolute;
    display: block;
    left: calc(100% + 22px);
    top: -15px; }
  .featuresSection .exclamation2 {
    position: absolute;
    display: block;
    left: calc(100% + 49px);
    top: -29px; }

.featuresList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px; }

.featureCard {
  padding: 26px;
  min-height: 468px;
  display: flex;
  flex-direction: column;
  border-radius: 40px; }
  .featureCard.type1 {
    background-color: #4474FF; }
    .featureCard.type1 .titleBlock .title {
      color: white; }
    .featureCard.type1 .contentBlock {
      color: white; }
  .featureCard.type2 {
    background-color: #2F2F2F; }
    .featureCard.type2 .titleBlock .title {
      color: white; }
    .featureCard.type2 .contentBlock {
      color: white; }
  .featureCard.type3 {
    background-color: #65DE02; }
  .featureCard .titleBlock {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .featureCard .titleBlock .title > * {
      color: inherit; }
    .featureCard .titleBlock + .contentBlock {
      margin-top: 30px; }
  .featureCard .contentBlock {
    margin-bottom: auto; }
    .featureCard .contentBlock p {
      color: inherit;
      font-size: 18px;
      line-height: 120%;
      letter-spacing: 0.03em; }

.featureChart1 .chart svg {
  width: 100%;
  height: auto; }
.featureChart1 .param {
  margin-top: -24px;
  font-weight: 600;
  font-size: 24px;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF; }
.featureChart1 .legend {
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 0.02em;
  color: white; }
  .featureChart1 .legend .cap {
    display: flex;
    align-items: center; }
    .featureChart1 .legend .cap:first-child .color {
      background-color: white; }
    .featureChart1 .legend .cap:last-child .color {
      background-color: #65DE02; }
  .featureChart1 .legend .color {
    display: block;
    margin-right: 9px;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%; }

.featureChart2 .steps {
  list-style-type: decimal;
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  font-size: 24px;
  line-height: 24px;
  color: white; }
  .featureChart2 .steps li {
    min-width: 90px;
    text-align: right; }
.featureChart2 .chart {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px; }
  .featureChart2 .chart .el {
    width: 100%;
    height: 18px;
    background-color: #65DE02;
    border-radius: 9px; }
    .featureChart2 .chart .el:first-child {
      opacity: 0.2; }
    .featureChart2 .chart .el:nth-child(2) {
      opacity: 0.5; }

.featureChart3 svg {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.cardIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background-color: black;
  border-radius: 50%;
  transition: background-color 0.3s; }
  .cardIcon svg path {
    transition: fill 0.3s; }

.workSection {
  position: relative; }
  .workSection .backEl2 {
    position: absolute;
    top: -175px;
    right: 50%;
    margin-right: -720px;
    z-index: -1; }
  .workSection .backEl3 {
    position: absolute;
    bottom: -125px;
    left: 50%;
    margin-left: -735px;
    z-index: -1; }
  .workSection .titleContainer {
    position: relative;
    max-width: 970px;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
  .workSection .circle {
    position: absolute;
    top: calc(100% - 91px);
    right: -93px; }
  .workSection .title {
    position: relative;
    font-weight: 400;
    font-size: 80px;
    line-height: 100%;
    color: black; }
    .workSection .title .underline5 {
      display: block;
      position: absolute;
      max-width: unset;
      top: calc(100% - 8px);
      right: 84px;
      z-index: -1; }
  .workSection .highlight1 {
    position: relative;
    display: inline-block; }
    .workSection .highlight1 .underline4 {
      display: block;
      position: absolute;
      max-width: unset;
      top: -12px;
      left: -22px;
      z-index: -1; }
  .workSection .button {
    margin-top: 80px;
    display: flex;
    justify-content: center; }

.pathSection {
  position: relative; }
  .pathSection .backEl4 {
    bottom: 15px;
    left: 50%;
    margin-left: -715px; }
  .pathSection .sectionWrapper {
    justify-content: space-between; }
  .pathSection .title {
    position: relative; }
    .pathSection .title .underline6 {
      display: block;
      position: absolute;
      max-width: unset;
      top: calc(100% + 4px);
      left: 0px; }
  .pathSection .leftSide {
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
  .pathSection .rightSide {
    position: relative;
    max-width: 405px;
    width: 100%;
    margin-right: 170px; }
    .pathSection .rightSide .back {
      position: absolute;
      left: 50%;
      top: 92px;
      margin-left: -351px;
      z-index: -1; }
  .pathSection .info {
    max-width: 328px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: black; }
  .pathSection .pathOptions {
    margin-top: 30px; }
  .pathSection .animatedPath {
    display: none; }
    .pathSection .animatedPath.visible {
      display: block; }

.pathOptions {
  display: flex;
  justify-content: flex-start; }
  
  .pathOptions .type li + li {
    margin-top: 10px; }
  
  .pathOptions .size {
    margin-left: 20px;
     }
     
  .pathOptions .size li + li {
    margin-top: 16px;
     }

.btnType {
  position: relative;
  display: inline-block;
  cursor: pointer; }
  .btnType:has(input:disabled) {
    pointer-events: none; }
  @media (hover: hover) and (pointer: fine) {
    .btnType:hover .label {
      background-color: #4474FF; }
    .btnType:hover input:checked + .label {
      background-color: #4474FF; } }
  .btnType:active .label {
    background-color: #2B2B2B; }
  .btnType:active input:checked + .label {
    background-color: #2B2B2B; }
  .btnType input {
    position: absolute;
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .btnType input:checked + .label {
      background-color: black; }
    .btnType input:disabled + .label {
      background-color: rgba(0, 0, 0, 0.2); }
    .btnType input:focus-visible + .label {
      box-shadow: inset 0px 0px 0px 1px #4474FF; }
    .btnType input:focus-visible:checked + .label {
      box-shadow: inset 0px 0px 0px 1px #4474FF; }
  .btnType .label {
    display: inline-block;
    padding: 14px 24px;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: white;
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 25px;
    box-shadow: inset 0px 0px 0px 1px transparent;
    transition: all 0.3s; }

.btnSize {
  position: relative;
  display: inline-block;
  cursor: pointer; }
  .btnSize:has(input:disabled) {
    pointer-events: none; }
  @media (hover: hover) and (pointer: fine) {
    .btnSize:hover .label {
      color: #214FC3; }
      .btnSize:hover .label::before {
        opacity: 0; }
    .btnSize:hover input:checked + .label {
      color: #214FC3; }
      .btnSize:hover input:checked + .label::before {
        opacity: 0; } }
  .btnSize:active .label {
    color: #214FC3; }
    .btnSize:active .label::before {
      opacity: 0; }
  .btnSize:active input:checked + .label {
    color: #214FC3; }
    .btnSize:active input:checked + .label::before {
      opacity: 0; }
  .btnSize input {
    position: absolute;
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .btnSize input:checked + .label {
      color: black;
      text-decoration-color: inherit; }
    .btnSize input:disabled + .label {
      color: rgba(0, 0, 0, 0.2);
      text-decoration-color: inherit; }
    .btnSize input:focus-visible + .label::before {
      opacity: 1; }
  .btnSize .label {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: #A6A6A6;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 0.2em;
    transition: all 0.3s; }
    .btnSize .label::before {
      content: '';
      display: block;
      position: absolute;
      left: -10px;
      top: -5px;
      width: calc(100% + 20px);
      height: calc(100% + 10px);
      border: 1px solid black;
      border-radius: 1px;
      opacity: 0;
      transition: opacity 0.3s; }

.stepItem {
  position: relative;
  min-height: 346px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border-radius: 40px;
  cursor: pointer; }
  .stepItem.hidden {
    display: none; }
  @media (hover: hover) and (pointer: fine) {
    .stepItem:hover .title {
      opacity: 1; }
    .stepItem:hover .control .name {
      opacity: 1; } }
  .stepItem.active {
    cursor: default;
    z-index: 9 !important; }
    .stepItem.active .title {
      opacity: 1; }
    .stepItem.active .control .name {
      opacity: 1; }
  .stepItem:has(~ .active) {
    z-index: 8 !important; }
  .stepItem::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 86px;
    bottom: 0px;
    left: 0px;
    border: 1px solid black;
    opacity: 0;
    transition: opacity 0.3s; }
  .stepItem:focus-visible::before {
    opacity: 1; }
  .stepItem .title {
    font-weight: 600;
    font-size: 46px;
    line-height: 100%;
    color: white;
    opacity: 0.3;
    transition: opacity 0.3s; }
  .stepItem .content {
    margin-top: 30px;
    margin-bottom: auto;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: white; }
  .stepItem .control {
    width: 100%;
    display: flex;
    justify-content: space-between; }
    .stepItem .control .name {
      display: block;
      font-weight: 600;
      font-size: 46px;
      line-height: 100%;
      color: white;
      opacity: 0.3;
      transition: opacity 0.3s; }
    .stepItem .control .num {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      font-weight: 600;
      font-size: 46px;
      line-height: 100%;
      color: white;
      text-align: center;
      background-color: rgba(255, 255, 255, 0.3);
      border-radius: 50%; }
  .stepItem:nth-child(1) {
    z-index: 5; }
  .stepItem:nth-child(2) {
    z-index: 4; }
  .stepItem:nth-child(3) {
    z-index: 3; }
  .stepItem:nth-child(4) {
    z-index: 2; }
  .stepItem:nth-child(5) {
    z-index: 1; }
  .stepItem:nth-child(6) {
    z-index: 0; }
  .stepItem + .stepItem {
    margin-top: -260px; }
  .stepItem:nth-child(1) {
    background-color: #5F88FF; }
  .stepItem:nth-child(2) {
    background-color: #4474FF; }
  .stepItem:nth-child(3) {
    background-color: #214FC3; }
  .stepItem:nth-child(4) {
    background-color: #2F2F2F; }
  .stepItem:nth-child(5) {
    background-color: #525B4D; }
  .stepItem:nth-child(6) {
    background-color: #65DE02; }
  .stepItem:last-child {
    background-color: #65DE02; }
  .stepItem:nth-last-child(2):not(:nth-child(5)) {
    background-color: #2F2F2F; }
  .stepItem:nth-last-child(3):not(:nth-child(4)) {
    background-color: #214FC3; }

.infoSection {
  position: relative; }
  .infoSection .title {
    position: relative; }
    .infoSection .title .exclamation3 {
      position: absolute;
      display: block;
      top: -20px;
      right: calc(100% + 20px); }
    .infoSection .title .underline7 {
      position: absolute;
      display: block;
      top: calc(100% - 3px);
      left: 20px; }
  .infoSection .backEl5 {
    top: -70px;
    right: 50%;
    margin-right: -707px; }
  .infoSection .backEl6 {
    bottom: -215px;
    right: 50%;
    margin-right: -610px; }

.infoSlider .swiper-wrapper {
  display: block; }

.cardsGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px; }
  .cardsGrid + .cardsGrid {
    margin-top: 12px; }
  @media (min-width: 768px) {
    .cardsGrid .item.col2 {
      grid-column: span 2; }
    .cardsGrid .item.col3 {
      grid-column: span 3; } }
  @media (min-width: 768px) {
    .cardsGrid .col3 .infoCard {
      position: relative;
      display: flex;
      padding-right: 74px; }
      .cardsGrid .col3 .infoCard .headBlock .cardIcon {
        position: absolute;
        top: 26px;
        right: 26px; }
      .cardsGrid .col3 .infoCard .titleBlock {
        display: flex;
        max-width: unset;
        width: auto; }
      .cardsGrid .col3 .infoCard .subtitle {
        max-width: 130px;
        width: 100%; }
        .cardsGrid .col3 .infoCard .subtitle + .title {
          margin-left: 20px;
          margin-top: 0px; }
      .cardsGrid .col3 .infoCard .title {
        max-width: 260px;
        width: 100%; }
      .cardsGrid .col3 .infoCard .contentBlock {
        margin-left: 40px;
        margin-top: 0px; } }
  .cardsGrid .col2 .infoCard .img {
    position: absolute;
    bottom: 34px;
    right: 104px;
    z-index: -1; }
  .cardsGrid .col2 .infoCard .circle {
    position: absolute;
    bottom: -35px;
    right: 7px; }

.infoSlider .swiper-navigation {
  display: none; }

.infoCard {
  position: relative;
  display: block;
  height: 100%;
  padding: 26px;
  color: black;
  background-color: #ECF1FB;
  border-radius: 40px;
  box-shadow: inset 0px 0px 0px 1px transparent;
  transition: all 0.3s;
  z-index: 1; }
  .infoCard:has(.circle) {
    z-index: 2; }
  @media (hover: hover) and (pointer: fine) {
    .infoCard:hover {
      color: white;
      background-color: #2F2F2F;
      box-shadow: inset 0px 0px 0px 1px transparent; }
      .infoCard:hover .cardIcon {
        background-color: #65DE02; }
        .infoCard:hover .cardIcon svg path {
          fill: #2F2F2F; } }
  .infoCard:focus-visible {
    color: black;
    background-color: #ECF1FB;
    box-shadow: inset 0px 0px 0px 1px black; }
    .infoCard:focus-visible .cardIcon {
      background-color: black; }
      .infoCard:focus-visible .cardIcon svg path {
        fill: #65DE02; }
  .infoCard:active {
    color: white;
    background-color: #2F2F2F;
    box-shadow: inset 0px 0px 0px 1px transparent; }
    .infoCard:active .cardIcon {
      background-color: #65DE02; }
      .infoCard:active .cardIcon svg path {
        fill: #2F2F2F; }
  .infoCard .headBlock {
    display: flex;
    justify-content: space-between; }
  .infoCard .titleBlock {
    max-width: 360px;
    width: 100%; }
  .infoCard .subtitle {
    display: block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em; }
    .infoCard .subtitle + .title {
      margin-top: 10px; }
  .infoCard .title {
    display: block;
    font-weight: 600;
    font-size: 36px;
    line-height: 100%; }
  .infoCard .contentBlock {
    max-width: 360px;
    width: 100%;
    margin-top: 20px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }

.statSection {
  position: relative; }
  .statSection .backEl7 {
    bottom: -225px;
    left: 50%;
    margin-left: -795px; }
  .statSection .title {
    position: relative; }
  .statSection .underline8 {
    position: absolute;
    display: block;
    top: calc(100% + 1px);
    right: -14px; }
  .statSection .underline9 {
    position: absolute;
    display: block;
    top: calc(100% + 16px);
    right: -70px; }

.mapBlock {
  position: relative;
  z-index: 1; }
  .mapBlock .back {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    object-fit: cover;
    object-position: left center;
    z-index: -1; }
  .mapBlock .grid {
    max-width: 405px;
    margin-left: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px; }
  .mapBlock .item {
    padding: 26px;
    border-radius: 30px;
    color: black;
    background-color: #65DE02; }
    .mapBlock .item .num {
      display: block;
      font-size: 80px;
      line-height: 100%; }
  .mapBlock .headBlock {
    display: flex;
    justify-content: space-between; }
  .mapBlock .title {
    display: block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em; }
    .mapBlock .title + .num {
      margin-top: 10px; }
  .mapBlock .info {
    grid-column: span 2;
    color: white;
    background-color: #4474FF; }
    .mapBlock .info .contentBlock {
      margin-top: 20px; }
  .mapBlock .stat {
    text-align: center; }
  .mapBlock .contentBlock {
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }

.advantageInfoSection {
  position: relative; }
  .advantageInfoSection .backEl8 {
    top: -70px;
    right: 50%;
    margin-right: -365px; }
  .advantageInfoSection .backEl9 {
    top: calc(100% - 160px);
    right: 50%;
    margin-right: -525px; }

.highlight2 {
  position: relative;
  display: inline-block; }
  .highlight2 .underline10 {
    position: absolute;
    display: block;
    max-width: unset;
    left: -24px;
    top: -2px;
    z-index: -1; }

.advantageCard {
  padding: 26px;
  min-height: 281px;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 140%;
  letter-spacing: 0.02em;
  color: black;
  background-color: #ECF1FB;
  border-radius: 40px; }
  .advantageCard .title {
    font-weight: 600;
    font-size: 36px;
    line-height: 100%;
    letter-spacing: 0em; }
    .advantageCard .title + .subtitle {
      margin-top: 20px; }
  .advantageCard .subtitle {
    margin-bottom: auto;
    max-width: 360px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }
  .advantageCard .logos {
    display: flex;
    justify-content: flex-end; }
    .advantageCard .logos li + li {
      margin-left: 60px; }
  .advantageCard .stats {
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: black; }
    .advantageCard .stats .num {
      display: block;
      font-size: 80px;
      line-height: 100%;
      letter-spacing: 0em; }
  .advantageCard .list {
    display: flex;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }
    .advantageCard .list ul {
      -webkit-columns: 2;
      -moz-columns: 2;
      columns: 2;
      -webkit-column-gap: 14px;
      -moz-column-gap: 14px;
      column-gap: 14px; }
      .advantageCard .list ul li {
        position: relative;
        padding-left: 22px; }
        .advantageCard .list ul li::before {
          content: '';
          display: block;
          position: absolute;
          left: 0px;
          top: 50%;
          margin-top: -6px;
          width: 12px;
          height: 12px;
          background-color: black;
          border-radius: 50%; }
        .advantageCard .list ul li + li {
          margin-top: 2px; }
  .advantageCard.withBack {
    background-image: url(../img/card_back.svg);
    background-size: auto;
    background-position: -36px -114px;
    background-repeat: no-repeat; }

.termsChart {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  .termsChart .chart {
    max-width: 200px;
    width: 100%;
    flex-shrink: 0; }
  .termsChart [class*=line] {
    height: 27px;
    border-radius: 27px; }
    .termsChart [class*=line] + [class*=line] {
      margin-top: 5px; }
  .termsChart .line1 {
    width: 50%;
    background-color: #65DE02; }
  .termsChart .line2 {
    background-color: black; }
  .termsChart .cap {
    display: block;
    margin-top: 7px;
    font-weight: 600;
    font-size: 19px;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: black; }
  .termsChart .legend {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: black; }
    .termsChart .legend li {
      display: flex;
      align-items: center; }
      .termsChart .legend li:nth-child(1) .color {
        background-color: #65DE02; }
      .termsChart .legend li:nth-child(2) .color {
        background-color: black; }
    .termsChart .legend .color {
      display: block;
      margin-right: 9px;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      flex-shrink: 0; }

.reviewSection {
  position: relative; }
  .reviewSection .backEl10 {
    top: calc(100% - 45px);
    right: 50%;
    margin-right: -270px; }
  .reviewSection .title {
    position: relative; }
    .reviewSection .title .underline11 {
      display: block;
      position: absolute;
      max-width: unset;
      left: -25px;
      top: -20px;
      z-index: -1; }

.reviewSliderWrapper {
  position: relative;
  margin-left: -42px;
  margin-right: -42px;
  padding: 60px 0px 52px;
  background-color: #2F2F2F;
  border-radius: 80px;
  overflow: hidden; }

.reviewSlider {
  width: 406px;
  margin-left: auto;
  margin-right: auto;
  overflow: visible; }
  .reviewSlider .swiper-slide {
    height: auto;
    opacity: 0.3;
    transition: opacity 0.3s; }
    .reviewSlider .swiper-slide.swiper-slide-active {
      opacity: 1; }
  .reviewSlider .swiper-navigation {
    margin-top: 72px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .reviewSlider .swiper-navigation .swiper-pagination-bullet {
      display: block;
      margin: 0px 5px;
      width: 12px;
      height: 12px;
      background-color: black;
      opacity: 1;
      border-radius: 50%;
      transition: background-color 0.3s; }
      @media (hover: hover) and (pointer: fine) {
        .reviewSlider .swiper-navigation .swiper-pagination-bullet:hover {
          background-color: white; } }
      .reviewSlider .swiper-navigation .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background-color: white; }
  .reviewSlider .swiper-button-prev,
  .reviewSlider .swiper-button-next {
    position: relative;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: block;
    width: auto;
    height: auto;
    margin-top: 0px;
    color: white;
    transition: color 0.3s; }
    .reviewSlider .swiper-button-prev::before,
    .reviewSlider .swiper-button-next::before {
      content: '';
      display: block;
      position: absolute;
      left: -7px;
      top: 2.5px;
      width: calc(100% + 14px);
      height: calc(100% - 5px);
      border: 1px solid white;
      opacity: 0;
      transition: opacity 0.3s; }
    @media (hover: hover) and (pointer: fine) {
      .reviewSlider .swiper-button-prev:hover,
      .reviewSlider .swiper-button-next:hover {
        color: #65DE02; }
        .reviewSlider .swiper-button-prev:hover::before,
        .reviewSlider .swiper-button-next:hover::before {
          opacity: 0; } }
    .reviewSlider .swiper-button-prev:focus-visible,
    .reviewSlider .swiper-button-next:focus-visible {
      color: white; }
      .reviewSlider .swiper-button-prev:focus-visible::before,
      .reviewSlider .swiper-button-next:focus-visible::before {
        opacity: 1; }
    .reviewSlider .swiper-button-prev:active,
    .reviewSlider .swiper-button-next:active {
      color: #65DE02; }
      .reviewSlider .swiper-button-prev:active::before,
      .reviewSlider .swiper-button-next:active::before {
        opacity: 0; }
    .reviewSlider .swiper-button-prev::after,
    .reviewSlider .swiper-button-next::after {
      display: none; }
    .reviewSlider .swiper-button-prev [class*=icon],
    .reviewSlider .swiper-button-next [class*=icon] {
      display: block;
      font-size: 27px; }
  .reviewSlider .swiper-pagination {
    position: static;
    width: auto;
    display: flex; }

.reviewSlide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; }
  .reviewSlide .content {
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: white; }
    .reviewSlide .content + .openModal {
      margin-top: 10px; }
  .reviewSlide .openModal {
    margin-bottom: auto; }
    .reviewSlide .openModal + .author {
      margin-top: 23px; }
  .reviewSlide .author {
    margin-top: 23px;
    display: flex;
    align-items: center; }
  .reviewSlide .icon {
    flex-shrink: 0;
    margin-right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden; }
    .reviewSlide .icon img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .reviewSlide .name {
    display: block;
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: #65DE02; }
  .reviewSlide .position {
    display: block;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: white; }
  .reviewSlide .simpleLink {
    color: #9D9D9D;
    line-height: 100%; }

.teamSection {
  position: relative; }
  .teamSection .backEl11 {
    top: calc(100% - 195px);
    left: 50%;
    margin-left: -800px; }
  .teamSection .title {
    position: relative; }
    .teamSection .title .underline12 {
      display: block;
      position: absolute;
      max-width: unset;
      left: 0px;
      top: calc(100% + 2px); }

.teamList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px; }

.teamCard {
  display: block;
  border-radius: 1px;
  box-shadow: inset 0px 0px 0px 1px transparent;
  transition: box-shadow 0.3s;
  cursor: pointer; }
  @media (hover: hover) and (pointer: fine) {
    .teamCard:hover {
      box-shadow: inset 0px 0px 0px 1px transparent; }
      .teamCard:hover .info .name {
        color: #4474FF; } }
  .teamCard:focus-visible {
    outline: none;
    box-shadow: inset 0px 0px 0px 1px black; }
    .teamCard:focus-visible .info .name {
      color: inherit; }
  .teamCard:active {
    box-shadow: inset 0px 0px 0px 1px transparent; }
    .teamCard:active .info .name {
      color: #4474FF; }
  .teamCard .image {
    height: 281px;
    border-radius: 80px;
    overflow: hidden; }
    .teamCard .image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .teamCard .info {
    margin-top: 30px;
    color: black;
    text-align: center; }
    .teamCard .info .name {
      display: block;
      font-weight: 600;
      font-size: 18px;
      line-height: 120%;
      letter-spacing: 0.03em;
      transition: color 0.3s; }
    .teamCard .info .position {
      display: block;
      margin-top: 4px;
      font-size: 14px;
      line-height: 140%;
      letter-spacing: 0.02em; }

.feedbackSection {
  position: relative;
  margin-left: -42px;
  margin-right: -42px;
  padding: 60px 42px;
  background-color: #DFE8F9;
  background-image: url(../img/form_back.svg);
  background-position: 42px -115px;
  background-size: auto;
  background-repeat: no-repeat;
  border-radius: 60px; }
  .feedbackSection .img {
    display: block;
    width: 450px;
    height: 450px;
    position: absolute;
    top: 140px;
    right: -155px;
    transform-origin: center; }
  .feedbackSection .title {
    position: relative; }
    .feedbackSection .title .exclamation4 {
      position: absolute;
      display: block;
      left: calc(100% + 22px);
      top: -15px; }
    .feedbackSection .title .exclamation5 {
      position: absolute;
      display: block;
      left: calc(100% + 49px);
      top: -29px; }

.formMessage {
  position: absolute;
  display: none;
  max-width: 716px;
  left: 0px;
  top: 0px;
  right: 0px;
  bottom: 0px;
  margin: auto;
  text-align: center;
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  -o-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 0.3s;
  -moz-animation-duration: 0.3s;
  -o-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards; }
  .formMessage .inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .formMessage .icon {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .formMessage .text {
    margin-top: 40px;
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    color: black; }
    .formMessage .text a {
      position: relative;
      display: inline-block;
      color: inherit;
      font-weight: 600;
      text-decoration: underline;
      text-decoration-color: inherit;
      text-decoration-thickness: 1px;
      text-underline-offset: 0.2em; }
      .formMessage .text a::before {
        content: '';
        display: block;
        position: absolute;
        left: -5px;
        top: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        border: 1px solid black;
        border-radius: 1px;
        opacity: 0; }
      @media (hover: hover) and (pointer: fine) {
        .formMessage .text a {
          transition: all 0.3s; }
          .formMessage .text a::before {
            transition: opacity 0.3s; }
          .formMessage .text a:hover {
            color: #214FC3;
            text-decoration-color: transparent; }
            .formMessage .text a:hover::before {
              opacity: 0; } }
      .formMessage .text a:focus-visible {
        color: inherit;
        text-decoration-color: inherit; }
        .formMessage .text a:focus-visible::before {
          opacity: 1; }
      .formMessage .text a:active {
        color: #214FC3;
        text-decoration-color: transparent; }
        .formMessage .text a:active::before {
          opacity: 0; }
  .formMessage.visible {
    display: block; }

.feedbackForm {
  max-width: 822px;
  transition: all 0.3s; }
  .feedbackForm.sent {
    opacity: 0;
    visibility: hidden; }
  .feedbackForm .fieldsGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 12px; }
  .feedbackForm .fieldItem.full,
  .feedbackForm .buttons.full {
    grid-column: 1 / 3; }
  .feedbackForm .buttons {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .feedbackForm .btnFill {
    min-width: 196px; }

.highlight3 {
  position: relative;
  display: inline-block; }
  .highlight3 .underline13 {
    display: block;
    position: absolute;
    max-width: unset;
    left: 0px;
    top: calc(100% + 5px);
    z-index: -1; }

.faqSection {
  position: relative; }
  .faqSection .backEl12 {
    top: -65px;
    right: 50%;
    margin-right: -740px; }
  .faqSection .backEl13 {
    bottom: -175px;
    left: 50%;
    margin-left: -675px; }
  .faqSection .buttonContainer {
    margin-top: 65px;
    display: flex;
    justify-content: center; }

.faqItem {
  padding-bottom: 12px;
  box-shadow: inset 0px -1px 0px 0px black; }
  .faqItem + .faqItem {
    margin-top: 30px; }
  @media (hover: hover) and (pointer: fine) {
    .faqItem:not([open]):hover .control {
      transform: rotate(180deg); } }
  .faqItem summary {
    position: relative;
    display: block;
    color: black;
    transition: color 0.3s;
    cursor: pointer; }
    .faqItem summary::before {
      content: '';
      display: block;
      position: absolute;
      left: -10px;
      top: -2px;
      width: calc(100% + 20px);
      height: calc(100% + 5px);
      box-shadow: inset 0px 0px 0px 1px black;
      border-radius: 1px;
      opacity: 0;
      transition: opacity 0.3s; }
    .faqItem summary::-webkit-details-marker, .faqItem summary::marker {
      display: none !important; }
    @media (hover: hover) and (pointer: fine) {
      .faqItem summary:hover {
        color: #2B2B2B; }
        .faqItem summary:hover::before {
          opacity: 0; } }
    .faqItem summary:focus-visible {
      color: black; }
      .faqItem summary:focus-visible::before {
        opacity: 1; }
    .faqItem summary:active {
      color: #2B2B2B; }
      .faqItem summary:active::before {
        opacity: 0; }
  .faqItem .summaryWrap {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .faqItem .title {
    display: block;
    font-size: 31px;
    line-height: 100%; }
  .faqItem .control {
    position: relative;
    width: 36px;
    height: 36px;
    transition: transform 0.3s; }
    .faqItem .control [class*=icon] {
      display: block;
      position: absolute;
      left: 0px;
      top: 0px;
      right: 0px;
      bottom: 0px;
      margin: auto;
      font-size: 36px;
      line-height: 36px;
      transform: opacity 0.3s; }
    .faqItem .control .icon-minus {
      opacity: 0; }
    .faqItem .control .icon-plus {
      opacity: 1; }
  .faqItem .content {
    padding-top: 22px;
    padding-bottom: 10px;
    max-width: 718px;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em;
    color: #757575; }
    .faqItem .content p,
    .faqItem .content ul,
    .faqItem .content ol {
      margin-top: 8px;
      margin-bottom: 8px; }
      .faqItem .content p:first-child,
      .faqItem .content ul:first-child,
      .faqItem .content ol:first-child {
        margin-top: 0px; }
      .faqItem .content p:last-child,
      .faqItem .content ul:last-child,
      .faqItem .content ol:last-child {
        margin-bottom: 0px; }
    .faqItem .content ul li {
      position: relative;
      padding-left: 16px; }
      .faqItem .content ul li::before {
        content: '•';
        position: absolute;
        display: block;
        left: 0px;
        top: 0px; }
      .faqItem .content ul li + li {
        margin-top: 4px; }
    .faqItem .content ol {
      counter-reset: item; }
      .faqItem .content ol li {
        position: relative;
        padding-left: 30px; }
        .faqItem .content ol li::before {
          counter-increment: item;
          content: counter(item) ".";
          display: block;
          position: absolute;
          left: 0px;
          top: 0px;
          font-weight: 500; }
        .faqItem .content ol li + li {
          margin-top: 4px; }
  .faqItem[open] .control .icon-minus {
    opacity: 1; }
  .faqItem[open] .control .icon-plus {
    opacity: 0; }

.errorPage {
  position: relative;
  padding-top: 143px;
  padding-bottom: 104px;
  font-size: 24px;
  line-height: 110%;
  text-align: center;
  letter-spacing: -0.02em;
  color: black; }
  .errorPage .back1 {
    position: absolute;
    display: block;
    top: 13px;
    right: 50%;
    margin-right: -748px;
    z-index: -1; }
  .errorPage .back2 {
    position: absolute;
    display: block;
    bottom: -195px;
    left: 50%;
    margin-left: -600px;
    z-index: -1; }
  .errorPage .code {
    display: block;
    font-weight: 800;
    font-size: 268px;
    line-height: 90%;
    color: black;
    letter-spacing: 0em; }
    .errorPage .code span {
      color: #65DE02; }
  .errorPage p {
    margin-top: 19px;
    font-weight: 300; }
  .errorPage .button {
    margin-top: 63px;
    display: flex;
    justify-content: center; }

.modal {
  display: none; }
  .modal.is-open {
    display: block; }
  .modal[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
  .modal[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1) forwards; }
  .modal .modal__container,
  .modal .modal__overlay {
    will-change: transform; }

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, rgba(251, 251, 251, 0.3), rgba(251, 251, 251, 0.3));
  -webkit-backdrop-filter: blur(11px);
  backdrop-filter: blur(11px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 12; }

.modal__container {
  position: relative;
  max-height: 100%;
  overflow-y: auto;
  box-sizing: border-box; }

.certificateModal {
  max-width: 60%; }
  @media (max-width: 1269px) {
    .certificateModal {
      max-width: 90%; } }
  .certificateModal .modal__close {
    position: absolute;
    display: block;
    top: 26px;
    right: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    background-color: black;
    border-radius: 50%;
    transition: all 0.3s; }
    .certificateModal .modal__close [class*=icon] {
      display: block;
      font-size: 36px;
      line-height: 36px;
      color: white; }
    @media (hover: hover) and (pointer: fine) {
      .certificateModal .modal__close:hover {
        background-color: #214FC3; } }
    .certificateModal .modal__close:focus-visible {
      background-color: black; }
    .certificateModal .modal__close:active {
      background-color: #214FC3; }
  .certificateModal img {
    max-width: 100%;
    height: auto; }

.teamModal .modal__close {
  position: absolute;
  display: block;
  top: 26px;
  right: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  background-color: black;
  border-radius: 50%;
  transition: all 0.3s; }
  .teamModal .modal__close [class*=icon] {
    display: block;
    font-size: 36px;
    line-height: 36px;
    color: white; }
  @media (hover: hover) and (pointer: fine) {
    .teamModal .modal__close:hover {
      background-color: #214FC3; } }
  .teamModal .modal__close:focus-visible {
    background-color: black; }
  .teamModal .modal__close:active {
    background-color: #214FC3; }
.teamModal .wrapper {
  display: flex;
  justify-content: space-between; }
.teamModal .image {
  flex-shrink: 0;
  width: 405px;
  height: 281px;
  border-radius: 80px;
  overflow: hidden; }
  .teamModal .image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }
.teamModal .content {
  position: relative;
  flex-shrink: 0;
  max-width: 822px;
  width: 100%;
  padding: 26px;
  display: flex;
  flex-direction: column;
  color: black;
  background-color: #DFE8F9;
  border-radius: 30px; }
  .teamModal .content .name {
    display: block;
    padding-right: 36px;
    font-weight: 600;
    font-size: 36px;
    line-height: 100%; }
  .teamModal .content .info {
    margin-top: 20px;
    margin-bottom: auto;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }
    .teamModal .content .info p {
      break-inside: avoid; }
  .teamModal .content .experience {
    display: block;
    margin-top: 30px;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.03em; }

.reviewModalOverlay {
  padding: 20px; }

.reviewModal {
  max-width: 822px;
  width: 100%;
  height: 360px;
  padding: 26px 0px 26px;
  background-color: #DFE8F9;
  border-radius: 30px;
  overflow: hidden; }
  .reviewModal .modal__close {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background-color: black;
    border-radius: 50%;
    transition: all 0.3s; }
    .reviewModal .modal__close [class*=icon] {
      display: block;
      font-size: 36px;
      line-height: 36px;
      color: white; }
    @media (hover: hover) and (pointer: fine) {
      .reviewModal .modal__close:hover {
        background-color: #214FC3; } }
    .reviewModal .modal__close:focus-visible {
      background-color: black; }
    .reviewModal .modal__close:active {
      background-color: #214FC3; }
  .reviewModal .wrapper {
    display: flex;
    flex-direction: column;
    height: 100%; }
  .reviewModal .headBlock {
    padding: 0px 26px;
    display: flex;
    justify-content: space-between; }
  .reviewModal .author {
    display: flex;
    align-items: center; }
    .reviewModal .author .icon {
      width: 48px;
      height: 48px;
      flex-shrink: 0; }
      .reviewModal .author .icon img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 50%; }
      .reviewModal .author .icon + .data {
        margin-left: 20px; }
    .reviewModal .author .data {
      font-size: 18px;
      line-height: 120%;
      letter-spacing: 0.03em;
      color: black; }
      .reviewModal .author .data .name {
        display: block;
        font-weight: 600; }
      .reviewModal .author .data .position {
        display: block; }
  .reviewModal .contentBlock {
    margin-top: 20px;
    margin-right: 14px;
    padding: 0px 12px 0px 26px;
    flex-grow: 1;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em;
    overflow-x: auto; }
    .reviewModal .contentBlock::before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 120px;
      left: 0px;
      bottom: 0px;
      background: linear-gradient(0deg, #DFE8F9 22.5%, rgba(223, 232, 249, 0) 100%);
      visibility: hidden;
      opacity: 0;
      transition: all 0.3s; }
    .reviewModal .contentBlock.scroll::before {
      visibility: visible;
      opacity: 1; }
@-moz-document url-prefix() {
  .reviewModal .contentBlock {
    scrollbar-width: thin;
    scrollbar-color: black transparent; } }
    .reviewModal .contentBlock::-webkit-scrollbar {
      width: 2px;
      background-color: transparent;
      border-radius: 2px; }
    .reviewModal .contentBlock::-webkit-scrollbar-thumb {
      width: 2px;
      background-color: black;
      border-radius: 2px; }
    .reviewModal .contentBlock p + p {
      margin-top: 22px; }
  .reviewModal .button {
    display: none; }
  .reviewModal .btnFill {
    padding: 10px 24px;
    font-weight: 400;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 3%; }

@keyframes mmfadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes mmfadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes mmslideIn {
  from {
    transform: translateY(15%); }
  to {
    transform: translateY(0); } }
@keyframes mmslideOut {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-10%); } }
.textPage + .footer {
  margin-top: 67px; }
  @media (max-width: 767px) {
    .textPage + .footer {
      margin-top: 96px; } }

.textContent {
  font-size: 18px;
  line-height: 150%;
  letter-spacing: -0.02em;
  color: black; }
  @media (max-width: 767px) {
    .textContent {
      font-size: 14px; } }
  .textContent > * {
    max-width: 794px;
    margin-left: auto;
    margin-right: auto; }
  .textContent h1 {
    margin-top: 80px;
    font-weight: 600;
    font-size: 36px;
    line-height: 100%;
    letter-spacing: 0.02em; }
    @media (max-width: 767px) {
      .textContent h1 {
        margin-top: 45px;
        font-size: 32px; } }
  .textContent h2 {
    margin-top: 30px;
    font-weight: 600;
    font-size: 24px;
    line-height: 110%;
    letter-spacing: -0.02em;
    color: #2E2E2E; }
  .textContent h3 {
    margin-top: 24px;
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -0.02em; }
  .textContent p {
    margin-top: 14px; }
    @media (max-width: 767px) {
      .textContent p {
        margin-top: 10px; } }
  .textContent ul {
    margin-top: 8px; }
    .textContent ul li {
      position: relative;
      padding-left: 16px; }
      .textContent ul li::before {
        content: '•';
        position: absolute;
        display: block;
        left: 0px;
        top: 0px; }
      .textContent ul li + li {
        margin-top: 4px; }
  .textContent ol {
    margin-top: 8px;
    counter-reset: item; }
    .textContent ol li {
      position: relative;
      padding-left: 30px; }
      .textContent ol li::before {
        counter-increment: item;
        content: counter(item) ".";
        display: block;
        position: absolute;
        left: 0px;
        top: 0px;
        font-weight: 500; }
      .textContent ol li + li {
        margin-top: 4px; }
  .textContent b,
  .textContent strong {
    font-weight: 600; }
  .textContent a {
    position: relative;
    display: inline-block;
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em; }
    .textContent a::before {
      content: '';
      display: block;
      position: absolute;
      left: -5px;
      top: -5px;
      width: calc(100% + 10px);
      height: calc(100% + 10px);
      border: 1px solid black;
      border-radius: 1px;
      opacity: 0; }
    @media (hover: hover) and (pointer: fine) {
      .textContent a {
        transition: all 0.3s; }
        .textContent a::before {
          transition: opacity 0.3s; }
        .textContent a:hover {
          color: #214FC3;
          text-decoration-color: transparent; }
          .textContent a:hover::before {
            opacity: 0; } }
    .textContent a:focus-visible {
      color: inherit;
      text-decoration-color: inherit; }
      .textContent a:focus-visible::before {
        opacity: 1; }
    .textContent a:active {
      color: #214FC3;
      text-decoration-color: transparent; }
      .textContent a:active::before {
        opacity: 0; }

.rotateAnimation {
  transform-origin: center;
  animation: rotation 20s linear infinite; }

@keyframes rotation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.animatedPath {
  display: block;
  max-width: unset; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible; }
  100% {
    opacity: 0;
    visibility: hidden; } }
@media (max-width: 1269px) {
  .container {
    width: 768px;
    padding-left: 30px;
    padding-right: 30px; }

  .header {
    padding-top: 28px;
    padding-bottom: 28px; }

  .isoLink {
    top: 50px;
    right: -34px;
    padding: 8px 14px 13px;
    min-height: 38px;
    font-size: 6px; } }
  @media (max-width: 1269px) and (hover: hover) and (pointer: fine) {
    .isoLink:hover {
      right: -29px; } }
@media (max-width: 1269px) {
    .isoLink:focus-visible {
      right: -34px; }
    .isoLink:active {
      right: -29px; }
    .isoLink .lg {
      font-size: 14px; }

  .siteLogo {
    width: 130px; }

  .mobileMenu {
    display: none;
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100dvh;
    background-color: white;
    -webkit-animation-name: fadeIn;
    -moz-animation-name: fadeIn;
    -o-animation-name: fadeIn;
    animation-name: fadeIn;
    -webkit-animation-duration: 0.5s;
    -moz-animation-duration: 0.5s;
    -o-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: forwards;
    -moz-animation-fill-mode: forwards;
    -o-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    overflow: auto;
    z-index: 12; }
    .mobileMenu .inner {
      width: 768px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 30px;
      padding-right: 30px; }
    .mobileMenu .topBlock {
      padding-top: 28px;
      padding-bottom: 28px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
    .mobileMenu.opened {
      display: block; }
    .mobileMenu.fadeOut {
      -webkit-animation-name: fadeOut;
      -moz-animation-name: fadeOut;
      -o-animation-name: fadeOut;
      animation-name: fadeOut; }

  .closeMenu {
    font-size: 24px;
    line-height: 24px;
    color: black; }

  .siteMenu {
    display: block;
    padding-top: 4px; }
    .siteMenu li {
      padding-bottom: 14px;
      border-bottom: 1px solid #DDDDDD; }
      .siteMenu li a {
        padding: 0px;
        font-size: 24px;
        line-height: 24px;
        font-weight: 600; }
      .siteMenu li + li {
        margin-left: 0px;
        margin-top: 18px; }

  .burgerWrap {
    display: block; }

  .startScreen {
    padding-top: 40px;
    min-height: unset; }
    .startScreen .titleContainer .underline1 {
      width: 356px;
      height: auto;
      top: calc(100% - 5px);
      margin-right: -185px; }
    .startScreen .titleContainer .underline2 {
      width: 212px;
      height: auto;
      top: calc(100% + 5px);
      margin-right: -170px; }
    .startScreen .titleContainer + .contentContainer {
      margin-top: 30px; }
    .startScreen .text {
      font-size: 18px; }
      .startScreen .text .underline3 {
        width: 160px;
        height: auto;
        margin-right: -80px; }
    .startScreen .buttons {
      margin-top: 98px; }
    .startScreen .docs {
      top: 46px;
      margin-left: -375px;
      transform: rotate(-18deg) scale(0.58); }
    .startScreen .cards {
      top: 90px;
      margin-right: -350px;
      transform: rotate(-44deg) scale(0.59); }
    .startScreen .circle {
      bottom: 55px;
      margin-left: -258px;
      width: 104px;
      height: auto; }
    .startScreen .back {
      width: 778px;
      height: auto;
      top: -28px;
      margin-left: -385px; }

  .advantagesSection {
    margin-top: 162px; }

  .advantagesList {
    padding-left: 15px;
    padding-right: 15px;
    gap: 30px; }
    .advantagesList .title {
      font-size: 18px;
      line-height: 24px; }

  .siteSection {
    margin-top: 100px; }
    .siteSection .titleContainer + .contentContainer {
      margin-top: 34px; }
    .siteSection .buttonContainer {
      margin-top: 40px; }

  .featuresSection .exclamation1 {
    left: calc(100% + 13px);
    top: -8px;
    width: 9px;
    height: auto; }
  .featuresSection .exclamation2 {
    left: calc(100% + 29px);
    top: -15px;
    width: 9px;
    height: auto; }
  .featuresSection .backEl1 {
    top: -103px;
    margin-right: -220px;
    width: 195px;
    height: auto; }

  .featuresList {
    gap: 9px; }

  .featureCard {
    min-height: 320px;
    padding: 20px 20px 30px; }
    .featureCard .contentBlock p {
      font-size: 12px; }

  .cardIcon {
    width: 34px;
    height: 34px; }
    .cardIcon svg {
      width: 20px;
      height: auto; }

  .featureChart1 .param {
    margin-top: -12px;
    font-size: 14px;
    line-height: 24px; }
  .featureChart1 .legend {
    margin-top: 4px;
    font-size: 10px; }
    .featureChart1 .legend .color {
      width: 10px;
      height: 10px; }

  .featureChart2 .steps {
    font-size: 13px;
    line-height: 13px; }
    .featureChart2 .steps li {
      min-width: unset; }
      .featureChart2 .steps li + li {
        margin-left: 4px; }
  .featureChart2 .chart {
    margin-top: 9px;
    gap: 4px; }
    .featureChart2 .chart .el {
      height: 9px; }

  .featureChart3 svg {
    width: 126px;
    height: auto; }

  .workSection .backEl2 {
    top: -107px;
    margin-right: -329px;
    width: 195px;
    height: auto; }
  .workSection .backEl3 {
    bottom: -30px;
    margin-left: -435px;
    width: 220px;
    height: auto; }
  .workSection .titleContainer {
    max-width: calc(100% - 60px); }
  .workSection .title {
    margin-top: -10px;
    font-size: 50px; }
    .workSection .title .underline5 {
      width: 325px;
      height: auto;
      top: calc(100% - 4px); }
  .workSection .highlight1 .underline4 {
    width: 170px;
    height: auto;
    top: -4px;
    left: -11px; }
  .workSection .circle {
    top: calc(100% - 64px);
    right: -52px;
    width: 197px;
    height: auto; }
  .workSection .button {
    margin-top: 42px; }

  .pathSection .backEl4 {
    bottom: -135px;
    margin-left: -415px;
    width: 190px;
    height: auto; }
  .pathSection .rightSide {
    max-width: 238px;
    margin-right: 70px; }
    .pathSection .rightSide .back {
      width: 432px;
      top: 55px;
      margin-left: -206px; }
      .pathSection .rightSide .back svg {
        width: 100%;
        height: auto; }
  .pathSection .titleContainer + .contentContainer {
    margin-top: 52px; }
  .pathSection .title .underline6 {
    width: 304px;
    height: auto; }
  .pathSection .info {
    max-width: 306px;
    font-size: 12px; }

  .stepItem {
    min-height: 204px;
    padding: 15px;
    border-radius: 24px; }
    .stepItem::before {
      height: 51px; }
    .stepItem .title {
      font-size: 27px; }
    .stepItem .content {
      margin-top: 18px;
      font-size: 11px; }
    .stepItem .control .name {
      font-size: 27px; }
    .stepItem .control .num {
      width: 28px;
      height: 28px;
      font-size: 27px; }
    .stepItem + .stepItem {
      margin-top: -153px; }

  .infoSection .backEl5 {
    top: -53px;
    margin-right: -367px;
    width: 150px;
    height: auto; }
  .infoSection .backEl6 {
    bottom: -215px;
    margin-right: -366px;
    width: 205px;
    height: auto; }
  .infoSection .title .exclamation3 {
    top: -7px;
    right: calc(100% + 15px);
    width: 10px;
    height: auto; }
  .infoSection .title .underline7 {
    top: calc(100% - 2px);
    left: 4px;
    width: 238px;
    height: auto; }

  .cardsGrid {
    gap: 9px; }
    .cardsGrid + .cardsGrid {
      margin-top: 9px; }
    .cardsGrid .col2 .infoCard .circle {
      bottom: -8px;
      right: 12px;
      width: 102px;
      height: auto; }
    .cardsGrid .col2 .infoCard .img {
      bottom: 61px;
      right: 23px;
      width: 200px;
      height: auto; } }
  @media (max-width: 1269px) and (min-width: 768px) {
    .cardsGrid .col3 .infoCard {
      min-height: unset; }
      .cardsGrid .col3 .infoCard .headBlock .cardIcon {
        top: 20px;
        right: 20px; }
      .cardsGrid .col3 .infoCard .subtitle {
        max-width: 103px;
        padding-right: 0px; }
      .cardsGrid .col3 .infoCard .title {
        max-width: 170px; }
      .cardsGrid .col3 .infoCard .contentBlock {
        margin-left: 8px; } }

@media (max-width: 1269px) {
  .infoCard {
    position: relative;
    padding: 20px;
    min-height: 185px; }
    .infoCard .titleBlock {
      max-width: 280px; }
    .infoCard .cardIcon {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 24px;
      height: 24px; }
      .infoCard .cardIcon svg {
        width: 10px; }
    .infoCard .subtitle {
      padding-right: 20px;
      font-size: 12px; }
    .infoCard .title {
      font-size: 26px; }
    .infoCard .contentBlock {
      max-width: 280px;
      font-size: 12px; }

  .statSection .backEl7 {
    bottom: -163px;
    margin-left: -490px;
    width: 220px;
    height: auto; }
  .statSection .underline8 {
    width: 172px;
    height: auto;
    top: calc(100% - 3px);
    right: -7px; }
  .statSection .underline9 {
    width: 177px;
    height: auto;
    top: calc(100% + 8px);
    right: -45px; }

  .mapBlock {
    margin-left: -30px;
    overflow: hidden; }
    .mapBlock .back {
      left: -194px; }
    .mapBlock .grid {
      max-width: 295px; }
    .mapBlock .title {
      font-size: 12px; }
    .mapBlock .item .num {
      font-size: 60px; }
    .mapBlock .info .contentBlock {
      font-size: 12px; }
    .mapBlock .stat {
      padding-left: 10px;
      padding-right: 10px; }

  .highlight2 .underline10 {
    width: 200px;
    height: auto;
    left: -4px; }

  .advantageCard {
    border-radius: 30px; }
    .advantageCard .logos li + li {
      margin-left: 15px; }
    .advantageCard .logos img {
      width: auto;
      height: 47px; }

  .termsChart .chart {
    max-width: 115px; }
  .termsChart [class*=line] {
    height: 19px; }

  .advantageInfoSection .backEl8 {
    top: -62px;
    margin-right: -350px;
    width: 155px;
    height: auto; }
  .advantageInfoSection .backEl9 {
    top: calc(100% - 80px);
    margin-right: -360px;
    width: 200px;
    height: auto; }
  .advantageInfoSection .cardsGrid {
    display: flex;
    flex-wrap: wrap;
    gap: unset;
    margin: -6px; }
    .advantageInfoSection .cardsGrid .item {
      max-width: 287px;
      flex-grow: 1;
      margin: 6px; }
      .advantageInfoSection .cardsGrid .item:nth-child(4n+1), .advantageInfoSection .cardsGrid .item:nth-child(4n+4) {
        max-width: 409px; }

  .advantageCard {
    padding: 20px;
    min-height: 231px; }
    .advantageCard .title {
      font-size: 30px; }
    .advantageCard .subtitle {
      max-width: 300px;
      font-size: 12px; }
    .advantageCard .list {
      padding-bottom: 8px;
      font-size: 12px; }
      .advantageCard .list ul {
        -webkit-column-gap: 18px;
        -moz-column-gap: 18px;
        column-gap: 18px; }
    .advantageCard.withBack {
      background-size: 481px auto;
      background-position: -4px -24px; }

  .reviewSection .backEl10 {
    top: calc(100% - 19px);
    margin-right: -132px;
    width: 175px;
    height: auto; }
  .reviewSection .title .underline11 {
    left: -11px;
    top: -6px;
    width: 234px;
    height: auto; }

  .reviewSliderWrapper {
    margin-left: 0px;
    margin-right: 0px;
    padding-top: 64px;
    padding-bottom: 44px; }

  .reviewSlider {
    width: 358px; }
    .reviewSlider .swiper-navigation {
      margin-top: 34px; }

  .reviewSlide .author {
    margin-top: 32px; }

  .teamSection .backEl11 {
    display: none; }
  .teamSection .title .underline12 {
    width: 195px;
    height: auto;
    top: calc(100% + 3px); }

  .teamList {
    gap: 9px; }

  .teamCard .image {
    height: 160px;
    border-radius: 50px; }
  .teamCard .info {
    margin-top: 16px; }

  .feedbackSection {
    margin-left: 0px;
    margin-right: 0px;
    padding: 30px; }
    .feedbackSection .img {
      display: none; }
    .feedbackSection .title .exclamation4 {
      left: calc(100% + 16px);
      top: -9px;
      width: 9px;
      height: auto; }
    .feedbackSection .title .exclamation5 {
      left: calc(100% + 33px);
      top: -17px;
      width: 9px;
      height: auto; }

  .highlight3 .underline13 {
    left: 0px;
    top: 100%;
    width: 250px;
    height: auto; }

  .faqSection .backEl12 {
    top: -5px;
    margin-right: -405px;
    width: 240px;
    height: auto; }
  .faqSection .backEl13 {
    bottom: -68px;
    margin-left: -372px;
    width: 190px;
    height: auto; }
  .faqSection .titleContainer + .contentContainer {
    margin-top: 80px; }

  .footer {
    margin-top: 100px;
    padding-top: 34px;
    padding-bottom: 40px; }
    .footer .container {
      width: 768px; }
    .footer .footerImg {
      width: 266px;
      margin-left: 0px;
      margin-top: -5px; }
      .footer .footerImg img {
        width: 100%;
        height: auto; }
    .footer .footerLinks {
      margin-top: 73px; }

  .footerInfo {
    max-width: 408px;
    width: 100%; }

  .footerMenu li a {
    font-size: 12px; }
  .footerMenu li + li {
    margin-left: 16px; }

  .footerContacts {
    margin-top: 37px; }
    .footerContacts .location .cap {
      font-size: 30px; }
    .footerContacts .location ul {
      font-size: 12px; }
    .footerContacts .logo {
      margin-top: 12px;
      width: 118px; }

  .socList {
    justify-content: flex-end; }
    .socList li a [class*=icon] {
      font-size: 27px;
      line-height: 27px; }
    .socList li + li {
      margin-left: 15px; }

  .certificateModal .modal__close,
  .reviewModal .modal__close {
    width: 28px;
    height: 28px; }
    .certificateModal .modal__close [class*="icon"],
    .reviewModal .modal__close [class*="icon"] {
      font-size: 28px;
      line-height: 28px; }

  .teamModal .modal__close {
    width: 28px;
    height: 28px; }
    .teamModal .modal__close [class*="icon"] {
      font-size: 28px;
      line-height: 28px; }
  .teamModal .image {
    width: 230px;
    height: 160px;
    border-radius: 50px; }
  .teamModal .content {
    width: calc(100% - 242px);
    padding-bottom: 21px; }
    .teamModal .content .name {
      font-size: 30px; }
    .teamModal .content .info {
      -webkit-columns: unset;
      -moz-columns: unset;
      columns: unset; }
    .teamModal .content p + p {
      margin-top: 20px; }
    .teamModal .content .experience {
      margin-top: 20px; }

  .errorPage .back1 {
    width: 200px;
    height: auto;
    margin-right: -400px; }
  .errorPage .back2 {
    width: 200px;
    height: auto;
    bottom: -60px;
    margin-left: -350px; }

  .formMessage {
    max-width: 600px; }
    .formMessage .icon {
      width: 120px; }
    .formMessage .text {
      font-size: 24px; } }
@media (max-width: 767px) {
  .container {
    max-width: 480px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px; }

  .header {
    padding-top: 16px;
    padding-bottom: 16px; }

  .siteLogo {
    width: 100px; }

  .mobileMenu .inner {
    max-width: 480px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 58px; }
  .mobileMenu .topBlock {
    padding-top: 16px;
    padding-bottom: 16px; }

  .siteMenu {
    padding-top: 24px; }

  .isoLink {
    top: 185px; }

  .startScreen {
    padding-top: 44px; }
    .startScreen .back {
      width: 383px;
      top: -37px;
      margin-left: -182px;
      max-width: unset; }
    .startScreen .docs {
      top: 185px;
      margin-left: -172px;
      transform: rotate(-18deg) scale(0.64); }
    .startScreen .cards {
      top: 220px;
      margin-right: -160px;
      transform: rotate(-44deg) scale(0.62);
      z-index: -2; }
    .startScreen .circle {
      bottom: 200px;
      margin-left: -57px;
      width: 114px;
      height: auto; }
    .startScreen .titleContainer .underline1 {
      width: 250px;
      top: calc(100% - 0px);
      margin-right: -130px; }
    .startScreen .titleContainer .underline2 {
      width: 152px;
      top: calc(100% + 10px);
      margin-right: -119px; }
    .startScreen .titleContainer + .contentContainer {
      margin-top: 40px; }
    .startScreen .text {
      font-size: 16px; }
      .startScreen .text .underline3 {
        width: 144px;
        margin-right: -70px; }
    .startScreen .buttons {
      margin-top: 320px;
      flex-direction: column; }
    .startScreen .button + .button {
      margin-left: 0px;
      margin-top: 20px; }

  .advantagesSection {
    margin-top: 84px; }

  .advantagesList {
    display: block; }
    .advantagesList .item {
      min-height: 199px; }
      .advantagesList .item + .item {
        margin-top: 32px; }
    .advantagesList .title {
      font-size: 24px; }

  .siteSection {
    margin-top: 90px; }
    .siteSection .titleContainer {
      flex-direction: column;
      align-items: flex-start; }
      .siteSection .titleContainer .info {
        margin-left: 0px;
        margin-top: 32px; }
      .siteSection .titleContainer + .contentContainer {
        margin-top: 50px; }
    .siteSection .sectionWrapper {
      display: block; }
    .siteSection .buttonContainer {
      margin-top: 50px;
      display: flex;
      justify-content: center; }

  .featuresSection .exclamation1 {
    left: calc(100% + 11px);
    top: -6px;
    width: 7px; }
  .featuresSection .exclamation2 {
    left: calc(100% + 26px);
    top: -14px;
    width: 8px; }
  .featuresSection .backEl1 {
    top: -119px;
    margin-right: -214px;
    width: 165px; }

  .featuresList {
    display: block; }
    .featuresList .item + .item {
      margin-top: 16px; }

  .featureCard {
    padding: 20px;
    min-height: 370px;
    border-radius: 32px; }
    .featureCard .cardIcon {
      width: 38px;
      height: 38px; }
    .featureCard .title > * {
      font-size: 32px; }
    .featureCard .titleBlock + .contentBlock {
      margin-top: 25px; }
    .featureCard .contentBlock p {
      font-size: 14px; }

  .featureChart1 .chart {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto; }
  .featureChart1 .param {
    margin-top: -18px;
    font-size: 18px;
    line-height: 18px; }
  .featureChart1 .legend {
    margin-top: 20px;
    font-size: 11px; }

  .featureChart2 .steps {
    font-size: 18px;
    line-height: 18px; }
    .featureChart2 .steps li {
      min-width: 71px;
      padding-left: 5px;
      padding-right: 5px; }
  .featureChart2 .chart {
    margin-top: 12px; }
    .featureChart2 .chart .el {
      min-height: 14px; }

  .featureChart3 svg {
    width: 174px; }

  .workSection .backEl2 {
    top: -142px;
    margin-right: -203px;
    width: 165px;
    height: auto; }
  .workSection .backEl3 {
    bottom: -85px;
    margin-left: -215px;
    width: 145px;
    height: auto; }
  .workSection .titleContainer {
    max-width: 100%; }
  .workSection .title {
    margin-top: 0px;
    font-size: 38px; }
    .workSection .title .underline5 {
      width: 225px;
      top: calc(100% + 3px);
      right: 50%;
      margin-right: -150px; }
  .workSection .highlight1 .underline4 {
    width: 145px;
    top: -6px;
    left: -17px; }
  .workSection .button {
    margin-top: 50px; }
  .workSection .circle {
    top: calc(100% - 28px);
    right: -50px;
    width: 117px; }

  .pathSection .backEl4 {
    display: none; }
  .pathSection .rightSide {
    max-width: unset;
    width: 100%;
    margin-top: 38px;
    margin-right: 0px; }
    .pathSection .rightSide .back {
      display: none; }
      
  .pathSection .title .underline6 {
    width: 262px; }
    
  .pathSection .info {
    max-width: unset;
    font-size: 14px; }



  .pathOptions .size {
    min-width: 153px;
    margin-left: 20px;
  }
  
  
  
    .pathOptions .size li + li {
      margin-top: 13px;
    }
    
  .btnType .label {
    padding-top: 10px;
    padding-bottom: 10px; }

  .btnSize .label {
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.02em; }

  .stepItem {
    padding: 20px;
    min-height: 274px;
    border-radius: 32px; }
    .stepItem::before {
      height: 51px; }
    .stepItem .title {
      font-size: 36px; }
    .stepItem .content {
      margin-top: 24px;
      font-size: 14px; }
    .stepItem .control .name {
      font-size: 36px; }
    .stepItem .control .num {
      width: 38px;
      height: 38px;
      font-size: 36px; }
    .stepItem + .stepItem {
      margin-top: -207px; }

  .infoSection .backEl5 {
    top: -41px;
    margin-right: -180px;
    width: 130px; }
  .infoSection .backEl6 {
    bottom: -180px;
    margin-right: 60px;
    width: 130px; }
  .infoSection .title .exclamation3 {
    top: -5px;
    right: calc(100% + 7px);
    width: 8px; }
  .infoSection .title .underline7 {
    top: calc(100% - 0px);
    left: 12px;
    width: 168px;
    max-width: unset; }
  .infoSection .cardsGrid {
    overflow: auto;
    margin-left: calc((100vw - 440px) / -2);
    margin-right: calc((100vw - 440px) / -2);
    padding-left: calc((100vw - 440px) / 2);
    padding-right: calc((100vw - 440px) / 2); } }
  @media (max-width: 767px) and (max-width: 479px) {
    .infoSection .cardsGrid {
      margin-left: -20px;
      margin-right: -20px;
      padding-left: 20px;
      padding-right: 20px; } }

@media (max-width: 767px) {
  .cardsGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px; }
    .cardsGrid .item {
      width: 310px; }

  .infoCard {
    padding: 26px 20px; }
    .infoCard .subtitle {
      font-size: 18px; }
    .infoCard .cardIcon {
      position: static;
      width: 34px;
      height: 34px; }
      .infoCard .cardIcon svg {
        width: 15px; }
    .infoCard .title {
      font-size: 30px; }
    .infoCard .contentBlock {
      font-size: 14px; }
    .infoCard .img,
    .infoCard .circle {
      display: none; }

  .statSection .backEl7 {
    bottom: -144px;
    margin-left: -211px;
    width: 165px; }
  .statSection .underline8 {
    width: 120px;
    top: 100%;
    right: -1px; }
  .statSection .underline9 {
    width: 123px;
    top: calc(100% + 7px);
    right: -25px; }

  .mapBlock {
    padding-top: 328px;
    margin-left: -20px;
    margin-right: -20px; }
    .mapBlock .back {
      max-width: unset;
      width: auto;
      height: 312px;
      left: -168px; }
    .mapBlock .grid {
      max-width: 100%;
      padding-left: 20px;
      padding-right: 20px;
      gap: 9px; }
    .mapBlock .item {
      padding: 20px; }
      .mapBlock .item .num {
        font-size: 64px; }
    .mapBlock .info .contentBlock {
      font-size: 14px; }
    .mapBlock .title {
      font-size: 18px; }
    .mapBlock .cardIcon {
      width: 48px;
      height: 48px; }
      .mapBlock .cardIcon svg {
        width: 30px; }

  .highlight2 .underline10 {
    width: 142px;
    left: 0px;
    top: 0px; }

  .advantageInfoSection .backEl8 {
    top: 19px;
    margin-right: -217px;
    width: 125px; }
  .advantageInfoSection .backEl9 {
    top: calc(100% - 30px);
    margin-right: -220px;
    width: 200px; }
  .advantageInfoSection .cardsGrid {
    display: block;
    margin: 0px; }
    .advantageInfoSection .cardsGrid .item {
      margin: 0px;
      max-width: 100% !important;
      width: 100%; }
      .advantageInfoSection .cardsGrid .item + .item {
        margin-top: 16px; }

  .advantageCard {
    padding-bottom: 30px; }
    .advantageCard.withBack {
      background-size: 392px auto;
      background-position: -22px 32px; }
    .advantageCard .subtitle {
      margin-bottom: 32px;
      max-width: unset;
      font-size: 14px; }
    .advantageCard .logos {
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 21px; }
      .advantageCard .logos li + li {
        margin-left: 0px; }
      .advantageCard .logos img {
        height: 56px; }
    .advantageCard .stats {
      margin-top: 8px; }
      .advantageCard .stats .num {
        font-size: 64px; }
    .advantageCard .list {
      margin-top: 8px;
      padding-bottom: 0px;
      font-size: 14px; }
      .advantageCard .list ul {
        -webkit-columns: unset;
        -moz-columns: unset;
        columns: unset; }
        .advantageCard .list ul li + li {
          margin-top: 8px; }

  .termsChart {
    margin-top: 8px; }
    .termsChart .chart {
      max-width: 148px; }
    .termsChart [class*=line] {
      height: 27px; }

  .reviewSection {
    margin-top: 100px; }
    .reviewSection .backEl10 {
      top: calc(100% - 9px);
      margin-right: -181px;
      width: 155px; }
    .reviewSection .titleContainer + .contentContainer {
      margin-top: 32px; }
    .reviewSection .title .underline11 {
      left: -3px;
      top: -9px;
      width: 181px; }

  .reviewSliderWrapper {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 42px;
    padding-bottom: 33px;
    border-radius: 0px; }

  .reviewSlider {
    width: 100%; }
    .reviewSlider .swiper-navigation {
      padding: 0px 20px;
      margin-top: 22px; }

  .reviewSlide .content {
    font-size: 14px; }
  .reviewSlide .author {
    margin-top: 32px; }
  .reviewSlide .name {
    font-size: 14px; }
  .reviewSlide .position {
    font-size: 14px; }

  .teamSection .backEl11 {
    display: block;
    top: calc(100% - 35px);
    margin-left: -203px;
    width: 160px;
    height: auto; }
  .teamSection .title .underline12 {
    width: 157px;
    top: calc(100% + 5px); }

  .teamList {
    display: block; }
    .teamList .item + .item {
      margin-top: 32px; }

  .teamCard .image {
    aspect-ratio: 1.45;
    min-height: 221px;
    width: 100%;
    height: auto;
    border-radius: 50px; }

  .feedbackSection {
    margin-left: -20px;
    margin-right: -20px;
    padding: 20px 20px 30px;
    border-radius: 30px;
    background-position: -7px 238px;
    background-size: 415px auto; }
    .feedbackSection .titleContainer + .contentContainer {
      margin-top: 32px; }
    .feedbackSection .img {
      display: block;
      width: 130px;
      height: auto;
      top: auto;
      right: -45px;
      bottom: -31px; }

  .formMessage {
    max-width: calc(100% - 40px); }
    .formMessage .icon {
      width: 100px; }
    .formMessage .text {
      margin-top: 32px;
      font-size: 21px; }

  .feedbackForm .fieldsGrid {
    display: block; }
  .feedbackForm .fieldItem + .fieldItem {
    margin-top: 20px; }
  .feedbackForm .buttons {
    display: block; }
    .feedbackForm .buttons .submit {
      margin-top: 18px; }

  .inputBlock label {
    font-size: 14px; }
  .inputBlock input,
  .inputBlock textarea {
    font-size: 16px; }
  .inputBlock textarea {
    min-height: 137px; }

  .faqSection .backEl12 {
    top: 30px;
    margin-right: -200px;
    width: 185px; }
  .faqSection .backEl13 {
    bottom: -118px;
    margin-left: -180px;
    width: 160px; }
  .faqSection .buttonContainer {
    margin-top: 55px; }

  .highlight3 .underline13 {
    width: 195px; }

  .faqItem .title {
    width: calc(100% - 40px);
    font-size: 24px; }

  .footer {
    padding-bottom: 60px; }
    .footer .container {
      max-width: 480px;
      width: 100%; }
    .footer .footerImg {
      width: 320px; }
    .footer .wrapper {
      display: block; }
    .footer .footerLinks {
      margin-top: 38px; }

  .footerInfo {
    max-width: 100%;
    margin-top: 37px; }

  .footerMenu {
    flex-wrap: wrap; }
    .footerMenu li {
      margin-right: 30px;
      margin-bottom: 9px; }
      .footerMenu li a {
        font-size: 14px; }
      .footerMenu li + li {
        margin-left: 0px; }

  .footerContacts {
    display: block;
    margin-top: 30px; }
    .footerContacts .location ul {
      font-size: 14px; }
    .footerContacts .socials {
      margin-top: 30px; }
    .footerContacts .logo {
      margin-top: 40px;
      width: 148px; }

  .socList {
    justify-content: flex-start; }
    .socList li a [class*=icon] {
      font-size: 36px;
      line-height: 36px; }
    .socList li + li {
      margin-left: 20px; }

  .footerLinks ul {
    justify-content: space-between; }
    .footerLinks ul li + li {
      margin-left: 25px; }

  .certificateModal .modal__close {
    top: 20px;
    right: 20px; }

  .teamModal {
    padding-top: 28px;
    padding-bottom: 20px; }
    .teamModal .modal__close {
      top: 20px;
      right: 20px; }
    .teamModal .wrapper {
      flex-direction: column; }
    .teamModal .image {
      width: 100%;
      min-height: 221px;
      height: auto;
      aspect-ratio: 1.45; }
    .teamModal .content {
      margin-top: 17px;
      width: 100%;
      padding: 20px; }
      .teamModal .content .name {
        font-size: 24px; }
      .teamModal .content .info {
        margin-top: 24px; }
      .teamModal .content p + p {
        margin-top: 16px; }
      .teamModal .content .experience {
        margin-top: 24px; }

  .errorPage {
    padding-top: 106px;
    font-size: 16px; }
    .errorPage .back1 {
      width: 130px;
      top: -5px;
      margin-right: -206px; }
    .errorPage .back2 {
      width: 160px;
      bottom: -132px;
      margin-left: -192px; }
    .errorPage .code {
      font-size: 130px; }
    .errorPage p {
      margin-top: 20px; }
    .errorPage .button {
      margin-top: 40px; }

  .reviewModalOverlay {
    overflow: auto;
    align-items: flex-start; }

  .reviewModal {
    max-height: unset;
    height: auto;
    margin: auto;
    padding: 20px 0px 20px;
    overflow: visible; }
    .reviewModal .headBlock {
      padding: 0px 20px; }
    .reviewModal .author {
      display: flex;
      align-items: center; }
      .reviewModal .author .data {
        font-size: 14px; }
    .reviewModal .contentBlock {
      margin-top: 32px;
      margin-right: 0px;
      padding: 0px 20px;
      overflow-x: visible; }
      .reviewModal .contentBlock::before {
        display: none; }
  @-moz-document url-prefix() {
    .reviewModal .contentBlock {
      scrollbar-width: none; } }
      .reviewModal .contentBlock::-webkit-scrollbar {
        display: none; }
      .reviewModal .contentBlock p + p {
        margin-top: 22px; }
    .reviewModal .button {
      display: flex;
      justify-content: center;
      margin-top: 32px; } }

/*# sourceMappingURL=style.css.map */
