body .cImageText.block .cImageText__title {
  font-weight: 600;
}

body .cImageText.block .cImageText__title span {
  display: inline;
}

body .cImageText.block .cImageText__button {
  color: #2f2f2f;
}
body .cImageText.block .cImageText__button:hover {

  color: #494949;
}
.cCourseCatalog.block .courses-section h3 {
    color: #5b5a58;
}
.content-price-display__current {
    color: #5b5a58;
}

body .cAdvantages.block:not(._layoutLinear) .advantage {
  background: #f8f7f4;
  border: none
}
body .cAdvantages.block .advantage__title, body .cAdvantages.block .advantageCollection__title {
    color: #5b5a58;
}

body .block-instructors-listing .trainer-card-overlay__name {
  color: #141414;
}

body .block-instructors-listing .trainer-card-overlay__meta {
  color: #141414;
}

body .cAccordion.block .accordion__header {
  border: 1px solid  #cfcfcf;
}

body .cAccordion.block .accordion__header:hover {
  border-color: #cfcfcf;
}

body .cAccordion.block .accordion.active .accordion__body {
  border: 1px solid #cfcfcf;
  border-top: 0;
}

body .cTiles.block .tiles .tile__item._textOnly {
  border-color: #cfcfcf;
}

.btn-outlined:hover {
  background: #c6dfb1;
  border-color: #c6dfb1;
}

body .block-catalog .feat-card {
  flex: 0 0 min(100%,480px);
}
.lesson-course-lessons__card.is-current {
  background: 
color-mix(in srgb, #c6dfb1 55%, var(--sp-surface-card));
}
.chip-new {
  background: #c6dfb1;
  border-color: #c6dfb1;
  color: #3c3d3c;
}
body .cTiles.block .tiles .tile__item._textOnly .tile__title {
  color: #a7c78c;
}
body .cAdvantages.block:not(._layoutLinear) .advantage * {
    text-align: center;
}

body .block--trainer-about .trainer-bio-panel {
  transition: none;
  text-align: justify;
}
body .cImageText.block .cImageText__title {
    font-size: clamp(1.6rem, 5.3vw, 4.2rem);
    }

    body .cImageText.block .cImageText__description {
    font-weight: 400;
}

body .cAdvantages.block:not(._layoutLinear) .advantage {
    min-height: 0;
    height: auto;
    padding-bottom: 20px;
}

.btn.btn-warm{
    background: var(--sp-accent-warm);
    color: #141414;
    border: 1px solid 
color-mix(in srgb, var(--sp-accent-warm) 80%, #000);
}

body .cAccordion.block .accordion__title {
    color: #4d4d4d;
}
/* =========================================
   BODY_FORM — 3 карточки в ряд
   ========================================= */

/* Контейнер блока */
body .body_form .cAdvantages {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;

    width: 100% !important;
    height: auto !important;
    gap: 0 !important;
}


/* =========================================
   BODY_FORM
   3 карточки в ряд
   ========================================= */

body .body_form .advantageCollection {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px 20px !important;

    width: 100% !important;
    height: auto !important;
}


/* =========================================
   Элемент коллекции
   ========================================= */

body .body_form .advantageCollection__item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================
   Карточка
   ========================================= */

body .body_form .advantageCollection__item .advantage {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 10px 20px !important;

    box-sizing: border-box !important;

    text-align: center !important;
}


/* =========================================
   Иконка
   ========================================= */

body .body_form .advantage__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    margin: 0 0 15px !important;
}

body .body_form .advantage__icon img {
    display: block !important;

    width: 190px !important;
    height: 190px !important;

    max-width: 100% !important;

    object-fit: contain !important;

    margin: 0 auto !important;
}


/* =========================================
   Заголовок
   ========================================= */

body .body_form .advantage__title {
    width: 100% !important;
    margin: 0 0 10px !important;

    text-align: center !important;
}


/* =========================================
   Текст
   ========================================= */

body .body_form .advantage__text {
    width: 100% !important;
    margin: 0 !important;

    text-align: center !important;
}


/* =========================================
   Планшет
   ========================================= */

@media (max-width: 900px) {
    body .body_form .advantageCollection {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================
   Телефон
   ========================================= */

@media (max-width: 600px) {
    body .body_form .advantageCollection {
        grid-template-columns: 1fr !important;
    }
}

body .body_form .advantageCollection__item .advantage {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/*12.08.2026*/
.wrapper {
  display: flex;
  flex-direction: column;
  min-width: 1px;
}
.wrapper .block-lessons{
  order: 1;
}

.catalog-grid .pcard-meta {display: none;}

/* FEEDBACK — размер и позиционирование иконки */

.feedback .advantageCollection__item--liniar .advantageCollection__icon {
    flex: 0 0 100px !important;
    width: 100px !important;
    height: 100px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin-right: 20px !important;
}

/* Все возможные элементы внутри контейнера иконки */
.feedback .advantageCollection__item--liniar .advantageCollection__icon > * {
    width: 75px !important;
    height: 75px !important;
    max-width: 75px !important;
    max-height: 75px !important;
}


@media (min-width: 1024px) {

    /* =========================================
       ОСНОВНОЙ КОНТЕЙНЕР
       ========================================= */

    .reviews-slider__item .reviews-item__box {
        width: 100% !important;

        /* ВАЖНО: не растягиваем контейнер искусственно */
         height: auto !important;
        min-height: 0 !important;

        display: flex !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: center !important;

        background: transparent !important;
        overflow: visible !important;
    }


    /* =========================================
       ФОТО
       ========================================= */

    .reviews-slider__item .reviews-item__icon {
        flex: 0 0 35% !important;
        width: 35% !important;

        height: auto !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        box-sizing: border-box !important;
    }

    .reviews-slider__item .reviews-item__icon img {
        position: static !important;
        left: auto !important;
        top: auto !important;

        display: block !important;

        width: auto !important;
        height: 277px !important;
        max-width: 100% !important;

        margin: 0 auto !important;

        object-fit: contain !important;
    } 


    /* =========================================
       ТЕКСТОВАЯ ОБЛАСТЬ
       ========================================= */

     .reviews-slider__item .reviews-item__content {
        flex: 0 0 65% !important;
        width: 65% !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 0 30px 0 90px !important;

        box-sizing: border-box !important;

        display: flex !important;
        flex-direction: column !important;

        justify-content: flex-start !important;
        align-items: flex-start !important;

        text-align: left !important;
    } 


    /* =========================================
       TITLE — ПЕРЕМЕЩАЕМ В НАЧАЛО
       ========================================= */

    .reviews-slider__item .reviews-item__content .review__title {
        order: -10 !important;

        margin-top: 0 !important;
        margin-bottom: 16px !important;

        align-self: flex-start !important;
    }
} 



/* =========================================================
   HEART — ФИНАЛЬНЫЙ ВАРИАНТ
   ========================================================= */
/* =========================================================
   HEART — ФИНАЛЬНЫЙ ВАРИАНТ
   Линия + сердечки
   Цвет: #F8A2AB
   ========================================================= */


/* =========================================================
   ОБЩИЕ НАСТРОЙКИ
   ========================================================= */
.heart,
.heart .tiles,
.heart .tiles .tile,
.heart .tiles .tile__item {
    box-sizing: border-box !important;
}

.heart {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.heart .tiles {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
} 


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) { 

    /* -----------------------------------------------------
       ТРИ ПУНКТА В ОДИН РЯД
       ----------------------------------------------------- */

    .heart .tiles {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: space-between !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .heart .tiles .tile {
        position: relative !important;

        width: calc(33.333333% - 10.666666px) !important;
        max-width: calc(33.333333% - 10.666666px) !important;
        min-width: 0 !important;

        flex: 0 0 calc(33.333333% - 10.666666px) !important;

        top: 0 !important;
        left: auto !important;

        margin: 0 !important;

        overflow: visible !important;

        z-index: 2 !important;
    }


    /* -----------------------------------------------------
       ЛИНИЯ
       ----------------------------------------------------- */

    .heart .tiles::before {
        content: "";

        position: absolute !important;

        left: 7% !important;
        right: 7% !important;

        top: 85px !important;

        height: 125px !important;

        z-index: 8 !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 125' preserveAspectRatio='none'%3E%3Cpath d='M0 70 C110 25 200 15 300 62 C390 105 455 120 500 65 C550 10 650 10 700 62 C760 115 855 115 1000 52' fill='none' stroke='%23F8A2AB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-size: 100% 100% !important;
        background-position: center !important;

        pointer-events: none !important;
    }


    /* -----------------------------------------------------
       ИЗОБРАЖЕНИЯ ПОД ЛИНИЕЙ
       ----------------------------------------------------- */

    .heart .tiles .tile__item img {
        position: relative !important;
        z-index: 1 !important;
    }


    /* -----------------------------------------------------
       ТЕКСТ ПОВЕРХ ЛИНИИ
       ----------------------------------------------------- */

    .heart .tiles .tile__item {
        position: relative !important;
        z-index: 10 !important;
    }


    /* -----------------------------------------------------
       СЕРДЕЧКИ
       ----------------------------------------------------- */

    .heart .tiles .tile::after {
        content: "" !important;

        position: absolute !important;

        width: 38px !important;
        height: 38px !important;

        z-index: 30 !important;

        background-color: transparent !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 86 C43 79 13 61 13 35 C13 20 23 10 37 10 C45 10 52 14 56 23 C60 14 67 10 75 10 C89 10 97 20 97 35 C97 61 67 79 50 86Z' fill='%23F8A2AB'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;

        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;

        pointer-events: none !important;
    }


    /* первое сердце */

    .heart .tiles .tile:nth-child(1)::after {
        left: 50% !important;
        top: 110px !important;

        transform: translate(-50%, -50%) !important;
    }


    /* второе сердце */

    .heart .tiles .tile:nth-child(2)::after {
        left: 50% !important;
        top: 140px !important;

        transform: translate(-50%, -50%) !important;
    }


    /* третье сердце */

    .heart .tiles .tile:nth-child(3)::after {
        left: 50% !important;
        top: 110px !important;

        transform: translate(-50%, -50%) !important;
    }
} 



/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .heart .tiles {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    .heart .tiles .tile {
        position: relative !important;

        width: 33.333333% !important;
        max-width: 33.333333% !important;
        min-width: 0 !important;

        flex: 0 0 33.333333% !important;

        overflow: visible !important;

        z-index: 2 !important;
    }


    /* линия */

    .heart .tiles::before {
        content: "";

        position: absolute !important;

        left: 5% !important;
        right: 5% !important;

        top: 80px !important;

        height: 110px !important;

        z-index: 8 !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 110' preserveAspectRatio='none'%3E%3Cpath d='M0 60 C120 15 205 10 300 55 C390 100 455 108 500 55 C550 5 650 5 700 55 C760 105 850 100 1000 50' fill='none' stroke='%23F8A2AB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-size: 100% 100% !important;

        pointer-events: none !important;
    }


    .heart .tiles .tile__item img {
        position: relative !important;
        z-index: 1 !important;
    }

    .heart .tiles .tile__item {
        position: relative !important;
        z-index: 10 !important;
    }


    /* сердечки */

    .heart .tiles .tile::after {
        content: "" !important;

        position: absolute !important;

        width: 34px !important;
        height: 34px !important;

        z-index: 30 !important;

        background-color: transparent !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 86 C43 79 13 61 13 35 C13 20 23 10 37 10 C45 10 52 14 56 23 C60 14 67 10 75 10 C89 10 97 20 97 35 C97 61 67 79 50 86Z' fill='%23F8A2AB'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;

        padding: 0 !important;
        border: 0 !important;

        pointer-events: none !important;
    }

    .heart .tiles .tile:nth-child(1)::after,
    .heart .tiles .tile:nth-child(3)::after {
        left: 50% !important;
        top: 105px !important;

        transform: translate(-50%, -50%) !important;
    }

    .heart .tiles .tile:nth-child(2)::after {
        left: 50% !important;
        top: 130px !important;

        transform: translate(-50%, -50%) !important;
    }
}



/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       ОСНОВНОЙ БЛОК
       ----------------------------------------------------- */

    .heart {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }


    /* -----------------------------------------------------
       ПУНКТЫ ДРУГ ПОД ДРУГОМ
       ----------------------------------------------------- */

    .heart .tiles {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        box-sizing: border-box !important;
    }


    .heart .tiles .tile {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        flex: none !important;

        margin: 0 !important;
        padding: 0 !important;

        top: 0 !important;
        left: 0 !important;

        transform: none !important;

        overflow: visible !important;

        box-sizing: border-box !important;

        z-index: 2 !important;
    }


    .heart .tiles .tile__item {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;

        text-align: center !important;

        z-index: 10 !important;
    }


    /* -----------------------------------------------------
       МОБИЛЬНАЯ S-ОБРАЗНАЯ ЛИНИЯ
       ----------------------------------------------------- */

    .heart .tiles::before {
        content: "";

        position: absolute !important;

        left: 0 !important;
        top: 0 !important;

        width: 100% !important;
        height: 100% !important;

        z-index: 8 !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 1200' preserveAspectRatio='none'%3E%3Cpath d='M215 0 C300 55 350 125 350 205 C350 275 300 315 235 335 C145 360 75 390 75 475 C75 555 145 600 220 630 C300 665 340 710 340 780 C340 855 280 900 205 930 C120 965 65 1010 70 1070 C75 1130 135 1170 215 1200' fill='none' stroke='%23F8A2AB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 100% 100% !important;

        pointer-events: none !important;
    }


    /* -----------------------------------------------------
       ИЗОБРАЖЕНИЯ ПОД ЛИНИЕЙ
       ----------------------------------------------------- */

    .heart .tiles .tile__item img {
        position: relative !important;
        z-index: 1 !important;
    }


    /* -----------------------------------------------------
       ТЕКСТ НАД ЛИНИЕЙ
       ----------------------------------------------------- */

    .heart .tiles .tile__item {
        z-index: 10 !important;
    }


    /* -----------------------------------------------------
       СЕРДЕЧКИ
       ----------------------------------------------------- */

    .heart .tiles .tile::after {
        content: "" !important;

        display: block !important;

        position: absolute !important;

        left: 50% !important;

        width: 38px !important;
        height: 38px !important;

        z-index: 100 !important;

        background-color: transparent !important;

        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 86 C43 79 13 61 13 35 C13 20 23 10 37 10 C45 10 52 14 56 23 C60 14 67 10 75 10 C89 10 97 20 97 35 C97 61 67 79 50 86Z' fill='%23F8A2AB'/%3E%3C/svg%3E");

        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;

        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;

        pointer-events: none !important;
    }


    /* -----------------------------------------------------
       ПЕРВОЕ СЕРДЦЕ
       Между 1 и 2 пунктом
       ----------------------------------------------------- */

     .heart .tiles .tile:nth-child(1)::after {
        top: calc(100% + 45px) !important;

        transform: translate(-50%, -50%) !important;
    } 


    /* -----------------------------------------------------
       ВТОРОЕ СЕРДЦЕ
       Между 2 и 3 пунктом
       ----------------------------------------------------- */

    .heart .tiles .tile:nth-child(2)::after {
        top: calc(100% + 45px) !important;

        transform: translate(-50%, -50%) !important;
    }


    /* -----------------------------------------------------
       ТРЕТЬЕ СЕРДЦЕ НЕ НУЖНО
       ----------------------------------------------------- */

    .heart .tiles .tile:nth-child(3)::after {
        display: none !important;
    }
}

/* =========================================================
   ФИНАЛЬНАЯ НАСТРОЙКА ПОЛОЖЕНИЯ СЕРДЕЧЕК
   ========================================================= */


/* -------------------------
   DESKTOP
   ------------------------- */

@media (min-width: 1024px) {

    /* первое сердечко */
    .heart .tiles .tile:nth-child(1)::after {
        left: 54% !important;
        top: 103px !important;
    }

    /* центральное сердечко */
    .heart .tiles .tile:nth-child(2)::after {
        left: 50% !important;
        top: 137px !important;
    }

    /* третье сердечко */
    .heart .tiles .tile:nth-child(3)::after {
        left: 46% !important;
        top: 103px !important;
    }
}


/* -------------------------
   TABLET
   ------------------------- */

@media (min-width: 768px) and (max-width: 1023px) {

    .heart .tiles .tile:nth-child(1)::after {
        left: 54% !important;
        top: 100px !important;
    }

    .heart .tiles .tile:nth-child(2)::after {
        left: 50% !important;
        top: 127px !important;
    }

    .heart .tiles .tile:nth-child(3)::after {
        left: 46% !important;
        top: 100px !important;
    }
}


/* -------------------------
   MOBILE
   ------------------------- */

@media (max-width: 767px) {

    /* первое сердечко —
       чуть ниже в промежутке */
    .heart .tiles .tile:nth-child(1)::after {
        top: calc(100% + 58px) !important;
    }

    /* второе сердечко —
       чуть ниже в промежутке */
    .heart .tiles .tile:nth-child(2)::after {
        top: calc(100% + 58px) !important;
    }
} 

/* =========================================================
   DESKTOP — сердечки немного выше линии
   ========================================================= */

@media (min-width: 1024px) {


    .heart .tiles .tile:nth-child(1)::after {
        left: 54% !important;
        top: 88px !important;
        transform: translate(-50%, -50%) !important;
    }


    .heart .tiles .tile:nth-child(2)::after {
        left: 50% !important;
        top: 113px !important;
        transform: translate(-50%, -50%) !important;
    }


    .heart .tiles .tile:nth-child(3)::after {
        left: 46% !important;
        top: 88px !important;
        transform: translate(-50%, -50%) !important;
    }
}

body .cText.block .btn {
    color: #000000;
}


body .block--trainer-about {
   order: 1;
}
/* ===== Первый экран интенсива ===== */

.system {
    padding: 30px 0;
}

.system .block__content {
    max-width: 1180px;
    margin: 0 auto;
}

/* ===== Сетка ===== */

.system .tb-grid {
    align-items: center;
}

/* ===== УЧАСТИЕ В ИНТЕНСИВЕ ===== */

.system h2 {
    margin: 0 0 40px;

    font-family: var(--sp-font-body);
    font-size: 15px;
    font-weight: 500;

    letter-spacing: .12em;
    text-transform: uppercase;

    color: #c98d98;
}

.system h2::after {
    content: "";

    display: block;

    width: 78px;
    height: 1px;

    margin-top: 18px;

    background: #d98b98;
}

/* ===== Заголовок ===== */

.system h3 {
    max-width: 520px;

    margin: 0 0 30px;

    font-family: "Bona Nova SC", serif;
    font-size: clamp(42px, 4vw, 64px);

    font-weight: 400;
    line-height: 0.95;

    letter-spacing: -0.02em;

    color: #4d4d4d;
}

/* ===== 4 недели ===== */

.system .text p:first-of-type {
    margin: 0;

    font-size: 18px;
    font-weight: 400;

    letter-spacing: .08em;
    text-transform: uppercase;

    color: #666;
}

/* ===== Правая колонка ===== */

.system .tb-grid-md-6:last-child {
    display: flex;
    justify-content: center;
    padding-left: 20px;
}

/* ===== Фото ===== */

.system .tb-grid-md-6:last-child .text {
    width: 320px;
}

.system .tb-grid-md-6:last-child p {
    margin: 0;
}

.system .tb-grid-md-6:last-child img {
    display: block;

    width: 320px;
    height: 430px;

    object-fit: cover;

    border-radius: 160px 160px 0 0;
}

/* =========================================================
   БЛОК «В ПРОГРАММУ ВХОДЯТ»
   ========================================================= */



/* ===== Основная карточка ===== */

.includes .block__content {
    position: relative;

    max-width: 1180px;
    min-width: 320px;

    margin: 0 auto;
    padding: 34px 38px 24px;

    border: 1px solid #e4ddd8;
    border-radius: 28px;

    background: rgba(255, 255, 255, 0.35);

    overflow: hidden;
}


/* ===== Заголовок ===== */

.includes h2 {
    position: relative;
    z-index: 2;

    margin: 0 0 18px;

    font-family: var(--sp-font-body);
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 500;
    line-height: 1.2;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: #d98291;
}


/* ===== Сетка ===== */

.includes .tb-grid {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    gap: 0;
}


/* ===== Пункты списка ===== */

.includes .tb-grid > * {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 72px;

    padding: 8px 0;

    border-bottom: 1px solid #e8e2de;
}


/* Убираем пустые элементы */

.includes .tb-grid > *:empty {
    display: none !important;
}


/* Убираем линию после последнего элемента */

.includes .tb-grid > *:last-child {
    border-bottom: none;
}


/* ===== Иконки ===== */

.includes .tb-grid img {
    display: block;

    flex: 0 0 60px;

    width: 60px;
    height: 60px;

    padding: 14px;

    object-fit: contain;

    border-radius: 50%;

    background: #f2f3ed;
}


/* ===== Текст пунктов ===== */

.includes .tb-grid p {
    position: relative;

    margin: 0 0 0 28px;
    padding-left: 28px;

    font-family: var(--sp-font-body);
    font-size: clamp(16px, 1.4vw, 19px);
    font-weight: 400;
    line-height: 1.4;

    color: #5b5b5b;
}


/* ===== Розовое тире ===== */

.includes .tb-grid p::before {
    content: "—";

    position: absolute;

    left: 0;
    top: 0;

    color: #e28191;
}


/* ===== Если элемент содержит только картинку ===== */

.includes .tb-grid p:has(img) {
    display: flex;
    align-items: center;

    margin: 0;
    padding: 0;

    font-size: 0;
}


/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media (max-width: 767px) {

    .includes .block__content {
        padding: 28px 20px 20px;

        border-radius: 22px;
    }


    /* Заголовок */

    .includes h2 {
        margin-bottom: 14px;

        font-size: 19px;
    }


    /* Пункты */

    .includes .tb-grid > * {
        min-height: 64px;

        padding: 7px 0;
    }


    /* Иконки */

    .includes .tb-grid img {
        flex-basis: 50px;

        width: 50px;
        height: 50px;

        padding: 11px;
    }


    /* Текст */

    .includes .tb-grid p {
        margin-left: 16px;
        padding-left: 20px;

        font-size: 15px;
    }

}


/* =========================================================
   МАЛЕНЬКИЕ ТЕЛЕФОНЫ
   ========================================================= */

@media (max-width: 480px) {

    .includes .block__content {
        padding-left: 16px;
        padding-right: 16px;

        border-radius: 18px;
    }


    .includes h2 {
        font-size: 17px;
        letter-spacing: 0.06em;
    }


    .includes .tb-grid > * {
        min-height: 60px;
    }


    .includes .tb-grid img {
        flex-basis: 46px;

        width: 46px;
        height: 46px;

        padding: 10px;
    }


    .includes .tb-grid p {
        margin-left: 12px;
        padding-left: 18px;

        font-size: 14px;
    }

}
/* =========================================
   БЛОК PRICE
   ========================================= */

.price {
    padding: 25px 0 40px !important;
}


/* Карточка */

.price .block__content {
    position: relative;

    width: 100%;
    max-width: 1320px !important;

    min-height: 290px;

    margin: 0 auto;

    padding: 28px 40px 22px !important;

    box-sizing: border-box;

    border: 1px solid #dddcd4;
    border-radius: 20px;

    background: #fafaf7;

    text-align: left !important;

    display: flex;
    flex-direction: column;
}


/* =========================================
   СКРЫВАЕМ СТАРЫЙ ЗАГОЛОВОК
   ========================================= */

.price .block__title {
    display: none !important;
}


/* =========================================
   ТЕКСТОВЫЙ КОНТЕЙНЕР
   ========================================= */

.price .text {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: none;

    margin: 0 !important;
}


/* Сам p */

.price .text p {
    margin: 0 !important;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    line-height: 1.2 !important;
}


/* =========================================
   "СТОИМОСТЬ УЧАСТИЯ —"
   ========================================= */

.price .price-label {
    display: block;

    margin: 0 0 4px;

    color: #d77b89 !important;

    font-family: var(--sp-font-body) !important;
    font-size: 18px !important;
    font-weight: 500 !important;

    line-height: 1.2 !important;

    letter-spacing: 0.04em;
}


/* =========================================
   6 990 ₽
   ========================================= */

.price .price-value {
    display: block;

    margin: 0 0 10px;

    color: #d86f82 !important;

    font-family: var(--sp-font-display) !important;
    font-size: clamp(52px, 5vw, 72px) !important;
    font-weight: 400 !important;

    line-height: 0.95 !important;

    letter-spacing: 0.01em;
}


/* =========================================
   ОПИСАНИЕ
   ========================================= */

.price .price-description {
    display: block;

    color: #555555 !important;

    font-family: var(--sp-font-body) !important;
    font-size: 16px !important;
    font-weight: 400 !important;

    line-height: 1.35 !important;
}


/* =========================================
   КНОПКА
   ========================================= */

/* Растягиваем существующую кнопку */

.price .btn,
.price .btn.btn-warm {
    position: relative;
    z-index: 5;

    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    max-width: none !important;

    min-height: 54px;

    margin-top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box;

    text-align: center;

    flex-shrink: 0;
}


/* =========================================
   ДЕКОРАТИВНАЯ ОБЛАСТЬ СПРАВА
   ========================================= */

.price .block__content::after {
    content: "";

    position: absolute;

    z-index: 1;

    width: 360px;
    height: 250px;

    right: 30px;
    bottom: -40px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(215, 220, 194, 0.28) 0%,
            rgba(215, 220, 194, 0.12) 40%,
            transparent 72%
        );

    pointer-events: none;
}


/* =========================================
   DESKTOP
   ========================================= */

@media (min-width: 768px) {

    .price .block__content {
        min-height: 290px;
        padding: 28px 40px 22px !important;
    }

    .price .text {
        max-width: 450px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .price {
        padding: 15px 0 !important;
    }

    .price .block__content {
        min-height: 0;

        padding: 25px 22px 20px !important;

        border-radius: 18px;
    }

    .price .price-label {
        font-size: 15px !important;
    }

    .price .price-value {
        font-size: 50px !important;
    }

    .price .price-description {
        font-size: 14px !important;
    }

    .price .btn,
    .price .btn.btn-warm {
        min-height: 52px;

        margin-top: 25px !important;
    }

}

/* =========================================================
   JOIN — БЛОК "НАЧНИТЕ РАБОТАТЬ С ЖИВОТОМ СИСТЕМНО"
   ========================================================= */


/* ---------------------------------------------------------
   СЕКЦИЯ
   --------------------------------------------------------- */

.join {
    padding: 35px 0 45px !important;

    background: #f8f7f4 !important;
}


/* ---------------------------------------------------------
   КАРТОЧКА
   --------------------------------------------------------- */

.join .block__content {
    position: relative;

    width: calc(100% - 40px);
    max-width: 1320px !important;

    min-width: 0;

    margin: 0 auto;

    padding: 55px 50px 48px !important;

    overflow: hidden;

    border: 1px solid #dedbd3;
    border-radius: 22px;

    background: #fcfbf8;

    text-align: center !important;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   ЗАГОЛОВОК
   --------------------------------------------------------- */

.join .block__title {
    position: relative;
    z-index: 2;

    max-width: 900px;

    margin: 0 auto 24px !important;

    color: #30302f !important;

    font-family: var(--sp-font-display) !important;

    font-size: clamp(38px, 4.2vw, 62px) !important;

    font-weight: 400 !important;

    line-height: 1.08 !important;

    letter-spacing: 0 !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   КОНТЕНТ
   --------------------------------------------------------- */

.join .join-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* ---------------------------------------------------------
   РОЗОВАЯ ЛИНИЯ
   --------------------------------------------------------- */

.join .join-divider {
    width: 82px;
    height: 2px;

    margin: 0 auto 30px;

    background: #dc7d8d;
}


/* ---------------------------------------------------------
   ОПИСАНИЕ
   --------------------------------------------------------- */

.join .join-description {
    max-width: 850px;

    margin: 0 auto 28px !important;

    color: #5b5a58;

    font-family: var(--sp-font-body);

    font-size: 18px;

    font-weight: 400;

    line-height: 1.55 !important;

    text-align: center;
}


/* ---------------------------------------------------------
   ЦЕНА
   --------------------------------------------------------- */

.join .join-price {
    display: flex;

    align-items: baseline;
    justify-content: center;

    gap: 10px;

    margin: 0 auto 30px !important;

    line-height: 1.1 !important;
}


/* "Стоимость участия —" */

.join .join-price-label {
    color: #4e4d4b;

    font-family: var(--sp-font-body);

    font-size: 20px;

    font-weight: 400;

    line-height: 1.2;
}


/* "6 990 ₽" */

.join .join-price-value {
    color: #d77486;

    font-family: var(--sp-font-display);

    font-size: 38px;

    font-weight: 400;

    line-height: 1;
}


/* ---------------------------------------------------------
   СУЩЕСТВУЮЩАЯ КНОПКА
   --------------------------------------------------------- */

.join .btn {
    position: relative;
    z-index: 5;

    min-width: 320px;

    min-height: 54px;

    padding: 15px 34px !important;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto !important;

    border-radius: var(--sp-radius-pill) !important;

    font-family: var(--sp-font-body) !important;

    font-size: 16px !important;

    font-weight: 600 !important;

    letter-spacing: 0.01em;

    text-decoration: none;

    box-shadow: var(--sp-elev-1);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* Небольшой hover */

.join .btn:hover {
    transform: translateY(-2px);

    box-shadow: var(--sp-elev-1);
}


/* ---------------------------------------------------------
   ДЕКОРАТИВНЫЕ МЯГКИЕ ПЯТНА
   --------------------------------------------------------- */

.join .block__content::before {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    left: -180px;
    bottom: -180px;

    border-radius: 50%;

    background: rgba(224, 226, 203, 0.25);

    pointer-events: none;
}


.join .block__content::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -150px;
    bottom: -150px;

    border-radius: 50%;

    background: rgba(224, 226, 203, 0.22);

    pointer-events: none;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1024px) {

    .join .block__content {
        min-height: 520px;

        display: flex;

        flex-direction: column;

        justify-content: center;

        align-items: center;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .join .block__content {
        padding: 50px 35px 45px !important;
    }

    .join .block__title {
        font-size: clamp(36px, 5vw, 50px) !important;
    }

    .join .join-description {
        font-size: 17px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .join {
        padding: 20px 0 30px !important;
    }


    .join .block__content {
        width: calc(100% - 30px);

        padding: 38px 20px 35px !important;

        border-radius: 18px;
    }


    .join .block__title {
        max-width: 100%;

        margin-bottom: 20px !important;

        font-size: 34px !important;

        line-height: 1.08 !important;
    }


    .join .join-divider {
        width: 60px;

        margin-bottom: 24px;
    }


    .join .join-description {
        max-width: 100%;

        margin-bottom: 25px !important;

        font-size: 15px;

        line-height: 1.5 !important;
    }


    .join .join-desktop {
        display: none;
    }


    .join .join-price {
        flex-direction: column;

        align-items: center;

        gap: 7px;

        margin-bottom: 25px !important;
    }


    .join .join-price-label {
        font-size: 17px;
    }


    .join .join-price-value {
        font-size: 40px;
    }


    .join .btn {
        width: 100%;

        min-width: 0;

        min-height: 52px;

        padding: 14px 20px !important;

        font-size: 14px !important;
    }

}

/* =========================================================
   МОБИЛЬНЫЕ ОТСТУПЫ И КОМПОЗИЦИЯ
   ========================================================= */

@media (max-width: 767px) {

    /* =========================================
       ПЕРВЫЙ ЭКРАН .system
       ========================================= */

    .system {
        overflow: hidden;
    }

    .system .block__content {
        width: calc(100% - 32px) !important;
        max-width: none !important;

        margin: 0 16px !important;

        padding: 40px 0 55px !important;
    }


    /* Подпись "УЧАСТИЕ В ИНТЕНСИВЕ" */

    .system h2 {
        margin: 0 0 58px !important;

        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    .system h2::after {
        width: 58px;
        margin-top: 18px;
    }


    /* =========================================
       ЗАГОЛОВОК
       ========================================= */

    .system h3 {
        max-width: 100% !important;

        margin: 0 0 42px !important;

        font-size: clamp(42px, 11vw, 58px) !important;
        line-height: 0.96 !important;
    }


    /* =========================================
       4 НЕДЕЛИ
       ========================================= */

    .system p:nth-of-type(1) {
        margin: 0 0 28px !important;

        font-size: 20px !important;
        line-height: 1.2 !important;
    }


    /* =========================================
       ФОТО
       ========================================= */

    .system p:has(img:not(.weeks-icon)) {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
    }

    .system p:has(img:not(.weeks-icon)) img {
        display: block;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        object-fit: cover !important;

        border-radius: 100px 100px 0 0 !important;
    }


    /* =========================================
       ИКОНКА "4 НЕДЕЛИ"
       ========================================= */

    .system p:has(img.weeks-icon) {
        width: 220px !important;
        max-width: 220px !important;

        margin: 0 0 18px !important;
    }

    .system p:has(img.weeks-icon) img.weeks-icon {
        display: block;

        width: 220px !important;
        max-width: 220px !important;

        height: auto !important;

        object-fit: contain !important;
        border-radius: 0 !important;
    }


    /* =========================================
       БЛОК "В ПРОГРАММУ ВХОДЯТ"
       ========================================= */

    .includes {
        padding: 24px 0 !important;
    }

    .includes .block__content {
        width: calc(100% - 32px) !important;
        max-width: none !important;

        min-width: 0 !important;

        margin: 0 16px !important;

        padding: 26px 16px 20px !important;

        border-radius: 20px !important;
    }


    /* Заголовок */

    .includes h2 {
        margin-bottom: 14px !important;

        font-size: 17px !important;
    }


    /* Строки */

    .includes .tb-grid > * {
        min-height: 0 !important;

        padding: 7px 0 !important;
    }


    .includes .tb-grid p {
        margin-left: 10px !important;
        padding-left: 18px !important;

        font-size: 14px !important;
        line-height: 1.35 !important;
    }


    /* =========================================
       PRICE
       ========================================= */

    .price {
        padding: 0 0 24px !important;
    }

    .price .block__content {
        width: calc(100% - 32px) !important;
        max-width: none !important;

        min-width: 0 !important;

        margin: 0 16px !important;

        padding: 25px 22px 20px !important;

        border-radius: 20px !important;
    }


    .price .price-label {
        font-size: 15px !important;
    }

    .price .price-value {
        font-size: 50px !important;
    }

    .price .price-description {
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .price .btn,
    .price .btn.btn-warm {
        width: 100% !important;

        min-height: 52px;

        margin-top: 25px !important;
    }
}


h2 {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 clamp(25px, 3vw, 20px);
    font-family: var(--sp-font-body);
    font-size: clamp(15px, 1.3vw, 19px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #c98d98;
}
h2::after {
    content: "";
    display: block;
    width: 78px;
    height: 1px;
    margin-top: 22px;
    background: #d98b98;
}
.cCourseCatalog.block .block__header h3 {
    grid-column: 1;              
    grid-row: 1;
    margin: 0 0 clamp(15px, 6vw, 20px);
    font-family: var(--sp-font-body);
    font-size: clamp(15px, 1.3vw, 19px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #c98d98;
}
.cCourseCatalog.block .block__header h3::after{
    content: "";
    display: block;
    width: 78px;
    height: 1px;
    margin-top: 22px;
    background: #d98b98;
}
/* ========================================
   ДИАГНОСТИКА
======================================== */

.diagnostika {
    padding: 60px 0;
}

.diagnostika .block__content {
    max-width: 1320px;
}

/* Общая карточка */

.diagnostika .tb-grid {
    align-items: center;

    padding: 30px;

    background: #f8f5f3;
    border: 1px solid #ece5e2;
    border-radius: 32px;
}

/* ========================================
   ФОТО
======================================== */

.diagnostika img {
    display: block;

    width: 100%;
    height: 560px;

    object-fit: cover;
    object-position: center;

    border-radius: 180px 180px 28px 28px;
}

/* ========================================
   ЗАГОЛОВОК
======================================== */

.diagnostika h2 {
    position: relative;

    margin-bottom: 40px;

    font-family: var(--sp-font-body);
    font-size: 18px;
    font-weight: 500;

    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: #c98d98;
}

.diagnostika h2::after {
    content: "";

    display: block;

    width: 80px;
    height: 1px;

    margin-top: 18px;

    background: #d59aa3;
}

/* ========================================
   КАРТОЧКИ
======================================== */

.diagnostika .tb-grid-md-6:last-child .text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.diagnostika .tb-grid-md-6:last-child .text h2 {
    grid-column: 1 / -1;
}

.diagnostika .tb-grid-md-6:last-child .text p {
    margin: 0 !important;

    padding: 18px 20px;

    min-height: 92px;

    background: #fff;

    border: 1px solid #eee7e4;
    border-radius: 18px;

    font-size: 16px;
    line-height: 1.5;

    color: #555;
}

/* Убираем тире */

.diagnostika .tb-grid-md-6:last-child .text p::first-letter {
    color: transparent;
}

/* ========================================
   КНОПКА
======================================== */

.diagnostika .block__footer {
    margin-top: 20px;
}

.diagnostika .btn {
    width: 100%;
    min-height: 56px;

    font-size: 16px;
    font-weight: 600;
}

/* ========================================
   ПЛАНШЕТ
======================================== */

@media (max-width: 991px) {

    .diagnostika img {
        height: 460px;
        margin-bottom: 24px;
    }

    .diagnostika .tb-grid-md-6:last-child .text {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   МОБИЛЬНЫЕ
======================================== */

@media (max-width: 767px) {

    .diagnostika {
        padding: 40px 0;
    }

    .diagnostika .tb-grid {
        padding: 18px;
        border-radius: 24px;
    }

    .diagnostika img {
        height: 360px;
        border-radius: 120px 120px 20px 20px;
    }

    .diagnostika .tb-grid-md-6:last-child .text p {
        min-height: auto;
        padding: 16px;
        font-size: 15px;
    }
}