.desktop {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  position: relative;
  background-color: #ffffff;
}

/* Общий контейнер: центрирует контент внутри секции.
   display: flex column добавлен, чтобы заголовок и контент стекались по вертикали. */
.desktop .container {
  width: 85%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
  box-sizing: border-box;
}

.desktop .hero {
  position: relative;
  background-color: #ffffff;
  box-sizing: border-box;
  overflow: hidden;
  padding-bottom: 20px;
}

/* контент и визуал лежат в одной ячейке грида,
   за счёт чего визуал естественно перекрывает текст справа */
.desktop .hero-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  margin-left: 7.5%;
}

.desktop .hero-container > .hero-content,
.desktop .hero-container > .hero-visual {
  grid-column: 1;
  grid-row: 1;
}
.desktop .hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 3;
  width: 85%;
  margin: 20px auto 0;
}

.desktop .group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.desktop .group .element {
  width: 51px;
  height: 65px;
  flex-shrink: 0;
}

.desktop .text-wrapper-3 {
  font-family: "BBH Sans Hegarty", Helvetica;
  font-weight: 400;
  color: #202020;
  font-size: 34.1px;
  line-height: 1;
  letter-spacing: 0;
}

.desktop .navbar {
  display: flex;
  align-items: center;
  gap: 33px;
}

.desktop .text-wrapper-4,
.desktop .text-wrapper-5,
.desktop .text-wrapper-6,
.desktop .text-wrapper-7,
.desktop .text-wrapper-8,
.desktop .text-wrapper-9 {
  font-family: "SF Pro Display-Medium", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.desktop .img {
  width: 43px;
  height: 43px;
  flex-shrink: 0;
}

.desktop .hero-content {
  position: relative;
  z-index: 2;
  justify-self: start;
  max-width: 605px;
}

.desktop .p {
  margin: 0;
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  font-size: 50px;
  line-height: 53px;
  color: #202020;
  letter-spacing: 0;
}

.desktop .text-wrapper-2 {
  margin: 36px 0 0;
  width: 541px;
  font-family: "SF Pro Display-Medium", Helvetica;
  font-weight: 500;
  color: #202020;
  font-size: 22.5px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .hero-buttons {
  display: flex;
  gap: 21px;
  margin-top: 42px;
}

.desktop .frame,
.desktop .div-wrapper {
  width: 260px;
  height: 55px;
  border-radius: 11.81px;
  padding: 0 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12.92px;
  box-sizing: border-box;
}

.desktop .frame {
  background: linear-gradient(
    90deg,
    rgba(80, 79, 157, 1) 0%,
    rgba(135, 133, 245, 1) 53%,
    rgba(80, 79, 157, 1) 100%
  );
  border: none;
}

.desktop .div-wrapper {
  border: 2px solid #504f9d;
  background-color: transparent;
}

.desktop .text-wrapper {
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 18.9px;
  letter-spacing: 0;
  line-height: 1;
}

.desktop .div {
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #504f9d;
  font-size: 18.9px;
  letter-spacing: 0;
  line-height: 1;
}

/* Визуал справа: телефон + 2 декоративные пачки посылок.
   Сам блок прижат к правому краю грид-ячейки (justify-self: end),
   а внутри — ещё один грид, где все картинки стекаются в одну ячейку. */
.desktop .hero-visual {
  position: relative;
  justify-self: end;
  z-index: 1;
  width: 790px;
  height: 575px;
  pointer-events: none;
}

.desktop .element-ca-bd-a {
  display: block;
  width: 90%;
  margin-left: auto;
  margin-top: 20px;
}

/* Декоративные посылки поверх ноута — позиционируем
   абсолютно относительно .hero-visual. */
.desktop .vecteezy-ai {
  position: absolute;
  width: 170px;
  top: 45%;
  right: 0;
}

.desktop .vecteezy-ai-2 {
  position: absolute;
  width: 215px;
  top: 25%;
  left: 6%;
}

.desktop .problem-section {
  background-color: #7271cc14;
  overflow: hidden;
  padding: 63px 0 80px;
}

.desktop .text-wrapper-10 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 35.8px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .problem-cards {
  display: flex;
  gap: 66px;
  align-items: flex-start;
}

.desktop .group-3,
.desktop .group-9 {
  width: 49%;
  display: flex;
  gap: 42px;
  padding: 50px 45px;
  background-color: #ffffff;
  border-radius: 11.81px;
  border: 1px solid #c6c6c6;
  box-shadow: 0px 4px 22.3px #0000003b;
  box-sizing: border-box;
}

.desktop .group-9 {
  padding-left: 56px;
}

.desktop .chatgpt-image {
  width: 173px;
  height: 163px;
  margin-top: 8px;
  flex-shrink: 0;
}

.desktop .chatgpt-image-2 {
  width: 177px;
  height: 166px;
  margin-top: 4px;
  flex-shrink: 0;
}

.desktop .group-4,
.desktop .group-10 {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 1px;
}

.desktop .group-4 {
  width: 302px;
}

.desktop .group-10 {
  width: 330px;
}

.desktop .problem-card-heading {
  display: flex;
  align-items: center;
  gap: 19px;
}

.desktop .vector,
.desktop .vector-2 {
  width: 25px;
  height: 25px;
  flex-shrink: 0;
}

.desktop .text-wrapper-11 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 16px;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .problem-card-list {
  display: flex;
  flex-direction: column;
  gap: 13.5px;
}

.desktop .problem-card-item {
  display: flex;
  align-items: center;
  gap: 24px;
}

.desktop .pain-point-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.desktop .text-wrapper-12 {
  font-family: "SF Pro Display-Medium", Helvetica;
  font-weight: 500;
  color: #202020;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .solution-section {
  padding: 63px 0 80px;
}

.desktop .solution-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.desktop .solution-step {
  flex-shrink: 0;
  border-radius: 11.81px;
  box-shadow: 4px 4px 22px #00000066;
}

.desktop .solution-step-inner {
  width: 265px;
  padding: 17px 16px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 11.81px;
  background: linear-gradient(
    180deg,
    rgba(82, 81, 160, 1) 0%,
    rgba(100, 99, 192, 1) 100%
  );
}

.desktop .group-18 .solution-step-inner,
.desktop .group-19 .solution-step-inner {
  width: 266px;
}

.desktop .solution-step-num {
  align-self: flex-start;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #5655a6;
  font-size: 22.9px;
  line-height: 1;
  flex-shrink: 0;
}

.desktop .solution-step-inner > img {
  margin-top: -10px;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.desktop .group-16 {
  width: 61px;
  height: 61px;
}

.desktop .vector-3 {
  width: 48px;
  height: 61px;
}

.desktop .vector-4 {
  width: 60px;
  height: 61px;
}

.desktop .vector-5 {
  width: 64px;
  height: 61px;
}

.desktop .solution-step-inner .text-wrapper-13,
.desktop .solution-step-inner .text-wrapper-15,
.desktop .solution-step-inner .text-wrapper-17,
.desktop .solution-step-inner .whats-app {
  margin-top: auto;
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .solution-arrow {
  width: 35px;
  height: 30px;
  flex-shrink: 0;
}

.desktop .features-section {
  padding: 63px 0 80px;
  background-color: #ffffff;
}

.desktop .features-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 13px;
}

.desktop .feature-card {
  width: 24%;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 30px 24px 30px 57px;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 11.81px;
  border: 1px solid #c6c6c6;
  box-shadow: 4px 6px 11.6px #0000003b;
}

.desktop .feature-card img {
  flex-shrink: 0;
}

.desktop .vector-9,
.desktop .group-22,
.desktop .subtract {
  width: 51px;
  height: 49px;
}

.desktop .group-26 {
  width: 49px;
  height: 49px;
}

.desktop .vector-10,
.desktop .vector-11,
.desktop .vector-12,
.desktop .vector-13 {
  width: 50px;
  height: 49px;
}

.desktop .text-wrapper-19 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .text-wrapper-20,
.desktop .text-wrapper-21,
.desktop .text-wrapper-22,
.desktop .text-wrapper-23 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .categories-section {
  padding: 63px 0 80px;
  background-color: #7271cc14;
  overflow: hidden;
}

.desktop .categories-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.desktop .category-card {
  width: 13%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 17px 11px 24px;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 11.81px;
  box-shadow: 0px 4px 12.2px #00000040;
}

.desktop .category-card .mask-group {
  width: 149px;
  height: 149px;
  flex-shrink: 0;
  margin-bottom: 15px;
}

.desktop .text-wrapper-24,
.desktop .text-wrapper-25,
.desktop .text-wrapper-26,
.desktop .text-wrapper-27 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .text-wrapper-24,
.desktop .text-wrapper-25,
.desktop .text-wrapper-26,
.desktop .text-wrapper-27 {
  white-space: nowrap;
}

.desktop .div-2,
.desktop .div-3,
.desktop .div-4 {
  margin-top: auto;
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .span {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #202020;
  font-size: 18px;
  letter-spacing: 0;
}

.desktop .audience-section {
  padding: 63px 0 80px;
  background-color: #ffffff;
}

.desktop .audience-cards {
  display: flex;
  justify-content: space-between;
}

.desktop .audience-card {
  display: flex;
  gap: 2px;
  align-items: flex-start;
}

.desktop .group-38,
.desktop .group-44 {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 26px;
}

.desktop .group-38 {
  width: 293px;
}

.desktop .group-44 {
  width: 282px;
}

.desktop .audience-card-heading {
  display: flex;
  align-items: center;
  gap: 15px;
}

.desktop .subtract-2 {
  width: 29px;
  height: 29px;
  flex-shrink: 0;
}

.desktop .text-wrapper-28 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  font-size: 18px;
  line-height: normal;
  white-space: nowrap;
  color: #202020;
  letter-spacing: 0;
}

.desktop .audience-card-list {
  display: flex;
  flex-direction: column;
  gap: 13.5px;
}

.desktop .audience-card-item {
  display: flex;
  align-items: center;
  gap: 24px;
}

.desktop .benefit-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.desktop .text-wrapper-29 {
  font-family: "SF Pro Display-Medium", Helvetica;
  font-weight: 500;
  font-size: 18px;
  line-height: normal;
  color: #202020;
  letter-spacing: 0;
}

.desktop .mask-group-2 {
  width: 293.4px;
  height: 256.4px;
  margin-top: -8.7px;
  flex-shrink: 0;
}

.desktop .early-access-section {
  padding: 63px 0 80px;
  background-color: #ffffff;
}

.desktop .group-49 {
  width: 100%;
  padding: 30px 25px;
  display: flex;
  align-items: center;
  gap: 22px;
  background-color: #ffffff;
  border-radius: 11.81px;
  border: 1px solid #c6c6c6;
  box-shadow: 4px 6px 11.6px #00000030;
  box-sizing: border-box;
}

.desktop .frame-7 {
  width: 200px;
  height: 55px;
  margin-left: auto;
  padding: 0;
  background-color: #5352a3;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.desktop .text-wrapper-31 {
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 17px;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: 1;
}

.desktop .FAQ {
  position: relative;
  background-color: #ffffff;
}

.desktop .footer {
  background-color: #504f9d;
  padding: 82px 0 72px;
  overflow: hidden;
}

.desktop .footer-inner {
  display: flex;
  align-items: center;
  gap: 3rem;
}

.desktop .group-52 {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.desktop .group-53 {
  display: flex;
  align-items: center;
  gap: 12px;
}

.desktop .group-53 .element {
  width: 51px;
  height: 65px;
  flex-shrink: 0;
}

.desktop .text-wrapper-35 {
  font-family: "BBH Sans Hegarty", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 34.1px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .text-wrapper-36 {
  width: 302px;
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
  margin: 0;
}

.desktop .footer-divider {
  width: 1px;
  align-self: stretch;
  background-color: #ffffff;
  flex-shrink: 0;
}

.desktop .element-info {
  margin: 0;
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .text-wrapper-37 {
  font-weight: 700;
}

.desktop .text-wrapper-38 {
  font-family: "SF Pro Display-Regular", Helvetica;
}

.desktop .group-54 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  flex-shrink: 0;
}

.desktop .footer-social-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #ffffff;
  text-decoration: none;
}

.desktop .footer-social-link:hover {
  opacity: 0.85;
}

.desktop .text-wrapper-42 {
  font-family: "SF Pro Display-Bold", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 18px;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .text-wrapper-40,
.desktop .text-wrapper-41 {
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 18px;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: normal;
}

.desktop .vector-20,
.desktop .vector-21 {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.desktop .text-wrapper-39 {
  margin-left: auto;
  align-self: center;
  font-family: "SF Pro Display-Semibold", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 18px;
  text-decoration: underline;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: normal;
  cursor: pointer;
}

/* =========================================================
   Мобильная версия: всё в один столбец, секции друг под другом
   ========================================================= */
@media (max-width: 768px) {
  /* Отключаем десктопное масштабирование */
  .page-scale {
    width: 100%;
    max-width: 100%;
  }
  .page-scale > .desktop {
    width: 100%;
    transform: none;
  }

  .desktop {
    align-items: stretch;
    gap: 0;
  }

  .desktop .container {
    width: 90%;
    gap: 24px;
  }

  /* Общие заголовки секций */
  .desktop .text-wrapper-10 {
    font-size: 24px;
  }

  /* ---------- HERO ---------- */
  .desktop .hero-top {
    flex-wrap: wrap;
    width: 90%;
  }
  .desktop .hero-top .navbar {
    display: none;
  }
  .desktop .group .element {
    width: 36px;
    height: auto;
  }
  .desktop .text-wrapper-3 {
    font-size: 26px;
  }
  .desktop .img {
    cursor: pointer;
  }
  /* Открытое мобильное меню */
  .desktop.nav-open .hero-top .navbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    order: 3;
    width: 100%;
    margin-top: 16px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid rgba(74, 50, 209, 0.12);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(74, 50, 209, 0.12);
  }
  .desktop.nav-open .navbar a.nav-anchor {
    padding: 8px 0;
    font-size: 18px;
  }
  .desktop .hero-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
    margin-top: 32px;
    margin-left: 0;
  }
  .desktop .element-ca-bd-a {
    display: block;
    width: 100%;
    margin-left: 5%;
  }
  .desktop .hero-content {
    max-width: 90%;
    margin: 0 auto;
    z-index: auto;
  }
  .desktop .p {
    font-size: 32px;
    line-height: 38px;
  }
  .desktop .p br {
    display: none;
  }
  .desktop .text-wrapper-2 {
    width: 100%;
    margin-top: 20px;
    font-size: 16px;
  }
  .desktop .hero-buttons {
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
  }
  .desktop .frame,
  .desktop .div-wrapper {
    width: 100%;
  }
  /* Визуал во всю ширину с сохранением пропорций */
  .desktop .hero-visual {
    justify-self: stretch;
    width: 100%;
    aspect-ratio: 790 / 575;
    height: auto;
    margin-bottom: 20px;
  }
  .desktop .vecteezy-ai,
  .desktop .vecteezy-ai-2 {
    display: none;
  }

  /* ---------- PROBLEM ---------- */
  .desktop .problem-cards {
    flex-direction: column;
    gap: 20px;
  }
  .desktop .group-3,
  .desktop .group-9 {
    width: 100%;
    padding: 28px 20px;
    gap: 20px;
  }
  .desktop .chatgpt-image,
  .desktop .chatgpt-image-2 {
    display: none;
  }
  .desktop .group-4,
  .desktop .group-10 {
    width: auto;
    flex: 1;
    min-width: 0;
  }
  .desktop .text-wrapper-11 {
    font-size: 16px;
  }
  .desktop .text-wrapper-12 {
    font-size: 14px;
  }

  /* ---------- SOLUTION ---------- */
  .desktop .solution-flow {
    flex-direction: column;
    justify-content: flex-start;
    gap: 16px;
  }
  .desktop .solution-arrow {
    transform: rotate(90deg);
  }

  /* ---------- FEATURES ---------- */
  .desktop .features-grid {
    flex-direction: column;
    gap: 12px;
  }
  .desktop .feature-card {
    width: 100%;
    padding: 20px;
    gap: 18px;
  }

  /* ---------- CATEGORIES ---------- */
  .desktop .categories-grid {
    justify-content: space-between;
    gap: 12px;
  }
  .desktop .category-card {
    width: calc(50% - 6px);
    height: auto;
    padding-bottom: 18px;
  }
  .desktop .category-card .mask-group {
    width: 100%;
    aspect-ratio: 1;
  }

  /* ---------- AUDIENCE ---------- */
  .desktop .audience-cards {
    flex-direction: column;
    gap: 40px;
  }
  .desktop .audience-card {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .desktop .group-38,
  .desktop .group-44 {
    width: 100%;
    margin-top: 0;
  }
  .desktop .mask-group-2 {
    width: 100%;
    aspect-ratio: 293.4 / 256.4;
    margin-top: 0;
    height: auto;
  }
  .desktop .audience-section {
    padding: 40px 0 10px;
  }
  .desktop .early-access-section {
    padding: 50px 0 20px;
  }

  /* ---------- EARLY ACCESS ---------- */
  .desktop .group-49 {
    flex-direction: column;
    height: auto;
    padding: 24px;
    gap: 14px;
  }
  .desktop .early-input,
  .desktop .early-select {
    width: 100%;
  }
  .desktop .frame-7 {
    width: 100%;
    margin-left: 0;
  }

  /* ---------- FAQ ---------- */
  .desktop .FAQ .faq-columns {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .desktop .FAQ .faq-card {
    width: 100%;
    max-width: none;
  }
  .desktop .FAQ .faq-summary {
    padding: 14px 18px;
    font-size: 16px;
  }
  .desktop .FAQ .faq-answer {
    padding: 0 18px 14px;
  }

  /* ---------- FOOTER ---------- */
  .desktop .footer {
    padding: 40px 0;
  }
  .desktop .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .desktop .footer-divider {
    display: none;
  }
  .desktop .text-wrapper-39 {
    margin-left: 0;
  }
}
