/* Prevent content jumping when scrollbar disappears */
html {
  scrollbar-gutter: stable;
}
.v-1,
.v-1 * {
  box-sizing: border-box;
}
.v-1 {
  /* OLD REALISATION */
  /*background: var(--primary-dark-blue-100, #f6f6f6);*/
  /*height: 14103px;*/
  /*position: relative;*/
  /*overflow: hidden;*/

  /* NEW REALISATION */
  background: var(--primary-dark-blue-100, #f6f6f6);
  /* Удаляем фиксированную высоту */
  min-height: 100vh; /* Минимальная высота равна высоте окна просмотра */
  height: auto;
  position: relative;
  /* Меняем overflow: hidden на auto для предотвращения обрезки контента */
  overflow: hidden;
}
body {
  transition: opacity 0.3s ease;
}
body.fade-out {
  opacity: 0;
}
/* Контейнер для секций */
.full-width-container {
  width: 100%;
  margin: 0 auto; /* Центрирование */
  display: flex;
  flex-direction: column;
  gap: 64px; /* Расстояние между секциями */
}

.slide-left {
  opacity: 0;
  transform: translateX(calc(-50% - 100px)); /* Centering + slide from left */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-right {
  opacity: 0;
  transform: translateX(calc(-50% + 100px)); /* Centering + slide from right */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-left.visible,
.slide-right.visible {
  opacity: 1;
  transform: translateX(-50%); /* Back to just centered */
}

.slide-top-full {
  opacity: 0;
  transform: translateX(-50%) translateY(-50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-bottom {
  opacity: 0;
  transform: translateX(-50%) translateY(50px); /* Both transforms together */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-bottom.visible,
.slide-top-full.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0); /* Keep centering, remove Y offset */
}

.slide-top {
  opacity: 0;
  transform: translateY(-50px); /* Both transforms together */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-top.visible {
  opacity: 1;
  transform: translateY(0); /* Keep centering, remove Y offset */
}

.slide-left-full {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-right-full {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-left-full.visible,
.slide-right-full.visible {
  opacity: 1;
  transform: translateX(0);
}

.slide-bottom-full {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.slide-bottom-full.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Контейнер для секций */
.section-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto; /* Центрирование */
  padding: 0 0; /* Отступы по бокам */
  display: flex;
  flex-direction: column;
  gap: 128px; /* Расстояние между секциями */
}
/* Общий класс для секций */
.section {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative; /* Для внутреннего позиционирования */
}
.hero-section {
  width: 100%;
  /*min-height: 715px; !* Минимальная высота вместо фиксированной *!*/
  height: 120px; /* Высота будет определяться содержимым */
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

  background-color: transparent;
}
.content {
  position: absolute;
  inset: 0;
}
.div {
  color: var(--dark-purple, #4a4a8d);
  text-align: left;
  font-family: var(--h1-font-family, "Montserrat", sans-serif);
  font-size: var(--h1-font-size, 54px);
  line-height: var(--h1-line-height, 130%);
  font-weight: var(--h1-font-weight, 700);
  position: relative;
  max-width: 919px;
  width: 100%;
  cursor: default;
}
.crm-atp-logo {
  color: var(--accent-2, #ffcb20);
  text-align: left;
  font-family: "PT Serif", sans-serif;
  font-size: 80px;
  line-height: 100%;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  position: relative;
  width: auto;
  cursor: default;

  /*line-height: var(--no-english-title-line-height, 80px);*/
  /*font-weight: var(--no-english-title-font-weight, 700);*/
  text-shadow: 4px 8px 8px rgba(0, 34, 72, 0.12);
}
/* Russian specific */
html[lang="ru"] .crm-atp-logo {
  font-size: 66px; /* Adjust as needed */
}

.crm-atp {
  color: var(--primary-dark-blue-900, #002248);
  text-align: left;
  font-family: var(--hero-font-family, "Montserrat", sans-serif);
  font-size: var(--hero-font-size, 38px);
  line-height: 56px;
  font-weight: var(--hero-font-weight, 500);
  letter-spacing: 0;
  position: relative;
  width: auto;
  cursor: default;
}
/* Russian specific */
html[lang="ru"] .crm-atp {
  font-size: 32px; /* Adjust as needed */
}

.crm-atp-mobile {
  display: none;
  color: var(--textdark, #2c2c62);
  text-align: left;
  font-family: var(--body-font-family, "Montserrat", sans-serif);
  font-size: var(--body-font-size, 22px);
  line-height: var(--body-line-height, 130%);
  font-weight: var(--body-font-weight, 400);
  position: relative;
  width: 527px;
  cursor: default;
}

.course-subtitle {
  color: var(--primary-dark-blue-900, #002248);
  text-align: left;
  font-family: var(--hero-font-family, "Montserrat", sans-serif);
  font-size: var(--hero-font-size, 38px);
  line-height: 56px;
  font-weight: var(--hero-font-weight, 500);
  letter-spacing: 0;
  position: relative;
  width: auto;
  cursor: default;
}
.course-subtitle-mobile {
  display: none;
  color: var(--textdark, #2c2c62);
  text-align: left;
  font-family: var(--body-font-family, "Montserrat", sans-serif);
  font-size: var(--body-font-size, 22px);
  line-height: var(--body-line-height, 130%);
  font-weight: var(--body-font-weight, 400);
  position: relative;
  width: 527px;
  cursor: default;
}

.no_english_title {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-title-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-title-font-size, 38px);
  line-height: var(--no-english-title-line-height, 100%);
  font-weight: var(--no-english-title-font-weight, 700);
  position: relative;
  align-self: stretch;
  cursor: default;
}

.highlight-text {
  color: var(--accent-2, #ffcb20);
  font-family: var(--hero-selected-font-family, "PT Serif", sans-serif);
  font-size: 50px;
  line-height: 100%;
  font-weight: 700;
  font-style: italic;
  cursor: default;
}
.highlight-text-date {
  color: var(--extra-selected-text-800-900, #ff8d00);
  font-family: var(--hero-selected-font-family, "PT Serif", sans-serif);
  font-size: 140px;
  line-height: 80px;
  font-weight: var(--hero-selected-font-weight, 400);
  margin-left: 8px;

  -webkit-text-stroke: 1px #ff8d00;   /* stroke width and color */
  vertical-align: middle; /* align with surrounding text */
}
.highlight-middle-text {
  color: var(--accent-2, #ffcb20);
  text-align: center;
  font-family: var(--frame-info-font-family, "PT Serif", sans-serif);
  font-size: var(--frame-info-font-size, 46px);
  font-style: italic;
  line-height: var(--frame-info-line-height, 80px);
  font-weight: var(--frame-info-font-weight, 700);

  cursor: default;
}

.no_english_subtitle {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-subtitle-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-subtitle-font-size, 20px);
  line-height: var(--no-english-subtitle-line-height, 100%);
  font-weight: var(--no-english-subtitle-font-weight, 400);
  position: relative;
  align-self: stretch;
  cursor: default;
}

.no_english_subtitle b {
  font-weight: 600; /* semibold */
}

.no-english-card-title {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-card-title-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-card-title-font-size, 28px);
  line-height: var(--no-english-card-title-line-height, 100%);
  font-weight: var(--no-english-card-title-font-weight, 600);
  position: relative;
  align-self: stretch;
  margin-top: 50px;
  cursor: default;
}

.buttons {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.button-do-test,
.button-do-reservation {
  background: var(--accent-2, #ffcb20);
  border-radius: 16px;
  padding: 16px 100px 16px 100px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
}
.button-do-test:hover,
.button-do-reservation:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3));
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
}
.button-do-text {
  color: var(--primary-dark-blue-900, #ffffff);
  text-align: center;
  font-family: var(--button-font-family, "Montserrat", sans-serif);
  font-size: var(--button-font-size, 18px);
  line-height: var(--button-font-height, 100%);
  font-weight: var(--button-font-weight, 400);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.atp {
  color: var(--textdark, #2c2c62);
  text-align: left;
  font-family: var(--body-3-font-family, "Montserrat", sans-serif);
  font-size: var(--body-3-font-size, 16px);
  line-height: var(--body-3-line-height, 130%);
  font-weight: var(--body-3-font-weight, 400);
  position: relative;
  align-self: stretch;
}

.curs-structure-subtitle {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-subtitle-font-family, "Montserrat", sans-serif);
  font-size: 24px;
  line-height: var(--no-english-subtitle-line-height, 100%);
  font-weight: var(--no-english-subtitle-font-weight, 400);
  position: relative;
  align-self: stretch;
  cursor: default;
}
.curs-structure-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.curs-structure-card-box {
  flex: 1;                 /* equal width */
  height: 100%;
  display: flex;           /* ensures inner content expands properly */
  flex-direction: column;  /* allow vertical stacking */
}
.curs-structure-card-texts {
  flex: 1; /* stretch to fill parent */
  background-color: var(--white, #ffffff);
  border-radius: 40px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 350px;
  height: auto;
}
.curs-structure-card-texts:hover {
  background-color: var(--neutral-800-300, #f6efe4);
  transition: all 0.3s ease;

  .curs-structure-card-subtitle {
    color: var(--primary-dark-blue-900, #002248);
    transition: color 0.3s ease;
  }
  .curs-structure-card-button {
    background: var(--primary-dark-blue-900, #002248);
    transition: background 0.3s ease;
  }
  .curs-structure-card-button-text {
    color: var(--white, #ffffff);
    transition: color 0.3s ease;
  }
}

.curs-structure-card-texts.plus {
  background-color: var(--neutral-800-300, #f6efe4);
}
.curs-structure-card-texts.plus:hover {
  background: var(--white, #ffffff);
  transition: all 0.3s ease;

  .curs-structure-card-subtitle-plus {
    color: var(--accent-2, #ffcb20);
    transition: color 0.3s ease;
  }
  .curs-structure-card-button.plus {
    background: var(--accent-2, #ffcb20);
    transition: background 0.3s ease;
  }
  .curs-structure-card-button-text.plus {
    color: var(--primary-dark-blue-900, #002248);
    transition: color 0.3s ease;
  }
}
.curs-structure-card-title {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-subtitle-font-family, "Montserrat", sans-serif);
  font-size: 30px;
  line-height: 30px;
  font-weight: 700;
  position: relative;
  align-self: stretch;
  cursor: default;
}
.curs-structure-card-old-price {
  color: var(--scheme-error-color, #b3261E);
  text-align: center;
  font-family: var(--no-english-title-font-family, "Montserrat", sans-serif);
  font-size: 18px;
  line-height: 100%;
  font-weight: 500;
  position: relative;
  align-self: stretch;
  cursor: default;
  margin-bottom: 8px;
}
.curs-structure-card-old-price b {
  text-decoration: line-through;
  font-weight: 600;
}
.curs-structure-card-subtitle {
  color: var(--accent-2, #ffcb20);
  text-align: center;
  font-family: var(--no-english-title-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-title-font-size, 18px);
  line-height: var(--no-english-title-line-height, 100%);
  font-weight: var(--no-english-title-font-weight, 400);
  position: relative;
  align-self: stretch;
  cursor: default;
}
.curs-structure-card-subtitle-plus {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-title-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-title-font-size, 18px);
  line-height: var(--no-english-title-line-height, 100%);
  font-weight: var(--no-english-title-font-weight, 400);
  position: relative;
  align-self: stretch;
  cursor: default;
}
.curs-structure-card-subtitle-plus-price {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--curs-price-font-family, "PT Serif", sans-serif);
  font-size: 120px;
  line-height: 50px;
  font-weight: var(--curs-price-font-weight, 400);
  position: relative;
  align-self: stretch;

  -webkit-text-stroke: 4px #002248;   /* stroke width and color */
  vertical-align: middle; /* align with surrounding text */
}
.curs-structure-card-item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}
.curs-structure-card-item-bg {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.curs-structure-card-item-icon {
  height: 50px;
  width: 50px;
  align-self: center;
  overflow: visible;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.curs-structure-card-item-text {
  color: var(--primary-dark-blue-900, #002248);
  text-align: left;
  font-family: var(--no-english-card-item-font-family, "Montserrat", sans-serif);
  font-size: 18px;
  line-height: 100%;
  font-weight: 500;
  position: relative;
  flex: 1;
  cursor: default;
}
.curs-structure-card-item-text.crossed {
  font-weight: 400;
  text-decoration: line-through;
}
.curs-structure-card-item-text.infos {
  font-weight: 400;
}
.curs-structure-card-button {
  background: var(--accent-2, #ffcb20);
  border-radius: 16px;
  height: auto;
  width: auto;
  padding: 16px 80px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
}
.curs-structure-card-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(255, 141, 0, 0.3);
}
.curs-structure-card-button.plus {
  background: var(--primary-dark-blue-900, #002248);
}
.curs-structure-card-button.plus:hover {
  box-shadow: 0 4px 8px rgba(114, 114, 236, 0.3);
}
.curs-structure-card-button-text {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--button-font-family, "Montserrat", sans-serif);
  font-size: var(--button-font-size, 18px);
  line-height: var(--button-font-height, 100%);
  font-weight: var(--button-font-weight, 500);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.curs-structure-card-button-text.plus {
  color: var(--white, #ffffff);
}
.curs-structure-note {
  color: var(--primary-dark-blue-900, #002248);
  text-align: start;
  font-family: var(--no-english-subtitle-font-family, "Montserrat", sans-serif);
  line-height: var(--no-english-subtitle-font-size, 20px);
  line-height: var(--no-english-subtitle-line-height, 100%);
  font-weight: 500;
  position: relative;
  align-self: stretch;
  cursor: default;
}

.text {
  width: 59px;
  height: 25px;
  position: absolute;
  left: 34px;
  top: 8px;
}
.arrow {
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  position: relative;
  overflow: visible;
}

.frame-solution-box {
  background: var(--white, #ffffff);
  width: 100%;
  border-radius: 40px;
}
.frame-solution-texts {
  display: flex;
  flex-direction: column;
  padding: 24px;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  left: 40px;
  top: 40px;
}
.frame-solution-texts-title {
  color: var(--primary-dark-blue-900, #002248);
  text-align: left;
  font-family: var(--no-english-card-title-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-card-title-font-size, 28px);
  line-height: var(--no-english-card-title-line-height, 100%);
  font-weight: var(--no-english-card-title-font-weight, 600);
  position: relative;
  align-self: stretch;
  cursor: default;
}
.frame-solution-rows {
  width: 100%;
  display: flex;           /* ensures inner content expands properly */
  flex-direction: column;  /* allow vertical stacking */
  gap: 24px;
}
.frame-solution-row {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.frame-solution-column {
  flex: 1;                 /* equal width */
  height: auto;
  display: flex;           /* ensures inner content expands properly */
  flex-direction: column;  /* allow vertical stacking */
  background-color: var(--primary-dark-blue-600, #c3ddff);
  border-radius: 24px;
  padding: 24px;
}
.frame-solution-column:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.frame-solution-column-description {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}
.frame-solution-column-description-item-bg {
  background-color: var(--primary-dark-blue-900, #002248);
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.frame-solution-column-description-item-icon {
  height: 26px;
  width: 26px;
  align-self: center;
  overflow: visible;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.frame-solution-column-description-item-text {
  color: #022051;
  text-align: start;
  font-family: var(--no-english-card-item-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-card-item-font-size, 18px);
  line-height: var(--no-english-card-item-line-height, 100%);
  font-weight: var(--no-english-card-item-font-weight, 400);
  position: relative;
  flex: 1;
  cursor: default;
}
.frame-solution-column-description-item-text-center {
  color: #022051;
  text-align: center;
  font-family: var(--no-english-card-item-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-card-item-font-size, 18px);
  line-height: var(--no-english-card-item-line-height, 28px);
  font-weight: var(--no-english-card-item-font-weight, 400);
  position: relative;
  flex: 1;
  cursor: default;
}

.frame-solution-row2 {
  width: 100%;
  display: grid;
  /*grid-template-columns: repeat(5, 1fr);*/
  grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;
  gap: 4px;
}
.frame-solution-row2-vertical {
  width: 100%;
  gap: 4px;
  display: none;
  flex-direction: column;
}
.frame-solution-column2 {
  flex: 1;                 /* equal width */
  height: auto;
  display: flex;           /* ensures inner content expands properly */
  flex-direction: column;  /* allow vertical stacking */
  background-color: var(--primary-grey-600, #f5f5f5);
  border-radius: 24px;
  padding: 24px;
}
.frame-solution-column2-arrow {
  height: 24px;
  width: 24px;
  align-self: center;
}
.frame-solution-column2-arrow-right {
  height: 24px;
  width: 24px;
  align-self: center;
}
.frame-solution-column2-arrow-down {
  height: 24px;
  width: 24px;
  align-self: center;
}
.arrow-1 {}
.frame-solution-column2:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.frame-solution-column2-description {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}
.frame-solution-column2-description-item-bg {
  background-color: var(--accent-2, #ffcb20);
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.frame-solution-column2-description-item-number {
  color: var(--primary-dark-blue-900, #002248);
  text-align: center;
  font-family: var(--no-english-card-number-font-family, "Montserrat", sans-serif);
  font-size: var(--no-english-card-number-font-size, 20px);
  line-height: var(--no-english-card-number-line-height, 100%);
  font-weight: var(--no-english-card-number-font-weight, 600);

  align-self: center;
  overflow: visible;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}

.frame-section-4-box {
  width: 100%;
  height: auto; /* Высота будет определяться содержимым */

  display: flex;
  flex-direction: column;
  gap: 40px;

  overflow: hidden; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
}
.frame-section-4-box-content {
  align-self: stretch;
  flex-shrink: 0;

  width: calc(100% - 20px); /* ширина с учетом отступов слева и справа по 120px */
  max-width: 1280px;
  height: auto; /* Высота будет определяться содержимым */

  left: 50%;
  transform: translateX(-50%);
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  position: relative;
}

.frame-section-videos-box-content {
  align-self: stretch;
  flex-shrink: 0;

  width: calc(100%); /* ширина с учетом отступов слева и справа по 120px */
  max-width: 1400px;
  height: auto; /* Высота будет определяться содержимым */

  left: 50%;
  transform: translateX(-50%);
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  position: relative;
}

.scroll-container {
  position: relative;
  width: 100%;
  padding: 0 60px; /* Space for buttons */
}
.scroll-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  /*scrollbar-width: none; !* Firefox *!*/
  /*-ms-overflow-style: none; !* IE/Edge *!*/
}
/*.scroll-wrapper::-webkit-scrollbar {*/
/*  display: none; !* Chrome/Safari *!*/
/*}*/
.scroll-wrapper::-webkit-scrollbar {
  height: 8px;
}
.scroll-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}
.scroll-wrapper::-webkit-scrollbar-thumb {
  background: #cfd5f6;
  border-radius: 10px;
}
.scroll-wrapper::-webkit-scrollbar-thumb:hover {
  background: #4a4a8d;
}

.image-list {
  display: flex;
  gap: 16px;
}

.image-item {
  flex: 0 0 250px; /* Fixed width, prevents wrapping */
  height: 200px;
  background: #e0e0e0;
  border: 1px solid #ccc;
  border-radius: 40px;
  margin-top: 4px;
  margin-bottom: 8px;
  overflow: hidden;
}
.image-item:hover {
  box-shadow: 0 4px 4px rgba(0, 34, 72, 0.3);
  transition: all 0.3s ease;
}

.image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
}

.scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  z-index: 10;
  transition: background 0.3s;
}
.scroll-btn:active,
.scroll-btn.pressed {
  opacity: 0.8;
  animation: 0.3s ease;
}

.scroll-btn-left {
  width: 40px;
  height: 40px;
  left: 10px;
  background: url('../assets/images/section_4/back_button.svg') no-repeat center / contain;
}
.scroll-btn-left:hover {
  background: url('../assets/images/section_4/back_button_active.svg') no-repeat center / contain;
}
.scroll-btn-left:disabled {
  cursor: not-allowed;
  background: url('../assets/images/section_4/back_button_inactive.svg') no-repeat center / contain;
}
.scroll-btn-left-icon {
  transition: 0.2s;
}

.scroll-btn-right {
  width: 40px;
  height: 40px;
  right: 10px;
  background: url('../assets/images/section_4/next_button.svg') no-repeat center / contain;
}
.scroll-btn-right:hover {
  background: url('../assets/images/section_4/next_button_active.svg') no-repeat center / contain;
}
.scroll-btn-right:disabled {
  cursor: not-allowed;
  background: url('../assets/images/section_4/next_button_inactive.svg') no-repeat center / contain;
}
.scroll-btn-right-icon {
  transition: 0.2s;
}

.frame-section-videos-box {
  width: 100%;
  height: auto; /* Высота будет определяться содержимым */
  border-radius: 0;

  display: flex;
  flex-direction: column;

  overflow: hidden; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
}
.frame-videos {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: flex-start;
  width: calc(100%); /* ширина с учетом отступов слева и справа по 120px */
  max-width: 1400px;
  left: 50%;
  transform: translateX(-50%);
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
}
.scroll-video-container {
  position: relative;
  width: 100%;
  padding: 0 60px; /* Space for buttons */
}
.video-list {
  display: flex;
  gap: 24px;
}
.video-item {
  flex: 0 0 450px;
  height: auto;
  background: var(--primary-dark-blue-900, #002248);
  border: 24px solid var(--primary-dark-blue-900, #002248);
  border-radius: 40px;
  margin-top: 4px;
  margin-bottom: 8px;
  overflow: hidden;
}

.video-container {
  position: relative;
  width: 100%;
  padding: -4px;
}
.video-container video {
  display: block;
  width: 100%;
  height: auto;
}

.play-button {
  position: absolute;  /* Changed from fixed */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background : none;

  height: 100%;
  width: 100%;

  border: none;
  cursor: pointer;
  transition: transform 0.2s;
  z-index: 10;
}
.play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.play-button.hidden {
  display: none;
}

.frame-whom {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: flex-start;
  width: calc(100%); /* ширина с учетом отступов слева и справа по 120px */
  max-width: 1280px;
  left: 50%;
  transform: translateX(-50%);
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
}

.frame-no-english-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.no-english-card-box {
  flex: 1;                 /* equal width */
  height: 100%;
  display: flex;           /* ensures inner content expands properly */
  flex-direction: column;  /* allow vertical stacking */

  /* animation part */
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.no-english-card-box:hover {
  .no-english-icon {
    background-color: var(--primary-dark-blue-900, #002248);
    transition: background-color 0.3s ease;
  }
  .no-english-icon-svg {
    /* --accent-2: #ffcb20; */
    /*filter: brightness(0) saturate(100%) invert(55%) sepia(96%) saturate(620%) hue-rotate(3deg) brightness(105%) contrast(101%);*/
    /* --white: #ffffff; */
    filter: invert(99%) sepia(0%) saturate(66%) hue-rotate(170deg) brightness(116%) contrast(100%);
    transition: all 0.3s ease;
  }
  .no-english-card-texts {
    /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);*/
    background-color: var(--neutral-800-300, #f6efe4);
    transition: background-color 0.3s ease;
  }
}

  .no-english-card-box.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* Staggered delays */
  .no-english-card-box:nth-child(1).visible {
    transition-delay: 0s; /* First appears immediately */
  }

  .no-english-card-box:nth-child(2).visible {
    transition-delay: 0.2s; /* Second waits 0.2s */
  }

  .no-english-card-box:nth-child(3).visible {
    transition-delay: 0.4s; /* Third waits 0.4s */
  }

  .no-english-card {
    background: var(--white, #ffffff);
    border-radius: 25px;
    width: 31%;
    min-height: 320px;
    height: auto;
    position: relative;
  }

  .frame-whom-cards {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
  }

  .frame-section-3-box {
    background: var(--primary-dark-blue-900, #002248);
    width: 100%;
    height: auto; /* Высота будет определяться содержимым */
    border-radius: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden; /* Изменено с hidden на visible */
    box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
  }
  .frame-section-3-box-content {
    align-self: stretch;
    flex-shrink: 0;

    width: calc(100% - 20px); /* ширина с учетом отступов слева и справа по 120px */
    max-width: 1280px;
    height: auto; /* Высота будет определяться содержимым */

    left: 50%;
    transform: translateX(-50%);
    overflow: visible; /* Изменено с hidden на visible */
    box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    margin-top: 48px;
    margin-bottom: 48px;
    gap: 40px;
    position: relative;
  }
  .frame-section-3-image {
    width: 200px;
    height: 200px;
    flex-shrink: 0; /* Prevents shrinking */
  }
  .frame-section-3-image-svg {
    flex-shrink: 0;
    padding: 15px;
    width: 200px;
    height: 200px;
    border-radius: 100px;
    object-fit: cover; /* Covers entire space, may crop */
    background-color: white;
  }
  .frame-section-3-title {
    flex: 1; /* Takes remaining space */
    color: var(--neutral-800-300, #f6efe4);
    text-align: center;
    font-family: var(--frame-info-font-family, "PT Serif", sans-serif);
    font-size: var(--frame-info-font-size, 46px);
    font-style: italic;
    line-height: var(--frame-info-line-height, 80px);
    font-weight: var(--frame-info-font-weight, 700);

    cursor: default;
  }

.frame-section-course-box {
  background: var(--white, #ffffff);
  width: 100%;
  height: auto; /* Высота будет определяться содержимым */
  border-radius: 0;

  display: flex;
  flex-direction: column;

  overflow: hidden; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
}
.frame-section-course-box-content {
  align-self: stretch;
  flex-shrink: 0;

  width: calc(100% - 40px); /* ширина с учетом отступов слева и справа по 120px */
  max-width: 1280px;
  height: auto; /* Высота будет определяться содержимым */

  left: 50%;
  transform: translateX(-50%);
  overflow: visible; /* Изменено с hidden на visible */
  box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin-top: 80px;
  margin-bottom: 80px;
  gap: 40px;
  position: relative;
}
/* Обновляем правую часть с изображением */
.frame-section-course-image {
  width: 50%; /* Точно 50% от родительского контейнера */
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.frame-section-course-description {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 50%; /* Точно 50% от родительского контейнера */
  /*padding-right: 15px; !* Небольшой отступ справа для лучшего визуального разделения *!*/
  box-sizing: border-box;
}

  .no-english-icon {
    background-color: var(--accent-2, #ffcb20);
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border-radius: 50px;
    position: relative;
    overflow: hidden;
    left: 50%;
    transform: translateX(-50%);
  }
  .no-english-icon-svg {
    height: 50px;
    width: 50px;
    align-self: center;
    overflow: visible;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
  }
  .no-english-card-texts {
    flex: 1; /* stretch to fill parent */
    background-color: var(--white, #ffffff);
    border-radius: 40px;
    margin-top: -50px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 350px;
    height: auto;
  }
  .no-english-item-bg {
    background-color: var(--accent-2, #ffcb20);
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    border-radius: 16px;
    position: relative;
    overflow: visible;
    aspect-ratio: 1;
  }
  .no-english-item-bg.white {
    background-color: var(--white, #ffff);
  }
  .no-english-item-number {
    color: var(--primary-dark-blue-900, #002248);
    text-align: center;
    font-family: var(--no-english-card-number-font-family, "Montserrat", sans-serif);
    font-size: var(--no-english-card-number-font-size, 20px);
    line-height: var(--no-english-card-number-line-height, 100%);
    font-weight: var(--no-english-card-number-font-weight, 600);

    align-self: center;
    overflow: visible;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
  }
  .no-english-item-number.big {
    font-size: 22px;
  }
  .no-english-item-text {
    color: var(--primary-dark-blue-900, #002248);
    text-align: left;
    font-family: var(--no-english-card-item-font-family, "Montserrat", sans-serif);
    font-size: var(--no-english-card-item-font-size, 18px);
    line-height: var(--no-english-card-item-line-height, 130%);
    font-weight: var(--no-english-card-item-font-weight, 400);
    position: relative;
    flex: 1;
    cursor: default;
  }

  .no-english-item-text b {
    font-weight: 600;
  }

  .frame-whom-card {
    background: var(--primary-dark-blue-900, #002248);
    border-radius: 40px;
    width: 100%;
    display: grid;
    /*grid-template-columns: repeat(2, 1fr);*/
    gap: 24px;
    padding: 24px;
    align-items: stretch; /* centers both columns vertically */
  }
  .frame-whom-card-items {
    /*flex: 1;                 !* equal width *!*/
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .frame-whom-card-item-text {
    color: var(--white, #ffffff);
    text-align: left;
    font-family: var(--no-english-card-item-font-family, "Montserrat", sans-serif);
    font-size: 18px;
    line-height: var(--no-english-card-item-line-height, 110%);
    font-weight: var(--no-english-card-item-font-weight, 400);
    position: relative;
    flex: 1;
    cursor: default;
  }
  .frame-whom-card-images {
    /*flex: 1;                 !* equal width *!*/
    /*display: flex;*/
    display: none;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* hide overflow if image is too big */
  }
  /* Make sure images don't overflow the column */
  .frame-whom-card-images img {
    max-width: 100%;
    height: auto;
    object-fit: cover; /* ensures full image fits */
    border-radius: 16px;
    transition: opacity 0.5s ease;
  }

  .fade-in {
    animation: fadeIn 0.3s forwards;
  }

  .fade-out {
    animation: fadeOut 0.3s forwards;
  }

  @keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

  @keyframes fadeOut {
    from { opacity: 1; }
    to   { opacity: 0; }
  }

  .custom-slider {
    overflow: hidden;
    width: 100%;
    max-width: 90%; /* adjust to taste */ margin: 0 auto;
    position: relative;
  }
  .custom-slider .slide {
    display: none;
    transition: opacity 0.5s ease;
  }
  .custom-slider .slide.active {
    display: block;
    opacity: 1;

    height: auto;
    object-fit: contain;
  }
  .custom-dots {
    text-align: center;
    list-style: none;
    padding: 0;
  }
  .custom-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background: var(--white, #ffffff);
    border-radius: 50%;
    cursor: pointer;
  }
  .custom-dots .dot.active {
    background: var(--accent-secondary, #a5aee1);
  }


  .text-list-benefits {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    justify-content: flex-start;
    flex-shrink: 0;
    width: calc(100%);
    position: relative;
  }
  .atp-description3 {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
  }
  .frame-crm {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    align-self: stretch;
    flex-shrink: 0;
    width: calc(100%); /* ширина с учетом отступов слева и справа по 120px */
    max-width: 1280px;
    left: 50%;

    gap: 24px;
    /*transform: translateX(-50%);*/
  }
  .frame-crm-description {
    display: flex;
    flex-direction: column;
    gap: 60px;
    align-items: flex-start;
    justify-content: flex-start;
    width: 50%; /* Точно 50% от родительского контейнера */
    /*padding-right: 15px; !* Небольшой отступ справа для лучшего визуального разделения *!*/
    box-sizing: border-box;
  }
  .frame-2-texts-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
  }

  /* Обновляем правую часть с изображением */
  .frame-crm-image {
    width: 50%; /* Точно 50% от родительского контейнера */
    padding-left: 15px; /* Небольшой отступ слева для лучшего визуального разделения */
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  /* Обновляем правую часть с изображением */
  .frame-crm-image-mobile {
    width: 100%; /* Точно 50% от родительского контейнера */
    padding-left: 15px; /* Небольшой отступ слева для лучшего визуального разделения */
    box-sizing: border-box;
    display: none; /* Hide image on tiny screens */
    justify-content: center;
    align-items: center;
  }

  /* Стили для изображений внутри макбука */
  .crm-laptop-ru {
    max-width: 100%;
    max-height: 635px;
    height: auto;
    object-fit: contain;
  }
.crm-course-desktop {
  max-width: 100%;
  max-height: 455px;
  height: auto;
  object-fit: contain;
}

  .input {
    background: var(--inputfieldbg, #ffffff);
    border-radius: 20.44px;
    padding: 3.41px 10.9px 3.41px 10.9px;
    display: flex;
    flex-direction: row;
    gap: 5.45px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    width: 224.19px;
    height: 27.26px;
    position: relative;
    overflow: hidden;
  }
  .date {
    display: flex;
    flex-direction: column;
    gap: 2.73px;
    align-items: flex-start;
    justify-content: flex-start;
    position: absolute;
    left: 10.9px;
    top: 33.39px;
  }
  .filter {
    background: var(--accent-color-light, #002248);
    border-radius: 18px;
    padding: 9px 58.5px 9px 58.5px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    align-items: center;
    justify-content: center;
    width: 126px;
    height: 24px;
    position: absolute;
    left: -18px;
    top: 85px;
    box-shadow: -2px 0px 5px 0px rgba(225, 222, 255, 0.5);
    overflow: hidden;
  }
  .dots {
    width: 308.89px;
    height: 117.49px;
    position: absolute;
    left: 9.47px;
    top: 50.22px;
  }
  .separator {
    background: #ffffff;
    border-radius: 0.34px;
    width: 0.57%;
    height: 57.14%;
    position: absolute;
    right: 1.15%;
    left: 98.28%;
    bottom: 21.43%;
    top: 21.43%;
  }
  .label {
    color: #ffffff;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 9.501384735107422px;
    line-height: 130%;
    font-weight: 700;
    position: absolute;
    right: 5.43px;
    left: 5.4296875px;
    top: 50%;
    translate: 0 -50%;
    height: 10.86px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .functional-description {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    align-self: stretch;
    flex-shrink: 0;
    position: relative;
    margin-bottom: 0;
    gap: 16px; /* figma confirmed */
  }
  .atp-crm {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: var(--body-3-font-family, "Montserrat", sans-serif);
    font-size: var(--body-3-font-size, 16px);
    line-height: var(--body-3-line-height, 130%);
    font-weight: var(--body-3-font-weight, 400);
    position: relative;
    align-self: stretch;
  }

  .input-text-field {
    border-radius: 12px;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.5);
    border-width: 1px;
    padding: 12px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 56px;
    position: relative;
    top: 34px;
    box-sizing: border-box;
  }
  .input-text-field-dark {
    border-radius: 12px;
    border-style: solid;
    border-color: rgba(44, 44, 98, 0.5);
    border-width: 1px;
    padding: 12px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 56px;
    position: relative;
    top: 34px;
    box-sizing: border-box;
  }

  .input-field-dark {
    background: transparent;
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    color: var(--textdark, #2c2c62);
    font-family: var(--body-2-font-family, "Montserrat", sans-serif);
    font-size: var(--body-2-font-size, 20px);
    line-height: var(--body-2-line-height, 130%);
    font-weight: var(--body-2-font-weight, 400);
    position: relative;
    z-index: 2;
  }
  .input-field-dark::placeholder {
    color: rgba(44, 44, 98, 0.5); /* Цвет placeholder */
    opacity: 1; /* Firefox требует этой настройки для правильного отображения цвета */
  }

  /* Для старых версий браузеров нужно добавить вендорные префиксы */
  .input-field-dark::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: rgba(44, 44, 98, 0.5);
  }

  .input-field-dark:-moz-placeholder { /* Mozilla Firefox 4-18 */
    color: rgba(44, 44, 98, 0.5);
    opacity: 1;
  }

  .input-field-dark::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: rgba(44, 44, 98, 0.5);
    opacity: 1;
  }

  .input-field-dark:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(44, 44, 98, 0.5);
  }

  .input-field-dark::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(44, 44, 98, 0.5);
  }

  .placeholder-input-field {
    color: var(--primary-dark-blue-100, #f6f6f6);
    font-family: var(--body-2-font-family, "Montserrat", sans-serif);
    font-size: var(--body-2-font-size, 16px);
    opacity: 0.7;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    transition: all 0.3s ease;
    z-index: 1;
  }

  .input-field:focus + .placeholder,
  .input-field:not(:placeholder-shown) + .placeholder {
    opacity: 0;
  }

  .title-input-text {
    color: var(--white, #ffffff);
    text-align: left;
    font-family: var(--body-2-font-family, "Montserrat", sans-serif);
    font-size: var(--body-2-font-size, 20px);
    line-height: var(--body-2-line-height, 130%);
    font-weight: var(--body-2-font-weight, 400);
    position: absolute;
    left: 0;
    top: 0;
  }
  .title-input-text-dark {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: var(--body-2-font-family, "Montserrat", sans-serif);
    font-size: var(--body-2-font-size, 20px);
    line-height: var(--body-2-line-height, 130%);
    font-weight: var(--body-2-font-weight, 400);
    position: absolute;
    left: 0;
    top: 0;
  }

  .checkbox-row {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 15px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
  }

  /* Контейнер для чекбокса */
  .checkbox-box {
    display: flex;
    flex-direction: row;
    gap: 8px;
  }
  .checkbox-container {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
    cursor: pointer;
  }

  /* Скрываем стандартный чекбокс */
  .checkbox-input, .checkbox-input-contacts {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }

  /* Стили для кастомного чекбокса */
  .checkbox-custom {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Стили для иконок */
  .checkbox-unchecked,
  .checkbox-checked {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: opacity 0.2s ease;
  }

  /* По умолчанию показываем только unchecked */
  .checkbox-checked {
    opacity: 0;
  }

  /* Когда чекбокс активен, показываем только checked */
  .checkbox-input:checked ~ .checkbox-custom .checkbox-unchecked {
    opacity: 0;
  }
  .checkbox-input:checked ~ .checkbox-custom .checkbox-checked {
    opacity: 1;
  }
  /* Эффект фокуса для доступности */
  .checkbox-input:focus ~ .checkbox-custom {
    box-shadow: 0 0 0 2px rgba(114, 114, 236, 0.3);
    border-radius: 6px;
  }

  /* Когда чекбокс активен, показываем только checked */
  .checkbox-input-contacts:checked ~ .checkbox-custom .checkbox-unchecked {
    opacity: 0;
  }
  .checkbox-input-contacts:checked ~ .checkbox-custom .checkbox-checked {
    opacity: 1;
  }
  /* Эффект фокуса для доступности */
  .checkbox-input-contacts:focus ~ .checkbox-custom {
    box-shadow: 0 0 0 2px rgba(114, 114, 236, 0.3);
    border-radius: 6px;
  }

  .privacy-text {
    color: var(--primary-dark-blue-900, #002248);
    text-align: left;
    font-family: var(--text-font-family, "Montserrat", sans-serif);
    line-height: 130%;
    font-weight: 400;
    position: relative;
    margin-top: 5px;
  }
  .checkbox-text-dark {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: var(--text-font-family, "Montserrat", sans-serif);
    line-height: 130%;
    font-weight: 400;
    position: relative;
    margin-top: 5px;
  }
  .privacy-text-span {
  }
  .div-accept-personal-data {
    text-decoration: underline;
    color: var(--primary-dark-blue-900, #002248);
    cursor: pointer;
  }
  .div-accept-personal-data-dark {
    text-decoration: underline;
    color: var(--textdark, #2c2c62);
    cursor: pointer;
  }
  .atp-contacts-address {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: var(--body-font-family, "Montserrat", sans-serif);
    font-size: var(--body-font-size, 22px);
    line-height: var(--body-line-height, 130%);
    font-weight: var(--body-font-weight, 400);
    position: relative;
    width: 360px;
  }
  .atp-contacts-phone {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    position: relative;
    align-self: stretch;
  }
  .phone-link {
    color: inherit; /* Наследует цвет текста от родителя */
    text-decoration: none; /* Убираем подчеркивание ссылки */
    cursor: pointer; /* Меняем курсор на указатель при наведении */
    transition: opacity 0.2s ease; /* Плавный переход для эффекта наведения */
  }
  .phone-link:hover {
    opacity: 0.8; /* Небольшое изменение прозрачности при наведении */
  }
  .phone-link:active {
    opacity: 0.6; /* Изменение прозрачности при нажатии */
  }

  .atp-contacts-email {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    position: relative;
    align-self: stretch;
  }
  .email-link {
    color: inherit; /* Наследует цвет текста от родителя */
    text-decoration: none; /* Убираем подчеркивание ссылки */
    cursor: pointer; /* Меняем курсор на указатель при наведении */
    transition: opacity 0.2s ease; /* Плавный переход для эффекта наведения */
  }
  .email-link:hover {
    opacity: 0.8; /* Небольшое изменение прозрачности при наведении */
  }
  .email-link:active {
    opacity: 0.6; /* Изменение прозрачности при нажатии */
  }

  .frame-footer {
    background: var(--primary-dark-blue-900, #002248);
    width: 100%;
    height: auto; /* Высота будет определяться содержимым */

    display: flex;
    flex-direction: column;

    overflow: hidden; /* Изменено с hidden на visible */
    box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */
  }
  .frame-footer-items {
    align-self: stretch;
    flex-shrink: 0;

    width: calc(100% - 20px); /* ширина с учетом отступов слева и справа по 120px */
    max-width: 1280px;
    height: auto; /* Высота будет определяться содержимым */

    left: 50%;
    transform: translateX(-50%);
    overflow: visible; /* Изменено с hidden на visible */
    box-sizing: border-box; /* Чтобы padding не увеличивал фактический размер */

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 40px;
    margin-bottom: 40px;
    /*gap: 40px;*/
    position: relative;
  }

  .frame-footer-contact-us-title {
    color: var(--white, #ffffff);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    line-height: 100%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
    cursor: default;
  }
  .frame-footer-contact-us-subtitle {
    color: var(--white, #ffffff);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    line-height: 100%;
    font-weight: 400;
    position: relative;
    align-self: stretch;
    cursor: default;

    margin-top: 8px;
  }

  .frame-footer-contact-us-row {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;

    margin-top: 36px;
  }
  .frame-footer-contact-us-column {
    flex: 1;                 /* equal width */
    height: auto;
    display: flex;           /* ensures inner content expands properly */
    flex-direction: column;  /* allow vertical stacking */
    border-radius: 24px;
    padding: 16px;
  }
  .frame-footer-contact-us-item-text {
    color: var(--white, #ffffff);
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    line-height: 100%;
    font-weight: 400;
    position: relative;
    flex: 1;
  }
  .frame-footer-contact-us-item-text:hover {
    text-decoration: underline; /* underline on hover */
    text-underline-offset: 5px; /* distance between text and underline */
  }

  .menu-header {
    padding: 4px 0px 4px 0px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
  }
  .menu-header:hover .menu-header-item-text {
    color: var(--primary-dark-blue-900);
    text-decoration: underline; /* underline on hover */
    text-underline-offset: 5px; /* distance between text and underline */
  }

  .frame-copyrights {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;

    width: calc(100%); /* ширина с учетом отступов слева и справа по 20px */
    max-width: 1280px;

    position: absolute;
    bottom: 40px;
  }
  .div-copyrights {
    color: var(--white, #ffffff);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    line-height: 130%;
    font-weight: 400;
    cursor: default;

    margin-top: 8px;
  }
  .div-policy {
    width: 100%;
    color: var(--primary-dark-blue-100, #f6f6f6);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    line-height: 130%;
    font-weight: 400;
    text-decoration: underline;
    /*position: relative;*/
    cursor: pointer;

    margin-top: 40px;
  }
  .button-header-form {
    background: var(--primary-dark-blue-900, #002248);
    border-radius: 16px;
    padding: 11px 40px 11px 40px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    cursor: pointer;
  }
  .button-header-form:hover {
    background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
  }

  .button-header-text {
    color: var(--white, #ffffff);
    text-align: center;
    font-family: var(--menu-font-family, "Montserrat", sans-serif);
    font-size: 16px;
    line-height: 100%;
    font-weight: 500;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .button-header-icon {
    height: 24px;
    width: 24px;
  }
  /* Base header css */
  .header {
    z-index: 999;
    background: var(--white, #ffffff);
    border-radius: 30px;
    padding: 16px 32px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 40px);
    max-width: 1280px;
    position: fixed;
    top: 28px;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.3s ease;
    box-sizing: border-box;

    /* little shadow to separate the header from content */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  .text-logo {
    display: flex;
    flex-direction: row;
    gap: 60px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
  }
  .header-img-logo {
    flex-shrink: 0;
    width: 150px;
    height: 60px;
    position: relative;
    cursor: pointer;
  }
  .menu-header2 {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
  }
  .menu-header-item-text {
    color: var(--textdark, #2c2c62);
    text-align: left;
    font-family: var(--menu-font-family, "Montserrat", sans-serif);
    font-size: var(--menu-font-size, 16px);
    line-height: var(--menu-font-height, 130%);
    font-weight: var(--menu-font-weight, 700);
    position: relative;
    cursor: pointer;
  }
  .frame-languages-btns {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
    padding: 4px;
  }
  .button-header2 {
    border-radius: 16px;
    border-style: solid;
    border-color: var(--primary-dark-blue-900, #002248);
    border-width: 1px;
    padding: 11px 25px 11px 25px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
  }
  .button-header2:hover {
    background: rgba(114, 114, 236, 0.1);
  }

  /* Mobile menu button (hidden by default) */
  .mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1001;
  }

  .burger-line {
    width: 100%;
    height: 3px;
    background-color: var(--primary-dark-blue-900, #002248);
    border-radius: 3px;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  /* Mobile menu overlay (hidden by default) */
  .mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--white, #ffffff);
    z-index: 997;
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  /* When buttons are moved to mobile menu */
  .menu-header2 .button-header-form {
    margin-top: 20px;
    width: calc(100% - 40px);
  }

  /* Active menu item */
  .menu-header-item-text.active {
    color: var(--primary-dark-blue-900, #002248);
    text-decoration: underline; /* underline on hover */
    text-underline-offset: 5px; /* distance between text and underline */
  }

  /* Active language button */
  .language-btn.active {
    background-color: var(--primary-dark-blue-900, #002248);
  }

  .language-btn.active .div64 {
    color: #ffffff;
  }

  /* Mobile menu active state */
  .header.mobile-menu-open .mobile-menu-toggle .burger-line:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }

  .header.mobile-menu-open .mobile-menu-toggle .burger-line:nth-child(2) {
    opacity: 0;
  }

  .header.mobile-menu-open .mobile-menu-toggle .burger-line:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  .header.mobile-menu-open .menu-header2 {
    right: 0; /* Slide in */
  }

  .header.mobile-menu-open .mobile-menu-overlay {
    display: block;
    opacity: 0.5;
    border-radius: 16px;
  }

  .frame-language-btn {
    display: flex;
    flex-direction: row;
    gap: 2px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
  }
  .div64 {
    color: var(--primary-dark-blue-900, #002248);
    text-align: left;
    font-family: var(--button-font-family, "Montserrat", sans-serif);
    font-size: 14px;
    line-height: 100%;
    font-weight: 700;
    position: relative;
  }

  /* Стили для формы обратной связи и обработки ошибок */

  /* Стили для полей ввода с ошибкой */
  .input-error {
    border-color: #ff3e3e !important;
    box-shadow: 0 0 0 1px rgba(255, 62, 62, 0.5) !important;
  }

  .input-text-field-dark .input-error {
    background-color: rgba(255, 62, 62, 0.03) !important;
  }

  /* Сообщение об ошибке */
  .error-message {
    color: #ff3e3e;
    font-size: 14px;
    margin-top: 5px;
    font-family: var(--body-3-font-family, "Montserrat", sans-serif);
    font-weight: 400;
    display: none;
  }

  /* Стили для текста о согласии с ошибкой */
  .privacy-text-error {
    color: #ff3e3e !important;
  }

  .privacy-text-error a {
    color: #ff3e3e !important;
    border-color: #ff3e3e !important;
  }

  /* Сообщение об успешной отправке */
  .success-message {
    background-color: rgba(39, 174, 96, 0.1);
    color: #27ae60;
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    margin-top: 20px;
    font-family: var(--body-2-font-family, "Montserrat", sans-serif);
    font-size: var(--body-2-font-size, 20px);
    line-height: var(--body-2-line-height, 130%);
    font-weight: var(--body-2-font-weight, 400);
    animation: fadeIn 0.3s ease;
  }

  /* Серверная ошибка */
  .server-error-message {
    background-color: rgba(255, 62, 62, 0.1);
    color: #ff3e3e;
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    margin-bottom: 20px;
    font-family: var(--body-3-font-family, "Montserrat", sans-serif);
    font-size: 16px;
    line-height: 130%;
    font-weight: 400;
    animation: fadeIn 0.3s ease;
  }

  /* Анимация появления */
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Анимация загрузки */
  @keyframes spin {
    to { transform: translateY(-50%) rotate(360deg); }
  }
}