.container {
  main {
    .hero {
      padding: 120px 0 80px;

      .hero-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        overflow: hidden;

        .hero-wrapper-left {
          display: flex;
          flex-direction: column;
          gap: 1.6vw;
          animation: heroLeftToRight 2s;

          .hero-badge {
            width: fit-content;
            font-size: 0.8vw;
            text-transform: uppercase;
            color: #34D07B;
            font-weight: 500;
            padding: 0.4vw 1.1vw;
            background: #34D07B26;
            border-radius: 100px;
          }

          .hero-title {
            font-size: 3.8vw;
            letter-spacing: -0.01em;
            text-transform: uppercase;
            color: #1A1A1A;
            line-height: 129%;
            max-width: 52vw;

            .mobile-text {
              display: none;
            }
          }

          .hero-subtitle {
            font-size: 1.3vw;
            color: #666666;
            line-height: 160%;
            max-width: 35vw;
          }

          .hero-wrapper-left-actions {
            display: flex;
            align-items: center;
            gap: 1.1vw;

            button {
              cursor: pointer;
              font-size: 1vw;
              border-radius: 100px;
              padding: 1.1vw 2.2vw;
              font-weight: 700;
              border: 0;
              text-transform: uppercase;
            }

            .hero-actions-dwnl {
              display: block;
              cursor: pointer;
              font-size: 1vw;
              border-radius: 100px;
              padding: 1.1vw 2.2vw;
              font-weight: 700;
              border: 0;
              text-decoration: none;
              text-align: center;
              text-transform: uppercase;
              color: #1A1A1A;
              background: #34D07B;
              transition: background 0.5s, color 0.5s;

              &:hover {
                background: #1A1A1A;
                color: #34D07B;
              }
            }

            .hero-actions-how {
              background: none;
              border: 1.5px solid #E0E0E0;
              padding: 1.1vw 2.2vw;
              color: #666666;
              transition: border 0.5s, color 0.5s;
              text-align: center;
              text-decoration: none;
              border-radius: 100px;
              text-transform: uppercase;
              font-weight: 700;
              font-size: 1vw;

              &:hover {
                border: 1.5px solid #34D07B;
                color: #34D07B;
              }
            }
          }

          .hero-desc {
            font-size: 1vw;
            line-height: 157%;
            color: #99999999;
          }
        }

        .hero-wrapper-right {
          list-style: none;
          margin: auto;
          display: flex;
          align-items: center;


          .hero-wrapper-right-item {
            position: relative;
            z-index: 3;
            animation: heroImgUp 3s;
            width: 16vw;

            img {
              width: 100%;
            }
          }

          .hero-wrapper-right-item--small {
            width: 13vw;
            z-index: -1;
          }

          .hero-wrapper-right-item--left {
            margin-right: -40px;
            opacity: 0;
            animation: heroSmallImgLeft 2s 3s forwards;
          }

          .hero-wrapper-right-item--right {
            margin-left: -40px;
            opacity: 0;
            animation: heroSmallImgRight 2s 3s forwards;
          }
        }
      }

      .hero-stats {
        padding: 3.4vw 0 5.6vw;
        display: flex;
        align-items: center;
        justify-content: center;

        .hero-stats-list {
          display: flex;
          list-style: none;

          .hero-stats-item {
            text-align: center;
            padding: 0 2.5vw;

            .hero-stats-value {
              font-weight: 700;
              font-size: 2.2vw;
            }

            .hero-stats-context {
              font-size: 0.8vw;
              text-transform: uppercase;
              color: #666666;
            }

            &:nth-child(2) {
              border-left: 1px solid #E0E0E0;
              border-right: 1px solid #E0E0E0;
            }
          }
        }
      }
    }

    .advantages {
      margin: 0 -8vw;
      padding: 4.1vw 8vw;
      background: #F0F0F0;
      scroll-margin-top: 80px;

      .advantages-title {
        font-size: 2.2vw;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        color: #1A1A1A;
        line-height: 125%;
      }

      .advantages-subtitle {
        margin: 0.8vw 0 2vw;
        font-size: 1.1vw;
        color: #666666;
        line-height: 163%;

        .mobile-text {
          display: none;
        }
      }

      .advantages-list {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1.3vw;
        list-style: none;

        .advantages-item {
          padding: 2.2vw 1.6vw 1.6vw;
          background: #FFFFFF;
          border-radius: 1.3vw;

          .advantages-item-top {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 1.6vw;

            img {
              padding: 0.7vw;
              background: #34D07B26;
              border-radius: 0.8vw;
              width: 10%;
            }

            .advantages-item-title {
              font-size: 1.25vw;
              line-height: 133%;
              text-transform: uppercase;
              color: #1A1A1A;
            }
          }

          .advantages-item-subtitle {
            line-height: 157%;
            font-size: 0.9vw;
            color: #666666;
          }
        }
      }

      .advantages-link {
        margin-top: 2.2vw;
        width: fit-content;
        display: block;
        border-radius: 6.9vw;
        font-size: 0.9vw;
        color: #34D07B;
        font-weight: 500;
        text-transform: uppercase;
        text-decoration: none;
        padding: 1.1vw 2.2vw;
        background: #34D07B26;
        transition: background 1s, color 1s;

        &:hover {
          background: #1A1A1A;
          color: #34D07B;
        }
      }
    }

    .coach {
      padding: 10vw 0;

      .coach-title {
        font-size: 2.2vw;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        color: #1A1A1A;
        line-height: 125%;
      }

      .coach-subtitle {
        margin: 0.8vw 0 2.2vw;
        font-size: 1.1vw;
        color: #666666;
        line-height: 163%;

        .mobile-text {
          display: none;
        }
      }

      .coach-list {
        display: flex;
        gap: 3.3vw;
        margin: 2.9vw 0;

        .coach-item {
          display: flex;
          flex: 1;
          align-items: center;
          gap: 0.5vw;

          img {
            padding: 0.7vw;
            background: #34D07B26;
            border-radius: 0.8vw;
            width: 14%;
          }

          strong {
            font-size: 0.9vw;

            .mobile-text {
              display: none;
            }
          }
        }
      }

      .banner {
        padding: 1.9vw;
        background: #34D07B1a;
        border-radius: 1.3vw;

        h2 {
          font-size: 1.25vw;
          line-height: 133%;
          text-transform: uppercase;
          color: #1A1A1A;
          margin-bottom: 0.8vw;

          .mobile-text {
            display: none;
          }
        }

        p {
          line-height: 157%;
          font-size: 0.9vw;
          color: #666666;
        }
      }

      .coach-link {
        margin-top: 2.2vw;
        width: fit-content;
        display: block;
        border-radius: 100px;
        font-size: 0.9vw;
        color: #34D07B;
        font-weight: 500;
        text-transform: uppercase;
        text-decoration: none;
        padding: 1.1vw 2.2vw;
        background: #34D07B26;
        transition: background 1s, color 1s;

        &:hover {
          background: #1A1A1A;
          color: #34D07B;
        }
      }
    }

    .gamefication {
      margin: 0 -8vw;
      padding: 4.1vw 8vw;
      background: #F0F0F0;

      .gamefication-title {
        font-size: 2.2vw;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        color: #1A1A1A;
        line-height: 125%;
      }

      .gamefication-subtitle {
        margin: 0.8vw 0;
        font-size: 1.1vw;
        color: #666666;
        line-height: 163%;
      }

      .gamefication-list {
        display: flex;
        gap: 3.3vw;
        margin: 2.9vw 0;

        .gamefication-item {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 0.8vw;

          img {
            padding: 0.7vw;
            background: #34D07B26;
            border-radius: 0.8vw;
          }

          strong {
            font-size: 0.9vw;
          }
        }
      }

      .banner {
        padding: 1.9vw;
        background: #1A1A1A;
        border-radius: 20px;

        .banner-badge {
          font-size: 0.7vw;
          font-weight: 500;
          text-transform: uppercase;
          color: #34D07B;
          background: #34D07B26;
          border-radius: 100px;
          padding: 6px 12px;
          width: fit-content;
        }

        h2 {
          font-size: 1.25vw;
          line-height: 133%;
          text-transform: uppercase;
          color: #FFFFFF;
          margin: 12px 0;
        }

        p {
          line-height: 157%;
          font-size: 0.9vw;
          color: #FFFFFF99;
        }
      }

      .gamefication-link {
        margin-top: 2.2vw;
        width: fit-content;
        display: block;
        border-radius: 100px;
        font-size: 0.9vw;
        color: #34D07B;
        font-weight: 500;
        text-transform: uppercase;
        text-decoration: none;
        padding: 1.1vw 2.2vw;
        background: #34D07B26;
        transition: background 1s, color 1s;

        &:hover {
          background: #1A1A1A;
          color: #34D07B;
        }
      }
    }

    .tarifs {
      padding: 4.1vw 0;

      .tarifs-title {
        font-size: 2.2vw;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        color: #1A1A1A;
        line-height: 125%;
      }

      .tarifs-subtitle {
        margin: 1.1vw 0 2.2vw;
        font-size: 1.1vw;
        color: #666666;
        line-height: 163%;
      }

      .tarifs-list {
        display: flex;
        align-items: stretch;
        gap: 1.3vw;
        list-style: none;

        .tarifs-item {
          padding: 1.9vw;
          max-width: 22vw;
          border-radius: 1.3vw;

          .tarifs-item-badge {
            width: fit-content;
            padding: 0.4vw 0.8vw;
            background: #34D07B;
            border-radius: 6.9vw;
            font-size: 0.7vw;
            color: #1A1A1A;
            margin-bottom: 0.8vw;
          }

          .tarifs-item-title {
            font-size: 1.3vw;
            text-transform: uppercase;
            color: #1A1A1A;
          }

          .tarifs-item-cost {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0.8vw 0;
            font-size: 2.2vw;
            color: #34D07B;
            line-height: 125%;
            text-transform: uppercase;

            span {
              font-size: 0.9vw;
              color: #666666;
              line-height: 143%;
              text-transform: lowercase;
              font-weight: 400;
            }
          }

          .tarifs-item-desc {
            border-top: 1px solid #E0E0E0;
            padding-top: 0.8vw;
            font-size: 0.9vw;
            color: #666666;
            line-height: 157%;
          }
        }

        .tarifs-item--grey {
          background: #F0F0F0;
        }

        .tarifs-item--white {
          background: transparent;
          border: 2px solid #34D07B;
        }

        .tarifs-item--black {
          background: #1A1A1A;

          .tarifs-item-badge {
            color: #34d07b;
            background: #34D07B33;
          }

          .tarifs-item-title {
            color: #FFFFFF;
          }

          .tarifs-item-cost {
            span {
              color: #999999;
            }
          }

          .tarifs-item-desc {
            border-top: 1px solid #44444445;
            color: #999999;
          }
        }
      }

      .tarifs-link {
        margin-top: 2.2vw;
        width: fit-content;
        display: block;
        border-radius: 100px;
        font-size: 0.9vw;
        color: #34D07B;
        font-weight: 500;
        text-transform: uppercase;
        text-decoration: none;
        padding: 1.1vw 2.2vw;
        background: #34D07B26;
        transition: background 1s, color 1s;

        &:hover {
          background: #1A1A1A;
          color: #34D07B;
        }
      }
    }
  }
}

@keyframes heroImgUp {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes heroLeftToRight {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(0);
    border-left: 0;
  }
}

@keyframes heroSmallImgLeft {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes heroSmallImgRight {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (max-width: 768px) {
  .container {
    main {
      .hero {
        padding: 10.5vw 0 0;

        .hero-wrapper {
          display: flex;
          flex-direction: column;
          justify-content: flex-start;
          align-items: flex-start;

          .hero-wrapper-left {
            animation: unset;
            gap: 4.2vw;

            .hero-badge {
              font-size: 2.9vw;
              padding: 1.4vw 3.2vw;
            }

            .hero-title {
              font-size: 8.5vw;
              line-height: 125%;
              max-width: unset;

              .desktop-text {
                display: none;
              }

              .mobile-text {
                display: block;
              }
            }

            .hero-subtitle {
              font-size: 3.7vw;
              max-width: unset;
            }

            .hero-wrapper-left-actions {
              flex-direction: column;
              align-items: flex-start;
              margin-top: 4.2vw;

              .hero-actions-dwnl {
                font-size: 3.7vw;
                padding: 3.8vw 4.8vw;
                width: 70%;
              }

              .hero-actions-how {
                font-size: 3.7vw;
                padding: 3.8vw 0;
                width: 70%;
              }
            }

            .hero-desc {
              font-size: 3.2vw;
            }
          }

          .hero-wrapper-right {
            list-style: none;
            width: 100%;
            margin: 0;
            margin-top: 32px;
            padding: 0;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            scrollbar-width: none;
            -webkit-overflow-scrolling: touch;
            animation: unset;
            gap: 16px;

            &::-webkit-scrollbar {
              display: none;
            }

            .hero-wrapper-right-item {
              display: flex;
              align-items: center;
              justify-content: center;
              box-sizing: border-box;
              max-width: none;
              animation: unset;
              flex: 0 0 100%;
              align-self: center;
              padding: 0;

              scroll-snap-align: center;
              scroll-snap-stop: always;

              img {
                width: 60%;
              }
            }

            .hero-wrapper-right-item--small {
              opacity: 1;
              flex: 0 0 100%;
            }

            .hero-wrapper-right-item--left {
              margin-right: unset;
            }

            .hero-wrapper-right-item--right {
              margin-left: unset;
            }
          }
        }

        .hero-stats {
          padding: 8.5vw 0 9vw;

          .hero-stats-list {
            .hero-stats-item {
              .hero-stats-value {
                font-size: 4.8vw;
              }

              .hero-stats-context {
                font-size: 2.9vw;
              }

              &:nth-child(2) {
                border: 0;
              }
            }
          }
        }
      }

      .advantages {
        padding: 10.65vw 5.3vw;
        margin: 0 -5vw;

        .advantages-title {
          font-size: 6.4vw;
        }

        .advantages-subtitle {
          font-size: 3.7vw;

          .desktop-text {
            display: none;
          }

          .mobile-text {
            display: block;
          }
        }

        .advantages-list {
          flex-direction: column;
          gap: 3.2vw;

          .advantages-item {
            padding: 5.3vw;

            .advantages-item-top {
              img {
                padding: 1.6vw 1.6vw;
                border-radius: 2.6vw;
              }

              .advantages-item-title {
                font-size: 4.2vw;
              }
            }

            .advantages-item-subtitle {
              font-size: 3.4vw;
            }
          }
        }

        .advantages-link {
          margin-top: 8.5vw;
          padding: 3.7vw 7.4vw;
          font-size: 3.7vw;
        }
      }

      .coach {
        .coach-title {
          font-size: 6.4vw;
        }

        .coach-subtitle {
          font-size: 3.7vw;
          margin: 2.1vw 0 6.2vw;

          .desktop-text {
            display: none;
          }

          .mobile-text {
            display: block;
          }
        }

        .coach-list {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          align-items: flex-start;
          gap: 3.2vw;
          margin: 6.4vw 0;

          .coach-item {
            justify-content: flex-start;
            gap: 2.6vw;

            img {
              width: unset;
              padding: 2vw 2vw;
              border-radius: 1.8vw;
            }

            strong {
              font-size: 2.6vw;

              .desktop-text {
                display: none;
              }

              .mobile-text {
                display: block;
              }
            }
          }
        }

        .banner {
          padding: 4.8vw;
          border-radius: 2.3vw;

          h2 {
            font-size: 4.2vw;

            .desktop-text {
              display: none;
            }

            .mobile-text {
              display: block;
            }
          }

          p {
            font-size: 3.4vw;
          }
        }

        .coach-link {
          padding: 3.7vw 7.4vw;
          font-size: 3.7vw;
          margin-top: 6.4vw;
        }
      }

      .gamefication {
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
        padding: 10.65vw 8vw;

        .gamefication-title {
          font-size: 6.4vw;
          margin-bottom: -5vw;
        }

        .gamefication-subtitle {
          margin: 0;
          font-size: 3.7vw;
        }

        .gamefication-list {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          align-items: flex-start;
          gap: 3.2vw;

          .gamefication-item {
            gap: 2.6vw;
            justify-content: flex-start;

            img {
              width: unset;
              padding: 2vw 2vw;
              border-radius: 2.8vw;
            }

            strong {
              font-size: 2.6vw;

              .desktop-text {
                display: none;
              }

              .mobile-text {
                display: block;
              }
            }
          }
        }

        .banner {
          padding: 4vw 4.6vw;

          .banner-badge {
            font-size: 2.6vw;
            font-weight: 500;
          }

          h2 {
            font-size: 4.2vw;
          }

          p {
            font-size: 3.4vw;
          }
        }

        .gamefication-link {
          padding: 3.7vw 7.4vw;
          font-size: 3.7vw;
        }
      }

      .tarifs {
        display: flex;
        flex-direction: column;
        gap: 6.4vw;
        padding: 10.65vw 0;

        .tarifs-title {
          font-size: 6.4vw;
          margin-bottom: -5vw;
        }

        .tarifs-subtitle {
          font-size: 3.7vw;
        }

        .tarifs-list {
          flex-direction: column;
          gap: 4.2vw;

          .tarifs-item {
            max-width: unset;
            padding: 5.3vw;

            .tarifs-item-badge {
              font-size: 3.4vw;
              padding: 1.2vw 1.4vw;
            }

            .tarifs-item-title {
              font-size: 4.8vw;
            }

            .tarifs-item-cost {
              font-size: 7.4vw;

              span {
                font-size: 3.4vw;
              }
            }

            .tarifs-item-desc {
              font-size: 3.4vw;
            }
          }
        }

        .tarifs-link {
          padding: 3.7vw 7.4vw;
          font-size: 3.7vw;
        }
      }
    }
  }
}

.container main .seo-main {
  width: 100%;
  padding: clamp(24px, 3vw, 56px) 0 0;
}

.container main .seo-main-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  padding: clamp(28px, 3.2vw, 72px);
  border-radius: clamp(24px, 2vw, 44px);
  background: #f6f8fb;
  overflow: hidden;
}

.container main .seo-main-head {
  display: grid;
  gap: clamp(12px, 1vw, 18px);
  max-width: 1180px;
  margin-bottom: clamp(22px, 2vw, 36px);
}

.container main .seo-main-badge {
  width: fit-content;
  margin: 0;
  padding: clamp(7px, 0.55vw, 12px) clamp(14px, 1.2vw, 24px);
  border-radius: 999px;
  background: #34d07b26;
  color: #34d07b;
  font-size: clamp(12px, 0.75vw, 16px);
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
}

.container main .seo-main-title {
  margin: 0;
  max-width: 1180px;
  color: #151515;
  font-size: clamp(26px, 2.35vw, 52px);
  line-height: 1.12;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.container main .seo-main-text {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 1.8vw, 34px) clamp(24px, 3vw, 64px);
  max-width: 1440px;
}

.container main .seo-main-text p {
  margin: 0;
  color: #4b5563;
  font-size: clamp(15px, 0.95vw, 19px);
  line-height: 1.72;
}

@media (min-width: 1800px) {
  .container main .seo-main-wrapper {
    max-width: 1760px;
  }

  .container main .seo-main-text {
    max-width: 1560px;
  }
}

@media (max-width: 1024px) {
  .container main .seo-main-text {
    grid-template-columns: 1fr;
    max-width: 820px;
  }
}

@media (max-width: 768px) {
  .container main .seo-main {
    padding-top: 24px;
  }

  .container main .seo-main-wrapper {
    padding: 28px 20px;
    border-radius: 28px;
  }

  .container main .seo-main-head {
    gap: 12px;
    margin-bottom: 20px;
  }

  .container main .seo-main-badge {
    padding: 8px 14px;
    font-size: 11px;
  }

  .container main .seo-main-title {
    font-size: 24px;
    line-height: 1.22;
    letter-spacing: -0.03em;
  }

  .container main .seo-main-text {
    gap: 14px;
  }

  .container main .seo-main-text p {
    font-size: 14px;
    line-height: 1.65;
  }
}