/* ==========================================================================
   Страницы услуг (template-parts/service/*) — сетка Тильды 1200: контент 1180px,
   на 1400 начинается с x=110. Замеры: /diagnostics (Tilda page33905091), 1400px.
   Только flex — без grid.
   ========================================================================== */

.svc-page {
    background: #fff;
}

.svc-container {
    max-width: 1180px;
    margin: 0 auto;
}

.svc-title {
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 40px;
    color: #171717;
}

.svc-title span {
    color: #0093d5;
}

/* ── 1. Первый экран «Диагностики» — вариант gradient (rec547914183) ─────────────────────────────────────── */

.svc-hero--gradient {
    position: relative;
    min-height: 774px;
    padding: 145px 0 136px;
    overflow: hidden;
    background: #0081b8;
    color: #fff;
}

.svc-hero--gradient::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(#009bdd, #0081b8);
    opacity: .75;
}

.svc-hero--gradient .svc-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-hero--gradient .svc-hero__inner {
    position: relative;
    z-index: 2;
}

/* Плашки преимуществ идут одним рядом шире текста (на Тильде 4 штуки на 1035px);
   ширину заголовка и текста ограничивают их собственные max-width */
.svc-hero.svc-hero--gradient .svc-hero__content { max-width: none; }

/* Выделения в тексте первого экрана и в плашках — как на Тильде, 600 */
.svc-hero__text strong,
.svc-hero__feature-text strong { font-weight: 600; }

.svc-hero--gradient .svc-hero__crumbs {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    line-height: 22px;
}

.svc-hero--gradient .svc-hero__crumbs a {
    color: inherit;
    text-decoration: none;
}

.svc-hero--gradient .svc-hero__crumbs a:hover {
    text-decoration: underline;
}

.svc-hero--gradient .svc-hero__title {
    max-width: 714px;
    margin: 24px 0 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 40px;
    color: #fff;
}

.svc-hero--gradient .svc-hero__text {
    max-width: 531px;
    margin: 16px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #f2f2f2;
}

.svc-hero--gradient .svc-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 52px;
    margin-top: 25px;
    padding: 0 20px;
    border: 0;
    border-radius: 4px;
    background: #fff;
    color: #009bdd;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.svc-hero--gradient .svc-hero__btn:hover {
    background: #e9f6fc;
    color: #0081b8;
}

.svc-hero--gradient .svc-hero__features {
    display: flex;
    flex-wrap: wrap;
    gap: 19px;
    margin: 37px 0 0;
    padding: 0;
    list-style: none;
}

.svc-hero--gradient .svc-hero__feature {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 147px;
    padding: 19px 26px 13px 18px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}

.svc-hero--gradient .svc-hero__feature::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 4px;
    pointer-events: none;
}

.svc-hero--gradient .svc-hero__feature--light {
    color: #28434f;
}

.svc-hero--gradient .svc-hero__feature--light::before {
    border-color: #fff;
    background: rgba(255, 255, 255, .9);
}

.svc-hero--gradient .svc-hero__feature-icon,
.svc-hero--gradient .svc-hero__feature-text {
    position: relative;
}

.svc-hero--gradient .svc-hero__feature-icon {
    width: 38px;
    height: 38px;
}

.svc-hero--gradient .svc-hero__feature-text {
    margin-top: 17px;
}

/* ── 2. Сетка карточек с фото (rec548164860) ────────────────────────────── */

.svc-grid {
    padding: 60px 0 90px;
}

.svc-grid .svc-title span {
    color: #009bdd;
}

.svc-grid__items {
    display: flex;
    flex-wrap: wrap;
    gap: 21px 24px;
    margin: 49px 0 0;
    padding: 0;
    list-style: none;
}

.svc-grid__item {
    position: relative;
    flex: 0 0 276px;
    height: 160px;
    padding: 30px 20px;
    overflow: hidden;
    border-radius: 4px;
    background: #f7f8f9;
}

.svc-grid__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-grid__label {
    position: relative;
    display: block;
    max-width: 160px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 25px;
    color: #000;
}

/* ── 3. Обложка с видео (rec547959813, t347) ─────────────────────────────── */

.svc-vbanner {
    padding: 90px 0;
    background: #f7f8f9;
}

.svc-vbanner__frame {
    position: relative;
    max-width: 1160px;
    height: 70vh;
    min-height: 420px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 4px;
    background: #000;
}

.svc-vbanner__poster,
.svc-vbanner__frame iframe,
.svc-vbanner__frame video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.svc-vbanner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 91, 130, .5), rgba(0, 91, 130, 0));
    pointer-events: none;
}

.svc-vbanner__content {
    position: absolute;
    top: 38px;
    left: 50%;
    width: 560px;
    max-width: calc(100% - 40px);
    transform: translateX(-50%);
    text-align: center;
    pointer-events: none;
}

.svc-vbanner__title {
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    color: #fff;
}

.svc-vbanner__text {
    margin: 10px 0 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
    color: #fff;
}

.svc-vbanner__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.svc-vbanner__play svg {
    width: 100px;
    height: 100px;
    transition: transform .2s ease-in-out;
}

.svc-vbanner__play:hover svg {
    transform: scale(1.08);
}

/* ── 4. Шаги первого визита (rec550444130 + 547967982 / 548007309 / 548053545) ── */

.svc-steps {
    padding-top: 60px;
}

.svc-steps__head {
    padding-bottom: 15px;
}

.svc-steps__title span,
.svc-step__title span {
    color: #009bdd;
}

.svc-steps__subtitle {
    margin: 11px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #000;
}

.svc-steps__subtitle strong,
.svc-steps__subtitle b {
    font-weight: 500;
}

.svc-step__inner {
    display: flex;
    align-items: flex-start;
}

.svc-step__media {
    position: relative;
    flex: 0 0 auto;
}

.svc-step__img {
    position: absolute;
    display: block;
    border-radius: 4px;
    object-fit: cover;
}

.svc-step__body {
    position: relative;
    flex: 0 1 auto;
    min-width: 0;
}

.svc-step__num {
    position: absolute;
    top: 0;
    left: -2px;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 100px;
    font-weight: 500;
    line-height: 155px;
    background: linear-gradient(#e9f1f5, rgba(234, 233, 245, 0));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    pointer-events: none;
    user-select: none;
}

.svc-step__title {
    position: relative;
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 43px;
    color: #171717;
}

.svc-step__text {
    position: relative;
    max-width: 570px;
    margin: 9px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 27px;
    color: #545252;
}

.svc-step__list {
    position: relative;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 30px;
    color: #545252;
}

.svc-step__list li {
    position: relative;
    padding-left: 34px;
}

.svc-step__list li::before {
    content: '—';
    position: absolute;
    left: 0;
    font-weight: 500;
    color: #0093d5;
}

.svc-step__results-title {
    position: relative;
    margin: 20px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 25px;
    color: #171717;
}

.svc-step__results {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 0;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #545252;
}

.svc-step__results li {
    display: flex;
    flex: 0 0 302px;
    flex-direction: column;
    align-items: flex-start;
    min-height: 115px;
    padding-right: 26px;
}

.svc-step__results img {
    width: 25px;
    height: 25px;
}

.svc-step__results span {
    margin-top: 15px;
}

.svc-step__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 357px;
    max-width: 100%;
    height: 54px;
    margin-top: 28px;
    padding: 0 20px;
    border: 0;
    border-radius: 4px;
    background: #0093d5;
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .2s;
}

.svc-step__btn:hover {
    background: #0081b8;
}

.svc-step__video {
    position: absolute;
    display: block;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #000;
    cursor: pointer;
}

.svc-step__video img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-step__video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70px;
    height: 70px;
    transform: translate(-50%, -50%);
    transition: transform .2s ease-in-out;
}

.svc-step__video:hover .svc-step__video-play {
    transform: translate(-50%, -50%) scale(1.2);
}

.svc-step__video-caption {
    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;
    padding: 0 10px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    color: #fff;
    text-align: center;
}

/* Коллаж из 3 фото слева (шаг 1, rec547967982) */
.svc-step--collage-left .svc-step__inner {
    padding: 53px 0 47px;
}

.svc-step--collage-left .svc-step__media {
    width: 678px;
    height: 372px;
    margin-top: 9px;
}

.svc-step--collage-left .svc-step__img--1 { top: 0;     left: 158px; width: 372px; height: 372px; }
.svc-step--collage-left .svc-step__img--2 { top: 139px; left: 1px;   width: 213px; height: 213px; }
.svc-step--collage-left .svc-step__img--3 { top: 20px;  left: 483px; width: 195px; height: 195px; }

.svc-step--collage-left .svc-step__body {
    width: 494px;
    margin-left: 22px;
    padding-top: 68px;
}

/* Текст слева, 2 фото справа (шаг 2, rec548007309) */
.svc-step--pair-right .svc-step__inner {
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding: 2px 0 63px;
}

.svc-step--pair-right .svc-step__media {
    width: 677px;
    height: 404px;
    margin: 31px 0 0 97px;
}

.svc-step--pair-right .svc-step__img--1 { top: 0;    left: 0;     width: 359px; height: 359px; }
.svc-step--pair-right .svc-step__img--2 { top: 45px; left: 318px; width: 359px; height: 359px; }

.svc-step--pair-right .svc-step__body {
    width: 403px;
    padding-top: 78px;
}

.svc-step--pair-right .svc-step__list {
    margin-top: 9px;
}

/* Серая карточка: 2 фото и видео слева (шаг 3, rec548053545) */
.svc-step--card-left .svc-step__inner {
    max-width: 1228px;
    min-height: 730px;
    padding: 37px 0 40px 34px;
    border-radius: 12px;
    background: #f7f8f9;
}

.svc-step--card-left .svc-step__media {
    width: 556px;
    height: 527px;
    margin-top: 58px;
}

.svc-step--card-left .svc-step__img--1 { top: 0;    left: 0;    width: 282px; height: 381px; }
.svc-step--card-left .svc-step__img--2 { top: 65px; left: 230px; width: 292px; height: 234px; }
.svc-step--card-left .svc-step__video  { top: 296px; left: 64px; width: 396px; height: 231px; }

.svc-step--card-left .svc-step__body {
    width: 604px;
    margin-left: 32px;
    padding-top: 76px;
}

.svc-step--card-left .svc-step__title {
    max-width: 400px;
}

/* ── 5. Видео-отзывы на странице услуги (rec885543550 + rec1145032316) ──── */

.reviews-home--service {
    padding: 90px 0 75px;
    overflow: hidden; /* лента уходит за правый край экрана — без горизонтальной прокрутки страницы */
    background: #fff;
}

.reviews-home--service .container {
    max-width: 1180px;
}

.reviews-home__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.reviews-home--service .reviews-home__title {
    margin: 0;
    font-size: 36px;
    line-height: 40px;
}

/* /woman «истории клиентов»: в Тильде заголовок переносится после «вылечивших» */
@media (min-width: 992px) {
    .svc-page--woman .reviews-home--service .reviews-home__title { max-width: 720px; }
}

.reviews-home__arrows {
    display: flex;
    flex-shrink: 0;
    gap: 33px;
    margin-right: 5px;
}

/* Видео-отзывы на странице услуги — без стрелок и на ПК тоже (листается только руками/тачпадом),
   раньше их прятали только на телефоне (max-width:639, ниже) */
.reviews-home--service .reviews-home__arrows { display: none; }

.reviews-home__arrow {
    width: 27px;
    height: 27px;
    padding: 0;
    border: 0;
    background: none;
    color: #171717;
    cursor: pointer;
    transition: color .2s, opacity .2s;
}

.reviews-home__arrow:hover {
    color: #0093d5;
}

.reviews-home__arrow:disabled {
    opacity: .3;
    cursor: default;
}

.reviews-home__arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Как в Тильде: лента начинается от левого края контента и тянется до правого края экрана,
   4-е видео выглядывает наполовину */
.reviews-home--service .reviews-home__track {
    gap: 20px;
    margin-top: 61px;
    margin-right: calc(50% - 50vw);
    padding-left: 8px;
}

.reviews-home--service .reviews-home__card {
    flex-basis: 377px;
}

.reviews-home--service .reviews-home__video {
    height: 230px;
}

.reviews-home--service .reviews-home__text {
    max-width: none;
    margin-top: 14px;
}

/* Имя в начале текста отзыва — <strong>…</strong> */
.reviews-home__text strong,
.reviews-home__text b {
    font-weight: 500;
    color: #000;
}

/* ── Всплывающее видео (кнопки и плитки с data-video-modal) ─────────────── */

.cm-modal__dialog--video {
    width: 960px;
    max-width: calc(100% - 40px);
    margin-top: calc(50vh - 290px);
    background: #000;
}

.cm-modal__video {
    position: relative;
    aspect-ratio: 16 / 9;
    max-width: 100%;
}

.cm-modal__video iframe,
.cm-modal__video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ── Узкий десктоп и планшет: абсолютные коллажи превращаются в обычный поток ── */

@media (max-width: 1219px) {
    .svc-container,
    .reviews-home--service .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .svc-step--card-left .svc-step__inner {
        margin-left: 20px;
        margin-right: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1199px) {
    .svc-step__inner,
    .svc-step--pair-right .svc-step__inner {
        flex-direction: column;
        gap: 30px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .svc-step__media,
    .svc-step--collage-left .svc-step__media,
    .svc-step--pair-right .svc-step__media,
    .svc-step--card-left .svc-step__media {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .svc-step__img,
    .svc-step__video,
    .svc-step--collage-left .svc-step__img--1,
    .svc-step--collage-left .svc-step__img--2,
    .svc-step--collage-left .svc-step__img--3,
    .svc-step--pair-right .svc-step__img--1,
    .svc-step--pair-right .svc-step__img--2,
    .svc-step--card-left .svc-step__img--1,
    .svc-step--card-left .svc-step__img--2,
    .svc-step--card-left .svc-step__video {
        position: relative;
        top: auto;
        left: auto;
        flex: 1 1 200px;
        width: auto;
        height: 260px;
    }

    .svc-step__body,
    .svc-step--collage-left .svc-step__body,
    .svc-step--pair-right .svc-step__body,
    .svc-step--card-left .svc-step__body {
        width: auto;
        margin: 0;
    }

    .svc-grid__item {
        flex: 1 1 calc(50% - 12px);
    }
}

/* ==========================================================================
   Общие блоки страниц услуг (template-parts/service/*: hero, cards, media,
   process, offer, testimonials, doctor, prices, plans, buy, anchors).
   Замеры: Tilda при ширине 1400 — /massage, /kinesiology (сетка 1200, контент с x=110)
   и детские страницы (сетка 1320, контент с x=40 → .svc-page--wide). Только flex.
   ========================================================================== */

.svc-page--wide .svc-container {
    max-width: 1320px;
}

.svc-section {
    padding: 60px 0;
}

.svc-section--white { background: #fff; }
.svc-section--grey  { background: #f5f5f5; }
.svc-section--light { background: #f5f6f8; }

.reviews-home--service.svc-section--grey,
.svc-team.svc-section--grey,
.svc-celebs.svc-section--grey { background: #f5f5f5; }
.reviews-home--service.svc-section--light,
.svc-team.svc-section--light,
.svc-celebs.svc-section--light { background: #f5f6f8; }
.svc-team.svc-section--white,
.svc-celebs.svc-section--white { background: #fff; }

/* Блоки специалистов/знаменитостей на странице услуги идут по общей сетке 1180,
   как .svc-container, а не по 1320 главной (на .svc-page--wide — 1320, правило ниже) */
.svc-team .container,
.svc-celebs .container {
    max-width: 1180px;
}

.svc-page--wide .reviews-home--service .container,
.svc-page--wide .section-team .container,
.svc-page--wide .celeb-home .container {
    max-width: 1320px;
}

.svc-subtitle {
    max-width: 900px;
    margin: 12px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #545252;
}

.svc-subtitle strong { font-weight: 600; color: #171717; }
.svc-title strong { font-weight: 600; }

.svc-text {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 15px;
    line-height: 25px;
    color: #3f3f3f;
}

.svc-text p { margin: 0 0 14px; }
.svc-text p:last-child { margin-bottom: 0; }
.svc-text span { color: #009bdd; }

.svc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 34px;
    border: 1px solid #0093d5;
    border-radius: 32px;
    background: #0093d5;
    color: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s;
}

.svc-btn:hover {
    border-color: #0081b8;
    background: #0081b8;
    color: #fff;
}

/* Вторая (второстепенная) кнопка первого экрана — /online/* «Войти в кабинет» рядом с «Перейти к оплате» */
.svc-btn--outline {
    background: transparent;
    border-color: currentColor;
    color: inherit;
}
.svc-btn--outline:hover {
    background: rgba(255,255,255,.15);
    border-color: currentColor;
    color: inherit;
}

.svc-note {
    margin: 12px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 13px;
    line-height: 20px;
    color: #a8a8a8;
}

.svc-crumbs {
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    line-height: 22px;
}

.svc-crumbs a { color: inherit; text-decoration: none; }
.svc-crumbs a:hover { text-decoration: underline; }
.svc-crumbs__sep { margin: 0 6px; opacity: .8; }

/* Списки */
.svc-list {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #545252;
}

.svc-list li { position: relative; padding-left: 34px; }
.svc-list li + li { margin-top: 10px; }
.svc-list__title { margin: 24px 0 0; font: 600 16px/25px 'Montserrat', Arial, sans-serif; color: #171717; }

.svc-list--dash li::before { content: '—'; position: absolute; left: 0; color: #0093d5; font-weight: 500; }
.svc-list--square li::before { content: ''; position: absolute; left: 4px; top: 9px; width: 8px; height: 8px; background: #0093d5; }

.svc-list--check { display: flex; flex-wrap: wrap; gap: 26px 24px; }
.svc-list--check li { flex: 0 0 calc(50% - 12px); margin: 0; padding: 36px 0 0; font-weight: 500; color: #171717; }
.svc-list--check li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    background: url('https://static.tildacdn.com/tild6163-3766-4437-b065-663066633639/check.svg') center / contain no-repeat;
}

.svc-list--number { counter-reset: svc-num; }
.svc-list--number li {
    counter-increment: svc-num;
    min-height: 60px;
    padding: 18px 24px 18px 56px;
    border-radius: 12px;
    background: #fff;
}
.svc-list--number li + li { margin-top: 20px; }
.svc-list--number li::before {
    content: counter(svc-num);
    position: absolute;
    top: 18px;
    left: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #009bdd;
    color: #fff;
    font: 500 14px/1 'FuturaPT', Arial, sans-serif;
}

.svc-list--bar li { padding: 0 0 0 40px; }
.svc-list--bar li + li { margin-top: 30px; }
.svc-list--bar li::before { content: ''; position: absolute; top: 12px; left: 0; width: 20px; height: 3px; background: #0093d5; }

/* Рейтинг, звёзды, подпись специалиста, мессенджеры */
.svc-stars { display: inline-flex; gap: 6px; }
.svc-stars svg { width: 18px; height: 17px; }

.svc-rating {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    padding: 18px 36px;
    border-radius: 8px;
    background: rgba(138, 169, 184, .9);
    color: #fff;
    font: 600 14px/22px 'Montserrat', Arial, sans-serif;
}

.svc-rating__text { max-width: 180px; }
.svc-rating__avatars { display: inline-flex; }
.svc-rating__avatar { width: 40px; height: 40px; margin-left: -10px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.svc-rating__avatar:first-child { margin-left: 0; }
.svc-rating--card { margin-top: 24px; background: #f5f6f8; color: #171717; }

.svc-person-tag {
    position: relative;
    margin-top: 20px;
    padding-top: 22px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 15px;
    line-height: 23px;
    color: #707070;
}

/* Полоска над именем — в Тильде 280×8 с градиентом в прозрачность (элемент 1680005421561) */
.svc-person-tag::before { content: ''; position: absolute; top: 0; left: 0; width: 280px; max-width: 100%; height: 8px; border-radius: 2px; background: linear-gradient(90deg, #0093d5 0%, rgba(0, 147, 213, 0) 100%); }
.svc-person-tag strong { display: block; font-size: 16px; line-height: 25px; font-weight: 600; color: #050505; }

.svc-messengers { display: inline-flex; gap: 10px; }
.svc-messengers img { display: block; width: 50px; height: 50px; }

/* Призыв с кнопкой под блоком */
.svc-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 40px;
    margin-top: 26px;
    padding: 24px 30px;
    border-radius: 8px;
    background: #f5f6f8;
}

.svc-cta__title { flex: 0 1 380px; margin: 0; font: 600 20px/28px 'Montserrat', Arial, sans-serif; color: #050505; }
.svc-cta__title span { color: #0093d5; }
.svc-cta__actions { flex: 1 1 300px; }
.svc-cta .svc-note { margin-top: 10px; }
.svc-cta > .svc-note { flex-basis: 100%; margin-top: 0; } /* примечание — отдельной строкой под призывом */

/* Форма заявки внутри блоков */
.svc-form { display: flex; flex-direction: column; gap: 14px; margin-top: 24px; }
.svc-form .blog-offer__submit { width: 100%; }

/* ── Первый экран: общие варианты ────────────────────────────────────────── */

.svc-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
}

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price):not(.svc-hero--online) {
    display: flex;
    align-items: center;
    min-height: 774px;
    margin: 0 28px;
    padding: 110px 0;
    border-radius: 12px;
    background: #0e5c80;
}

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price)::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0, 35, 52, .55) 0%, rgba(0, 35, 52, .2) 55%, rgba(0, 35, 52, 0) 100%);
    pointer-events: none;
}

/* Фото под синей заливкой — Tilda 1680000751779 (photo: /rehab, /massage, /kinesiology, /fitnes,
   /osteopathy, /psychosomatics — прозрачность .9; center: /woman — .85) */
.svc-hero.svc-hero--photo::before,
.svc-hero.svc-hero--center::before {
    background: linear-gradient(180deg, #009bdd 0%, #006b99 100%) !important;
    opacity: .9;
}

.svc-hero.svc-hero--center::before { opacity: .85; }

@media (max-width: 639px) {
    .svc-hero.svc-hero--photo::before { opacity: .8; }
}

.svc-hero .svc-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.svc-hero__content { display: flex; flex-direction: column; align-items: flex-start; max-width: 640px; }
.svc-hero__content--actions-first .svc-hero__actions { order: 5; }
.svc-hero__content--actions-first .svc-hero__features { order: 6; }

.svc-hero:not(.svc-hero--gradient) .svc-hero__crumbs { margin-bottom: 40px; color: #fff; }

.svc-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 6px 14px;
    border: 1px solid #fff;
    border-radius: 4px;
    font: 600 13px/20px 'FuturaPT', Arial, sans-serif;
    letter-spacing: .02em;
}

.svc-hero__badge-icon { width: 81px; height: 30px; }

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) .svc-hero__title {
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 44px;
    color: #fff;
}

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) .svc-hero__text {
    max-width: 520px;
    margin: 16px 0 0;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    line-height: 25px;
    color: #f6f6f6;
}

.svc-hero:not(.svc-hero--gradient) .svc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 30px;
    margin-top: 32px;
}

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) .svc-hero__btn {
    min-height: 64px;
    border-color: #fff;
    background: #fff;
    color: #0093d5;
    font-size: 16px;
}

.svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) .svc-hero__btn:hover { background: #e9f6fc; color: #0081b8; }

/* /price: белый хиро (не тёмное фото), кнопка тут наоборот — синяя заливка, как в Тильде (rec1708779701, #009bdd) */
.svc-hero--price .svc-hero__btn { min-height: 61px; border-radius: 4px; border-color: #009bdd; background: #009bdd; color: #fff; font-size: 16px; }
.svc-hero--price .svc-hero__btn:hover { background: #0081b8; border-color: #0081b8; }

/* Кнопка первого экрана: 280×52 со скруглением 4 и текстом 14 — Tilda 1686832284907 (/rehab,
   /psychosomatics) и 1671545411927 (/fitnes, /massage, /woman).
   На /kinesiology и /osteopathy в Тильде кнопка другая — 335×64 со скруглением 32 (общий .svc-btn) */
.svc-page--rehab .svc-hero .svc-hero__btn,
.svc-page--psychosomatics .svc-hero .svc-hero__btn,
.svc-page--fitnes .svc-hero .svc-hero__btn,
.svc-page--massage .svc-hero .svc-hero__btn,
.svc-page--woman .svc-hero .svc-hero__btn {
    min-width: 280px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 4px;
    font-size: 14px;
}

.svc-page--rehab .svc-hero .svc-hero__btn:hover,
.svc-page--psychosomatics .svc-hero .svc-hero__btn:hover,
.svc-page--fitnes .svc-hero .svc-hero__btn:hover,
.svc-page--massage .svc-hero .svc-hero__btn:hover,
.svc-page--woman .svc-hero .svc-hero__btn:hover { background: #dae9f0; color: #009bdd; }

.svc-hero:not(.svc-hero--gradient) .svc-hero__features {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 32px 0 0;
    padding: 0;
    list-style: none;
}

.svc-hero:not(.svc-hero--gradient) .svc-hero__feature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
    min-height: 147px;
    padding: 19px 18px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 4px;
    font: 14px/20px 'Montserrat', Arial, sans-serif;
}

.svc-hero__feature-icon { width: 38px; height: 38px; }

.svc-hero:not(.svc-hero--gradient) .svc-hero__feature--pill {
    justify-content: center;
    min-height: 70px;
    padding: 12px 20px;
    border-color: #a3c1cf;
    border-radius: 8px;
    font-size: 15px;
    line-height: 23px;
}

/* /osteopathy: плашки в Тильде идут двумя рядами (328+300 / 368+300) — контент шире общих 640 */
@media (min-width: 992px) {
    .svc-page--osteopathy .svc-hero__content { max-width: 720px; }
    .svc-page--osteopathy .svc-hero__badge { text-transform: uppercase; letter-spacing: 1px; }
}

/* /massage: пять плашек с иконками в один ряд (204+188+112+227+168, отступ 10), заголовок в две строки */
@media (min-width: 992px) {
    .svc-page--massage .svc-hero__content { max-width: 960px; }
    .svc-page--massage .svc-hero__title { max-width: 440px; }
}

/* /massage, телефон: заголовок, текст и кнопка по центру, плашки — иконка слева от текста, в одну строку высотой ~80 */
@media (max-width: 639px) {
    .svc-page.svc-page--massage .svc-hero:not(.svc-hero--gradient) { padding: 160px 0 100px; }
    .svc-page.svc-page--massage .svc-hero__content { align-items: center; text-align: center; }
    .svc-page.svc-page--massage .svc-hero__title { font-size: 28px; line-height: 31px; }
    .svc-page.svc-page--massage .svc-hero__text { max-width: 290px; font-size: 15px; line-height: 22px; }
    .svc-page.svc-page--massage .svc-hero:not(.svc-hero--gradient) .svc-hero__actions { justify-content: center; width: 100%; margin-top: 24px; }
    .svc-page.svc-page--massage .svc-hero:not(.svc-hero--gradient) .svc-hero__btn { width: 100%; max-width: 320px; }
    .svc-page.svc-page--massage .svc-hero:not(.svc-hero--gradient) .svc-hero__features { flex-direction: column; align-self: stretch; gap: 10px; margin-top: 24px; }
    .svc-page.svc-page--massage .svc-hero:not(.svc-hero--gradient) .svc-hero__feature {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        min-height: 78px;
        padding: 12px 14px;
        text-align: left;
    }
    .svc-page.svc-page--massage .svc-hero__feature-icon { flex: 0 0 38px; }
}

.svc-hero__price { font-family: 'Montserrat', Arial, sans-serif; }
.svc-hero__price-label { display: block; font-size: 14px; line-height: 22px; }
.svc-hero__price-row { display: flex; align-items: baseline; gap: 12px; }
.svc-hero__price strong { font: 500 34px/1.2 'FuturaPT', Arial, sans-serif; }
.svc-hero__price s { font-size: 18px; opacity: .8; }

.svc-hero__price--line { margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, .5); }

.svc-hero--banner .svc-hero__actions .svc-hero__price {
    padding: 20px 21px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .16);
    backdrop-filter: blur(6px);
}

.svc-hero--banner .svc-hero__price strong { font-size: 24px; }
.svc-hero--banner .svc-hero__price s { font-size: 14px; text-decoration: none; }

.svc-hero__form {
    flex: 0 0 405px;
    padding: 33px 30px 30px;
    border-radius: 8px;
    background: #fff;
    color: #171717;
}

.svc-hero__form-title { margin: 0; font: 500 28px/31px 'FuturaPT', Arial, sans-serif; }
.svc-hero__form-text { margin: 8px 0 0; font: 16px/25px 'Montserrat', Arial, sans-serif; color: #545252; }

/* Поля и кнопка формы первого экрана — Tilda 1686829566027 (/rehab, /psychosomatics):
   высота 50, скругление 4, фон поля #f1f5f7, отступ между полями 10 */
.svc-hero__form .svc-form { gap: 10px; }

.svc-hero__form .blog-offer__name,
.svc-hero__form .blog-offer__phone-wrap {
    height: 50px;
    border-radius: 4px;
    background: #f1f5f7;
}

.svc-hero__form .blog-offer__name {
    width: 100%;
    border: none;
    padding: 0 20px;
    color: #000;
}

.svc-hero__form .blog-offer__phone-flag,
.svc-hero__form .blog-offer__phone-select,
.svc-hero__form .blog-offer__phone { height: 50px; }

.svc-hero__form .blog-offer__phone { border-radius: 4px; }

/* Шрифт полей и кнопки — Montserrat, как в Тильде (по умолчанию инпуты рисуются системным) */
.svc-hero__form .blog-offer__name,
.svc-hero__form .blog-offer__phone { font-family: 'Montserrat', Arial, sans-serif; font-size: 16px; }

.svc-hero__form .blog-offer__submit {
    height: 50px;
    border-radius: 4px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
}

.svc-hero__person {
    position: relative;
    flex: 0 0 440px;
    align-self: stretch;
    min-height: 480px;
}

.svc-hero__person-photo {
    position: absolute;
    right: 0;
    bottom: -110px;
    width: 100%;
    max-height: calc(100% + 160px);
    object-fit: contain;
    object-position: right bottom;
}

.svc-hero__person-tag {
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    padding-top: 17px;
    border-top: 6px solid #fff;
    font: 15px/23px 'Montserrat', Arial, sans-serif;
    text-align: right;
}

.svc-hero__person-tag strong { display: block; font-size: 16px; line-height: 25px; font-weight: 600; }

/* Баннер детских страниц и /eliminationpain — Tilda rec794849248 (/child/diagnostics), rec839320019 (/child/posture)
   при 1400: плашка 1367×670 со скруглением 16, видео/фото под градиентом #005d85→#1d6583,
   крошки сверху, текст по центру свободного места, справа подпись, роспись и фото руководителя,
   низ закрыт белой скруглённой полосой 50px */
.svc-hero.svc-hero--banner {
    min-height: 670px !important;
    margin: 0 14px !important;
    padding: 30px 0 3px !important;
    border-radius: 16px 16px 0 0 !important;
    align-items: stretch !important;
    background: #f5f5f5 !important; /* под градиентом — светлый фон, как на Тильде (видео/фото поверх) */
}

.svc-hero.svc-hero--banner::before {
    background: linear-gradient(#005d85, #1d6583) !important;
    opacity: .85; /* на Тильде .85 на фото и .75 на видео */
}

.svc-page--child-diagnostics .svc-hero.svc-hero--banner::before { opacity: .75; }

.svc-hero.svc-hero--banner::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    height: 50px;
    border-radius: 20px 20px 0 0;
    background: #fff;
}

.svc-hero.svc-hero--banner .svc-hero__inner { max-width: none; padding: 0 24px; align-items: stretch; }
.svc-hero.svc-hero--banner .svc-hero__content { max-width: none; }
.svc-hero.svc-hero--banner .svc-hero__crumbs { margin-bottom: 0; }
.svc-hero.svc-hero--banner .svc-hero__crumbs a,
.svc-hero.svc-hero--banner .svc-hero__crumbs .svc-crumbs__sep { opacity: .5; }
.svc-hero.svc-hero--banner .svc-crumbs__sep { margin: 0 8px; }
/* Отступы — по Тильде: страницы с ценой (заголовок на 147) */
.svc-hero.svc-hero--banner .svc-hero__title { max-width: var(--hero-title-w, 440px); margin-top: 95px; font-size: 38px; line-height: 38px; }
.svc-hero.svc-hero--banner .svc-hero__text { max-width: var(--hero-text-w, 611px); margin-top: 16px; font-size: 18px; line-height: 28px; }
.svc-hero.svc-hero--banner .svc-hero__actions { flex-direction: column; align-items: flex-start; gap: 26px; margin-top: 26px; }

/* Страницы без цены — заголовок ниже (на 227) */
.svc-page--child-diagnostics .svc-hero.svc-hero--banner .svc-hero__title,
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__title { margin-top: 175px; }
.svc-page--child-diagnostics .svc-hero.svc-hero--banner .svc-hero__text,
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__text { margin-top: 19px; }
.svc-page--child-diagnostics .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 64px; }
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 34px; }
.svc-hero.svc-hero--banner .svc-hero__btn { width: 335px; min-height: 64px; border-radius: 32px; font-weight: 500; }

.svc-hero.svc-hero--banner .svc-hero__actions .svc-hero__price {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    width: 340px;
    min-height: 0;
    padding: 18px 21px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .05);
    backdrop-filter: none;
}

.svc-hero.svc-hero--banner .svc-hero__price-label { font-size: 14px; line-height: 22px; opacity: .65; white-space: nowrap; }
.svc-hero.svc-hero--banner .svc-hero__price-row { flex-wrap: nowrap; gap: 10px; }
.svc-hero.svc-hero--banner .svc-hero__price strong { font-size: 24px; line-height: 24px; }
.svc-hero.svc-hero--banner .svc-hero__price s { font: 14px/22px 'Montserrat', Arial, sans-serif; text-decoration: none; opacity: .6; white-space: nowrap; }
/* «вместо» уже записано в самом поле (hero_price_old: «вместо 7 000 ₽») — правило, добавлявшее его ещё раз через ::before, убрано */
/* Зачёркнута только сумма («вместо» — обычным текстом), как в остальных вариантах баннера — hero.php
   разбивает «вместо 7 000 ₽» на префикс и <s>7 000 ₽</s> */
.svc-hero.svc-hero--banner .svc-hero__price-old s { text-decoration: line-through; }

/* Руководитель справа: подпись, под ней роспись и фото (фото уходит под белую полосу) */
.svc-hero.svc-hero--banner .svc-hero__person {
    position: absolute;
    top: 117px;
    right: 60px;
    flex: none;
    width: 411px;
    height: 581px;
    min-height: 0;
}

.svc-hero.svc-hero--banner .svc-hero__person-tag {
    position: relative;
    top: auto;
    right: auto;
    z-index: 2;
    width: 326px;
    padding: 0;
    border: 0;
    font-size: 14px;
    line-height: 22px;
    text-align: left;
}

.svc-hero.svc-hero--banner .svc-hero__person-tag strong { margin-bottom: 4px; }
.svc-hero.svc-hero--banner .svc-hero__person-tag span { opacity: .65; }

.svc-hero.svc-hero--banner .svc-hero__person-photo {
    top: 88px;
    right: auto;
    bottom: auto;
    left: -2px;
    width: 411px;
    height: 493px;
    max-height: none;
    object-position: center top;
}

.svc-hero__person-sign {
    position: absolute;
    top: 88px;
    left: -3px;
    z-index: 2;
    width: 107px;
    height: 54px;
}

/* На детских banner-страницах роспись сдвинута правее — стоит рядом с подписью, а не у левого края фото */
.svc-hero.svc-hero--banner .svc-hero__person-sign { left: 250px; }

/* Блок сразу после баннера — белая панель со скруглением 20 снизу, продолжение белой полосы баннера,
   на сером фоне страницы (Tilda: первая фигура блока #fff, top −18; карточки #f4f8fa, скругление 8) */
.svc-page:has(> .svc-hero--banner) { background: #f5f5f5; }

.svc-hero--banner + .svc-section.svc-section {
    margin: 0 14px 60px;
    padding: 39px 0 60px;
    border-radius: 0 0 20px 20px;
    background: #fff;
}

.svc-hero--banner + .svc-section.svc-section .svc-card { background: #f4f8fa; }
.svc-hero--banner + .svc-section + .svc-process--tabs.svc-section { padding-top: 0; } /* отступ уже даёт панель */

/* /eliminationpain: подпись ниже, фото меньше (Tilda rec826410823) */
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person { top: 182px; }
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person-sign { top: 105px; left: 0; width: 100px; height: 50px; }
.svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person-photo { top: 158px; width: 300px; height: 345px; }

.svc-hero--center .svc-hero__inner { justify-content: center; }
.svc-hero--center .svc-hero__content { align-items: center; max-width: 760px; text-align: center; }
.svc-hero--center .svc-hero__actions { flex-direction: column; }
.svc-hero--center .svc-hero__price { text-align: center; }
.svc-hero--center .svc-hero__price-row { flex-direction: column; gap: 4px; }
.svc-hero--center .svc-hero__price s { font-size: 14px; text-decoration: none; }
.svc-hero--center .svc-hero__price-old { font-size: 14px; }
.svc-hero--center .svc-hero__price-old s { text-decoration: line-through; } /* зачёркнута только цена, а не «Старая цена —» */
.svc-hero--center .svc-hero__crumbs a { text-decoration: underline; }
.svc-hero--center .svc-hero__crumbs a:hover { text-decoration: none; }

/* /online/*: полноширинный синий блок без скруглений и полей, фото-подложка на 10% непрозрачности
   поверх сплошной заливки — Tilda rec1699701631 (T396, artboard 550/610/580/650) */
.svc-hero.svc-hero--online {
    display: flex;
    align-items: center;
    min-height: 550px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: #008dc9;
    color: #fff;
}

.svc-hero--online::before { display: none; }
.svc-hero--online .svc-hero__bg { opacity: .1; }
.svc-hero--online .svc-hero__inner { min-height: 550px; align-items: center; }
.svc-hero--online .svc-hero__content { max-width: 453px; }

.svc-hero--online .svc-hero__badge {
    margin-top: 24px;
    margin-bottom: 24px;
    padding: 0;
    border: 0;
    font: 500 12px/19px 'Montserrat', Arial, sans-serif;
    color: #fff;
}

.svc-hero--online .svc-hero__title {
    margin-top: 0;
    font: 500 34px/37px 'FuturaPT', Arial, sans-serif;
    color: #fff;
}

.svc-hero--online .svc-hero__text {
    max-width: 439px;
    margin-top: 16px;
    font: 16px/1.55 'Montserrat', Arial, sans-serif;
    color: #cfdae8;
}

.svc-hero--online .svc-hero__actions { margin-top: 30px; }

.svc-hero--online .svc-hero__btn {
    min-height: 52px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #009bdd;
    font: 500 14px/1.55 'Montserrat', Arial, sans-serif;
}

.svc-hero--online .svc-hero__btn:hover { background: #c9e4f0; color: #009bdd; }

.svc-hero--price {
    position: relative;
    padding: 64px 0 0;
    color: #171717;
    text-align: center;
}

/* Скруглённая серая подложка по ширине .svc-container — Tilda rec1708779701, элемент-фон border-radius:30px,
   background:#e7edf5, шире, чем сама секция (белая) */
.svc-hero--price::before {
    content: '';
    position: absolute;
    inset: 0 4%;
    background: #e7edf5;
    border-radius: 30px;
    z-index: 0;
}
.svc-hero--price .svc-container { position: relative; z-index: 1; }

.svc-hero--price .svc-hero__inner { justify-content: center; }
.svc-hero--price .svc-hero__content { align-items: center; max-width: 720px; }
/* «Можно в рассрочку» тут просто серый текст, без рамки/плашки — Tilda rec1708779701 (color:#76878f, без border) */
.svc-hero--price .svc-hero__badge { margin-bottom: 12px; padding: 0; border: 0; font: 400 16px/1.4 'Montserrat', Arial, sans-serif; color: #76878f; letter-spacing: normal; }
.svc-hero--price .svc-hero__title { margin: 0; font: 500 44px/46px 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-hero--price .svc-hero__title span { color: #009bdd; }
.svc-hero--price .svc-hero__actions { margin-top: 36px; }

.svc-hero__gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 50px;
}

.svc-hero__gallery-img { flex: 0 0 256px; height: 174px; border-radius: 12px; object-fit: cover; }

/* flex-basis:% вместе с aspect-ratio вело себя непредсказуемо (в живую фото рендерились на всю ширину
   вместо 50%) — на телефоне переключаем раскладку галереи на grid в 2 колонки, там расчёт однозначный */
@media (max-width: 639px) {
    .svc-hero__gallery { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 0; }
    .svc-hero__gallery-img { flex: none; width: 100%; height: auto; aspect-ratio: 256 / 174; }
    /* Нечётное фото последним в ряду — растягиваем на всю ширину, а не оставляем пустую половину */
    .svc-hero__gallery-img:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .svc-hero.svc-hero--price { padding: 40px 0 0; }
}

/* Нижний ряд фото плавно тонет в сером фоне подложки — полупрозрачный градиент поверх сетки,
   снизу непрозрачный (совпадает с фоном подложки), сверху прозрачный — Tilda rec1708779701 */
.svc-hero--price .svc-hero__gallery { position: relative; }
.svc-hero--price .svc-hero__gallery::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, #e7edf5 0%, rgba(231, 237, 245, 0) 100%);
    border-radius: 12px;
    pointer-events: none;
}

/* ── Карточки ────────────────────────────────────────────────────────────── */

.svc-cards__layout { display: flex; align-items: flex-start; gap: 50px; }
.svc-cards__main { flex: 1 1 auto; min-width: 0; }
.svc-cards__aside { flex: 0 0 406px; }
.svc-cards__aside-img { display: block; width: 100%; height: auto; }
.svc-cards__caption { margin: 32px 0 0; font: 600 16px/25px 'Montserrat', Arial, sans-serif; color: #171717; }
.svc-cards__footer { max-width: 846px; margin: 30px 0 0; font: 18px/28px 'Montserrat', Arial, sans-serif; color: #3f3f3f; }

.svc-cards__list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin: 36px 0 0;
    padding: 0;
    list-style: none;
}

.svc-card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
    font-family: 'Montserrat', Arial, sans-serif;
}

.svc-cards__list--cols-2 > .svc-card { flex-basis: calc((100% - 24px) / 2); }
.svc-cards__list--cols-4 > .svc-card { flex-basis: calc((100% - 72px) / 4); }
/* Пятая карточка из пяти в три колонки занимает две (/woman «Какое направление выбрать») */
@media (min-width: 992px) {
    .svc-cards__list--cols-3 > .svc-card--photo-tall:nth-child(5):last-child { flex-basis: calc((100% - 48px) / 3 * 2 + 24px); }
}

.svc-card__image { display: block; overflow: hidden; border-radius: 12px; background: #ebebeb; }
.svc-card__image img { display: block; width: 100%; height: 198px; object-fit: cover; }
.svc-card__icon { flex-shrink: 0; width: 30px; height: 30px; }
.svc-card__title { margin: 0; font-size: 16px; font-weight: 600; line-height: 25px; color: #171717; text-decoration: none; }
a.svc-card__title:hover { color: #0093d5; }
.svc-card__title span { color: #009bdd; }
.svc-card__text { margin: 10px 0 0; font-size: 15px; line-height: 23px; color: #545252; }
.svc-card__text strong { color: #171717; }
.svc-card__link {
    align-self: flex-start;
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: none;
    color: #0093d5;
    font: 500 15px/23px 'Montserrat', Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}
.svc-card__link:hover { text-decoration: underline; }

.svc-cards--photo .svc-card__body { padding-top: 20px; }

/* «Основные направления реабилитации» — Tilda t983 (rec797439535, /rehab): квадратные карточки
   с фото под синим градиентом, белый заголовок 24/32 с тонкой линией снизу,
   «Узнать подробнее» — появляется по наведению; вся карточка кликабельна */
.svc-page--rehab .svc-cards--photo .svc-cards__list { gap: 40px; }
.svc-page--rehab .svc-cards--photo .svc-card {
    flex-basis: calc((100% - 80px) / 3);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 8px;
    background: #0093d5;
}

.svc-page--rehab .svc-cards--photo .svc-card__image { position: absolute; inset: 0; border-radius: 0; }
.svc-page--rehab .svc-cards--photo .svc-card__image img { height: 100%; }

.svc-page--rehab .svc-cards--photo .svc-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 147, 213, .3) 0%, rgba(0, 124, 181, 1) 100%);
}

.svc-page--rehab .svc-cards--photo .svc-card__body {
    position: absolute;
    right: 0;
    bottom: 40px;
    left: 0;
    padding: 0 30px;
}

.svc-page--rehab .svc-cards--photo .svc-card__title {
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(184, 184, 184, .2);
    font: 500 24px/32px 'FuturaPT', Arial, sans-serif;
    color: #fff;
}

.svc-page--rehab .svc-cards--photo .svc-card__link {
    display: block;
    margin: 0;
    padding: 25px 0 10px;
    font: 300 18px/28px 'FuturaPT', Arial, sans-serif;
    color: #fff;
    opacity: 0;
    transition: opacity .3s;
}

.svc-page--rehab .svc-cards--photo .svc-card__link:hover { text-decoration: none; }
.svc-page--rehab .svc-cards--photo .svc-card:hover .svc-card__link { opacity: 1; }

/* Ссылка растянута на всю карточку — в Тильде карточка кликабельна целиком */
.svc-page--rehab .svc-cards--photo .svc-card__link::after { content: ''; position: absolute; inset: 0; }

@media (max-width: 639px) {
    .svc-page--rehab .svc-cards--photo .svc-cards__list { gap: 24px; }
    .svc-page--rehab .svc-cards--photo .svc-card { flex-basis: 100%; }
    .svc-page--rehab .svc-cards--photo .svc-card__title { font-size: 20px; line-height: 26px; }
    .svc-page--rehab .svc-cards--photo .svc-card__link { opacity: 1; } /* на телефоне ховера нет */
}

/* Правила вида — на самой карточке (.svc-card--photo-tall), а не на контейнере: внутрь секции может быть вложен
   второй ряд другого вида (cards.php, join_prev — /kinesiology «Эффективный метод»), его они задевать не должны */
.svc-card--photo-tall { min-height: 430px; overflow: hidden; border-radius: 12px; background: #0e5c80; }
.svc-card--photo-tall .svc-card__image { position: absolute; inset: 0; border-radius: 0; }
.svc-card--photo-tall .svc-card__image img { height: 100%; }
.svc-card--photo-tall .svc-card__body {
    position: relative;
    margin-top: auto;
    padding: 120px 20px 24px;
    background: linear-gradient(to top, rgba(0, 32, 48, .8) 0%, rgba(0, 32, 48, 0) 100%);
}
.svc-card--photo-tall .svc-card__title { font-size: 20px; line-height: 24px; color: #fff; }
.svc-card--photo-tall .svc-card__text { color: #dae9f0; font-size: 14px; line-height: 22px; }
.svc-card--photo-tall .svc-card__link {
    margin-top: 16px;
    padding: 12px 24px;
    border-radius: 8px;
    background: rgba(193, 222, 235, .35);
    color: #fff;
    font-size: 14px;
}

.svc-cards--check .svc-card,
.svc-cards--icon .svc-card {
    justify-content: space-between;
    gap: 20px;
    min-height: 175px;
    padding: 24px;
    border-radius: 8px;
    background: #fff;
}
.svc-section--white.svc-cards--check .svc-card,
.svc-section--white.svc-cards--icon .svc-card { background: #f5f6f8; }
/* /online/workout «Кому подойдут» — в Тильде у айтемов нет подложки (rec1699701811, без заливки) */
.svc-page--workout .svc-cards--check .svc-card { padding: 0; background: none; min-height: 0; }
.svc-cards--check .svc-card__icon { width: 28px; height: 28px; }
.svc-cards--check .svc-card__title,
.svc-cards--icon .svc-card__title { font-size: 18px; font-weight: 500; line-height: 28px; }

/* /scoliosis «Какие методы мы используем» — plain-карточки здесь всё же на белой подложке
   с отступами (у остальных plain-блоков, /massage «Проблемы», /eliminationpain «Когда обращаются»,
   фон намеренно прозрачный — этот блок трогаем отдельно) */
.svc-page--scoliosis #methods .svc-card { padding: 24px; border-radius: 8px; background: #f4f8fa; }
.svc-page--scoliosis #methods .svc-card__title { font-size: 18px; font-weight: 500; line-height: 28px; }
.svc-page--scoliosis #methods .svc-card__text { margin-top: 40px; }

.svc-cards--icon .svc-card { align-items: center; justify-content: center; min-height: 120px; text-align: center; }
.svc-cards--icon .svc-card__icon { width: 80px; height: 80px; }

/* «Основные программы восстановления детского здоровья» (/child) — иконка слева, текст справа в ряд, не по центру */
.svc-page--child #services .svc-card {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 20px;
    min-height: 0;
}
.svc-page--child #services .svc-card__icon {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}
.svc-page--kinesiology .svc-cards--icon .svc-card { align-items: flex-start; text-align: left; background: #f5f6f8; }
.svc-page--kinesiology .svc-cards--icon .svc-card__icon { width: 50px; height: 50px; }
.svc-page--kinesiology .svc-cards--icon .svc-card__title { font-size: 15px; font-weight: 600; line-height: 23px; }

/* ── «Эффективный метод лечения» /kinesiology (Tilda rec571253638) ────────────
   Оба ряда — одна запись: карточки с фото 376×395 (поверх фото градиент
   #17475c → прозрачный с непрозрачностью .9), ниже через 20px ряд карточек с иконками */
/* Второй ряд лежит внутри той же секции (#method2 внутри #method), рядом с первым — поэтому правила
   фото-карточек привязаны к самой карточке (.svc-card--photo-tall) */
.svc-cards--joined { margin-top: 20px; }
.svc-cards--joined .svc-cards__list { margin-top: 0; }

.svc-page--kinesiology #method .svc-card--photo-tall { min-height: 395px; }

.svc-page--kinesiology #method .svc-card--photo-tall .svc-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(0deg, #17475c 21%, rgba(0, 155, 221, 0) 100%);
    opacity: .9;
}

.svc-page--kinesiology #method .svc-card--photo-tall .svc-card__body {
    padding: 0 20px 30px;
    background: none;
}

.svc-page--kinesiology #method .svc-card--photo-tall .svc-card__title { font-size: 15px; line-height: 23px; }
.svc-page--kinesiology #method .svc-card--photo-tall .svc-card__text { margin-top: 8px; font-size: 14px; line-height: 22px; }

/* ── «Ваше идеальное решение, если вы хотите» /kinesiology (Tilda rec571253636) ──
   Замеры при 1440: карточки 374/332 × 174 (два столбца, отступ 26), иконка 25, текст 15/23,
   плашка с отзывами — шестая карточка сетки, полоса призыва 1176×137 с градиентом вправо */
.svc-page--kinesiology .svc-cards--check .svc-card {
    justify-content: flex-start;
    gap: 15px;
    min-height: 174px;
    padding: 21px 30px;
}

.svc-page--kinesiology .svc-cards--check .svc-card__icon { width: 25px; height: 25px; }
.svc-page--kinesiology .svc-cards--check .svc-card__title { font-size: 15px; font-weight: 400; line-height: 23px; }
.svc-page--kinesiology .svc-cards--check .svc-card__title strong { font-weight: 600; }

/* Плашка с отзывами: текст сверху, аватарки снизу, звёзды поверх их нижнего края */
.svc-page--kinesiology .svc-cards--check .svc-card--rating { justify-content: center; }

.svc-page--kinesiology .svc-card--rating .svc-rating {
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 0;
    background: none;
    color: #171717;
}

.svc-page--kinesiology .svc-card--rating .svc-rating__text { order: -1; max-width: 200px; }
.svc-page--kinesiology .svc-card--rating .svc-rating__avatars { position: relative; }
.svc-page--kinesiology .svc-card--rating .svc-stars { position: absolute; left: 11px; bottom: -7px; gap: 12px; }

/* Полоса призыва: фон уходит в белый вправо, кнопка 260×54 со скруглением 4 */
.svc-page--kinesiology .svc-cards--check .svc-cta {
    align-items: flex-start;
    gap: 16px 30px;
    padding: 23px 30px 25px;
    background: linear-gradient(92deg, #f5f6f8 43%, #fff 100%);
}

.svc-page--kinesiology .svc-cards--check .svc-cta__title { flex: 0 0 350px; }
.svc-page--kinesiology .svc-cards--check .svc-cta__actions { flex: 0 0 auto; }

.svc-page--kinesiology .svc-cards--check .svc-cta .svc-btn {
    min-width: 260px;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 4px;
    font-size: 14px;
}

/* Примечание идёт под заголовком во всю ширину полосы */
.svc-page--kinesiology .svc-cards--check .svc-cta .svc-note { flex-basis: 100%; margin-top: 0; }

.svc-cards--plain .svc-card { gap: 15px; }
.svc-cards--plain .svc-card__icon { width: 30px; height: 30px; }
.svc-page--eliminationpain .svc-cards--plain .svc-card__icon,
.svc-page--consultationonline .svc-cards--plain .svc-card__icon { width: 50px; height: 50px; }

.svc-cards--list .svc-cards__list { gap: 0 24px; }
.svc-cards--list .svc-card { flex-direction: row; align-items: flex-start; gap: 12px; padding: 12px 0; }
.svc-cards--list .svc-card__icon { width: 24px; height: 24px; margin-top: 1px; }
.svc-cards--list .svc-card__title { font-weight: 500; }

.svc-cards--pin .svc-cards__list { gap: 10px; }
.svc-cards--pin .svc-card {
    flex: 0 1 var(--w, 300px);
    gap: 16px;
    min-height: 105px;
    padding: 26px 30px;
    border-radius: 8px;
    background: #f5f6f8;
}
.svc-cards--pin .svc-card__icon { width: 20px; height: 20px; }
.svc-cards--pin .svc-card__title { font-size: 15px; font-weight: 500; line-height: 23px; color: #545252; }
.svc-cards--pin .svc-cards__aside { flex-basis: 440px; }

/* «С чем мы работаем» — Tilda rec604761247 (/rehab): плашки занимают всю сетку (ширины из поля
   «Ширина» — 300/355/360/261/425/445/280 с отступом 10), а фото специалиста лежит поверх правого
   края и частично закрывает третью колонку. Раскладка включается только на полной сетке 1180 */
@media (min-width: 1220px) {
    .svc-page--rehab .svc-cards--pin .svc-cards__layout--aside {
        position: relative;
        display: block;
        min-height: 770px;
    }

    .svc-page--rehab .svc-cards--pin .svc-cards__aside {
        position: absolute;
        top: 14px;
        right: -40px;
        width: 467px;
    }
}

.svc-cards--bar .svc-card { gap: 12px; }

/* «Эксцентрическая тренировка» — в Тильде (rec604851004) это не фон во всю ширину, а серая карточка
   со скруглением 20: при окне 1440 она 1263×540, то есть шире сетки примерно на 43px с каждой стороны */
.svc-page--rehab .svc-cards--bar {
    max-width: 1266px;
    margin: 30px auto;
    padding: 50px 0 54px;
    border-radius: 20px;
}

@media (max-width: 1219px) {
    .svc-page--rehab .svc-cards--bar { margin: 30px 10px; padding: 40px 0; }
}
/* Полоска карточки — Тильда: 100×8, скругление 4, градиент в прозрачность */
.svc-card__bar { width: 100px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #009bdd 0%, rgba(0, 155, 221, 0) 100%); }
.svc-cards--bar .svc-card__title { font-weight: 500; }

.svc-cards--flow .svc-cards__list { justify-content: space-between; }
.svc-cards--flow .svc-card { flex: 0 0 300px; align-items: center; }
.svc-cards--flow .svc-card:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 147px;
    right: -130px;
    width: 138px;
    height: 6px;
    border-radius: 3px;
    background: #009bdd;
}
.svc-card__circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 300px;
    padding: 20px;
    border: 20px solid #e9f5fb;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    font: 500 18px/30px 'Montserrat', Arial, sans-serif;
    color: #171717;
}

/* «Есть вопрос?» — Tilda rec571253643 (/kinesiology) при 1400: отступ 41/30, подписи 15/23 #8f8f8f
   шириной до 301 (мессенджер — во 2-й строке), между группами 20, иконки WhatsApp + Telegram 45×45
   через 10, строка «ответим за 1 минуту» 15/23 600. На белой секции карточка серая, на серой — белая */
.svc-card--question {
    gap: 0;
    padding: 41px 30px;
    border-radius: 8px;
    background: #fff;
}
.svc-section--white .svc-card--question { background: #f5f6f8; }
.svc-question__label { max-width: 301px; margin: 0; font-size: 15px; line-height: 23px; color: #8f8f8f; }
.svc-question__title { margin: 5px 0 20px; font-size: 20px; font-weight: 700; line-height: 28px; color: #000; }
.svc-question__title span { color: #0093d5; }
.svc-question__phone { margin: 5px 0 20px; font-size: 20px; font-weight: 700; line-height: 31px; color: #000; text-decoration: none; }
.svc-card--question .svc-messengers { margin-top: 10px; }

/* Иконки мессенджеров в карточке «Есть вопрос?» лежат на светлых плашках, как в Тильде (все страницы услуг) */
.svc-card--question .svc-messengers a {
    display: block;
    overflow: hidden;
    width: 45px;
    height: 45px;
    border-radius: 4px;
    background: #f5f6f8;
}

/* Сами картинки 45×45 с белым фоном и знаком по центру: multiply даёт серую плашку без белого квадрата внутри */
.svc-card--question .svc-messengers img { width: 45px; height: 45px; mix-blend-mode: multiply; }

/* /osteopathy: заголовок блока «10 570+ человек» — в две строки */
@media (min-width: 992px) {
    .svc-page--osteopathy .svc-cards__title { max-width: 640px; }
}
.svc-question__note { margin: 27px 0 0; font-size: 15px; font-weight: 600; line-height: 23px; color: #171717; }

/* ── Текст + фото/видео ──────────────────────────────────────────────────── */

.svc-media__row { display: flex; align-items: center; gap: 60px; }
.svc-media__body,
.svc-media__side { flex: 1 1 0; min-width: 0; }
.svc-media__body > .svc-btn { margin-top: 32px; }
.svc-media__title + .svc-media__text,
.svc-media__title + .svc-subtitle { margin-top: 20px; }
.svc-media__badge {
    display: inline-block;
    margin: 0 0 24px;
    padding: 3px 20px;
    border: 1px solid #d3d3d3;
    border-radius: 30px;
    font: 13px/20px 'Montserrat', Arial, sans-serif;
    color: #5e5e5e;
}

.svc-media--image-left .svc-media__row,
.svc-media--video-left .svc-media__row,
.svc-media--collage-left .svc-media__row { flex-direction: row-reverse; }

.svc-media__images { display: flex; flex-wrap: wrap; gap: 10px; }
.svc-media__img { display: block; flex: 1 1 200px; width: 100%; min-width: 0; border-radius: 12px; object-fit: cover; }
.svc-media__images--1 .svc-media__img { max-height: 500px; }
.svc-media__images--3 .svc-media__img--3 { flex-basis: 100%; height: 234px; }
.svc-media__images--3 .svc-media__img--1,
.svc-media__images--3 .svc-media__img--2 { height: 336px; }

.svc-media__video {
    position: relative;
    overflow: hidden;
    aspect-ratio: 720 / 426;
    border-radius: 16px;
    background: #000;
}
.svc-media__poster,
.svc-media__video iframe,
.svc-media__video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.svc-media__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.svc-media__play svg { width: 70px; height: 70px; transition: transform .2s; }
.svc-media__play:hover svg { transform: scale(1.1); }
.svc-media__video + .svc-media__images { margin-top: 10px; }

.svc-media--image-left .svc-media__side,
.svc-media--collage-left .svc-media__side { flex: 0 0 50%; }
.svc-page--kinesiology .svc-media--image-left { background: #f5f6f8; }

/* ── «Кинезиолог влияет на тело» /kinesiology (Tilda rec571253637) ────────────
   Замеры при 1440: серая плашка 1263×730 со скруглением 20, схема 583×543 слева,
   колонка с карточками 476 справа. Картинке нужен свой aspect-ratio: это SVG без
   растровых размеров, без него высота нулевая и ленивая загрузка не срабатывает */
.svc-page--kinesiology #influence {
    max-width: 1266px;
    margin: 0 auto;
    padding: 66px 0;
    border-radius: 20px;
}

.svc-page--kinesiology #influence .svc-media__row { justify-content: space-between; }
.svc-page--kinesiology #influence .svc-media__side { flex: 0 0 583px; }
.svc-page--kinesiology #influence .svc-media__body { flex: 0 0 476px; }

/* Схема собрана из двух картинок: пунктирная окружность лежит под кругами,
   номера 1–3 — синие кружки 30px поверх неё (в Тильде отдельные элементы) */
.svc-page--kinesiology #influence .svc-media__images { position: relative; display: block; }

.svc-page--kinesiology #influence .svc-media__img {
    height: auto;
    max-height: none;
    border-radius: 0;
    object-fit: contain;
}

.svc-page--kinesiology #influence .svc-media__img--1 {
    position: absolute;
    top: 15.47%;
    left: 12.69%;
    width: 74.61%;
    aspect-ratio: 1;
    /* В Тильде пунктир медленно крутится: 50s infinite linear */
    animation: svc-dash-spin 50s linear infinite;
    backface-visibility: hidden;
}

@keyframes svc-dash-spin {
    from { transform: rotate(0); }
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .svc-page--kinesiology #influence .svc-media__img--1 { animation: none; }
}

.svc-page--kinesiology #influence .svc-media__img--2 {
    position: relative;
    width: 100%;
    aspect-ratio: 4400 / 4100;
}

.svc-page--kinesiology #influence .svc-media__images::before,
.svc-page--kinesiology #influence .svc-media__images::after,
.svc-page--kinesiology #influence .svc-media__side::before {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border-radius: 50%;
    background: #009bdd;
    box-shadow: 0 0 24px 10px rgba(0, 155, 221, .18);
    color: #fff;
    font: 14px/22px 'Montserrat', Arial, sans-serif;
}

/* Центры кружков по Тильде: (97, 208), (490, 208) и (291, 516) на холсте 583×543 */
.svc-page--kinesiology #influence .svc-media__images::before { content: '1'; top: 38.3%; left: 16.6%; }
.svc-page--kinesiology #influence .svc-media__images::after  { content: '2'; top: 38.3%; left: 84.1%; }
.svc-page--kinesiology #influence .svc-media__side::before   { content: '3'; top: 95%;   left: 49.9%; }
.svc-page--kinesiology #influence .svc-media__side { position: relative; }

@media (max-width: 1219px) {
    .svc-page--kinesiology #influence { margin: 0 10px; padding: 40px 0; }
}

/* ── Первый экран /kinesiology (Tilda rec661009736) ───────────────────────────
   Замеры при 1440 (сетка 1180, высота экрана 774): заголовок 616, плашки 2×2
   (328+300 / 368+300, отступ 10), кнопка 335×64, фото специалиста 576 у правого края
   поверх текстовой колонки, плашка с отзывами 429×83 в правом нижнем углу,
   полоска над подписью — градиент из белого в прозрачный */
@media (min-width: 992px) {
    /* Колонка с текстом занимает всю сетку: в Тильде плашки заходят под фото */
    .svc-page--kinesiology .svc-hero__inner { align-items: flex-start; min-height: 554px; }
    .svc-page--kinesiology .svc-hero__content { max-width: 700px; padding-top: 77px; }
    .svc-page--kinesiology .svc-hero__title { max-width: 616px; }
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__features { align-self: stretch; margin-top: 15px; }
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__btn { min-width: 335px; }

    /* Фото вынуто из потока, иначе текстовой колонке не хватает ширины на две плашки в ряд */
    .svc-page--kinesiology .svc-hero__person {
        position: absolute;
        top: 0;
        right: -40px;
        bottom: 0;
        flex: none;
        width: 576px;
        min-height: 0;
    }

    .svc-page--kinesiology .svc-hero__person-photo {
        top: -145px;
        bottom: auto;
        height: calc(100% + 220px);
        max-height: none;
        object-fit: contain;
        object-position: right bottom;
    }

    .svc-page--kinesiology .svc-hero__person-tag { right: 40px; }

    /* Фото поверх подписи: полоска уходит за голову, как в Тильде */
    .svc-page--kinesiology .svc-hero__person-photo { z-index: 1; }

    /* Плашка с отзывами стоит поверх фото в правом нижнем углу, а не под кнопкой */
    .svc-page--kinesiology .svc-hero__rating {
        position: absolute;
        z-index: 2; /* плашка с отзывами лежит поверх фото */
        right: max(20px, calc(50% - 564px));
        bottom: 8px;
        flex-wrap: nowrap;
        background: rgba(138, 169, 184, .25);
    }

    .svc-page--kinesiology .svc-hero__rating .svc-rating__text { order: -1; }
    .svc-page--kinesiology .svc-hero__rating .svc-stars { position: absolute; left: 244px; bottom: 19px; gap: 12px; }
}

/* Полоска над подписью — в Тильде градиент из белого в прозрачный, а не сплошная белая */
.svc-page--kinesiology .svc-hero__person-tag {
    padding-top: 23px;
    border-top: 0;
}

.svc-page--kinesiology .svc-hero__person-tag::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    max-width: 100%;
    height: 6px;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(0, 147, 213, 0) 0%, #fff 100%);
}

/* Плашка «Без операций и дорогих лекарств» — в Тильде капсом с разрядкой */
.svc-page--kinesiology .svc-hero__badge { text-transform: uppercase; letter-spacing: 1px; }

/* Обводка плашек в Тильде полупрозрачная */
.svc-page--kinesiology .svc-hero__feature--pill { border-color: rgba(163, 193, 207, .45); }

.svc-media--video-right .svc-media__side,
.svc-media--video-left .svc-media__side { flex: 0 0 60%; }
.svc-media--video-left .svc-media__row { align-items: flex-start; }

/* /scoliosis «Коррекция направлена на…» — ровно два столбца по 50% (у остальных video-right/-left
   страниц видео шире текста, 60/40 — здесь по просьбе сделано поровну) */
.svc-page--scoliosis .svc-media--video-right .svc-media__side { flex: 1 1 0; }

.svc-media--gallery .svc-media__head,
.svc-media--wide .svc-media__head { display: flex; gap: 40px; align-items: flex-start; }
.svc-media--gallery .svc-media__title { flex: 0 0 535px; font-size: 38px; line-height: 42px; }
.svc-media--gallery .svc-media__text { flex: 1 1 0; font-weight: 500; color: #545252; }
.svc-media--gallery .svc-media__images { flex-wrap: nowrap; align-items: flex-start; gap: 30px; margin-top: 30px; }
.svc-media--gallery .svc-media__img { height: 350px; border-radius: 8px; }
.svc-media--gallery .svc-media__img:nth-child(odd) { margin-top: 10px; }

.svc-media--wide .svc-media__images { margin-top: 40px; }
.svc-media--wide .svc-media__img { max-height: none; object-fit: contain; border-radius: 0; }

.svc-media--seo .svc-media__row { align-items: flex-start; }
.svc-media--seo .svc-media__title { flex: 0 0 290px; font-size: 32px; line-height: 35px; }
.svc-media--seo .svc-media__text { flex: 0 1 760px; line-height: 26px; }

/* /consultationonline «Кому подходит...» — в Тильде заголовок сверху, текст под ним, без второй колонки (rec1699701641) */
.svc-page--consultationonline #who .svc-media__row { flex-direction: column; align-items: flex-start; gap: 16px; }
.svc-page--consultationonline #who .svc-media__title { flex: none; max-width: none; font-size: 34px; line-height: 1.1; }
.svc-page--consultationonline #who .svc-media__text { flex: none; width: 100%; max-width: 726px; line-height: 1.55; }

/* /consultationonline «С какими проблемами...» — в Тильде это мелкая жирная подпись, а не h2 (rec1699701651, 17px/700) */
.svc-page--consultationonline #problems .svc-cards__title {
    font: 700 17px/1.55 'Montserrat', Arial, sans-serif;
}

/* Между «Кому подходит» и «С какими проблемами» в Тильде всего 30px (rec1699701641 pb-30, rec1699701651 без верхнего отступа),
   а не 60+60 от базового .svc-section */
.svc-page--consultationonline #who { padding-bottom: 30px; }
.svc-page--consultationonline #problems { padding-top: 0; }

.svc-media--two-col .svc-media__row { align-items: flex-start; margin-top: 30px; }
.svc-media--two-col .svc-media__side .svc-media__images { margin-top: 30px; }
.svc-media--two-col .svc-media__img { height: 345px; }

.svc-media--patent .svc-media__row { align-items: flex-start; }
.svc-media--patent .svc-media__side { flex: 0 0 48%; }
.svc-media--patent .svc-media__img { max-height: none; object-fit: contain; border-radius: 0; }

/* Скруглённая светлая карточка по ширине .svc-container (1180px), а не сплошной фон во всю секцию — Tilda rec1699701661/rec1699701821,
   элемент-подложка border-radius:20px, background:#f4f9fc, opacity:.7 (общий блок /online/*).
   Явно перебиваем .svc-section--light (bg:#f5f6f8 на всю секцию) — фон даёт только карточка-подложка. */
.svc-media--steps-list.svc-section--light,
.svc-media--steps-list { position: relative; background: #fff; padding: 60px 0 0; }
.svc-media--steps-list::before {
    content: '';
    position: absolute;
    inset: 0;
    max-width: 1300px;
    margin: 0 auto;
    background: #f4f9fc;
    border-radius: 20px;
    z-index: 0;
}
.svc-media--steps-list .svc-container { position: relative; z-index: 1; }

.svc-media--steps-list .svc-media__row { align-items: flex-start; }
.svc-media--steps-list .svc-media__body { position: relative; padding-bottom: 482px; display: flex; flex-direction: column; }
.svc-media--steps-list .svc-media__images { position: absolute; left: 0; bottom: 0; margin-top: 0; }
.svc-media--steps-list .svc-media__img {
    flex: none;
    height: 405px;
    width: auto;
    max-height: none;
    border-radius: 0;
    object-fit: contain;
}
.svc-media--steps-list .svc-media__side > .svc-btn {
    margin-top: 40px;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 4px;
    font-size: 13px;
    margin-bottom: 60px;
}

/* На телефоне порядок: заголовок/текст, список, кнопка, фото — внизу (сейчас фото абсолютно спозиционировано
   сразу под текстом). Разворачиваем body/side через display:contents, чтобы элементы стали прямыми флекс-item
   строки и фото можно было увести в конец через order — Tilda /online/* mobile */
@media (max-width: 991px) {
    .svc-media--steps-list .svc-media__body,
    .svc-media--steps-list .svc-media__side { display: contents; }
    /* .svc-media__row в мобильном общем правиле уже даёт gap:30px между всеми развёрнутыми элементами —
       margin тут добавляется поверх gap, а не вместо него, поэтому отрицательный, чтобы итоговый отступ был ~14px */
    .svc-media--steps-list .svc-media__images { position: static; order: 1; margin-top: -16px; }
    /* .svc-section{padding:50px 0} мобильный сброс той же специфичности идёт позже в каскаде и иначе
       перебивает нижний padding:0 у карточки — фиксируем явно, фото должно упираться в низ карточки */
    .svc-media--steps-list.svc-section--light,
    .svc-media--steps-list { padding-bottom: 0; }
    .svc-media--steps-list .svc-media__img { height: 285px; width: 100%; }
}

.svc-media__card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 349px;
    padding: 42px 43px;
    border-radius: 20px;
    background: #fff;
}
.svc-media--certificate .svc-media__body { flex: 0 0 490px; }
.svc-media--certificate .svc-media__badge { border: 0; padding: 0; font: 500 26px/26px 'FuturaPT', Arial, sans-serif; color: #0093d5; }
.svc-media--certificate .svc-media__title { font-size: 40px; line-height: 44px; }
/* Абсолютное позиционирование вместо отрицательных margin — margin-bottom у флекс-item не растягивает
   собственную высоту блока картинки вниз (влияет только на соседей), из-за чего снизу вылет не получался */
.svc-media--certificate .svc-media__images { position: absolute; top: -90px; right: -120px; bottom: -160px; flex: none; }
.svc-media--certificate .svc-media__img { height: 100%; width: auto; max-height: none; object-fit: contain; border-radius: 0; }

.svc-media .svc-cta { margin-top: 40px; }

/* Карточка «Запишитесь» внутри текстовой колонки — Tilda rec604798661 (/rehab «Механотерапия»):
   576×170 под текстом, заголовок 401, кнопка 260×54 со скруглением 4, примечание под карточкой справа */
.svc-media__body > .svc-cta {
    width: 100%;
    margin-top: 30px;
    padding: 20px 23px;
    gap: 20px;
}

.svc-media__body > .svc-cta .svc-cta__title { flex: 1 1 100%; max-width: 401px; }
.svc-media__body > .svc-cta .svc-cta__actions { flex: 0 0 auto; }
.svc-media__body > .svc-cta + .svc-note { text-align: right; }
.svc-page--rehab .svc-media--collage-left .svc-cta__note { font-size: 14px; line-height: 22px; }
.svc-note a { border-bottom: 1px solid #009bdd; color: #009bdd; text-decoration: none; } /* как в Тильде: подчёркивание рамкой */

/* Колонки выравниваются по верху: правая (текст + карточка) выше левой с фото, как в Тильде */
.svc-media__row--cta-body { align-items: flex-start; }

.svc-page--rehab .svc-media__body > .svc-cta .svc-btn {
    min-width: 260px;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 4px;
    font-size: 14px;
}

/* «С чем работает» /osteopathy (Tilda rec573760284): заголовок и текст сверху на всю ширину,
   слева видео и под ним призыв без плашки, справа — список серыми карточками 2 в ряд */
.svc-media--video-cards .svc-media__head { margin-bottom: 30px; }
.svc-media--video-cards .svc-media__text { max-width: 1000px; margin-top: 20px; }
.svc-media--video-cards .svc-media__row { align-items: flex-start; justify-content: space-between; gap: 30px; }
.svc-media--video-cards .svc-media__side { flex: 0 0 48%; }
.svc-media--video-cards .svc-media__body { flex: 1 1 0; }

.svc-media--video-cards .svc-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-top: 30px;
    padding: 0;
    background: none;
}

.svc-media--video-cards .svc-cta__title { flex: none; font-size: 22px; line-height: 28px; }
.svc-media--video-cards .svc-cta__actions { flex: none; }
.svc-media--video-cards .svc-cta .svc-note { max-width: 420px; margin-top: 14px; }

/* Плашка «Яндекс Карты»: 136×60, фон #f4f8f9, логотип 69×14 и пять звёзд 12px */
.svc-yrating {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 136px;
    height: 60px;
    margin-top: 20px;
    border-radius: 60px;
    background: #f4f8f9;
}

@media (min-width: 992px) {
    .svc-media--video-cards .svc-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }
    .svc-media--video-cards .svc-yrating { margin-top: 0; }
    .svc-media--video-cards .svc-cta .svc-note { flex-basis: 100%; }
}

.svc-yrating__logo { display: block; width: 69px; height: 14px; }
.svc-yrating__stars { display: flex; gap: 6px; }
.svc-yrating__stars img { display: block; width: 12px; height: 12px; }

.svc-media--video-cards .svc-list { margin-top: 0; }
.svc-media--video-cards .svc-list--check { gap: 10px; }
.svc-media--video-cards .svc-list--check li {
    flex: 0 0 calc(50% - 5px);
    min-height: 104px;
    padding: 58px 16px 16px;
    border-radius: 8px;
    background: #f5f6f8;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #545252;
}

.svc-media--video-cards .svc-list--check li::before { top: 18px; left: 16px; }

@media (max-width: 991px) {
    /* Порядок как в Тильде: текст, видео, список, и только потом призыв с кнопкой */
    .svc-media--video-cards .svc-media__row { flex-direction: column; gap: 20px; }
    .svc-media--video-cards .svc-media__side { display: contents; }
    .svc-media--video-cards .svc-media__video { order: 1; width: 100%; }
    .svc-media--video-cards .svc-media__body { order: 2; flex: none; width: 100%; }
    .svc-media--video-cards .svc-cta { order: 3; align-items: center; width: 100%; margin-top: 10px; text-align: center; }
    .svc-media--video-cards .svc-cta__actions { display: flex; flex-direction: column; align-items: center; width: 100%; }
    .svc-media--video-cards .svc-cta .svc-btn { width: 100%; }
    .svc-media--video-cards .svc-cta .svc-note { max-width: 296px; }
    .svc-media--video-cards .svc-media__title { max-width: 260px; font-size: 26px; line-height: 29px; }
}

@media (max-width: 480px) {
    .svc-media--video-cards .svc-list--check li { flex-basis: 100%; }
}

/* ── Этапы ──────────────────────────────────────────────────────────────── */

.svc-process__subtitle { max-width: 1118px; }

.svc-process__list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
    font-family: 'Montserrat', Arial, sans-serif;
}

.svc-process__item { position: relative; flex: 1 1 0; min-width: 0; padding-right: 30px; }
/* Заголовок шага. У заголовка блока класс svc-process__heading — он оформляется через .svc-title */
.svc-process__item .svc-process__title { margin: 0; font-size: 16px; font-weight: 600; line-height: 25px; color: #171717; }
.svc-process__title span { color: #009bdd; }
.svc-process__text { margin: 8px 0 0; font-size: 15px; line-height: 23px; color: #545252; }
.svc-process__actions { margin-top: 30px; }

.svc-process--row .svc-process__num {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 3px 0 22px 3px;
    border-radius: 50%;
    background: #009bdd;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #009bdd;
    color: #fff;
    font: 500 15px/1 'FuturaPT', Arial, sans-serif;
}
/* Линия от номера к следующему — градиент из синего в прозрачный, как в Тильде */
.svc-process--row .svc-process__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 16px;
    left: 38px;
    right: 8px;
    height: 2px;
    background: linear-gradient(90deg, #009bdd 0%, rgba(0, 155, 221, .08) 100%);
}
.svc-process--row .svc-process__dot { display: none; }

.svc-process--dots .svc-process__list { position: relative; }
.svc-process--dots .svc-process__list::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    right: 0;
    height: 1px;
    background: #009bdd;
}
.svc-process--dots .svc-process__dot {
    position: relative;
    display: block;
    width: 16px;
    height: 16px;
    margin-bottom: 26px;
    border: 1px solid #009bdd;
    border-radius: 50%;
    background: #fff;
}
.svc-process--dots .svc-process__item .svc-process__title { font-size: 18px; font-weight: 700; line-height: 28px; color: #000; }
.svc-process--dots .svc-process__text { font-size: 16px; line-height: 25px; color: #575757; }
.svc-process--dots .svc-process__actions { margin: 30px 0 0 calc(25% + 12px); }
.svc-process--dots .svc-btn { border-color: #009bdd; background: transparent; color: #009bdd; border-radius: 39px; }
.svc-process--dots .svc-btn:hover { background: #009bdd; color: #fff; }

/* «Сеанс займет 60 минут» — Tilda rec571253654 (/kinesiology) и rec611473604 (/psychosomatics), одинаковые.
   При 1400: слева заголовок 360, кнопка 300×54 со скруглением 4, примечание 14/22 шириной 351;
   справа карточки 378 и 394 × 116 через 2 (сетка 774), внутри отступ 24/20/18, заголовок 15/23 600,
   текст 15/23 #545252 через 5 */
.svc-process__grid { display: flex; align-items: flex-start; gap: 40px; }
.svc-process--grid .svc-process__grid { gap: 46px; }
.svc-process__head { flex: 0 0 360px; }
.svc-process__head .svc-btn { margin-top: 40px; }
.svc-process--grid .svc-process__head .svc-btn { width: 300px; min-height: 54px; padding: 0 20px; border-radius: 4px; font-size: 14px; }
.svc-process--grid .svc-process__head .svc-note { max-width: 351px; margin-top: 16px; font-size: 14px; line-height: 22px; }
.svc-process--grid .svc-process__list { flex: 1 1 auto; gap: 2px; margin: 0; }
/* Фон карточек: градиент 90° #edf4f7 → rgba(255,255,255,.3) с непрозрачностью .75
   (в Тильде прозрачность стоит на подложке, а не на тексте — поэтому .75 перенесена в альфу цветов) */
.svc-process--grid .svc-process__item {
    flex: 0 0 calc((100% - 2px) * 378 / 772);
    min-height: 116px;
    padding: 24px 20px 18px;
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(237, 244, 247, .75) 0%, rgba(255, 255, 255, .225) 100%);
}
.svc-process--grid .svc-process__item:nth-child(even) { flex-basis: calc((100% - 2px) * 394 / 772); }
.svc-process--grid .svc-process__dot { display: none; }
.svc-process--grid .svc-process__item .svc-process__title { font-size: 15px; line-height: 23px; }
.svc-process--grid .svc-process__text { margin-top: 5px; font-size: 15px; line-height: 23px; color: #545252; }

.svc-process__timeline { display: flex; align-items: flex-start; gap: 60px; margin-top: 40px; }
.svc-process__gallery { position: relative; display: flex; flex-wrap: wrap; flex: 0 0 48%; gap: 20px; }
/* Обёртки коллажей нужны только мобильной раскладке /rehab — по умолчанию их не видно */
.svc-process__collage { display: contents; }
.svc-process__gallery-img { flex: 1 1 calc(50% - 10px); min-width: 0; height: 280px; border-radius: 12px; object-fit: cover; }
.svc-process__gallery-img:nth-child(3n) { flex-basis: 100%; height: 330px; }
.svc-process--timeline .svc-process__list { position: relative; flex: 1 1 auto; flex-direction: column; gap: 36px; margin: 0; padding-left: 60px; }
.svc-process--timeline .svc-process__list::before { content: ''; position: absolute; top: 20px; bottom: 60px; left: 19px; width: 1px; background: #009bdd; }
.svc-process--timeline .svc-process__item { padding: 0; }
.svc-process--timeline .svc-process__num {
    position: absolute;
    top: -4px;
    left: -60px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e9f5fb;
    color: #009bdd;
    font: 500 16px/1 'FuturaPT', Arial, sans-serif;
}
/* Заголовок шага. Обязательно через .svc-process__item — у заголовка блока (h2) тот же класс */
.svc-process--timeline .svc-process__item .svc-process__title { font: 500 24px/30px 'FuturaPT', Arial, sans-serif; }
.svc-process--timeline .svc-process__text { margin-top: 10px; font-size: 18px; line-height: 28px; color: #3f3f3f; }
.svc-process--timeline .svc-process__dot { display: none; }

/* «Как проходит первый сеанс» на /rehab — в Тильде (rec605243566 + rec605245082) это не «фото слева,
   список справа», а собранная вручную композиция: шаги 1–2 справа от коллажа, шаги 3–5 слева от второго
   коллажа, номера — крупные цифры 70px с градиентом в прозрачность позади заголовков.
   Координаты сняты с оригинала при окне 1440 (сетка 1200) и отсчитываются от левого края контейнера. */
@media (min-width: 1220px) {
    .svc-page--rehab .svc-process--timeline .svc-process__timeline {
        display: block;
        position: relative;
        height: 1316px;
        margin-top: 13px;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__gallery {
        position: absolute;
        inset: 0;
        display: block;
        flex: none;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img {
        position: absolute;
        flex: none;
        border-radius: 4px;
        object-fit: cover;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--1 { top: 67px;  left: 103px; width: 412px; height: 412px; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--2 { top: 79px;  left: 467px; width: 195px; height: 195px; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--3 { top: 242px; left: 1px;   width: 177px; height: 177px; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--4 { top: 562px; left: 543px; width: 311px; height: 420px; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--5 { top: 658px; left: 832px; width: 344px; height: 344px; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--6 { top: 906px; left: 606px; width: 499px; height: 324px; }

    .svc-page--rehab .svc-process--timeline .svc-process__list {
        position: static;
        display: block;
        padding: 0;
        margin: 0;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__list::before { display: none; }

    .svc-page--rehab .svc-process--timeline .svc-process__item { position: absolute; }

    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(1) { top: 136px;  left: 738px; width: 408px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(2) { top: 336px;  left: 602px; width: 408px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(3) { top: 586px;  left: 0;     width: 451px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(4) { top: 824px;  left: 40px;  width: 431px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(5) { top: 1024px; left: 0;     width: 451px; }

    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(1) .svc-process__title { max-width: 494px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(2) .svc-process__title { max-width: 356px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(3) .svc-process__title { max-width: 290px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(4) .svc-process__title { max-width: 400px; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(5) .svc-process__title { max-width: 437px; }

    /* Цифра-водяной знак за заголовком шага */
    .svc-page--rehab .svc-process--timeline .svc-process__num {
        top: -50px;
        left: -6px;
        z-index: 0;
        display: block;
        width: auto;
        height: auto;
        border-radius: 0;
        background: linear-gradient(#e9f1f5 0%, rgba(234, 233, 245, 0) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font: 500 70px/109px 'FuturaPT', Arial, sans-serif;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__body { position: relative; z-index: 1; }

    .svc-page--rehab .svc-process--timeline .svc-process__item .svc-process__title { font: 500 30px/36px 'FuturaPT', Arial, sans-serif; color: #171717; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(n+3) .svc-process__title { font-size: 32px; line-height: 35px; }
    .svc-page--rehab .svc-process--timeline .svc-process__text { margin-top: 6px; font-size: 16px; line-height: 30px; color: #545252; }
}

/* Вкладки */
/* Вкладки (детские «Что включает приём», Tilda rec794849254 + t395 rec794849255 + rec794849256 при 1400):
   заголовок 32/35 по центру, вкладки — сплошная плашка 2×380×52, шаги в 3 колонки, фото 150 */
.svc-process--tabs .svc-process__heading { font-size: 32px; line-height: 35px; text-align: center; }
.svc-tabs__nav { display: flex; justify-content: center; flex-wrap: wrap; margin-top: 42px; }
.svc-tabs__btn {
    flex: 0 1 380px;
    min-height: 52px;
    padding: 0 20px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #757575;
    font: 500 15px/20px 'Montserrat', Arial, sans-serif;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}
.svc-tabs__btn:first-child { border-radius: 8px 0 0 8px; }
.svc-tabs__btn:last-child { border-radius: 0 8px 8px 0; }
.svc-tabs__btn:hover { color: #0093d5; }
.svc-tabs__btn.is-active { background: #0093d5; color: #fff; }
.svc-tabs__panel-inner { display: flex; align-items: flex-start; gap: 40px; margin-top: 90px; }
.svc-tabs__panel-inner .svc-process__list { flex: 1 1 auto; gap: 40px 128px; margin: 0; }
.svc-tabs__panel-inner .svc-process__item { flex: 0 0 calc((100% - 256px) / 3); padding: 0; }
.svc-tabs__panel-inner--results { margin-top: 30px; }
.svc-tabs__panel-inner--results .svc-process__list { gap: 40px 60px; }
.svc-tabs__panel-inner--results .svc-process__item { display: flex; gap: 24px; flex-basis: 100%; }
.svc-process--tabs .svc-process__dot { display: none; }
.svc-process--tabs .svc-process__image { display: block; flex-shrink: 0; width: 230px; margin-bottom: 29px; }
.svc-tabs__panel-inner--results .svc-process__image { width: 195px; margin: 0; }
.svc-process--tabs .svc-process__image img { display: block; width: 100%; aspect-ratio: 1; border-radius: 20px; object-fit: cover; }
.svc-tabs__panel-inner--results .svc-process__image img { border-radius: 12px; }
.svc-process__label {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin-bottom: 16px;
    padding: 0 22px;
    border: 1px solid #0093d5;
    border-radius: 30px;
    color: #0093d5;
    font-size: 14px;
    font-weight: 500;
}
.svc-process--tabs .svc-process__label {
    min-height: 30px;
    padding: 0 13px;
    border-color: #d7e1e6;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}
.svc-process--tabs .svc-process__item .svc-process__title { font-size: 16px; line-height: 22px; text-align: left; }
.svc-process--tabs .svc-process__text { margin-top: 8px; font-size: 16px; line-height: 26px; letter-spacing: -.3px; color: #3e3e3e; }
.svc-tabs__results { flex: 0 0 440px; padding: 30px; border-radius: 12px; background: #fff; }
.svc-tabs__results-title { margin: 0; font: 600 20px/29px 'Montserrat', Arial, sans-serif; color: #171717; }

/* ── Форма со специалистом ───────────────────────────────────────────────── */

/* Форма записи (детские, /massage) — Tilda rec812415067 при 1400: карточка 1320×584,
   слева имя, должность и согласие, по центру фото, справа заголовок, телефон с кнопкой в строку,
   цена и белая плашка мессенджеров */
.svc-offer--doctor { padding: 0 0 90px; }
.svc-offer__card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0;
    min-height: 584px;
    padding: 74px 29px 0 28px;
    border-radius: 8px;
    background: linear-gradient(#fff, #e9f1f5); /* как на Тильде: сверху белый, снизу бледно-голубой */
}
.svc-section--white .svc-offer__card { background: linear-gradient(#fafafa, #e9f1f5); }

/* На Тильде ниже 1199px градиент развёрнут (linear-gradient(0turn)): бледно-голубой сверху, белый снизу */
@media (max-width: 1199px) {
    .svc-offer__card { background: linear-gradient(to top, #fff, #e9f1f5); }
    .svc-section--white .svc-offer__card { background: linear-gradient(to top, #fafafa, #e9f1f5); }
}
.svc-offer__person { position: relative; z-index: 1; display: flex; flex-direction: column; flex: 0 0 226px; font-family: 'Montserrat', Arial, sans-serif; }
.svc-offer__name { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; margin-top: 0; font-size: 16px; font-weight: 700; line-height: 25px; color: #171717; } /* точка над именем, как на Тильде */
.svc-offer__dot { position: relative; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: rgba(0, 147, 213, .2); }
.svc-offer__dot::after { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: #0093d5; }
.svc-offer__name strong { font-weight: 700; }
.svc-offer__role { margin: 9px 0 0; font-size: 16px; line-height: 25px; color: #3f3f3f; }
.svc-offer__consent { display: none; margin: 155px 0 0; font-size: 16px; line-height: 25px; color: #3f3f3f; } /* отдельный текст согласия не нужен: в Тильде согласие — чекбокс в форме */
.svc-offer__consent a { color: #0093d5; text-decoration: underline; }

.svc-offer__photo { flex: 0 0 557px; align-self: flex-start; margin: -99px 0 0 -31px; }
.svc-offer__photo img { display: block; width: 100%; height: 612px; object-fit: contain; object-position: bottom; }

.svc-offer__form { flex: 0 0 515px; max-width: none; margin-left: auto; padding-top: 12px; font-family: 'Montserrat', Arial, sans-serif; }
.svc-offer__title { max-width: 447px; margin: 0; font: 500 32px/34px 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-offer__title span { color: #0093d5; }
.svc-offer__text { max-width: 433px; margin: 20px 0 0; font-size: 16px; line-height: 25px; color: #3f3f3f; }
.svc-offer__text strong { color: #171717; }

/* Телефон и кнопка в одну строку, согласие вынесено в левую колонку */
.svc-offer__row-form { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.svc-offer__row-form .blog-offer__phone-wrap { flex: 0 0 263px; border-radius: 50px; background: #f0f6f9; }
.svc-offer__row-form .blog-offer__phone { border-radius: 50px; }
.svc-offer__row-form .blog-offer__consent { flex: 1 1 100%; margin: 4px 0 0; font-size: 12px; line-height: 16px; color: #737f84; } /* согласие под телефоном, как в Тильде */
.svc-offer__row-form .blog-offer__submit { flex: 0 0 240px; width: 240px; border-radius: 50px; }
.svc-offer__row-form .lead-form__message { flex: 1 1 100%; margin: 0; }

.svc-offer__price { margin-top: 21px; font-size: 16px; line-height: 25px; color: #3f3f3f; }
.svc-offer__price-label { display: block; }
.svc-offer__price-row { display: flex; align-items: baseline; gap: 14px; margin: 5px 0 0; }
.svc-offer__price strong { font-size: 22px; font-weight: 700; line-height: 24px; color: #171717; }
.svc-offer__price-old { font-size: 16px; line-height: 25px; color: #171717; }
.svc-offer__price-old s { text-decoration: line-through; }
.svc-offer__price-disc { color: #0088cc; }

/* Десктоп ≥1200 — раскладка Тильды (rec1065671901, сетка 1200): слева имя и плашка с ценой, по центру фото,
   справа заголовок, форма столбиком, согласие под телефоном и мессенджеры без белой плашки.
   Координаты — от левого края карточки (сетка 1200, карточка 1180) */
@media (min-width: 1200px) {
    .svc-offer--doctor { --ov: 0px; position: relative; z-index: 1; padding-top: 84px; } /* голова выступает над карточкой на 54px — место под неё на сером фоне блока */
    /* --ov: карточка в Тильде шире сетки (96% окна) и выступает за контейнер примерно на 30px с каждой стороны, содержимое остаётся по сетке */
    .svc-offer__card { min-height: 528px; margin: 0 calc(-1 * var(--ov)); padding: 0; }

    .svc-offer__person { position: absolute; top: 64px; left: calc(10px + var(--ov)); width: 230px; }
    .svc-offer__name { gap: 26px; }
    .svc-offer__consent { display: none; }

    .svc-offer__photo { position: absolute; left: calc(229px + var(--ov)); width: 520px; margin: 0; top: -45px; }
    .svc-offer__photo img { height: 100%; }

    /* Форма стоит в потоке справа (карточка 1180 − 510 = 670 от левого края); цена и мессенджеры вынуты по координатам */
    .svc-offer__form { flex: 0 0 510px; margin: 47px var(--ov) 0 auto; padding: 0; }
    .svc-offer__title { max-width: 447px; line-height: 1.05; }
    .svc-offer__text { max-width: 444px; margin-top: 12px; line-height: 1.55; }

    .svc-offer__row-form { flex-direction: column; align-items: flex-start; gap: 10px; width: 341px; margin-top: 0; padding-top: 0; }
    .svc-offer__row-form .blog-offer__phone-wrap { flex: none; width: 100%; height: 64px; }
    .svc-offer__row-form .blog-offer__phone { height: 64px; }
    .svc-offer__row-form .blog-offer__consent { display: flex; margin: 8px 0 0; font-size: 12px; line-height: 16px; color: #737f84; }
    .svc-offer__row-form .blog-offer__submit { flex: none; width: 240px; height: 64px; margin-top: 6px; }

    /* Без белой плашки: цена стоит прямо на фоне карточки, как в Тильде */
    .svc-offer__price {
        position: absolute;
        top: 367px;
        left: calc(10px + var(--ov));
        box-sizing: border-box;
        width: 215px;
        margin: 0;
        padding: 0;
        background: none;
        font-size: 14px;
        line-height: 1.4;
        color: #7c8a90;
    }

    .svc-offer__price-label { display: block; max-width: 130px; margin-bottom: 8px; }
    .svc-offer__price-row { display: block; margin: 0; }
    .svc-offer__price strong { display: block; font-size: 26px; font-weight: 500; line-height: 1.3; color: #171717; }
    .svc-offer__price-old { display: block; margin-top: 2px; font-size: 14px; font-weight: 400; line-height: 1.4; color: #7c8a90; }

    /* .svc-offer__card — для веса селектора: общее правило .svc-offer__messenger стоит ниже и иначе перебивает ширину и отступ */
    .svc-offer__card .svc-offer__messenger { position: absolute; top: 415px; left: calc(670px + var(--ov)); width: 391px; margin: 0; }
    .svc-offer__messenger span { max-width: 285px; }

    /* /consultationonline, /online/workout и /price используют один и тот же блок Тильды (те же id элементов,
       rec1699731731 / rec1699754331 / rec1708780051): карточка тут сплошная белая (без градиента), а фото 520×629
       не влезает в минимальную высоту 528px и вылезает за карточку на ~56px — увеличиваем высоту и сдвигаем фото
       влево, чтобы не залезало на форму (форма стоит от 670px, фото было 229–749) */
    .svc-page--consultationonline .svc-offer__card,
    .svc-page--workout .svc-offer__card,
    .svc-page--price .svc-offer__card { min-height: 590px; }
    .svc-page--consultationonline .svc-offer__photo,
    .svc-page--workout .svc-offer__photo,
    .svc-page--price .svc-offer__photo { left: calc(130px + var(--ov)); top: -39px; }
}

@media (min-width: 1300px) {
    .svc-offer--doctor { --ov: 30px; }
}

/* Карточка «Остались вопросы» тут сплошная белая, без градиента — Tilda rec1699731731/rec1699754331/rec1708780051 (background-color:#ffffff) */
.svc-page--consultationonline .svc-offer__card,
.svc-page--workout .svc-offer__card,
.svc-page--price .svc-offer__card { background: #fff; }

.svc-offer__messenger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 407px;
    max-width: 100%;
    margin-top: 28px;
    padding: 0;
    font-size: 16px;
    line-height: 25px;
    color: #3f3f3f;
}
.svc-offer__messenger span { max-width: 255px; }
/* Иконки на светлых круглых подложках; порядок как в Тильде — WhatsApp, потом Telegram */
.svc-offer__messenger .svc-messengers { display: flex; flex-direction: row; gap: 2px; }
.svc-offer__messenger .svc-messengers a { display: block; overflow: hidden; width: 48px; height: 48px; border-radius: 50%; background: #e8f1ea; }
.svc-offer__messenger .svc-messengers a + a { background: #e6eff8; }
.svc-offer__messenger .svc-messengers img { width: 48px; height: 48px; }

/* ── Текстовые отзывы ────────────────────────────────────────────────────── */

.svc-testimonials__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.svc-testimonials__title strong { font-weight: 600; }
.svc-testimonials__quote { margin: 20px 0 0; font: 500 32px/38px 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-testimonials__author { display: flex; align-items: center; gap: 16px; font: 14px/22px 'Montserrat', Arial, sans-serif; color: #545252; }

.svc-arrows { display: flex; gap: 9px; }
.svc-arrow {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
    color: #171717;
    cursor: pointer;
    transition: color .2s, opacity .2s;
}
.svc-arrow svg { display: block; width: 100%; height: 100%; }
.svc-arrow:hover { color: #0093d5; }

/* Стрелки ленты отзывов — Tilda: два квадрата 44×44 со скруглением 8 (arrow1.svg/arrow2.svg):
   левый белый с синей стрелкой, правый синий с белой */
.svc-testimonials--slider .svc-arrow {
    border-radius: 8px;
    background: #fff;
    color: #0093d5;
    transition: background-color .2s, color .2s, opacity .2s;
}

.svc-testimonials--slider .svc-arrow + .svc-arrow { background: #0093d5; color: #fff; }
.svc-testimonials--slider .svc-arrow svg circle { display: none; }
.svc-testimonials--slider .svc-arrow svg path { stroke-width: 2; }
.svc-testimonials--slider .svc-arrow:hover { background: #0081b8; color: #fff; }
.svc-arrow:disabled { opacity: .3; cursor: default; }

.svc-testimonials__track { display: flex; gap: 30px; margin-top: 40px; }
.svc-testimonials--slider .svc-testimonials__track {
    gap: 20px;
    margin-right: calc(50% - 50vw);
    padding-left: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
}
.svc-testimonials--slider .svc-testimonials__track::-webkit-scrollbar { display: none; }
.svc-testimonials--slider .svc-testimonials__track.is-dragging { cursor: grabbing; scroll-behavior: auto; user-select: none; }
.svc-section.svc-testimonials--slider { overflow: hidden; }

.svc-review {
    display: flex;
    flex-direction: column;
    flex: 0 0 510px;
    min-width: 0;
    font-family: 'Montserrat', Arial, sans-serif;
}
/* Карточка отзыва в ленте — Tilda rec2165449891: белая плашка 570×450 со скруглением 8,
   внутренние отступы 30, между карточками 20 */
.svc-testimonials--slider .svc-review {
    flex: 0 0 570px;
    min-height: 450px;
    padding: 30px;
    border-radius: 8px;
    background: #fff;
}

.svc-testimonials--slider .svc-stars svg path { fill: #0093d5; }
.svc-testimonials--slider .svc-review__video { border-radius: 4px; }
.svc-testimonials--slider .svc-media__play svg { width: 40px; height: 40px; } /* в Тильде кнопка в карточке 40px */
.svc-testimonials--slider .svc-review__link,
.svc-testimonials--slider .svc-review__more { margin-top: 16px; text-decoration: underline; }

.svc-testimonials--grid .svc-testimonials__track { flex-wrap: wrap; gap: 20px; }
.svc-testimonials--grid .svc-review { flex: 0 0 calc(50% - 10px); padding: 20px; border-radius: 8px; background: #fff; }
.svc-section--white.svc-testimonials--grid .svc-review { background: #f5f6f8; }

/* Лента отзывов /massage — Tilda T958: карточки 740×440 с затуханием текста и тремя точками,
   дата под именем; клик по полностью видимой карточке открывает попап с полным отзывом,
   по частично видимой — прокручивает ленту к ней (main.js, [data-review-track]) */
.svc-section.svc-testimonials--popup { --review-bg: #fff; overflow: hidden; }
.svc-section--white.svc-testimonials--popup { --review-bg: #f5f6f8; }
.svc-testimonials--popup .svc-testimonials__track {
    gap: 40px;
    margin-right: calc(50% - 50vw);
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
}
.svc-testimonials--popup .svc-testimonials__track::-webkit-scrollbar { display: none; }
.svc-testimonials--popup .svc-testimonials__track.is-dragging { cursor: grabbing; scroll-behavior: auto; user-select: none; }
.svc-testimonials--popup .svc-review {
    position: relative;
    flex: 0 0 740px;
    height: 440px;
    box-sizing: border-box;
    padding: 36px 40px 0;
    overflow: hidden;
    border-radius: 8px;
    background: var(--review-bg);
    cursor: pointer;
}
.svc-testimonials--popup .svc-review::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 90px;
    background: linear-gradient(rgba(255, 255, 255, 0), var(--review-bg) 85%);
    pointer-events: none;
}
.svc-review__dots { position: absolute; bottom: 14px; left: 50%; z-index: 1; display: flex; gap: 4px; transform: translateX(-50%); }
.svc-review__dots i { width: 4px; height: 4px; border-radius: 50%; background: #737f84; }
.svc-testimonials--popup .svc-review__author { gap: 20px; margin-bottom: 20px; }
.svc-testimonials--popup .svc-review__avatar { width: 64px; height: 64px; }
.svc-testimonials--popup .svc-review__name { font: 500 22px/1.3 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-testimonials--popup .svc-review__date { display: block; font-size: 14px; line-height: 20px; color: #c0c0c0; }
.svc-testimonials--popup .svc-review__text { display: block; margin-top: 0; -webkit-line-clamp: unset; color: #171717; }

.svc-review-popup {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .6);
}
.svc-review-popup[hidden] { display: none; }
.svc-review-popup__box {
    position: relative;
    box-sizing: border-box;
    width: 740px;
    max-width: 100%;
    max-height: 100%;
    padding: 40px;
    overflow-y: auto;
    border-radius: 8px;
    background: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
}
.svc-review-popup__close { position: absolute; top: 10px; right: 14px; padding: 0; border: 0; background: none; color: #171717; font-size: 32px; line-height: 1; cursor: pointer; }
.svc-review-popup__body .svc-review__author { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.svc-review-popup__body .svc-review__avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.svc-review-popup__body .svc-review__name { margin: 0; font: 500 22px/1.3 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-review-popup__body .svc-review__date { display: block; font-size: 14px; line-height: 20px; color: #c0c0c0; }
.svc-review-popup__body .svc-review__text { display: block; margin: 0; font-size: 16px; line-height: 26px; color: #171717; }
.svc-testimonials--grid .svc-testimonials__head { flex-direction: column; align-items: center; text-align: center; }
.svc-testimonials--grid .svc-testimonials__title { font: 16px/25px 'Montserrat', Arial, sans-serif; color: #3f3f3f; }

.svc-review__author { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.svc-review__avatar { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.svc-review__author .svc-stars svg { width: 14px; height: 13px; }
.svc-review__name { margin: 0; font-size: 16px; font-weight: 700; line-height: 23px; color: #000; }
.svc-review__text {
    display: -webkit-box;
    margin-top: 16px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    font-size: 16px;
    line-height: 25px;
    color: #393737;
}
.svc-review__text.is-open { display: block; }
.svc-review__video { position: relative; overflow: hidden; width: 324px; max-width: 100%; aspect-ratio: 324 / 198; margin-top: 16px; border-radius: 8px; background: #000; }
.svc-review__video img,
.svc-review__video iframe,
.svc-review__video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.svc-review__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 20px;
    margin-top: auto;
    padding-top: 16px;
}
.svc-testimonials--slider .svc-review__footer { margin-top: auto; padding-top: 17px; border-top: 1px solid #ebebeb; }
.svc-review__link,
.svc-review__more { padding: 0; border: 0; background: none; color: #0093d5; font: 500 16px/25px 'Montserrat', Arial, sans-serif; text-decoration: none; cursor: pointer; }
.svc-review__date { font-size: 16px; line-height: 16px; color: #a1a1a1; }

.svc-testimonials__more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: 457px;
    max-width: 100%;
    min-height: 68px;
    margin: 40px auto 0;
    border-radius: 8px;
    background: #fff;
    color: #000;
    font: 600 16px/25px 'Montserrat', Arial, sans-serif;
    text-decoration: none;
}
.svc-testimonials__more { padding: 0 30px; }
.svc-testimonials__more img { flex: 0 0 30px; width: 30px; height: 30px; } /* иконка не сжимается, когда текст переносится */
.svc-testimonials__more span { text-align: center; } /* при переносе на две строки текст остаётся по центру */
.svc-section--white .svc-testimonials__more { background: #f5f6f8; }
.svc-testimonials__more:hover { color: #0093d5; }

/* ── Специалист «Кто проводит приём» ─────────────────────────────────────── */

.svc-doctor__card {
    position: relative;
    display: flex;
    gap: 40px;
    min-height: 622px;
    margin-top: 40px;
    padding: 59px 460px 59px 39px;
    border-radius: 8px;
    background: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
}
.svc-doctor__main { flex: 0 0 420px; }
.svc-doctor__photo { position: absolute; right: 40px; bottom: 0; width: 390px; height: 513px; object-fit: contain; object-position: bottom; }
.svc-doctor__name { margin: 0; font-size: 26px; font-weight: 700; line-height: 26px; color: #171717; }
.svc-doctor__role { margin: 14px 0 0; font-size: 18px; line-height: 28px; color: #3f3f3f; }
.svc-doctor__locations { margin: 24px 0 0; padding: 0; list-style: none; }
.svc-doctor__locations li { display: flex; gap: 10px; font-size: 18px; line-height: 24px; color: #3f3f3f; }
.svc-doctor__locations li + li { margin-top: 20px; }
.svc-doctor__locations img { width: 40px; height: 40px; }
.svc-doctor__locations strong { color: #171717; }
.svc-doctor__btn { min-height: 68px; margin-top: 40px; padding: 0 52px; font-size: 18px; }
.svc-doctor__note { display: block; margin-top: 20px; font-size: 15px; line-height: 22px; color: #0093d5; }
.svc-doctor__facts { flex: 1 1 auto; }
.svc-doctor__facts ul { margin: 0; padding: 0; list-style: none; }
.svc-doctor__facts li { padding: 16px 0; border-top: 1px solid #dedede; font-size: 18px; line-height: 22px; color: #3f3f3f; }
.svc-doctor__facts li:last-child { border-bottom: 1px solid #dedede; }
.svc-doctor__tag { display: inline-block; margin-top: 20px; padding: 4px 18px; border: 1px solid #0093d5; border-radius: 20px; color: #0093d5; font-size: 15px; }

/* ── Прайс-лист ─────────────────────────────────────────────────────────── */

.svc-anchors { padding: 0; }
.svc-anchors__bar { display: flex; flex-wrap: wrap; gap: 13px; padding: 15px 30px; border-radius: 20px; background: #fff; box-shadow: 0 4px 30px rgba(0, 0, 0, .06); }
.svc-anchors__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 200px;
    min-height: 40px;
    border: 1px solid #9e9e9e;
    border-radius: 4px;
    background: none;
    color: #878787;
    font: 500 15px/1.2 'Montserrat', Arial, sans-serif;
    text-decoration: none;
}
.svc-anchors__link:hover { background: #0093d5; border-color: #0093d5; color: #fff; }

.svc-prices__list { display: flex; flex-wrap: wrap; gap: 40px; margin: 36px 0 0; padding: 0; list-style: none; }
.svc-price {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 80px) / 3);
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #fff;
    font-family: 'Montserrat', Arial, sans-serif;
}
.svc-price__image img { display: block; width: 100%; height: 190px; border-radius: 8px; object-fit: cover; }
.svc-price__title { margin: 20px 0 0; font-size: 18px; font-weight: 600; line-height: 24px; color: #171717; }
.svc-price__descr { margin-top: 12px; font-size: 14px; line-height: 20px; color: #545252; }
.svc-price__descr span { color: #009bdd; }
.svc-price__bottom { display: flex; flex-direction: column; gap: 16px; margin-top: auto; padding-top: 20px; }
.svc-price__cost strong { font: 600 26px/1 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-price__cost s { margin-left: 10px; color: #a1a1a1; }
.svc-price__btn { align-self: flex-start; width: auto; min-height: 44px; padding: 0 24px; border-radius: 4px; font-size: 14px; }

/* «Кинезиология/остеопатия» — секция сама серая (bg=light), поэтому у карточек тут нет своего фона,
   а «Разовое занятие» наоборот белое (контраст с серым фоном секции) */
.svc-page--price #spec .svc-price { background: none; }
.svc-page--price #spec .svc-prices__single { background: #fff; }
.svc-page--price #massage .svc-price__image img { height: 310px; }
.svc-page--price #complex .svc-price { background: none; }
.svc-page--price #complex .svc-price__image img { height: 310px; }

/* По 2 в ряд — только от планшета; на телефоне карточки идут горизонтальным скроллом (см. ниже) */
@media (min-width: 640px) {
    .svc-page--price #spec .svc-price,
    .svc-page--price #massage .svc-price,
    .svc-page--price #complex .svc-price { flex-basis: calc((100% - 40px) / 2); }
}

/* Разовое занятие — серая плашка без обводки (не белая на белом, как в карточках выше) */
.svc-prices__single {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 60px;
    margin-top: 60px;
    padding: 20px 30px;
    border: 0;
    border-radius: 12px;
    background: #f5f6f8;
}
.svc-prices__single-title { flex: 0 1 430px; margin: 0; font: 500 26px/30px 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-prices__single-title span { color: #009bdd; }
.svc-prices__single-cost { display: flex; flex-direction: column; margin: 0; font-family: 'Montserrat', Arial, sans-serif; }
.svc-prices__single-cost span { font-size: 14px; color: #8f8f8f; }
.svc-prices__single-cost strong { font-size: 24px; line-height: 30px; }
.svc-prices__single .svc-btn {
    margin-left: auto;
    min-width: 0;
    min-height: 44px;
    padding: 0 24px;
    border: 1px solid #009bdd;
    border-radius: 4px;
    background: none;
    color: #009bdd;
    font-size: 14px;
}
.svc-prices__single .svc-btn:hover { background: #009bdd; color: #fff; }

.svc-plans__card { display: flex; gap: 40px; padding: 30px; border-radius: 12px; background: #fff; }
.svc-plans__photo { flex: 0 0 330px; height: 340px; border-radius: 8px; object-fit: cover; }
.svc-plans__body { flex: 1 1 auto; font-family: 'Montserrat', Arial, sans-serif; }
.svc-plans__title { margin: 0; font: 500 26px/27px 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-plans__title span { color: #009bdd; }
.svc-plans__text { max-width: 423px; margin: 8px 0 0; font-size: 16px; line-height: 24px; color: #545252; }
.svc-plans__people { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; margin-top: 14px; max-width: 100%; color: #171717; font-size: 16px; line-height: 24px; }
.svc-plans__people .svc-rating__avatars { flex: none; }
.svc-plans__people > span:last-child { min-width: 0; }
.svc-plans__people a { color: #0093d5; text-decoration: none; }
.svc-plans__people a:hover { text-decoration: underline; }

@media (max-width: 639px) {
    .svc-plans__card { padding: 20px; }
    .svc-plans__people { font-size: 13px; line-height: 20px; }
}
.svc-plans__list,
.svc-plans__cards { display: flex; flex-wrap: wrap; gap: 10px 10px; margin: 10px 0 0; padding: 0; list-style: none; }
.svc-plans__list .svc-plan { flex: 1 1 196px; padding: 20px; border-radius: 8px; background: #e7edf5; }
.svc-plans__list .svc-plan .svc-btn { min-height: 39px; padding: 0 32px; }
.svc-plan__title { margin: 0; font-size: 14px; line-height: 17px; color: #171717; }
.svc-plan__price { display: flex; flex-direction: column; margin: 12px 0 14px; }
.svc-plan__price strong { font: 600 22px/1.2 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-plan__price span { font-size: 13px; color: #8f8f8f; }

.svc-plans__cards { gap: 24px; align-items: center; }
.svc-plans__cards .svc-plan {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 0;
    padding: 44px 30px 30px;
    border-radius: 12px;
    background: #f4f9fc;
    text-align: center;
    font-family: 'Montserrat', Arial, sans-serif;
}
.svc-plans__cards .svc-plan__title { font: 500 22px/26px 'FuturaPT', Arial, sans-serif; }
.svc-plans__cards .svc-plan__title strong { color: #0093d5; }

/* Выделенный (средний) тариф — сплошная синяя заливка и белая кнопка, как в Тильде (rec1699701851, #008dc9) */
.svc-plans__cards .svc-plan--featured {
    padding-top: 56px;
    padding-bottom: 42px;
    background: #008dc9;
    box-shadow: 0 10px 40px rgba(0, 147, 213, .15);
}
.svc-plans__cards .svc-plan--featured .svc-plan__title,
.svc-plans__cards .svc-plan--featured .svc-plan__title strong,
.svc-plans__cards .svc-plan--featured .svc-plan__price strong { color: #fff; }
.svc-plans__cards .svc-plan--featured .svc-plan__text,
.svc-plans__cards .svc-plan--featured .svc-plan__label,
.svc-plans__cards .svc-plan--featured .svc-plan__note { color: #f0f0f0; }
.svc-plans__cards .svc-plan--featured .svc-plan__line { background: rgba(255, 255, 255, .5); }
.svc-plans__cards .svc-plan--featured .svc-btn { background: #fff; border-color: #fff; color: #009bdd; }
.svc-plans__cards .svc-plan--featured .svc-btn:hover { background: #e9f6fc; color: #0081b8; }
.svc-plan__text { margin: 14px 0 0; font-size: 14px; line-height: 22px; color: #545252; }
.svc-plan__line { width: 100px; height: 1px; margin: 22px 0 18px; background: #dedede; }
.svc-plan__label { margin: 0; font-size: 14px; color: #8f8f8f; }
.svc-plans__cards .svc-plan__price strong { font-size: 32px; }
.svc-plan__note { margin: 20px 0 0; font-size: 13px; line-height: 20px; color: #8f8f8f; }

.svc-buy__row { display: flex; align-items: center; gap: 60px; }
.svc-buy__body { flex: 1 1 auto; font-family: 'Montserrat', Arial, sans-serif; }
.svc-buy__image { flex: 0 0 545px; }
.svc-buy__image img { display: block; width: 100%; border-radius: 12px; }
.svc-buy__subtitle { margin: 20px 0 0; font-size: 16px; font-weight: 600; color: #171717; }
/* Плашка «Время занятия» — заливка #f4f9fc, а не белая с синей обводкой (Tilda rec1699701681) */
.svc-buy__badge { display: inline-block; margin-top: 30px; padding: 4px 16px; border: 1px solid transparent; border-radius: 4px; background: #f4f9fc; color: #555; font-size: 14px; }
.svc-buy__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 30px; margin-top: 24px; }
.svc-buy__bottom .svc-btn { min-height: 46px; padding: 0 24px; border-radius: 4px; font-size: 13px; }
.svc-buy__price span { font-size: 14px; color: #8f8f8f; }
.svc-buy__price p { margin: 0; }
.svc-buy__price strong { font: 600 30px/1.2 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-buy__price s { color: #a1a1a1; }

/* ── «Ведущий курса» — текст+кнопка слева, фото и био специалиста справа (/online/* видеокурсы) ── */
.svc-expert__row { display: flex; align-items: center; gap: 60px; }
.svc-expert__body { flex: 1 1 auto; font-family: 'Montserrat', Arial, sans-serif; }
.svc-expert__text { margin: 20px 0 28px; font-size: 16px; line-height: 25px; color: #3f3f3f; }
.svc-expert__people { flex: 0 0 360px; display: flex; gap: 24px; }
.svc-expert__people--multi { flex-basis: 560px; }
.svc-expert__person { flex: 1 1 0; text-align: center; }
.svc-expert__photo { display: block; width: 100%; max-width: 300px; margin: 0 auto; border-radius: 12px; }
.svc-expert__people--multi .svc-expert__photo { max-width: 100%; }
.svc-expert__name { margin: 20px 0 0; font: 600 20px/1.3 'Montserrat', Arial, sans-serif; color: #171717; }
.svc-expert__role { margin: 4px 0 0; font-size: 13px; color: #0093d5; }
.svc-expert__bio { margin: 10px 0 0; font-size: 14px; line-height: 22px; color: #737373; }

/* ── «Ответы на частые вопросы» — аккордеон <details> (/online/isometric и др.) ── */
.svc-faq__title { margin-bottom: 32px; }
.svc-faq__list { display: flex; flex-direction: column; gap: 12px; max-width: 860px; }
.svc-faq__item {
    border-radius: 12px;
    background: #f5f6f8;
    padding: 24px 28px;
}
.svc-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font: 600 17px/1.4 'Montserrat', Arial, sans-serif;
    color: #171717;
    cursor: pointer;
    list-style: none;
}
.svc-faq__question::-webkit-details-marker { display: none; }
.svc-faq__question::after {
    content: '';
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-right: 2px solid #0093d5;
    border-bottom: 2px solid #0093d5;
    transform: rotate(45deg);
    transition: transform .2s;
}
.svc-faq__item[open] .svc-faq__question::after { transform: rotate(-135deg); }
.svc-faq__answer {
    margin-top: 16px;
    font-size: 15px;
    line-height: 24px;
    color: #3f3f3f;
}

/* ── Витрина товаров (/shop) — без корзины, кнопка «Заказать» открывает форму заявки ── */
.svc-products__title { margin-bottom: 32px; }
.svc-products__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.svc-product {
    display: flex;
    flex-direction: column;
    background: #f5f6f8;
    border-radius: 12px;
    padding: 20px;
}
.svc-product__photo { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 8px; margin-bottom: 16px; }
.svc-product__title { flex: 1 1 auto; margin: 0 0 12px; font-size: 15px; line-height: 22px; color: #171717; }
.svc-product__price { margin-bottom: 16px; display: flex; align-items: baseline; gap: 10px; }
.svc-product__price strong { font: 600 22px/1 'FuturaPT', Arial, sans-serif; color: #171717; }
.svc-product__price s { font-size: 14px; color: #a1a1a1; }
.svc-product__btn { width: 100%; }

@media (max-width: 991px) {
    .svc-products__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
    .svc-products__list { grid-template-columns: 1fr; }
    .svc-products .svc-container { padding-left: 20px; padding-right: 20px; }
}

/* Специалисты на страницах услуг — Tilda rec604761272: сетка 4 в ряд (фото 275×366, скругление 8,
   отступ 20), остальные карточки догружает кнопка «Загрузить ещё» */
.svc-team .team__grid > .team__item { flex: 0 0 calc((100% - 60px) / 4); }
.svc-team .team__photo { border-radius: 8px; }
.svc-team .team__name { font: 500 20px/26px 'FuturaPT', Arial, sans-serif; color: #000; }
.svc-team .team__role { font-size: 14px; line-height: 22px; color: #707070; }
.svc-team .team__location { display: none; } /* на Тильде в карточке только имя и должность */

.team__more-btn {
    display: block;
    min-width: 238px;
    height: 60px;
    margin: 40px auto 0;
    padding: 0 30px;
    border: 1px solid #0093d5;
    border-radius: 50px;
    background: transparent;
    color: #0093d5;
    font: 500 15px/1 'Montserrat', Arial, sans-serif;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.team__more-btn:hover { background: #0093d5; color: #fff; }
.team__more-btn:disabled { opacity: .6; cursor: default; }

@media (max-width: 991px) {
    .svc-team .team__grid > .team__item { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 639px) {
    .svc-team .team__grid > .team__item { flex-basis: 230px; }
    .team__more-btn { min-width: 178px; padding: 0 20px; } /* в Тильде на 375 кнопка 178×60 по центру */
}

/* ── Планшет и телефон ───────────────────────────────────────────────────── */

@media (max-width: 1219px) {
    .svc-page--wide .svc-container { padding-left: 20px; padding-right: 20px; }
    .svc-hero__person { flex-basis: 340px; }
    .svc-offer__photo { flex-basis: 380px; }
    .svc-doctor__card { padding-right: 39px; }
    .svc-doctor__photo { display: none; }
}

@media (max-width: 991px) {
    .svc-section { padding: 50px 0; }
    .svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) { min-height: 0; margin: 0 10px; padding: 60px 0; }
    .svc-hero--banner { min-height: 0 !important; margin: 0 10px !important; padding: 24px 0 90px !important; } /* 90 — место под белую полосу */
    .svc-hero.svc-hero--online { min-height: 0 !important; margin: 0 !important; padding: 40px 0 !important; }
    .svc-hero--online .svc-hero__inner { min-height: 0; }
    .svc-hero--online .svc-container { padding-left: 20px; padding-right: 20px; }
    .svc-hero__inner { flex-direction: column; align-items: stretch; }
    .svc-hero__form { flex-basis: auto; }
    .svc-hero__person { display: none; }
    .svc-hero.svc-hero--banner .svc-hero__crumbs { margin-bottom: 40px; }

    .svc-cards__layout,
    .svc-media__row,
    .svc-media--image-left .svc-media__row,
    .svc-media--video-left .svc-media__row,
    .svc-media--collage-left .svc-media__row,
    .svc-process__grid,
    .svc-process__timeline,
    .svc-tabs__panel-inner,
    .svc-buy__row,
    .svc-plans__card,
    .svc-media__card,
    .svc-doctor__card,
    .svc-expert__row { flex-direction: column; align-items: stretch; gap: 30px; }

    .svc-cards__aside,
    .svc-media--image-left .svc-media__side,
    .svc-media--collage-left .svc-media__side,
    .svc-media--video-right .svc-media__side,
    .svc-media--video-left .svc-media__side,
    .svc-media--patent .svc-media__side,
    .svc-media--seo .svc-media__title,
    .svc-media--gallery .svc-media__title,
    .svc-media--certificate .svc-media__body,
    .svc-process__head,
    .svc-process__gallery,
    .svc-tabs__results,
    .svc-buy__image,
    .svc-plans__photo,
    .svc-doctor__main,
    .svc-expert__people { flex: 0 0 auto; }

    .svc-expert .svc-container,
    .svc-buy .svc-container,
    .svc-faq .svc-container,
    .svc-process--tabs .svc-container { padding-left: 20px; padding-right: 20px; }
    .svc-expert__photo { max-width: 220px; }
    .svc-expert__people--multi { flex-direction: column; }
    .svc-faq__item { padding: 20px; }

    .svc-media--gallery .svc-media__head { flex-direction: column; gap: 16px; }
    .svc-media--gallery .svc-media__images { flex-wrap: wrap; gap: 16px; }
    .svc-media--gallery .svc-media__img { flex: 1 1 calc(50% - 8px); height: 260px; margin: 0 !important; }
    /* Десктопный position:absolute с отрицательными офсетами (вылет конверта за карточку) на планшете/телефоне
       просто накладывается на текст поверх узкой колонки — на этой ширине карточка и так в столбик, картинка
       возвращается в обычный поток под текстом */
    .svc-media--certificate .svc-media__images { position: static; margin: 24px 0 0; width: 100%; }
    .svc-media--certificate .svc-media__img { height: auto; width: 100%; max-width: 320px; margin: 0 auto; }
    .svc-media--certificate .svc-media__body { text-align: center; }

    .svc-card,
    .svc-cards__list--cols-4 > .svc-card { flex-basis: calc((100% - 24px) / 2); }
    .svc-cards--pin .svc-card { flex: 1 1 calc(50% - 5px); }
    .svc-cards--flow .svc-cards__list { justify-content: center; gap: 30px; }
    .svc-cards--flow .svc-card::after { display: none; }

    .svc-process__list { gap: 30px; }
    .svc-process__item { flex: 1 1 calc(50% - 15px); }
    .svc-process--row .svc-process__item::after,
    .svc-process--dots .svc-process__list::before { display: none; }
    /* В ленте (scroll) точки остаются в один ряд даже на телефоне — линия над ними не ломается
       переносом строк, как в обычной (не-scroll) раскладке dots, поэтому её возвращаем */
    .svc-process--dots .svc-process__scroll .svc-process__list::before { display: block; }
    .svc-process--dots .svc-process__actions { margin-left: 0; }
    .svc-tabs__panel-inner .svc-process__item { flex-basis: 100%; }

    .svc-offer--doctor { padding: 50px 0; }
    .svc-offer__card { flex-direction: column; min-height: 0; padding: 30px 20px; }
    .svc-offer__person { flex: 0 0 auto; }
    .svc-offer__price { margin-top: 20px; }
    .svc-offer__photo { display: none; }
    .svc-offer__form { max-width: none; margin: 0; }

    .svc-review { flex-basis: 340px; }
    /* В Тильде на 375 карточка 340 с отступом 8: следующая выглядывает всего на 9px */
    .svc-testimonials--slider .svc-review { flex-basis: min(340px, calc(100vw - 35px)); min-height: 0; padding: 24px; }
    .svc-testimonials--slider .svc-testimonials__track { gap: 8px; padding-left: 0; }
    .svc-testimonials--grid .svc-review { flex-basis: 100%; }
    .svc-testimonials--popup .svc-testimonials__track { gap: 10px; }
    .svc-testimonials--popup .svc-review { flex-basis: min(600px, calc(100vw - 50px)); padding: 24px 20px 0; }
    .svc-testimonials--popup .svc-review__author { gap: 14px; }
    .svc-testimonials--popup .svc-review__avatar { width: 50px; height: 50px; }

    .svc-price { flex-basis: calc((100% - 20px) / 2); }
    .svc-plans__cards .svc-plan { flex-basis: 100%; }
    .svc-doctor__card { padding: 30px 20px; }
}

/* На телефоне (≤479) хиро /online/* выше, чем на планшете — Tilda rec1699701631 artboard-height-res-320:650 */
@media (max-width: 479px) {
    .svc-hero.svc-hero--online { min-height: 650px !important; }
    .svc-hero--online .svc-hero__inner { min-height: 650px; justify-content: flex-end; }

    /* «Кому подходит...» — на телефоне заголовок мельче (34 → 28), как в Тильде (rec1699701641) */
    .svc-page--consultationonline #who .svc-media__title { font-size: 28px; }
}

@media (max-width: 639px) {
    .svc-container,
    .svc-page--wide .svc-container { padding-left: 20px; padding-right: 20px; }
    .svc-section { padding: 40px 0; }
    .svc-page--workout .svc-section { padding: 40px 0 0; margin-bottom: 40px; }
    .svc-title { font-size: 28px; line-height: 31px; }
    .svc-hero:not(.svc-hero--gradient) .svc-hero__title,
    .svc-hero.svc-hero--banner .svc-hero__title { font-size: 28px; line-height: 31px; }
    .svc-hero:not(.svc-hero--gradient) .svc-hero__feature { width: auto !important; flex: 1 1 100%; min-height: 0; }
    .svc-hero:not(.svc-hero--gradient) .svc-hero__btn,
    .svc-btn { width: 100%; }
    .svc-hero__form { padding: 24px 20px; }

    .svc-card,
    .svc-cards__list--cols-2 > .svc-card,
    .svc-cards__list--cols-4 > .svc-card,
    .svc-cards--pin .svc-card { flex-basis: 100%; }

    /* Плашки «С чем мы работаем» на телефоне — Tilda rec604761247, res-320:
       отступ 20 вместо 26/30, высота по содержимому (99/122/145 под 1–3 строки) */
    .svc-cards--pin .svc-card { min-height: 0; padding: 20px; }
    .svc-cards--flow .svc-card { flex-basis: 100%; }
    .svc-card__circle { width: 240px; height: 240px; }

    .svc-list--check li { flex-basis: 100%; }
    .svc-process__item { flex-basis: 100%; padding-right: 0; }
    .svc-process--tabs .svc-process__image,
    .svc-tabs__panel-inner--results .svc-process__image { width: 100%; }
    .svc-tabs__panel-inner--results .svc-process__item { flex-direction: column; }
    .svc-process--timeline .svc-process__item .svc-process__title { font-size: 20px; line-height: 26px; }
    .svc-process--timeline .svc-process__text { font-size: 16px; line-height: 25px; }
    .svc-process__gallery-img { height: 200px; }

    .svc-offer__title,
    .svc-testimonials__quote { font-size: 24px; line-height: 28px; }
    .svc-offer__messenger { flex-direction: column; align-items: flex-start; }
    .svc-testimonials__head { flex-direction: column; align-items: flex-start; }
    .svc-review,

    .svc-media--gallery .svc-media__img { flex-basis: 100%; }
    .svc-media--certificate .svc-media__title { font-size: 28px; line-height: 31px; }
    .svc-media__card { padding: 30px 20px; }

    .svc-price { flex-basis: 100%; }
    .svc-prices__single .svc-btn { margin-left: 0; min-width: 0; }
    .svc-anchors__bar { padding: 12px; }
    .svc-doctor__btn { padding: 0 20px; }
}

/* Списки товаров/тарифов (больше одного айтема) на телефоне — не перенос в столбик, а горизонтальный
   скролл со снапом, видно ~1.2 карточки, чтобы было понятно, что список листается.
   /price «Абонементы к эксперту» (.svc-plans__list) — исключение, там айтемы в столбик, см. ниже */
@media (max-width: 639px) {
    .svc-prices__list,
    .svc-plans__cards {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    .svc-prices__list .svc-price,
    .svc-plans__cards .svc-plan {
        flex: 0 0 83%;
        scroll-snap-align: start;
    }
}

/* Первый экран gradient (/diagnostics) на телефоне — Tilda rec547914183, res-320:
   сетка 320 по центру, заголовок 28/31, текст 14/22, плашки во всю ширину, иконка слева от текста */
@media (max-width: 639px) {
    .svc-hero.svc-hero--gradient { min-height: 0; padding: 68px 0 58px; }
    .svc-hero--gradient .svc-container { padding-left: max(20px, calc(50% - 160px)); padding-right: max(20px, calc(50% - 160px)); } /* сетка Тильды 320 по центру */
    .svc-hero--gradient .svc-hero__crumbs { font-size: 12px; line-height: 19px; }
    .svc-hero--gradient .svc-hero__title { max-width: 309px; margin-top: 19px; font-size: 28px; line-height: 31px; }
    .svc-hero--gradient .svc-hero__text { max-width: 290px; margin-top: 15px; font-size: 14px; line-height: 22px; }
    .svc-hero--gradient .svc-hero__btn { min-height: 0; height: 52px; margin-top: 19px; }

    .svc-hero--gradient .svc-hero__features { flex-direction: column; gap: 10px; width: 100%; margin-top: 41px; }
    .svc-hero--gradient .svc-hero__feature {
        flex-direction: row;
        align-items: flex-start;
        gap: 17px;
        width: auto !important; /* ширина плашки из админки — только для компьютера */
        min-height: 80px;
        padding: 19px 13px 20px;
    }
    .svc-hero--gradient .svc-hero__feature-icon { flex-shrink: 0; }
    .svc-hero--gradient .svc-hero__feature-text { max-width: 243px; margin-top: 0; }
}

/* ── Первый экран /rehab (Tilda rec604761246) ────────────────────────────── */

/* Заголовок в Тильде обёрнут в <strong> — 700, в отличие от остальных услуг (там 500) */
.svc-page--rehab .svc-hero--photo .svc-hero__title { font-weight: 700; }

/* Телефон — Tilda rec604761246, res-320: заголовок 26/29, текст 14/22,
   кнопка стоит НАД ценой (на компьютере — под ней), разделителя над ценой нет,
   цена мельче (28/31 и 16/18 FuturaPT) */
@media (max-width: 639px) {
    .svc-page--rehab .svc-hero--photo .svc-hero__title { font-size: 26px; line-height: 29px; }
    .svc-page--rehab .svc-hero--photo .svc-hero__text { margin-top: 39px; font-size: 14px; line-height: 22px; }

    .svc-page--rehab .svc-hero--photo .svc-hero__actions { order: 1; margin-top: 14px; }
    .svc-page--rehab .svc-hero--photo .svc-hero__price--line {
        order: 2;
        margin-top: 35px;
        padding-top: 0;
        border-top: 0; /* линия-разделитель есть только на компьютере (Tilda 1686829233835) */
    }
    .svc-page--rehab .svc-hero--photo .svc-hero__price-label { line-height: 20px; }
    .svc-page--rehab .svc-hero--photo .svc-hero__price-row { margin-top: 10px; }
    .svc-page--rehab .svc-hero--photo .svc-hero__price strong { font-size: 28px; line-height: 31px; }
    .svc-page--rehab .svc-hero--photo .svc-hero__price s { font: 300 16px/18px 'FuturaPT', Arial, sans-serif; }

    /* Форма первого экрана на телефоне — Tilda 1686829566027, res-320 */
    .svc-hero__form-title { font-size: 22px; line-height: 24px; }
    .svc-hero__form-text { font-size: 14px; line-height: 22px; }
    .svc-hero__form .blog-offer__name,
    .svc-hero__form .blog-offer__phone { font-size: 14px; }
    .svc-hero__form .blog-offer__consent { font-size: 13px; line-height: 16px; }
}

/* «Механотерапия» (/rehab) на телефоне — Tilda rec604798661, res-320: сверху одно фото
   (третье, 320×238, скругление 8) — два других в мобильной версии Тильды не выводятся,
   под ним заголовок 23/25 и текст 14/23, карточка «Запишитесь» по центру с кнопкой во всю ширину */
@media (max-width: 639px) {
    .svc-page--rehab .svc-media--collage-left .svc-media__row { flex-direction: column-reverse; gap: 20px; }
    .svc-page--rehab .svc-media--collage-left .svc-media__img--1,
    .svc-page--rehab .svc-media--collage-left .svc-media__img--2 { display: none; }
    .svc-page--rehab .svc-media--collage-left .svc-media__img--3 {
        height: auto;
        aspect-ratio: 320 / 238;
        border-radius: 8px;
    }

    .svc-page--rehab .svc-media--collage-left .svc-media__title { font-size: 23px; line-height: 25px; }
    .svc-page--rehab .svc-media--collage-left .svc-media__text { margin-top: 10px; font-size: 14px; line-height: 23px; }

    .svc-page--rehab .svc-media--collage-left .svc-media__body > .svc-cta {
        flex-direction: column;
        gap: 19px;
        padding: 24px 20px 0;
        border-radius: 8px 8px 0 0;
        text-align: center;
    }

    /* Примечание в Тильде на телефоне лежит внутри карточки — подклеиваем его снизу */
    .svc-page--rehab .svc-media--collage-left .svc-cta__note {
        margin: 0;
        padding: 0 20px 17px;
        border-radius: 0 0 8px 8px;
        background: #f5f6f8;
        text-align: center;
    }
    .svc-page--rehab .svc-media--collage-left .svc-cta__title { max-width: none; font-size: 18px; line-height: 25px; }
    .svc-page--rehab .svc-media--collage-left .svc-cta__actions { width: 100%; }
    .svc-page--rehab .svc-media--collage-left .svc-cta .svc-btn { min-width: 0; min-height: 66px; }
}

/* Специалист в блоке «С чем мы работаем» (/rehab) на телефоне — Tilda rec604761247, res-320:
   полоска, имя и должность стоят НАД фото и по центру (на компьютере — под фото и слева),
   фото 268 по центру */
@media (max-width: 639px) {
    .svc-page--rehab .svc-cards--pin .svc-cards__aside { display: flex; flex-direction: column; }

    .svc-page--rehab .svc-cards--pin .svc-cards__aside-img {
        order: 2;
        width: 268px;
        max-width: 100%;
        margin: 0 auto;
    }

    .svc-page--rehab .svc-cards--pin .svc-person-tag {
        order: 1;
        margin: 20px 0 0;
        padding-top: 20px;
        text-align: center;
    }

    .svc-page--rehab .svc-cards--pin .svc-person-tag::before { left: 50%; width: 300px; transform: translateX(-50%); }
}

/* Схема эксцентрической нагрузки (/rehab) на телефоне — Tilda rec606661687 (на телефоне Тильда
   прячет десктопный rec604893483 и показывает этот): картинка не сжимается под ширину экрана,
   а прокручивается по горизонтали (826×274 в окне 375) — иначе подписи на схеме не прочесть */
@media (max-width: 639px) {
    .svc-page--rehab .svc-media--wide .svc-media__title { font-size: 24px; line-height: 26px; }

    .svc-page--rehab .svc-media--wide .svc-media__images {
        flex-wrap: nowrap;
        margin-right: -20px;
        margin-left: -20px;
        padding: 0 20px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .svc-page--rehab .svc-media--wide .svc-media__img {
        flex: 0 0 auto;
        width: 826px;
        max-width: none;
        height: auto;
    }
}

/* «Как проходит первый сеанс» (/rehab) на телефоне — Tilda rec607084055 + rec605243566 + rec605245082:
   коллажи собраны абсолютом, как и на компьютере; первый стоит перед шагами 1–2, второй — между
   шагами 2 и 3. Номера — цифры 70/109 с градиентом позади заголовков, линии с кружками нет.
   Координаты сняты при 375 и переведены в проценты от холстов 375×274 и 375×298 */
@media (max-width: 639px) {
    .svc-page--rehab .svc-process--timeline .svc-process__heading { font-size: 24px; line-height: 26px; }
    .svc-page--rehab .svc-process--timeline .svc-process__timeline { gap: 0; margin-top: 56px; }

    .svc-page--rehab .svc-process--timeline .svc-process__gallery,
    .svc-page--rehab .svc-process--timeline .svc-process__list { display: contents; }
    .svc-page--rehab .svc-process--timeline .svc-process__list::before { display: none; }

    .svc-page--rehab .svc-process--timeline .svc-process__collage {
        position: relative;
        display: block;
        width: auto;
        margin: 0 -20px;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__collage--1 { order: 1; aspect-ratio: 375 / 274; }
    .svc-page--rehab .svc-process--timeline .svc-process__collage--2 { order: 4; margin-top: 47px; margin-bottom: 48px; aspect-ratio: 375 / 298; }

    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img {
        position: absolute;
        flex: none;
        height: auto;
        border-radius: 4px;
        object-fit: cover;
    }

    /* Коллаж 1 — холст 375×274 (в Тильде 256, 114 и 129 по стороне) */
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--1 { top: 0;      left: 15.73%; width: 68.27%; aspect-ratio: 1; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--2 { top: 5.11%;  left: 4.27%;  width: 30.4%;  aspect-ratio: 1; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--3 { top: 52.92%; left: 61.6%;  width: 34.4%;  aspect-ratio: 1; }

    /* Коллаж 2 — холст 375×298 (221×298, 145×145 и 162×105) */
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--4 { top: 0;      left: 6.93%;  width: 58.93%; aspect-ratio: 221 / 298; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--5 { top: 46.64%; left: 54.4%;  width: 38.67%; aspect-ratio: 1; }
    .svc-page--rehab .svc-process--timeline .svc-process__gallery-img--6 { top: 3.36%;  left: 50.13%; width: 43.2%;  aspect-ratio: 162 / 105; }

    .svc-page--rehab .svc-process--timeline .svc-process__item { position: relative; padding: 49px 0 0; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(1) { order: 2; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(2) { order: 3; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(3) { order: 5; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(4) { order: 6; }
    .svc-page--rehab .svc-process--timeline .svc-process__item:nth-child(5) { order: 7; }

    /* Цифра-водяной знак за заголовком шага */
    .svc-page--rehab .svc-process--timeline .svc-process__num {
        top: 0;
        left: 0;
        z-index: 0;
        display: block;
        width: auto;
        height: auto;
        border-radius: 0;
        background: linear-gradient(#e9f1f5 10%, rgba(234, 233, 245, 0) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font: 500 70px/109px 'FuturaPT', Arial, sans-serif;
    }

    .svc-page--rehab .svc-process--timeline .svc-process__body { position: relative; z-index: 1; }
    .svc-page--rehab .svc-process--timeline .svc-process__item .svc-process__title { font-size: 24px; line-height: 26px; color: #171717; }
    .svc-page--rehab .svc-process--timeline .svc-process__text { margin-top: 10px; font-size: 15px; line-height: 28px; color: #545252; }
}

/* «Патент» (/rehab) на телефоне — Tilda rec605253492: сверху картинка (430 шириной, шире экрана —
   заходит за края), под ней заголовок 24/29 и текст 14/25. На компьютере порядок обратный */
@media (max-width: 639px) {
    .svc-page--rehab .svc-media--patent { overflow: hidden; }
    .svc-page--rehab .svc-media--patent .svc-media__row { flex-direction: column-reverse; gap: 0; }
    .svc-page--rehab .svc-media--patent .svc-media__side,
    .svc-page--rehab .svc-media--patent .svc-media__images { width: 100%; justify-content: center; }
    .svc-page--rehab .svc-media--patent .svc-media__img { flex: 0 0 auto; width: 430px; max-width: none; }
    .svc-page--rehab .svc-media--patent .svc-media__title { font-size: 24px; line-height: 29px; }
    .svc-page--rehab .svc-media--patent .svc-media__text { margin-top: 10px; font-size: 14px; line-height: 25px; color: #383838; }
}

/* Отзывы на телефоне — в Тильде (rec2165449891) лента листается пальцем, стрелок нет */
@media (max-width: 639px) {
    .svc-testimonials--slider .svc-arrows { display: none; }
}

/* Специалисты на странице услуги, телефон — Tilda rec604761272: карточки в столбик во всю ширину,
   фото 3:4 со скруглением 8. Горизонтальная лента (main.css) остаётся только на главной,
   где она и снята с Тильды — на странице услуги под карточками стоит «Загрузить ещё» */
@media (max-width: 639px) {
    .svc-team .team__grid {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 70px;
        margin: 0 -8px; /* карточки в Тильде шире колонки заголовка: 335 от x=20 против 320 от x=28 */
        padding: 0;
        overflow: visible;
    }

    .svc-team .team__grid > .team__item { flex: 0 0 auto; width: 100%; }
    .svc-team .team__photo { width: 100%; height: auto; aspect-ratio: 335 / 446; border-radius: 8px; }
    .svc-team .team__info { padding-top: 20px; }
    .svc-team .team__name { font-size: 20px; line-height: 27px; }
    .svc-team .team__role { font-size: 12px; line-height: 19px; }
}

/* Первый экран /kinesiology на телефоне — Tilda rec661009736, res-320 (замеры при 375, карточка 360 от x=8):
   плашка, заголовок 27/30 и плашки-преимущества стоят по центру; затем кнопка, форма «Записаться сейчас»
   (есть только на телефоне), фото специалиста 261×326 и плашка с отзывами 229×134, которая заходит
   на низ фото на 95. Подпись специалиста на телефоне не выводится.
   Формы на компьютере нет — она скрыта, и на экране остаётся фото справа */
.svc-hero__form--mobile { display: none; }

@media (max-width: 639px) {
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient):not(.svc-hero--price) { margin: 0 8px; padding: 80px 0 79px; }

    /* Контент, кнопка + отзывы «раскрываются» в общую колонку, чтобы вставить между ними форму и фото */
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__content,
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__actions { display: contents; }
    .svc-page--kinesiology .svc-hero__inner { align-items: stretch; gap: 0; } /* отступы — полями элементов, а не gap: 40 с компьютера */

    .svc-page--kinesiology .svc-hero__badge {
        align-self: center;
        width: 262px;
        max-width: 100%;
        margin: 0 0 19px;
        padding: 6px 0;
        justify-content: center;
        font-size: 11px;
        line-height: 16.5px;
    }

    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__title {
        max-width: none;
        margin: 0 0 14px;
        font-size: 27px;
        line-height: 30px;
        text-align: center;
    }

    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__features { gap: 5px; margin: 0; }
    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__feature {
        align-items: center;
        justify-content: center;
        min-height: 60px;
        padding: 7px 17px; /* 7 + 44 + 7 + рамка 2 = 60, как две строки в Тильде */
        text-align: center;
        font-size: 14px;
        line-height: 22px;
    }

    .svc-page--kinesiology .svc-hero:not(.svc-hero--gradient) .svc-hero__btn { order: 4; margin-top: 14px; }

    .svc-page--kinesiology .svc-hero__form--mobile { display: block; order: 5; margin-top: 24px; }

    .svc-page--kinesiology .svc-hero__person {
        display: block;
        order: 6;
        position: relative;
        flex: none;
        width: 261px;
        height: 326px;
        min-height: 0;
        margin: 8px auto 0;
    }

    .svc-page--kinesiology .svc-hero__person-photo {
        position: static;
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: contain;
        object-position: center bottom;
    }

    .svc-page--kinesiology .svc-hero__person-tag { display: none; }

    /* Плашка с отзывами: текст, ряд аватарок, звёзды поверх нижнего края аватарок */
    .svc-page--kinesiology .svc-hero__rating {
        order: 7;
        position: relative;
        z-index: 2;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 8px;
        width: 229px;
        max-width: 100%;
        margin: -95px auto 0;
        padding: 18px 25px 24px;
        background: rgba(138, 169, 184, .25);
        text-align: center;
    }

    .svc-page--kinesiology .svc-hero__rating .svc-rating__text { order: -1; max-width: 178px; }
    .svc-page--kinesiology .svc-hero__rating .svc-stars { position: absolute; left: 46px; bottom: 17px; gap: 12px; }
}

/* «Кинезиология в Центре Механотерапии — идеальное решение» (/kinesiology) на телефоне —
   Tilda rec571253636, res-320 (замеры при 375). Порядок: плашки → плашка с отзывами → призыв → подпись → фото,
   а призыв, подпись и фото лежат в ОДНОЙ карточке с градиентом (у нас они разные блоки: призыв стоит после
   колонки с фото, поэтому вся сетка раскрывается в колонку, а фон продолжается с призыва на колонку с фото) */
@media (max-width: 639px) {
    .svc-page--kinesiology .svc-cards--check > .svc-container { display: flex; flex-direction: column; }
    .svc-page--kinesiology .svc-cards--check .svc-cards__layout { display: contents; }
    .svc-page--kinesiology .svc-cards--check .svc-cards__main { order: 1; }
    .svc-page--kinesiology .svc-cards--check .svc-cta { order: 2; }
    .svc-page--kinesiology .svc-cards--check .svc-cards__aside { order: 3; }

    /* Плашка с отзывами: текст 14/22 и аватарки по центру, звёзды на нижнем краю аватарок */
    .svc-page--kinesiology .svc-cards--check .svc-card--rating {
        min-height: 160px;
        padding: 27px 20px 34px;
        background: rgba(245, 246, 248, .75);
    }
    .svc-page--kinesiology .svc-card--rating .svc-rating { align-items: center; width: 100%; text-align: center; }
    .svc-page--kinesiology .svc-card--rating .svc-rating__text { max-width: 178px; }
    .svc-page--kinesiology .svc-card--rating .svc-stars { left: calc(50% - 70px); bottom: -6px; } /* на 10 правее левого края ряда аватарок (160, по центру) */

    /* Карточка: призыв (верх) + подпись и фото специалиста (низ) — один градиент на обеих частях */
    .svc-page--kinesiology .svc-cards--check .svc-cta,
    .svc-page--kinesiology .svc-cards--check .svc-cards__aside {
        background: linear-gradient(92deg, rgba(245, 246, 248, .75) 43%, rgba(255, 255, 255, .75) 100%);
    }

    .svc-page--kinesiology .svc-cards--check .svc-cta {
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin-top: 10px;
        padding: 30px 17px 0;
        border-radius: 8px 8px 0 0;
        text-align: center;
    }

    .svc-page--kinesiology .svc-cards--check .svc-cta__title { flex: none; width: 100%; max-width: 308px; font-size: 18px; line-height: 25px; }
    .svc-page--kinesiology .svc-cards--check .svc-cta__actions { flex: none; width: 100%; margin-top: 24px; }
    .svc-page--kinesiology .svc-cards--check .svc-cta .svc-btn { width: 100%; min-width: 0; }
    .svc-page--kinesiology .svc-cards--check .svc-cta .svc-note { flex: none; width: 100%; max-width: 296px; margin-top: 15px; font-size: 14px; line-height: 22px; }

    .svc-page--kinesiology .svc-cards--check .svc-cards__aside {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px 17px 0;
        border-radius: 0 0 8px 8px;
    }

    .svc-page--kinesiology .svc-cards--check .svc-person-tag { order: 1; width: 100%; margin: 0; padding-top: 20px; text-align: center; }
    .svc-page--kinesiology .svc-cards--check .svc-person-tag::before {
        left: 50%;
        width: 300px;
        transform: translateX(-50%);
        background: linear-gradient(90deg, rgba(0, 147, 213, 0) 0%, #0093d5 46%, rgba(0, 147, 213, 0) 100%);
    }
    .svc-page--kinesiology .svc-cards--check .svc-person-tag span { display: block; max-width: 223px; margin: 3px auto 0; }

    .svc-page--kinesiology .svc-cards--check .svc-cards__aside-img { order: 2; width: 219px; max-width: 100%; height: auto; margin-top: 15px; }
}

/* «Кинезиолог влияет на тело, мышцы и психосоматику» (/kinesiology) на телефоне — Tilda rec571253637, res-320
   (замеры при 375): серая плашка 368 со скруглением 20; порядок — заголовок, текст, СХЕМА, затем карточки
   с номерами (у нас список стоит в одной колонке с заголовком, поэтому колонка раскрывается через
   display: contents, а порядок задаётся через order). Схема 340×317 шире текста, точки 1–3 остаются на ней;
   карточки 320 со скруглением 12, номер 30×30 выступает на 10 за левый верхний угол */
@media (max-width: 639px) {
    .svc-page--kinesiology #influence { margin: 0 2px 0 5px; padding: 61px 0 74px; }
    .svc-page--kinesiology #influence > .svc-container { padding: 0 16px 0 23px; }

    .svc-page--kinesiology #influence .svc-media__row { flex-direction: column; align-items: stretch; gap: 0; }
    .svc-page--kinesiology #influence .svc-media__body { display: contents; }
    .svc-page--kinesiology #influence .svc-media__title { order: 1; font-size: 28px; line-height: 31px; }
    .svc-page--kinesiology #influence .svc-media__text { order: 2; margin-top: 10px; font-size: 15px; font-weight: 500; line-height: 23px; color: #545252; }

    .svc-page--kinesiology #influence .svc-media__text p { line-height: 23px; }
    .svc-page--kinesiology #influence .svc-media__side { order: 3; flex: none; margin: 39px -1px 0 -10px; } /* 340 при ширине текста 329 */
    .svc-page--kinesiology #influence .svc-list { order: 4; margin-top: 68px; }

    .svc-page--kinesiology #influence .svc-list li {
        min-height: 0;
        margin: 0 8px 0 1px;
        padding: 22px 28px 20px 18px;
        font-size: 15px;
        line-height: 23px;
        color: #000;
    }
    .svc-page--kinesiology #influence .svc-list li + li { margin-top: 10px; }
    /* Ширина текста у карточек в Тильде разная (274 / 266 / 295) — от неё зависит число строк */
    .svc-page--kinesiology #influence .svc-list li:nth-child(2) { padding-right: 36px; }
    .svc-page--kinesiology #influence .svc-list li:nth-child(3) { padding-right: 7px; }
    .svc-page--kinesiology #influence .svc-list li::before { top: -10px; left: -10px; }
}

/* «Как проходит прием кинезиолога» (/kinesiology) на телефоне — Tilda rec826821965, res-320 (замеры при 375):
   порядок — «Видео», заголовок, текст, видео 320×180, затем кнопка (у нас кнопка стоит в колонке с текстом,
   а видео в соседней, поэтому колонка раскрывается через display: contents и порядок задаётся через order) */
@media (max-width: 639px) {
    .svc-page--kinesiology #video { padding: 45px 0; }
    .svc-page--kinesiology #video > .svc-container { padding: 0 27px 0 28px; }

    .svc-page--kinesiology #video .svc-media__row { flex-direction: column; align-items: stretch; gap: 0; }
    .svc-page--kinesiology #video .svc-media__body { display: contents; }

    .svc-page--kinesiology #video .svc-media__badge { order: 1; align-self: flex-start; margin: 0 0 26px; padding: 2px 20px; color: #8a8a8a; border-color: #d3d3d3; }
    .svc-page--kinesiology #video .svc-media__title { order: 2; max-width: 200px; font-size: 24px; line-height: 26px; }
    .svc-page--kinesiology #video .svc-media__text { order: 3; margin-top: 12px; font-size: 15px; line-height: 23px; color: #545252; }
    .svc-page--kinesiology #video .svc-media__text p { line-height: 23px; }
    .svc-page--kinesiology #video .svc-media__side { order: 4; flex: none; margin-top: 24px; }
    .svc-page--kinesiology #video .svc-media__video { aspect-ratio: 16 / 9; } /* обложка 320×180, а не пропорции файла */
    .svc-page--kinesiology #video .svc-media__poster { width: 100%; height: 100%; object-fit: cover; }
    .svc-page--kinesiology #video .svc-media__body > .svc-btn { order: 5; align-self: stretch; margin-top: 24px; }
}

/* «Эффективный метод лечения» (/kinesiology) на телефоне — Tilda rec571253639 (заголовок) + rec571253640 (карточки),
   res-320 (замеры при 375): все шесть карточек — фото и иконки — в ОДНОЙ ленте с прокруткой, каждая 340×395
   через 10, лента начинается с x=8 и уходит за край экрана. Вместо подзаголовка — подсказка «Листайте вправо →».
   Оба ряда лежат в общей обёртке .svc-cards__rows (cards.php, join_next/join_prev); списки и обёртка второго
   ряда раскрыты через display: contents, поэтому карточки становятся элементами одной ленты */
@media (max-width: 639px) {
    .svc-page--kinesiology #method { padding: 43px 0 65px; }
    .svc-page--kinesiology #method > .svc-container { padding: 0 30px; }
    .svc-page--kinesiology #method .svc-cards__title { max-width: 267px; }

    /* Подзаголовок скрыт, вместо него подсказка (текст — в псевдоэлементе: в данных страницы его нет) */
    .svc-page--kinesiology #method .svc-cards__subtitle { margin: 8px 0 0; font-size: 0; line-height: 0; }
    .svc-page--kinesiology #method .svc-cards__subtitle::after {
        content: 'Листайте вправо →';
        display: block;
        font: 400 15px/23px 'Montserrat', Arial, sans-serif;
        color: #919191;
    }

    .svc-page--kinesiology #method .svc-cards__rows {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
        margin: 22px -30px 0;
        padding: 0 8px;
        overflow-x: auto;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .svc-page--kinesiology #method .svc-cards__rows .svc-cards__list,
    .svc-page--kinesiology #method .svc-cards--joined { display: contents; }

    .svc-page--kinesiology #method .svc-cards__rows .svc-card { flex: 0 0 340px; width: 340px; height: 395px; min-height: 0; }

    .svc-page--kinesiology #method .svc-card--photo-tall .svc-card__body { padding: 0 8px 30px 30px; }

    /* Карточки с иконкой: иконка на 122 от верха, заголовок и текст ниже, отступ слева 20 */
    .svc-page--kinesiology #method .svc-card--icon {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 30px;
        padding: 122px 20px 30px;
    }
    .svc-page--kinesiology #method .svc-card--icon .svc-card__text { margin-top: 7px; font-size: 14px; line-height: 22px; color: #545252; }

    /* Ширина заголовка и текста у карточек в Тильде своя (от неё зависит перенос строк): фото 253/312, 214/260, 301/289;
       иконки 234/269, 220/296, 203/296 */
    .svc-page--kinesiology #method .svc-card--photo-tall:nth-child(1) .svc-card__title { max-width: 253px; }
    .svc-page--kinesiology #method .svc-card--photo-tall:nth-child(2) .svc-card__title { max-width: 214px; }
    .svc-page--kinesiology #method .svc-card--photo-tall:nth-child(2) .svc-card__text { max-width: 260px; }
    .svc-page--kinesiology #method .svc-card--photo-tall:nth-child(3) .svc-card__text { max-width: 289px; }
    .svc-page--kinesiology #method .svc-card--icon:nth-child(1) .svc-card__title { max-width: 234px; }
    .svc-page--kinesiology #method .svc-card--icon:nth-child(1) .svc-card__text { max-width: 269px; }
    .svc-page--kinesiology #method .svc-card--icon:nth-child(2) .svc-card__title { max-width: 220px; }
    .svc-page--kinesiology #method .svc-card--icon:nth-child(2) .svc-card__text,
    .svc-page--kinesiology #method .svc-card--icon:nth-child(3) .svc-card__text { max-width: 296px; }
    .svc-page--kinesiology #method .svc-card--icon:nth-child(3) .svc-card__title { max-width: 203px; }
}

/* «Вы почувствуете улучшение состояния» (/kinesiology) на телефоне — Tilda rec571253653, res-320 (замеры при 375):
   заголовок 28/31, текст 15/23 (вес 500, #545252) с пустой строкой между абзацами; четыре фото не в столбик, а
   двумя колонками по 165 внахлёст (координаты из Тильды переведены в проценты холста 375×488): слева DSC и «6.jpg»
   (нижнее заходит на низ верхнего на 49), справа два фото со смещением */
@media (max-width: 639px) {
    .svc-page--kinesiology #better { padding: 30px 0 0; }
    .svc-page--kinesiology #better > .svc-container { padding: 0 27px 0 28px; }

    .svc-page--kinesiology #better .svc-media__head { gap: 20px; }
    .svc-page--kinesiology #better .svc-media__title { font-size: 28px; line-height: 31px; }
    .svc-page--kinesiology #better .svc-media__text { margin-top: 0; font-size: 15px; line-height: 23px; }
    .svc-page--kinesiology #better .svc-media__text p { margin-bottom: 23px; line-height: 23px; }
    .svc-page--kinesiology #better .svc-media__text p:last-child { margin-bottom: 0; }

    .svc-page--kinesiology #better .svc-media__images {
        position: relative;
        display: block;
        margin: 25px -27px 0 -28px; /* от края до края экрана: 28 слева и 27 справа — поля колонки */
        aspect-ratio: 375 / 488;
    }
    .svc-page--kinesiology #better .svc-media__img {
        position: absolute;
        display: block;
        width: 44%;
        height: auto;
        margin: 0 !important;
        border-radius: 8px;
        object-fit: cover;
    }
    .svc-page--kinesiology #better .svc-media__img:nth-child(1) { top: 0;       left: 4.8%;   aspect-ratio: 165 / 248; }
    .svc-page--kinesiology #better .svc-media__img:nth-child(2) { top: 0;       left: 51.47%; aspect-ratio: 165 / 206; }
    .svc-page--kinesiology #better .svc-media__img:nth-child(3) { top: 45.7%;   left: 51.47%; aspect-ratio: 165 / 157; }
    .svc-page--kinesiology #better .svc-media__img:nth-child(4) { top: 40.78%;  left: 4.8%;   aspect-ratio: 165 / 289; }
}

/* «Сеанс займет 60 минут» (/kinesiology, /psychosomatics) на телефоне — Tilda rec571253654 / rec611473604, res-320
   (замеры при 375): заголовок 28/31, четыре карточки в столбик (340 от x=18, отступ 5), и только потом кнопка
   300→320×54 и примечание — у нас кнопка и примечание стоят в колонке с заголовком, поэтому колонка раскрыта
   через display: contents, а порядок задан через order */
@media (max-width: 639px) {
    .svc-process--grid { padding: 45px 0 4px; }
    .svc-process--grid > .svc-container { padding: 0 27px 0 28px; }

    .svc-process--grid .svc-process__grid { flex-direction: column; align-items: stretch; gap: 0; }
    .svc-process--grid .svc-process__head { display: contents; }

    .svc-process--grid .svc-process__head .svc-title { order: 1; max-width: 322px; font-size: 28px; line-height: 31px; }

    .svc-process--grid .svc-process__list { order: 2; flex-direction: column; gap: 5px; margin: 18px -10px 0; }
    .svc-process--grid .svc-process__item,
    .svc-process--grid .svc-process__item:nth-child(even) { flex: 0 0 auto; width: 100%; min-height: 0; padding: 24px 10px 20px 20px; }
    /* Ширина текста в карточках Тильды разная (310 / 295 / 290 / 263) — от неё зависит перенос */
    .svc-process--grid .svc-process__item:nth-child(2) { padding-right: 25px; }
    .svc-process--grid .svc-process__item:nth-child(3) { padding-right: 30px; }
    .svc-process--grid .svc-process__item:nth-child(4) { padding-right: 57px; }

    .svc-process--grid .svc-process__head .svc-btn { order: 3; align-self: stretch; width: auto; margin-top: 25px; }
    .svc-process--grid .svc-process__head .svc-note { order: 4; max-width: 298px; margin-top: 21px; }
}

/* «Диагностируем следующее» (/diagnostics) на телефоне — Tilda rec548164860, res-320:
   заголовок 32/38 в две строки, карточки 320×130 по одной, свой порядок (поле «Порядок на телефоне») */
@media (max-width: 639px) {
    .svc-section.svc-grid { padding: 60px 0 44px; }
    .svc-grid .svc-container { padding-left: max(20px, calc(50% - 160px)); padding-right: max(20px, calc(50% - 160px)); }
    .svc-grid .svc-title { max-width: 270px; font-size: 32px; line-height: 38px; }
    .svc-grid__items { flex-direction: column; gap: 10px; margin-top: 29px; }
    .svc-grid__item { flex: 0 0 auto; height: 130px; padding: 20px 19px; order: var(--m-order, 0); }
    .svc-grid__label { max-width: 120px; }
}

/* Обложка с видео (/diagnostics) на телефоне — Tilda rec550445458 (t347, до 480px):
   высота 40vh, заголовок 20/27, текст 14/22, кнопка 40px */
@media (max-width: 479px) {
    .svc-section.svc-vbanner { padding: 45px 0; }
    .svc-vbanner__frame { height: 40vh; min-height: 0; }
    .svc-vbanner__content { top: 20px; width: auto; max-width: none; right: 20px; left: 20px; transform: none; }
    .svc-vbanner__title { font-size: 20px; font-weight: 500; line-height: 27px; }
    .svc-vbanner__text { margin-top: 5px; font-family: 'Montserrat', Arial, sans-serif; font-weight: 400; line-height: 22px; }
    .svc-vbanner__play svg { width: 40px; height: 40px; }
}

/* Шаги первого визита (/diagnostics) на телефоне — коллажи как на Тильде (rec547967982, rec548007309,
   rec548053545, res-320): фото наложены, координаты в сетке 320, текст под ними */
@media (max-width: 639px) {
    .svc-steps { padding-top: 60px; }
    .svc-steps .svc-container { padding-left: max(20px, calc(50% - 160px)); padding-right: max(20px, calc(50% - 160px)); }
    .svc-steps__title { font-size: 27px; line-height: 31px; }
    .svc-steps__subtitle { max-width: 302px; margin-top: 8px; }

    .svc-step__inner,
    .svc-step--pair-right .svc-step__inner { flex-direction: column; align-items: stretch; gap: 0; }

    .svc-step__media,
    .svc-step--collage-left .svc-step__media,
    .svc-step--pair-right .svc-step__media,
    .svc-step--card-left .svc-step__media {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        margin: 0;
    }

    .svc-step__img,
    .svc-step__video,
    .svc-step--collage-left .svc-step__img--1,
    .svc-step--collage-left .svc-step__img--2,
    .svc-step--collage-left .svc-step__img--3,
    .svc-step--pair-right .svc-step__img--1,
    .svc-step--pair-right .svc-step__img--2,
    .svc-step--card-left .svc-step__img--1,
    .svc-step--card-left .svc-step__img--2,
    .svc-step--card-left .svc-step__video { position: absolute; flex: none; }

    .svc-step__body,
    .svc-step--collage-left .svc-step__body,
    .svc-step--pair-right .svc-step__body,
    .svc-step--card-left .svc-step__body { width: auto; margin: 0; padding: 0; }

    .svc-step__title { font-size: 32px; line-height: 38px; }
    .svc-step__list { font-size: 15px; line-height: 28px; }
    .svc-step__list li { padding-left: 25px; }
    .svc-step__text { font-size: 15px; line-height: 26px; }

    /* Шаг 1: 3 фото */
    .svc-step--collage-left .svc-step__inner { padding: 15px max(20px, calc(50% - 160px)) 53px; }
    .svc-step--collage-left .svc-step__media { height: 322px; }
    .svc-step--collage-left .svc-step__img--1 { top: 20px;  left: 10px;  width: 282px; height: 282px; }
    .svc-step--collage-left .svc-step__img--2 { top: 180px; left: 200px; width: 142px; height: 142px; }
    .svc-step--collage-left .svc-step__img--3 { top: 35px;  left: -37px; width: 126px; height: 126px; }
    .svc-step--collage-left .svc-step__body { margin-top: 38px; }
    .svc-step--collage-left .svc-step__num { top: -69px; left: -21px; }
    .svc-step--collage-left .svc-step__title { max-width: 309px; }
    .svc-step--collage-left .svc-step__list { margin-right: -28px; margin-top: 16px; } /* на Тильде список шире сетки */

    /* Шаг 2: 2 фото */
    .svc-step--pair-right .svc-step__inner { padding: 15px max(20px, calc(50% - 160px)) 74px; }
    .svc-step--pair-right .svc-step__media { height: 260px; }
    .svc-step--pair-right .svc-step__img--1 { top: 0;    left: -25px; width: 221px; height: 221px; }
    .svc-step--pair-right .svc-step__img--2 { top: 51px; left: 136px; width: 209px; height: 209px; }
    .svc-step--pair-right .svc-step__body { margin-top: 50px; }
    .svc-step--pair-right .svc-step__num { top: -79px; left: -3px; }
    .svc-step--pair-right .svc-step__list { margin-top: 11px; }
    .svc-step--pair-right .svc-step__btn { width: 100%; margin-top: 23px; }

    /* Шаг 3: серая карточка с 2 фото и видео */
    .svc-step--card-left .svc-step__inner { min-height: 0; margin: 0 2px 0 5px; padding: 0 23px 33px; }
    .svc-step--card-left .svc-step__media { height: 413px; }
    .svc-step--card-left .svc-step__img--1 { top: 47px;  left: -10px; width: 190px; height: 257px; }
    .svc-step--card-left .svc-step__img--2 { top: 97px;  left: 159px; width: 171px; height: 137px; }
    .svc-step--card-left .svc-step__video  { top: 232px; left: 19px;  width: 310px; height: 181px; }
    .svc-step--card-left .svc-step__video-play { width: 50px; height: 50px; }
    .svc-step--card-left .svc-step__video-caption { bottom: 13px; font-size: 12px; line-height: 19px; }
    .svc-step--card-left .svc-step__body { margin-top: 71px; }
    .svc-step--card-left .svc-step__num { top: -76px; left: -4px; }
    .svc-step--card-left .svc-step__title { max-width: none; margin-right: -14px; }
    .svc-step--card-left .svc-step__text { margin-top: 10px; }
    .svc-step__results-title { margin-top: 30px; font-size: 15px; line-height: 23px; }
    .svc-step__results { flex-direction: column; gap: 0; margin-top: 22px; font-size: 15px; line-height: 23px; }
    .svc-step__results li { flex: 0 0 65px; flex-direction: row; gap: 25px; min-height: 0; padding-right: 0; } /* шаг 65, как на Тильде */
    .svc-step__results img { flex-shrink: 0; width: 20px; height: 20px; }
    .svc-step__results span { margin-top: 0; }
}

/* Видео-отзывы на странице услуги на телефоне — Tilda rec885543550 + rec1145032316 (res-320):
   заголовок 28/31, без стрелок (листается пальцем), карточки 320 с видео 320×200 */
@media (max-width: 639px) {
    .reviews-home--service .container { padding-left: max(20px, calc(50% - 160px)); padding-right: max(20px, calc(50% - 160px)); }
    .reviews-home--service .reviews-home__title { max-width: 320px; font-size: 28px; line-height: 31px; }
    .reviews-home--service .reviews-home__arrows { display: none; }
    .reviews-home--service .reviews-home__track { gap: 20px; margin-top: 71px; padding-left: 0; }
    .reviews-home--service .reviews-home__card { flex-basis: 320px; }
    .reviews-home--service .reviews-home__video { height: 200px; }
    .reviews-home--service .reviews-home__play svg { width: 70px; height: 70px; }
}

/* Баннер на планшете и телефоне: фото руководителя скрыто, текст идёт сразу за крошками */
@media (max-width: 991px) {
    .svc-page .svc-hero.svc-hero--banner .svc-hero__title { margin-top: 0; }
    .svc-page .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 30px; }
    .svc-hero.svc-hero--banner .svc-hero__inner { padding: 0 20px; }
}

@media (max-width: 991px) {
    .svc-hero--banner + .svc-section.svc-section { margin: 0 10px 40px; padding: 30px 0 40px; }
}

/* «Полезные видео» на детских страницах — Tilda rec1652878501 + rec1652878511 + rec1652878521 (1400):
   фон #fafafa, белые карточки 481 с полями 30, видео 421×250, стрелки 66 и подсказка под лентой */
.reviews-home--cards.reviews-home--service { padding: 90px 0; background: #fafafa; }
.reviews-home--cards .reviews-home__title { max-width: 380px; font-size: 32px; line-height: 32px; }
.reviews-home--cards .reviews-home__subtitle { max-width: 463px; margin: 12px 0 0; font-size: 16px; line-height: 25px; color: #3e3e3e; }
.reviews-home--cards .reviews-home__subtitle a { border-bottom: 1px solid #b1cfdc; color: #0093d5; text-decoration: none; }
.reviews-home--cards .reviews-home__subtitle a:hover { border-color: #0093d5; }
.reviews-home--cards.reviews-home--service .reviews-home__track { align-items: flex-start; gap: 12px; margin-top: 19px; padding-left: 0; }
.reviews-home--cards.reviews-home--service .reviews-home__card { flex: 0 0 481px; padding: 30px; border-radius: 8px; background: #fff; }
.reviews-home--cards.reviews-home--service .reviews-home__video { height: 250px; }
.reviews-home--cards .reviews-home__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.reviews-home--cards.reviews-home--service .reviews-home__text { margin-top: 24px; font-size: 16px; line-height: 25px; color: #393737; }

.reviews-home__nav { display: flex; align-items: center; gap: 8px; margin-top: 34px; }
.reviews-home__nav-arrow {
    flex-shrink: 0;
    width: 66px;
    height: 66px;
    padding: 0;
    border: 0;
    background: center / 100% no-repeat;
    cursor: pointer;
    transition: opacity .2s;
}
.reviews-home__nav-arrow--prev { background-image: url(https://static.tildacdn.com/tild6431-6265-4731-b637-396561393064/arrow-left.svg); }
.reviews-home__nav-arrow--next { background-image: url(https://static.tildacdn.com/tild6666-3664-4162-a362-623137313364/arrow-right.svg); }
.reviews-home__nav-arrow:disabled { opacity: .5; cursor: default; }
.reviews-home__nav-hint { max-width: 182px; margin: 0 0 0 16px; font: 16px/22px 'Montserrat', Arial, sans-serif; color: #7e7e7e; }

@media (max-width: 639px) {
    .reviews-home--cards.reviews-home--service { padding: 45px 0; }
    .reviews-home--cards.reviews-home--service .reviews-home__card { flex-basis: 300px; padding: 20px; }
    .reviews-home--cards.reviews-home--service .reviews-home__video { height: 160px; }
    .reviews-home__nav-arrow { width: 48px; height: 48px; }
    .reviews-home__nav-hint { margin-left: 4px; font-size: 14px; line-height: 21px; }
}

@media (max-width: 991px) {
    .svc-offer__form { flex: 1 1 auto; }
    .svc-offer__consent { margin-top: 24px; }
}

/* Форма записи на телефоне — Tilda rec812415067 (res-320): карточка 360, порядок сверху вниз —
   заголовок, текст, цена, телефон, кнопка, мессенджеры, согласие и фото во всю ширину */
@media (max-width: 639px) {
    .svc-offer--doctor { padding: 0 0 90px; }
    .svc-offer--doctor .svc-container { padding-left: max(8px, calc(50% - 180px)); padding-right: max(8px, calc(50% - 180px)); }
    .svc-offer__card { flex-direction: column; align-items: stretch; min-height: 0; padding: 40px 19px 16px; overflow: hidden; }

    /* Порядок как на Тильде: заголовок, текст, цена, форма, мессенджеры */
    .svc-offer__form { order: 1; display: flex; flex-direction: column; flex: 0 0 auto; padding-top: 0; }
    .svc-offer__title { order: 1; }
    .svc-offer__text { order: 2; }
    .svc-offer__price { order: 3; }
    .svc-offer__row-form { order: 4; }
    .svc-offer__messenger { order: 5; }
    .svc-offer__person { order: 2; flex: 0 0 auto; }
    /* Отрицательный отступ гасит нижний padding карточки: фото стоит ровно на её нижнем крае */
    .svc-offer__photo { order: 3; display: block; flex: 0 0 auto; width: 319px; margin: 34px auto -16px; }
    .svc-offer__photo img { height: 335px; }

    .svc-offer__name,
    .svc-offer__role { display: none; } /* имя и должность на Тильде в мобильной не показываются */
    .svc-offer__consent { margin: 13px 0 0; font-size: 14px; line-height: 22px; }

    .svc-offer__title { max-width: 286px; font-size: 28px; line-height: 32px; }
    .svc-offer__text { max-width: 276px; margin-top: 14px; font-size: 15px; line-height: 23px; }
    .svc-offer__price { margin-top: 29px; font-size: 15px; line-height: 23px; }
    .svc-offer__price-row { gap: 10px; margin-top: 6px; }
    .svc-offer__price strong { font-size: 20px; line-height: 22px; }
    .svc-offer__price-old { font-size: 15px; line-height: 23px; }

    .svc-offer__row-form { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 41px; }
    .svc-offer__row-form .blog-offer__phone-wrap,
    .svc-offer__row-form .blog-offer__submit { flex: 0 0 auto; width: 100%; height: 64px; }

    .svc-offer__messenger {
        flex-direction: row;
        align-items: center;
        width: auto;
        max-width: none;
        margin: 39px 0 0;
        padding: 0;
        font-size: 14px;
        line-height: 20px;
    }

    .svc-offer__messenger span { max-width: 213px; }
    .svc-offer__messenger .svc-messengers { flex-direction: row; gap: 4px; margin-left: auto; } /* на телефоне ватсап, потом телеграм */
    .svc-offer__messenger .svc-messengers img,
    .svc-offer__messenger .svc-messengers a { width: 42px; height: 42px; }
}

/* Баннер детских страниц на телефоне — Tilda rec794849248 (res-320): плашка 360×750,
   заголовок 26/27, фото руководителя 91×113 с подписью под кнопкой, снизу белая полоса */
@media (max-width: 639px) {
    .svc-hero.svc-hero--banner {
        min-height: 750px !important;
        margin: 0 6px !important;
        padding: 30px 0 0 !important;
        border-radius: 16px 16px 0 0 !important;
    }

    .svc-hero.svc-hero--banner::after { height: 31px; }
    .svc-hero.svc-hero--banner .svc-hero__inner { padding-left: max(14px, calc(50% - 158px)); padding-right: max(14px, calc(50% - 158px)); }
    .svc-hero.svc-hero--banner .svc-hero__crumbs { margin-bottom: 0; font-size: 12px; line-height: 19px; }
    .svc-page .svc-hero.svc-hero--banner .svc-hero__title { max-width: 140px; margin-top: 92px; font-size: 26px; line-height: 27px; }
    .svc-page .svc-hero.svc-hero--banner .svc-hero__text { max-width: 312px; margin-top: 16px; font-size: 15px; line-height: 23px; }
    .svc-page .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 57px; }
    .svc-page .svc-hero.svc-hero--banner .svc-hero__btn { width: 313px; margin-left: 4px; min-height: 64px; font-size: 15px; }

    /* Руководитель — маленькое фото и подпись справа от него */
    .svc-hero.svc-hero--banner .svc-hero__inner { gap: 0; justify-content: flex-start; }

    .svc-hero.svc-hero--banner .svc-hero__person {
        position: static;
        display: flex;
        align-items: flex-start;
        gap: 13px;
        width: auto;
        height: auto;
        margin-top: 85px;
    }

    .svc-hero.svc-hero--banner .svc-hero__person-photo {
        position: static;
        flex-shrink: 0;
        width: 91px;
        height: 113px;
        object-fit: contain;
        object-position: bottom;
    }

    .svc-hero.svc-hero--banner .svc-hero__person-sign { display: none; }
    .svc-hero.svc-hero--banner .svc-hero__person-tag { width: auto; padding-top: 14px; font-size: 12px; line-height: 17px; }
    .svc-hero.svc-hero--banner .svc-hero__person-tag strong { margin-bottom: 3px; font-size: 13px; line-height: 20px; }
}

/* Блок после баннера на телефоне — Tilda rec794849250 (res-320): панель по сетке 320,
   заголовок в строку, карточки 320×100 с иконкой 60 слева */
@media (max-width: 639px) {
    .svc-hero--banner + .svc-section.svc-section { margin: 0 5px 60px; padding: 50px 0 46px; }
    .svc-hero--banner + .svc-section .svc-container { padding-left: max(14px, calc(50% - 160px)); padding-right: max(14px, calc(50% - 160px)); }
    .svc-hero--banner + .svc-section .svc-cards__subtitle { margin-top: 12px; }
    .svc-hero--banner + .svc-section .svc-cards__list { gap: 8px; margin-top: 40px; }

    .svc-cards--icon .svc-card {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;
        min-height: 100px;
        padding: 20px;
        text-align: left;
    }

    .svc-cards--icon .svc-card__icon { width: 60px; height: 60px; }
    .svc-cards--icon .svc-card__title { font-size: 16px; font-weight: 500; line-height: 22px; }
}

/* «Как проходит первый сеанс» (вид row, все страницы), телефон — Tilda: номер слева от текста, между номерами вертикальная линия,
   тающая к следующему шагу */
@media (max-width: 639px) {
    .svc-process--row .svc-process__list,
    .svc-process--row .svc-process__list { gap: 32px; }
    .svc-process--row .svc-process__item,
    .svc-process--row .svc-process__item { padding: 0 0 0 52px; }
    .svc-process--row .svc-process__num,
    .svc-process--row .svc-process__num { position: absolute; top: 0; left: 0; margin: 3px 0 0 3px; }
    .svc-process--row .svc-process__item:not(:last-child)::after,
    .svc-process--row .svc-process__item:not(:last-child)::after {
        display: block;
        top: 38px;
        right: auto;
        bottom: -36px;
        left: 17px;
        width: 1px;
        height: auto;
        background: linear-gradient(#009bdd, rgba(0, 155, 221, .15));
    }
}

/* Форма записи, телефон — Tilda: цена белой плашкой, согласие чекбоксом под телефоном,
   мессенджеры под текстом (иконки в ряд), заголовок «с 30%» переносится вместе */
@media (max-width: 639px) {
    .svc-offer__title { max-width: 286px; }
    .svc-offer__card .svc-offer__price {
        box-sizing: border-box;
        margin-top: 24px;
        padding: 14px 15px;
        border-radius: 4px;
        background: #fff;
        font-size: 13px;
        line-height: 18px;
        color: #adadad;
    }
    .svc-offer__card .svc-offer__price-row { display: flex; flex-wrap: nowrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 4px; }
    .svc-offer__card .svc-offer__price strong { flex: 0 0 auto; font-size: 24px; line-height: 30px; white-space: nowrap; }
    .svc-offer__card .svc-offer__price-old { font-size: 13px; line-height: 18px; color: #adadad; white-space: nowrap; }
    .svc-offer__row-form { margin-top: 24px; }
    .svc-offer__row-form .blog-offer__consent { margin-top: 6px; }
    .svc-offer__card .svc-offer__messenger { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 24px; }
    .svc-offer__card .svc-offer__messenger span { max-width: none; }
    .svc-offer__card .svc-offer__messenger .svc-messengers { margin-left: 0; }
}

/* Специалисты без кнопки «Загрузить ещё» (/massage, /woman) — в Тильде горизонтальная лента с прокруткой (карточки 278, следующая выглядывает),
   а не столбик; столбик остаётся только там, где есть «Загрузить ещё» */
@media (max-width: 639px) {
    .svc-team--rail .team__grid {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 10px;
        margin: 0 calc(50% - 50vw);
        padding: 0 calc(50vw - 50%) 16px;
        overflow-x: auto;
        scrollbar-width: thin;
        scrollbar-color: #c4c4c4 transparent;
    }
    .svc-team--rail .team__grid::-webkit-scrollbar { height: 4px; }
    .svc-team--rail .team__grid::-webkit-scrollbar-thumb { border-radius: 2px; background: #c4c4c4; }
    .svc-team--rail .team__grid > .team__item { flex: 0 0 278px; width: 278px; }
    .svc-team--rail .team__photo { width: 100%; height: auto; aspect-ratio: 278 / 371; }
    .svc-team--rail .team__info { padding-top: 16px; }
}

/* Фото и карточка «Все специалисты» в ленте — на серой плашке, как в Тильде */
.svc-team--rail .team__photo { border-radius: 8px; background: #f4f6f7; }

/* /woman «Как мы работаем» (Tilda rec609159898, сетка 1200): серая плашка со скруглением, текст слева 563,
   справа коллаж — фото 310, снимок 166 справа сверху и снимок 132 слева внизу; координаты от левого края контейнера */
@media (min-width: 1200px) {
    .svc-page--woman #how { width: 86%; margin: 0 auto; padding: 63px 0 50px; border-radius: 20px; }
    .svc-page--woman #how .svc-media__row { position: relative; align-items: flex-start; min-height: 430px; }
    .svc-page--woman #how .svc-media__body { flex: 0 0 563px; }
    .svc-page--woman #how .svc-media__side { flex: none; }
    .svc-page--woman #how .svc-media__images { display: block; }
    .svc-page--woman #how .svc-media__img { position: absolute; flex: none; height: auto; max-height: none; border-radius: 0; object-fit: contain; }
    .svc-page--woman #how .svc-media__img--1 { top: 59px;  left: 722px;  width: 310px; }
    .svc-page--woman #how .svc-media__img--2 { top: 87px;  left: 1011px; width: 166px; z-index: 1; }
    .svc-page--woman #how .svc-media__img--3 { top: 232px; left: 603px;  width: 132px; z-index: 1; }
}

/* /woman «Последний раз я спала так крепко» (Tilda rec590231071): заголовок и цитата слева, справа плашка с оценкой,
   ниже карточки 2 в ряд — аватар с именем и звёздами, текст 14, «Читать отзыв полностью» и дата в подвале */
@media (min-width: 992px) {
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__head { flex-direction: row; align-items: flex-start; justify-content: space-between; text-align: left; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__quote { max-width: 620px; margin-top: 12px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__author {
        flex-direction: column;
        gap: 8px;
        flex: 0 0 auto;
        margin-top: 8px;
        padding: 16px 30px 14px;
        border-radius: 8px;
        background: #f7f7f7;
        text-align: center;
        font-size: 13px;
        color: #7d7d7d;
    }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__track { margin-top: 30px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review { padding: 20px 20px 18px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__avatar { width: 44px; height: 44px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__name { font-size: 14px; line-height: 20px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__text { margin-top: 14px; font-size: 14px; line-height: 22px; color: #545252; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__link,
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__more { font-size: 13px; font-weight: 600; line-height: 20px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-review__date { font-size: 14px; line-height: 20px; color: #c0c0c0; }
}

/* /woman: у блока «Что вы получите после диагностики» серая плашка с бо́льшими отступами сверху и снизу */
.svc-page--woman .blog-offer { padding: 56px 0 56px; }

/* Карточка «Все специалисты» на страницах услуг — серая плашка, как в Тильде (на главной она белая) */
.svc-team .team__photo--more { border-radius: 8px; background: #f4f6f7; }
.svc-team .team__more-circle { width: 118px; height: 118px; border-color: #c5d3d7; }
.svc-team .team__more-circle svg { width: 40px; height: 16px; }

/* /woman, телефон — Tilda: всё по левому краю, крошки в одну строку, цена стоит над кнопкой
   (слева сумма, справа «Старая цена — 7 000 ₽») */
@media (max-width: 639px) {
    .svc-page.svc-page--woman .svc-hero:not(.svc-hero--gradient) { padding: 190px 0 60px; }
    .svc-page.svc-page--woman .svc-hero__content { align-items: flex-start; text-align: left; }
    .svc-page.svc-page--woman .svc-hero__crumbs { margin-bottom: 110px; font-size: 13px; line-height: 20px; white-space: nowrap; }
    .svc-page.svc-page--woman .svc-hero__title { max-width: 260px; font-size: 28px; line-height: 31px; }
    .svc-page.svc-page--woman .svc-hero__text { max-width: 290px; margin-top: 14px; font-size: 14px; line-height: 22px; }
    .svc-page.svc-page--woman .svc-hero:not(.svc-hero--gradient) .svc-hero__actions { flex-direction: column-reverse; align-items: stretch; gap: 20px; width: 100%; margin-top: 20px; }
    .svc-page.svc-page--woman .svc-hero:not(.svc-hero--gradient) .svc-hero__btn { width: 100%; max-width: 290px; }
    .svc-page.svc-page--woman .svc-hero__price { text-align: left; }
    .svc-page.svc-page--woman .svc-hero__price-row { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; }
    .svc-page.svc-page--woman .svc-hero__price strong { font-size: 28px; line-height: 31px; }
}

/* /woman «Как мы работаем», телефон — Tilda: сначала коллаж (фото и два снимка по краям), под ним заголовок и текст */
@media (max-width: 639px) {
    .svc-page--woman #how { margin: 0 8px; padding: 20px 0 40px; border-radius: 20px; }
    .svc-page--woman #how .svc-media__row { flex-direction: column-reverse; align-items: stretch; gap: 20px; }
    .svc-page--woman #how .svc-media__side { flex: none; width: 100%; }
    .svc-page--woman #how .svc-media__images { display: block; position: relative; margin: 0 -20px; aspect-ratio: 350 / 320; }
    .svc-page--woman #how .svc-media__img { position: absolute; flex: none; height: auto; max-height: none; border-radius: 0; object-fit: contain; }
    .svc-page--woman #how .svc-media__img--1 { top: 6%;  left: 7.7%; width: 80.6%; }
    .svc-page--woman #how .svc-media__img--2 { top: 11%; left: -1%;  width: 28.6%; z-index: 1; }
    .svc-page--woman #how .svc-media__img--3 { top: 53%; left: 73%;  width: 27%;   z-index: 1; }
}

/* /woman «Какое направление выбрать», телефон — карточки ниже: в Тильде 323 вместо 430 */
@media (max-width: 639px) {
    .svc-page--woman #directions .svc-card--photo-tall { min-height: 323px; }
}

/* /woman «истории клиентов», телефон — в Тильде карточки идут столбиком, без ленты с прокруткой */
@media (max-width: 639px) {
    .svc-page--woman .reviews-home--service .reviews-home__track {
        flex-direction: column;
        gap: 24px;
        margin: 40px 0 0;
        overflow: visible;
        cursor: auto;
    }
    .svc-page--woman .reviews-home--service .reviews-home__card { flex: 0 0 auto; width: 100%; }
    .svc-page--woman .reviews-home--service .reviews-home__video { height: auto; aspect-ratio: 320 / 170; }
    .svc-page--woman .reviews-home--service .reviews-home__subtitle { margin-top: 14px; }
}

/* /woman отзывы, телефон — цитата крупнее в три строки, оценка серой плашкой: звёзды сверху, имя под ними */
@media (max-width: 639px) {
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__quote { max-width: 300px; margin: 14px auto 0; font-size: 28px; line-height: 34px; }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__author {
        flex-direction: column;
        gap: 8px;
        margin-top: 20px;
        padding: 16px 30px 14px;
        border-radius: 8px;
        background: #f5f6f8;
        text-align: center;
        font-size: 14px;
        color: #7d7d7d;
    }
    .svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__author .svc-stars svg { width: 20px; height: 19px; }
}

/* /psychosomatics: нижний ряд «Запишитесь… + кнопка + примечание» — столбиком: заголовок, под ним кнопка, под ней примечание */
.svc-page--psychosomatics .svc-cta { flex-direction: column; align-items: flex-start; gap: 20px; }
.svc-page--psychosomatics .svc-cta__title { flex: none; max-width: 450px; }
.svc-page--psychosomatics .svc-cta__actions { flex: none; }
.svc-page--psychosomatics .svc-cta > .svc-note { flex-basis: auto; }

/* /psychosomatics «С чем мы работаем?» (Tilda rec609641614, сетка 1200): плашки 128 высотой стоят по координатам —
   слева 231+431, 669 и 606, справа три плашки; фото специалиста по центру, подпись справа внизу.
   Координаты — от левого края контейнера и верха заголовка */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-cards__layout { position: relative; display: block; min-height: 490px; }
    .svc-page--psychosomatics #works .svc-cards__list { display: block; margin: 0; }
    .svc-page--psychosomatics #works .svc-card--pin { position: absolute; z-index: 2; box-sizing: border-box; width: var(--w); height: 128px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(1) { top: 67px;  left: 2px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(2) { top: 67px;  left: 243px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3) { top: 64px;  left: 702px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4) { top: 202px; left: 705px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(5) { top: 209px; left: 2px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(6) { top: 342px; left: 2px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { top: 342px; left: 729px; }

    .svc-page--psychosomatics #works .svc-cards__aside { position: absolute; z-index: 1; top: -34px; left: 381px; width: 567px; }
    .svc-page--psychosomatics #works .svc-person-tag { position: absolute; top: 563px; left: 497px; width: 260px; margin: 0; }
}

/* Кнопка «Смотреть отзывы на Яндекс Картах» в сетке отзывов — серая полоса на всю ширину, как в Тильде */
.svc-testimonials--grid:not(.svc-testimonials--popup) .svc-testimonials__more { width: 100%; max-width: none; background: #f7f7f7; }

/* /psychosomatics, компьютер: у блока «Что вы получите» отступы сверху и снизу 56px */
@media (min-width: 992px) {
    .svc-page--psychosomatics .blog-offer { padding: 56px 0 56px; }
}

/* /psychosomatics «Телесно-ориентированная терапия», телефон — Tilda: сначала фото в скруглённой плашке, под ним заголовок и текст */
@media (max-width: 639px) {
    .svc-page--psychosomatics #tot { margin: 0 8px; padding: 15px 0 30px; border-radius: 20px; }
    .svc-page--psychosomatics #tot .svc-media__row { flex-direction: column-reverse; align-items: stretch; gap: 20px; }
    .svc-page--psychosomatics #tot .svc-media__side { flex: none; width: 100%; }
    .svc-page--psychosomatics #tot .svc-media__img { border-radius: 12px; }
}

/* /psychosomatics «С чем мы работаем?» — порядок слоёв как в Тильде: левые плашки под фото (его белое затухание
   закрывает их край), правые поверх; текст плашек мельче, призыв внизу без серой подложки */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-card--pin { z-index: 2; gap: 14px; padding: 26px 30px; }
    .svc-page--psychosomatics #works .svc-card--pin .svc-card__title { font-size: 14px; line-height: 21px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(1),
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(2) { z-index: 3; }
    .svc-page--psychosomatics #works .svc-cards__aside { z-index: 4; pointer-events: none; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3),
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4),
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { z-index: 5; }
    .svc-page--psychosomatics #works .svc-cta { margin-top: 20px; padding: 0 0 0 22px; background: none; }
}

/* /psychosomatics «Главное отличие кинезиологии от психотерапии» — в Тильде заголовок сверху, текст под ним на всю ширину */
.svc-page--psychosomatics #difference .svc-media__row { flex-direction: column; align-items: flex-start; gap: 16px; }
.svc-page--psychosomatics #difference .svc-media__title { flex: none; max-width: none; font-size: 36px; line-height: 40px; }
.svc-page--psychosomatics #difference .svc-media__text { flex: none; width: 100%; max-width: 1180px; }

/* «Как нервы влияют» (вид flow, /psychosomatics) — в Тильде кругов нет: подпись синим текстом, между подписями полоска
   с градиентом в прозрачность, по которой слева направо бежит шарик */
.svc-cards--flow .svc-card { flex: 0 0 200px; }
.svc-cards--flow .svc-card__circle {
    width: auto;
    height: auto;
    max-width: 170px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font: 500 17px/26px 'Montserrat', Arial, sans-serif;
    color: #0b5d83;
}
.svc-cards--flow .svc-card:not(:last-child)::after {
    top: calc(50% - 2px);
    right: auto;
    left: calc(100% + 65px);
    width: 160px;
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, #6bbef0 0%, rgba(107, 190, 240, 0) 100%);
}
.svc-cards--flow .svc-card:not(:last-child)::before {
    content: '';
    position: absolute;
    top: calc(50% - 5px);
    left: calc(100% + 65px);
    z-index: 1;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #4fb0e8;
    animation: svc-flow-ball 3s ease-in-out infinite;
}
@keyframes svc-flow-ball {
    0%   { transform: translateX(0); opacity: 0; }
    15%  { opacity: 1; }
    85%  { opacity: 1; }
    100% { transform: translateX(150px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .svc-cards--flow .svc-card:not(:last-child)::before { animation: none; opacity: 1; }
}
@media (max-width: 991px) {
    .svc-cards--flow .svc-card::before { display: none; }
}

/* /psychosomatics «С чем мы работаем?»: плашки чуть уже (на 40px), фото специалиста поверх всех плашек */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-card--pin { width: calc(var(--w) - 40px); }
    .svc-page--psychosomatics #works .svc-cards__aside { z-index: 10; }
}

/* /psychosomatics «С чем мы работаем?» — как в Тильде: плашки идут полной ширины под фото (его тело закрывает их середину),
   а текст в них ограничен видимой частью: слева до фото, у правых плашек содержимое начинается уже за телом специалиста */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-card--pin { width: var(--w); z-index: 2; }
    .svc-page--psychosomatics #works .svc-cards__aside { z-index: 10; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(1) .svc-card__body { max-width: 201px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(2) .svc-card__body { max-width: 192px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(5) .svc-card__body { max-width: 346px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(6) .svc-card__body { max-width: 365px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3) { padding-left: 231px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4) { padding-left: 228px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { padding-left: 204px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3) .svc-card__body { max-width: 224px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4) .svc-card__body { max-width: 164px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) .svc-card__body { max-width: 217px; }
}

/* /psychosomatics «С чем мы работаем?» — фон плашки по тексту: высота по содержимому (не меньше 128), у правых плашек
   серая подложка начинается там же, где текст (за телом специалиста), а не уходит под фото */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-card--pin { height: auto; min-height: 128px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(5) { top: 216px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(6) { top: 351px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3),
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4),
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { left: 903px; width: 275px; padding-left: 30px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { top: 356px; }
}

/* /psychosomatics «С чем мы работаем?» — между плашками зазор 10px: высота и положение каждой заданы по числу строк текста
   (4 строки — 170, 3 — 149, 2 — 128) */
@media (min-width: 1200px) {
    .svc-page--psychosomatics #works .svc-cards__layout { min-height: 560px; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(1) { top: 67px;  height: 170px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(2) { top: 67px;  height: 170px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(3) { top: 64px;  height: 128px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(4) { top: 202px; height: 170px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(5) { top: 247px; height: 149px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(6) { top: 406px; height: 149px; min-height: 0; }
    .svc-page--psychosomatics #works .svc-card--pin:nth-child(7) { top: 382px; height: 128px; min-height: 0; }
}

/* /psychosomatics «Вы почувствуете улучшение…», телефон — Tilda: заголовок 24/26 и коллаж из четырёх фото в две колонки
   (слева 165×200 и 165×212, справа 165×212 и 165×160, промежуток 10) под текстом */
@media (max-width: 639px) {
    .svc-page--psychosomatics #better .svc-media__head { flex-direction: column; gap: 16px; }
    .svc-page--psychosomatics #better .svc-media__title { flex: none; font-size: 24px; line-height: 26px; }
    .svc-page--psychosomatics #better .svc-media__images { display: block; position: relative; width: 100%; margin-top: 24px; aspect-ratio: 340 / 411; }
    .svc-page--psychosomatics #better .svc-media__img { position: absolute; flex: none; width: 48.5%; height: auto; margin: 0; border-radius: 0; object-fit: cover; }
    .svc-page--psychosomatics #better .svc-media__img--1 { top: 0;     left: 0;     aspect-ratio: 165 / 200; }
    .svc-page--psychosomatics #better .svc-media__img--2 { top: 48.7%; left: 0;     aspect-ratio: 165 / 212; }
    .svc-page--psychosomatics #better .svc-media__img--3 { top: 0;     left: 51.5%; aspect-ratio: 165 / 212; border-radius: 8px; }
    .svc-page--psychosomatics #better .svc-media__img--4 { top: 54.3%; left: 51.5%; aspect-ratio: 165 / 160; border-radius: 8px; }
}

/* /fitnes «Есть вопрос?»: подпись про мессенджер и иконки — в одной строке (в Тильде текст слева, иконки справа) */
.svc-page--fitnes .svc-question__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.svc-page--fitnes .svc-question__row .svc-question__label { flex: 1 1 auto; }
.svc-page--fitnes .svc-question__row .svc-messengers { flex: 0 0 auto; margin-top: 0; }

/* /fitnes: у блока «Что вы получите» отступы сверху и снизу 56px */
.svc-page--fitnes .blog-offer { padding: 56px 0 56px; }

/* /fitnes «Умный фитнес для комфортных тренировок» — в Тильде без серого фона: заголовок сверху, текст под ним на всю ширину */
.svc-page--fitnes .svc-media--seo { background: #fff; }
.svc-page--fitnes .svc-media--seo .svc-media__row { flex-direction: column; align-items: flex-start; gap: 16px; }
.svc-page--fitnes .svc-media--seo .svc-media__title { flex: none; max-width: none; font-size: 32px; line-height: 35px; }
.svc-page--fitnes .svc-media--seo .svc-media__text { flex: none; width: 100%; max-width: 1180px; }

/* /fitnes, телефон — цены столбиком: сумма, под ней «Старая цена — 7 000 ₽» (зачёркнута только цена), без переноса внутри */
@media (max-width: 639px) {
    .svc-page--fitnes .svc-hero__price-row { flex-direction: column; align-items: flex-start; gap: 6px; }
    .svc-page--fitnes .svc-hero__price strong { white-space: nowrap; }
    .svc-page--fitnes .svc-hero__price-old { font-size: 16px; line-height: 22px; opacity: .85; }
    .svc-page--fitnes .svc-hero__price-old s { white-space: nowrap; }
}

/* Ссылки в тексте под карточками («Также мы применяем современные методы…») — синие с подчёркиванием, как в Тильде */
.svc-cards__footer a { color: #0093d5; text-decoration: underline; }
.svc-cards__footer a:hover { text-decoration: none; }

/* /eliminationpain «Когда к нам обращаются?» — в Тильде каждый пункт лежит на белой плашке со скруглением 8,
   плашки по две в ряд с зазором 10, одной высоты в ряду */
.svc-page--eliminationpain #when .svc-cards__list { gap: 10px; }
.svc-page--eliminationpain #when .svc-card {
    flex-basis: calc((100% - 10px) / 2);
    justify-content: space-between;
    box-sizing: border-box;
    padding: 26px 26px 28px;
    border-radius: 8px;
    background: #fff;
}
@media (max-width: 639px) {
    .svc-page--eliminationpain #when .svc-card { flex-basis: 100%; padding: 22px 20px 24px; }
}

/* «Кто проводит приём» (/eliminationpain) — шрифты мельче, как в Тильде (описание 15, адреса 15, факты 14),
   фото специалиста в скруглённой рамке на всю высоту карточки с отступом 40, человек прижат к низу кадра */
.svc-doctor__name { font-size: 24px; line-height: 28px; }
.svc-doctor__role { margin-top: 12px; font-size: 15px; line-height: 25px; }
.svc-doctor__locations li { font-size: 15px; line-height: 22px; }
.svc-doctor__locations li + li { margin-top: 16px; }
.svc-doctor__btn { min-height: 60px; margin-top: 36px; padding: 0 44px; font-size: 16px; }
.svc-doctor__note { font-size: 14px; line-height: 21px; }
.svc-doctor__facts li { padding: 14px 0; font-size: 14px; line-height: 20px; }
.svc-doctor__tag { font-size: 14px; }
@media (min-width: 992px) {
    .svc-doctor__photo { top: 40px; right: 30px; bottom: 40px; width: 340px; height: auto; border-radius: 12px; object-fit: cover; object-position: center bottom; }
}

/* /eliminationpain «Как проходит первый сеанс» (Tilda rec826493690, сетка 1200) — фото коллажем по координатам слева,
   справа шаги на вертикальной линии с кружками-точками (не с цифрами), по линии вверх-вниз бегает точка.
   Координаты — от левого края контейнера, верх — на 60px ниже начала заголовка */
@media (min-width: 1200px) {
    .svc-page--eliminationpain .svc-process--timeline .svc-process__timeline { position: relative; display: block; height: 1080px; margin-top: 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery { display: block; position: static; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img { position: absolute; height: auto; border-radius: 0; object-fit: contain; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--1 { top: 33px;  left: 138px; width: 313px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--2 { top: 435px; left: 252px; width: 219px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--3 { top: 302px; left: 10px;  width: 237px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--4 { top: 683px; left: 10px;  width: 375px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--5 { top: 13px;  left: 10px;  width: 162px; z-index: 1; }

    .svc-page--eliminationpain .svc-process--timeline .svc-process__list { position: static; display: block; padding: 0; margin: 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list::before { top: 34px; bottom: auto; left: 539px; width: 1px; height: 747px; background: rgba(0, 147, 213, .25); }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list::after {
        content: '';
        position: absolute;
        top: 29px;
        left: 536px;
        z-index: 2;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #0093d5;
        animation: svc-timeline-dot 12s infinite;
    }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item { position: absolute; left: 591px; width: 554px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(1) { top: 13px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(2) { top: 227px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(3) { top: 416px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(4) { top: 555px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(5) { top: 769px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__num {
        top: -4px;
        left: -71px;
        width: 40px;
        height: 40px;
        border: 0;
        background: rgba(0, 147, 213, .1);
        box-shadow: none;
        font-size: 0;
        color: transparent;
    }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__num::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #0093d5; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item .svc-process__title { font: 500 20px/30px 'FuturaPT', Arial, sans-serif; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__text { margin-top: 6px; font-size: 14px; line-height: 22px; color: #545252; }
}
@keyframes svc-timeline-dot {
    0%   { transform: translateY(0); }
    25%  { transform: translateY(260px); animation-timing-function: ease-out; }
    50%  { transform: translateY(501px); animation-timing-function: ease-out; }
    75%  { transform: translateY(685px); animation-timing-function: ease-out; }
    100% { transform: translateY(0); animation-timing-function: ease-out; }
}
@media (prefers-reduced-motion: reduce) {
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list::after { animation: none; }
}

/* «Кто проводит приём»: без пустого места под текстом (высота карточки по содержимому), фото стоит по нижнему краю карточки */
@media (min-width: 992px) {
    .svc-doctor__card { min-height: 0; padding-bottom: 40px; }
    .svc-doctor__photo { top: auto; right: 40px; bottom: 0; width: 390px; height: 513px; border-radius: 0 0 8px 0; object-fit: contain; object-position: center bottom; }
}

/* «Кто проводит приём» — как в Тильде: светлая карточка со скруглением 20, фото в скруглённой рамке с отступом 40 сверху/снизу,
   ссылкой оформлены только слова «нашими специалистами…» */
.svc-doctor__card { background: #f9f9f9; }
.svc-doctor__note { display: block; margin: 20px 0 0; font-size: 15px; line-height: 22px; color: #545252; }
.svc-doctor__note a { border-bottom: 1px solid #0093d5; color: #0093d5; text-decoration: none; }
.svc-doctor__btn { background: #3ba3d5; border-color: #3ba3d5; }
@media (min-width: 992px) {
    .svc-doctor__card { min-height: 0; padding-bottom: 40px; border-radius: 20px; }
    .svc-doctor__photo { top: 40px; right: 27px; bottom: 40px; width: 371px; height: auto; border-radius: 20px; background: #eef0f2; object-fit: cover; object-position: center bottom; }
}

/* /eliminationpain, телефон — Tilda: заголовок 24/26 во всю ширину колонки, подпись руководителя — круглое фото 90 слева
   и имя с должностью справа (правила «для компьютера» перебивали общую мобильную раскладку баннера) */
@media (max-width: 639px) {
    .svc-page--eliminationpain .svc-hero.svc-hero--banner { min-height: 640px !important; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__title { max-width: none; margin-top: 120px; font-size: 24px; line-height: 26px; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__text { margin-top: 14px; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 24px; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__btn { width: 100%; margin-left: 0; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person { top: auto; align-items: center; margin-top: 36px; }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person-photo { top: auto; width: 90px; height: 90px; border-radius: 50%; object-fit: cover; object-position: center top; background: rgba(255, 255, 255, .85); }
    .svc-page--eliminationpain .svc-hero.svc-hero--banner .svc-hero__person-tag { padding-top: 0; }
}

/* Детские страницы с ценой в баннере (/posture, /delays, /feet, /dcp, /tbs, /scoliosis), телефон —
   подними фото с текстом выше: та же синяя подложка на всю высоту баннера (как и было), просто зазоры
   до кнопки и до фото руководителя уже без лишнего воздуха — по образцу /eliminationpain (круглое
   фото 90 вместо прямоугольного) */
@media (max-width: 639px) {
    /* Снизу нужен запас под белую скруглённую полосу (::after, 50px): без него она перекрывает
       низ круглого фото и часть подписи должности, из-за чего фото выглядит «обрезанным» */
    :is(.svc-page--posture, .svc-page--delays, .svc-page--feet, .svc-page--dcp, .svc-page--tbs, .svc-page--scoliosis) .svc-hero.svc-hero--banner { min-height: 640px !important; padding-bottom: 70px !important; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--feet, .svc-page--dcp, .svc-page--tbs, .svc-page--scoliosis) .svc-hero.svc-hero--banner .svc-hero__actions { margin-top: 28px; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--feet, .svc-page--dcp, .svc-page--tbs, .svc-page--scoliosis) .svc-hero.svc-hero--banner .svc-hero__person { margin-top: 40px; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--feet, .svc-page--dcp, .svc-page--tbs, .svc-page--scoliosis) .svc-hero.svc-hero--banner .svc-hero__person-photo {
        width: 90px;
        height: 90px;
        border-radius: 50%;
        object-fit: cover;
        object-position: center top;
        background: rgba(255, 255, 255, .85);
    }
}

/* /eliminationpain «Что мы делаем ?», телефон — Tilda: белая плашка, заголовок по центру, карточки серые:
   иконка сверху по центру, текст под ней по центру (общая раскладка «иконка слева» — для детских страниц) */
@media (max-width: 639px) {
    .svc-page--eliminationpain #what.svc-section { background: #ffffff; }
    .svc-page--eliminationpain #what .svc-cards__title { text-align: center; }
    .svc-page--eliminationpain #what .svc-cards__list { gap: 10px; margin-top: 24px; }
    .svc-page--eliminationpain #what .svc-card {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 0;
        padding: 20px 20px 24px;
        background: #eff0f1;
        text-align: center;
    }
    .svc-page--eliminationpain #what .svc-card__icon { width: 60px; height: 60px; }
    .svc-page--eliminationpain #what .svc-card__title { font-size: 16px; line-height: 22px; text-align: center; }
}

/* /eliminationpain «Как проходит первый сеанс», телефон — Tilda: сначала главное фото с накладывающимся снимком справа,
   затем шаги (кружок с точкой над заголовком, без линии), остальные фото — после шагов */
@media (max-width: 639px) {
    .svc-page--eliminationpain .svc-process--timeline .svc-process__timeline { display: flex; flex-direction: column; gap: 0; margin-top: 24px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery,
    .svc-page--eliminationpain .svc-process--timeline .svc-process__collage,
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list { display: contents; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list::before,
    .svc-page--eliminationpain .svc-process--timeline .svc-process__list::after { display: none; }

    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img { position: static; flex: none; height: auto; border-radius: 12px; object-fit: cover; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--1 { order: 1; align-self: flex-start; width: 56%; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--5 { order: 2; align-self: flex-end; width: 44%; margin: -32% 6% 0 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--2 { order: 8; width: 100%; margin-top: 24px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--3 { order: 9; width: 100%; margin-top: 12px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--4 { order: 10; width: 100%; margin-top: 12px; }

    .svc-page--eliminationpain .svc-process--timeline .svc-process__item { position: static; margin-top: 32px; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(1) { order: 3; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(2) { order: 4; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(3) { order: 5; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(4) { order: 6; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(5) { order: 7; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__num {
        position: static;
        width: 40px;
        height: 40px;
        margin: 0 0 14px;
        border: 0;
        background: rgba(0, 147, 213, .1);
        box-shadow: none;
        font-size: 0;
        color: transparent;
    }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__num::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #0093d5; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item .svc-process__title { font: 500 20px/26px 'FuturaPT', Arial, sans-serif; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__text { margin-top: 8px; font-size: 15px; line-height: 23px; color: #545252; }
}

/* /eliminationpain «Как проходит первый сеанс», телефон — второй коллаж (три фото) стоит между 2-м и 3-м шагом:
   высокое фото слева, снимок справа выше него на 28, нижний снимок заходит на высокое фото */
@media (max-width: 639px) {
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--2 { order: 5; align-self: flex-start; width: 53%; aspect-ratio: 171 / 237; margin: 32px 0 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--3 { order: 6; align-self: flex-end; width: 53%; aspect-ratio: 1; margin: calc(-73.5% - 28px) 0 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__gallery-img--4 { order: 7; align-self: flex-end; width: 50.5%; aspect-ratio: 162 / 108; margin: 34px 15.6% 0 0; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(3) { order: 8; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(4) { order: 9; }
    .svc-page--eliminationpain .svc-process--timeline .svc-process__item:nth-child(5) { order: 10; }
}

/* Текст под карточками на телефоне — 15px */
@media (max-width: 639px) {
    .svc-cards__footer { font-size: 15px; line-height: 23px; }
}

/* «Кто проводит приём», телефон — Tilda: фото сверху в рамке на всю ширину карточки, затем имя, описание, адреса,
   факты и в конце кнопка с ссылкой (на компьютере кнопка идёт до фактов) */
@media (max-width: 639px) {
    .svc-doctor__card { flex-direction: column; align-items: stretch; gap: 0; padding: 12px 12px 30px; border-radius: 20px; }
    .svc-doctor__main { display: contents; }
    .svc-doctor__photo { display: block; order: 1; position: static; width: 100%; height: 320px; border-radius: 12px; background: #eef0f2; object-fit: cover; object-position: center top; }
    .svc-doctor__name { order: 2; margin: 24px 8px 0; font-size: 22px; line-height: 28px; }
    .svc-doctor__role { order: 3; margin: 12px 8px 0; }
    .svc-doctor__locations { order: 4; margin: 20px 8px 0; }
    .svc-doctor__facts { order: 5; margin: 20px 8px 0; }
    .svc-doctor__btn { order: 6; margin: 28px 8px 0; }
    .svc-doctor__note { order: 7; margin: 20px 8px 0; }
}

/* Видео-блоки /eliminationpain («Впечатления посетителей», «Видео с…», «Полезные видео»), телефон — Tilda: заголовок 24,
   стрелки показаны (общее правило .reviews-home--service .reviews-home__arrows прячет их — здесь возвращаем и переносим
   в отдельную строку под заголовком, слева подсказка «Листайте…», справа стрелки), ниже видео на всю ширину колонки.
   Привязано к странице: у блока нет класса reviews-home--cards, есть только reviews-home--service */
@media (max-width: 639px) {
    .svc-page--eliminationpain .reviews-home--service .reviews-home__title { max-width: none; font-size: 24px; line-height: 28px; }

    /* Строка «Листайте стрелками…» + стрелки — main.js переносит сюда .reviews-home__arrows из шапки */
    .svc-page--eliminationpain .reviews-home--service .reviews-home__hint-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: 16px;
    }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__hint-row .reviews-home__subtitle { max-width: none; margin: 0; font-size: 14px; line-height: 21px; color: #7e7e7e; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__hint-row .reviews-home__arrows {
        display: flex !important;
        flex-shrink: 0;
        gap: 8px;
        margin: 0;
    }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__arrow { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #e9eef2; color: #0093d5; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__arrow svg { width: 18px; height: 18px; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__track { margin-top: 20px; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__card { flex: 0 0 100%; padding: 0; background: none; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__video { height: auto; aspect-ratio: 320 / 175; }
    .svc-page--eliminationpain .reviews-home--service .reviews-home__text { margin-top: 16px; font-size: 15px; line-height: 22px; }
}

/* Лента шагов со стрелками (process.php, scroll=>true): заголовок и стрелки в одной строке, список — горизонтальная
   лента без переноса, когда шагов больше, чем помещается в сетку (/child/posture «Как мы проводим диагностику», 5 шагов) */
.svc-process__head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }

/* Стрелки — те же иконки, что в Тильде (rec844559835): готовая картинка «круг + стрелка», без своей обводки */
.svc-process__arrows { display: flex; flex-shrink: 0; gap: 12px; }
.svc-process__arrow {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    transition: opacity .2s;
}
.svc-process__arrow img { display: block; width: 100%; height: 100%; }
.svc-process__arrow:hover { opacity: .8; }
.svc-process__arrow:disabled { opacity: .3; cursor: default; }

.svc-process__scroll {
    margin-right: calc(50% - 50vw);
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
}
.svc-process__scroll::-webkit-scrollbar { display: none; }
.svc-process__scroll.is-dragging { cursor: grabbing; scroll-behavior: auto; user-select: none; }
/* Ширина шага подобрана так, чтобы в сетке 1180 помещалось ровно 4, а 5-й был виден только после прокрутки */
/* min-width: max-content — список растягивается до реальной ширины контента, иначе ::before (линия)
   привязывается к ширине видимого контейнера и не доходит до последних кружков при прокрутке */
.svc-process--dots .svc-process__scroll .svc-process__list { flex-wrap: nowrap; gap: 30px 24px; min-width: max-content; }
.svc-process--dots .svc-process__scroll .svc-process__item { flex: 0 0 305px; } /* ровно 4 в ряд при scroll-контейнере ~1290px (1400px вьюпорт): (1290−3×24)/4 ≈ 305px */

@media (max-width: 639px) {
    .svc-process__head-row { flex-direction: column; align-items: flex-start; gap: 16px; }
    /* Специфичность селектора должна быть не ниже, чем у «4 в ряд» на компьютере (.svc-process--dots
       .svc-process__scroll .svc-process__item), иначе на телефоне побеждает то правило и карточки
       сжимаются до четверти ширины вместо ленты с прокруткой */
    .svc-process--dots .svc-process__scroll .svc-process__item { flex: 0 0 220px; }
}

/* Промежуточная ширина (992–1199px): у блока «Форма со специалистом» нет отдельных стилей —
   ниже 1200 карточка ещё не переходит на мобильную колонку (это только с 991px), поэтому берём мобильную
   раскладку раньше, чтобы не было непроработанного промежутка (обрезанное фото, цена без подложки, крупный шрифт) */
@media (min-width: 992px) and (max-width: 1199px) {
    .svc-offer__card { flex-direction: column; align-items: stretch; min-height: 0; padding: 40px 30px 16px; }
    .svc-offer__person { flex: 0 0 auto; }
    .svc-offer__photo { flex-basis: 420px; align-self: center; margin: -60px 0 0; }
    .svc-offer__form { flex: 1 1 auto; margin-left: 0; max-width: none; }
    .svc-offer__price {
        margin-top: 24px;
        padding: 16px 20px;
        border-radius: 8px;
        background: #fff;
        font-size: 14px;
    }
    .svc-offer__price strong { font-size: 22px; }
}

/* «Диагностика осанки и стоп» — общий блок детских страниц (Tilda rec839394242 на /posture, откуда взят
   и перенесён на остальные: /delays, /scoliosis, /feet, /dcp, /tbs — тот же текст и заглушка на одно фото).
   Блок стоит на белой скруглённой карточке, а не прямо на сером фоне секции; справа не одно фото,
   а большое фото слева от сетки 2×2 (photo_grid, media.php: отдельная вложенная лента для мелких фото —
   на чистом flex без CSS grid). Числа — из вёрстки Тильды (554×467 главное фото, 238×229 каждая из
   четырёх, зазор 8) */
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__row {
    padding: 40px;
    border-radius: 20px;
    background: #fff;
}
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__side { flex: 0 0 61%; }
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__images--photo-grid {
    display: flex;
    flex-wrap: nowrap; /* у общего класса .svc-media__images по умолчанию wrap — здесь это ломает раскладку */
    align-items: stretch;
    gap: 16px;
    height: 400px;
}
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img--main {
    flex: 54 1 0%; /* доля через flex-grow, а не %-basis: не нужно вручную вычитать зазор из процентов */
    height: 100%;
    min-width: 0;
    border-radius: 16px;
    object-fit: cover;
}
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img-grid {
    display: flex;
    flex: 46 1 0%;
    flex-wrap: wrap;
    align-content: space-between;
    gap: 8px;
    min-width: 0;
}
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img-grid .svc-media__img {
    flex: 1 1 calc(50% - 4px);
    height: calc(50% - 4px);
    min-width: 0;
    border-radius: 12px;
    object-fit: cover;
}
/* Только 2 фото сбоку (без 2×2 сетки, всего 3 фото в блоке) — ставим их друг под другом на всю высоту,
   а не в ряд с пустотой снизу (Tilda rec839394242 с урезанным набором фото, /child/scoliosis) */
:is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img-grid--2 {
    flex-direction: column;
}
@media (max-width: 991px) {
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__row { flex-direction: column; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__side { flex: none; width: 100%; order: 2; }
    /* Кнопка — в Тильде под фото, а не сразу под текстом: раскладываем body на плоские элементы
       строки и ставим кнопку последней (текст и подзаголовок остаются первыми по умолчанию, order:0) */
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__body { display: contents; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__body > .svc-btn { order: 3; width: 100%; margin-top: 24px; }
}
@media (max-width: 639px) {
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__row { padding: 20px; border-radius: 16px; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__images--photo-grid { flex-direction: column; height: auto; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img--main { height: 240px; }
    :is(.svc-page--posture, .svc-page--delays, .svc-page--scoliosis, .svc-page--feet, .svc-page--dcp, .svc-page--tbs) .svc-media--image-right .svc-media__img-grid { height: 240px; }
}

/* /child/posture: иконки мессенджеров стоят ближе к тексту, а не у правого края формы */
@media (min-width: 1200px) {
    .svc-page--posture .svc-offer__card .svc-offer__messenger { left: calc(810px + var(--ov)); }
}

/* «Остались вопросы?» — плавающая карточка справа от длинного SEO-текста (Tilda rec844519611): прилипает
   к верху при прокрутке длинной статьи и отклеивается у нижнего края строки-обёртки, когда текст заканчивается */
.svc-media__row--seo-aside { align-items: flex-start; gap: 40px; }
.svc-media__row--seo-aside .svc-media__title { flex: 0 0 220px; }
.svc-media__row--seo-aside .svc-media__text { flex: 1 1 0; min-width: 0; }
.svc-media__seo-aside { flex: 0 0 300px; align-self: flex-start; }
.svc-media__seo-aside-inner {
    position: sticky;
    top: 100px; /* ниже липкой шапки сайта, чтобы не наезжать друг на друга */
}
.svc-media__seo-aside-title {
    margin: 0 0 24px;
    font: 500 20px/28px 'FuturaPT', Arial, sans-serif;
    color: #171717;
}
.svc-media__seo-aside-title span { display: block; margin-top: 8px; font: 16px/25px 'Montserrat', Arial, sans-serif; color: #545252; }
.svc-media__seo-aside .svc-btn { min-width: 200px; border-radius: 32px; }

@media (max-width: 991px) {
    .svc-media__row--seo-aside { flex-direction: column; gap: 24px; }
    .svc-media__row--seo-aside .svc-media__title,
    .svc-media__row--seo-aside .svc-media__text { flex: none; width: 100%; }
    .svc-media__seo-aside { flex: none; width: 100%; }
    .svc-media__seo-aside-inner { position: static; }
}

/* ── Блок «С какими нарушениями мы работаем» (template-parts/service/problems.php) ── */

.svc-section--problems {
    padding: 60px 0 70px;
    background: #fff;
}

.svc-problems__heading {
    margin-bottom: 12px;
}

.svc-problems__subtitle {
    margin: 0 0 40px;
    font-size: 16px;
    line-height: 24px;
    color: #545252;
}

/* Одна колонка — строка на каждую категорию */
.svc-problems__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Каждая строка: категория слева, список справа */
.svc-problems__item {
    display: flex;
    align-items: flex-start;
    padding: 28px 0;
    border-bottom: 1px solid #e8e8e8;
}

.svc-problems__item:first-child {
    border-top: 1px solid #e8e8e8;
}

.svc-problems__cat-wrap {
    flex: 0 0 370px;
    max-width: 370px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-right: 24px;
    box-sizing: border-box;
}

.svc-problems__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    object-fit: contain;
}

span.svc-problems__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d9edf7;
    border-radius: 50%;
    box-sizing: border-box;
}

span.svc-problems__icon svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.svc-problems__cat {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    color: #171717;
    padding-top: 6px;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Список пунктов в 2 колонки — явный flex-split чёт/нечёт (не column-count: он переупорядочивает и сбивает строки) */
.svc-problems__cols {
    flex: 1;
    display: flex;
    gap: 40px;
}

.svc-problems__list {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.svc-problems__list li {
    padding-left: 22px;
    padding-bottom: 8px;
    position: relative;
    font-size: 15px;
    line-height: 22px;
    color: #353535;
}

.svc-problems__list li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: #0093d5;
}

@media (max-width: 991px) {
    .svc-problems__cat-wrap { flex: 0 0 280px; max-width: 280px; }
}

@media (max-width: 767px) {
    .svc-problems__item { flex-direction: column; gap: 16px; }
    .svc-problems__cat-wrap { flex: none; }
    .svc-problems__cols { flex-direction: column; gap: 0; }
    /* В колонку width:0 режет строку по словам: ширина нужна во всю карточку */
    .svc-problems__list { flex: none; width: auto; }
    .svc-section--problems { padding: 40px 0 50px; }
}

/* ── Блок «Что включает детская реабилитация» (template-parts/service/steps-photo.php) ── */

/* На Тильде (rec790356806) это плавающая белая панель 98% ширины со скруглением 20px на сером фоне страницы */
.svc-steps-photo {
    padding: 60px 0 70px;
    margin: 0 14px;
    border-radius: 20px;
    background: #fff;
}

.svc-steps-photo__heading { margin-bottom: 12px; }

.svc-steps-photo__subtitle {
    max-width: 900px;
    margin: 0 0 40px;
    font-size: 16px;
    line-height: 24px;
    color: #545252;
}

.svc-steps-photo__list {
    display: flex;
    flex-direction: column;
}

.svc-steps-photo__item {
    display: flex;
    align-items: stretch;
    gap: 40px;
    padding: 32px 0;
    border-top: 1px solid #e8e8e8;
}

.svc-steps-photo__item:last-child { border-bottom: 1px solid #e8e8e8; }

.svc-steps-photo__col-head {
    flex: 0 0 220px;
    max-width: 220px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.svc-steps-photo__col-image {
    flex: 0 0 260px;
    max-width: 260px;
    box-sizing: border-box;
}

.svc-steps-photo__image {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: #ebebeb;
}
.svc-steps-photo__image img { display: block; width: 100%; height: 150px; object-fit: cover; }

.svc-steps-photo__num {
    display: block;
    margin-bottom: 6px;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #0093d5;
}

.svc-steps-photo__title {
    margin: 0;
    font-family: 'FuturaPT', Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: #171717;
}

.svc-steps-photo__text {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding-top: 4px;
    font-size: 15px;
    line-height: 24px;
    color: #353535;
}

@media (max-width: 991px) {
    .svc-steps-photo__col-head { flex: 0 0 180px; max-width: 180px; }
    .svc-steps-photo__col-image { flex: 0 0 200px; max-width: 200px; }
}

@media (max-width: 767px) {
    .svc-steps-photo__item { flex-direction: column; gap: 16px; }
    .svc-steps-photo__col-head,
    .svc-steps-photo__col-image { flex: none; max-width: none; width: 100%; }
    .svc-steps-photo { padding: 40px 0 50px; }
}

/* «Что вы получите» (template-parts/blog/diagnostics-offer.php, id=benefits) на /child — своя позиция фото.
   Серая подложка пункта остаётся под фото (не поднимаем весь .blog-offer__benefit), а сам текст — поверх фото. */
.svc-page--child #benefits .blog-offer__photo {
    top: 60px;
    right: -131px;
}
.svc-page--child #benefits .blog-offer__benefit > span:last-child {
    position: relative;
    z-index: 2;
}

/* ── Акция «Массаж со скидкой 50%» (/mssg-oct) ────────────────────────────── */
/* Первый экран: светлый фон, текст слева, фото скруглённым блоком справа
   (Tilda rec4716367601: артборд 669px, фото 684×646 с отступом 12px сверху) */
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo {
    display: block;
    min-height: 669px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: #f5f5f5;
    color: #14313f;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo::before { display: none; }

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__media {
    position: absolute;
    top: 12px;
    right: 29px;
    width: 684px;
    height: 646px;
    overflow: hidden;
    border-radius: 16px;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__bg {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner {
    display: block;
    max-width: none;
    padding: 71px 72px 0;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content { max-width: 557px; }

/* Оценки Яндекс Карт и 2ГИС — плашки над заголовком */
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__features {
    order: -1;
    display: flex;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: 400 15px/16px 'Montserrat', Arial, sans-serif;
    color: #14313f;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature::before { display: none; }
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-icon {
    flex-shrink: 0;
    width: 62px;
    height: 16px;
    object-fit: contain;
    object-position: left center;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-text::before {
    content: '★';
    margin-right: 6px;
    color: #ffb800;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__title {
    max-width: 557px;
    margin: 54px 0 0;
    font-size: 36px;
    line-height: 43px;
    color: #14313f;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__title span { color: #0093d5; }

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__text {
    max-width: 557px;
    margin: 29px 0 0;
    font-size: 16px;
    line-height: 23px;
    color: #505d63;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin: 58px 0 0;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-label {
    font: 400 15px/15px 'Montserrat', Arial, sans-serif;
    color: #555;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row strong {
    font: 500 24px/24px 'FuturaPT', Arial, sans-serif;
    color: #14313f;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-old {
    font: 400 15px/15px 'Montserrat', Arial, sans-serif;
    color: #555;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__actions { margin: 43px 0 0; }

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__btn {
    width: 323px;
    min-height: 79px;
    border-radius: 40px;
    background: #0093d5;
    color: #fff;
}

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__btn:hover { background: #0080b9; }

/* Ниже 1200 фото уходит под текст — как в мобильной раскладке Тильды */
@media (max-width: 1199px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo { min-height: 0; padding-bottom: 40px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner { padding: 40px 24px 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__media {
        position: static;
        width: 100%;
        height: 338px;
        margin: 32px auto 0;
        border-radius: 12px;
    }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content { max-width: none; }
}

/* Телефон — раскладка Тильды при 375: всё по центру, фото под кнопкой (350×338) */
@media (max-width: 639px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo { padding: 0 0 59px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner { padding: 10px 12px 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content {
        align-items: center;
        width: 350px;
        max-width: 100%;
        min-height: 527px;
        margin: 0 auto;
        padding: 34px 24px 40px;
        text-align: center;
    }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__features { justify-content: center; gap: 22px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__title {
        margin: 44px 0 0;
        font-size: 32px;
        line-height: 36px;
    }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__text { margin: 24px 0 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price { gap: 16px; margin: 36px 0 0; align-items: center; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row { justify-content: center; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row strong { font-size: 26px; line-height: 26px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__actions { margin: 36px 0 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__btn { width: 300px; min-height: 64px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__media {
        width: 350px;
        max-width: calc(100% - 26px);
        height: 338px;
        margin: 31px auto 0;
    }

    /* Карточки на телефоне — 320px с отступом 8px, как в Тильде */
    .svc-page--mssgoct .svc-cards__list { gap: 8px; }
}

/* Вся страница акции на светло-сером фоне, как в Тильде */
.svc-page--mssgoct { background: #f5f5f5; }

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__features { flex-wrap: nowrap; }
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature { min-height: 0; }

/* Плашка оценки — логотип и цифра в строку (в базовом правиле плашек колонка) */
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature {
    flex-direction: row;
    width: auto;
    white-space: nowrap;
}

/* Левая колонка первого экрана — белая плашка 684×646 (Tilda: та же, что у фото, радиус 12) */
.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner { padding: 12px 24px 0; }

.svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content {
    box-sizing: border-box;
    width: 684px;
    max-width: 100%;
    min-height: 646px;
    padding: 59px 48px 0;
    border-radius: 12px;
    background: #fff;
}

/* Карточки «Почему кинезио массаж» и «Проблемы» — белые плашки 379×…, радиус 8, поля 24 */
.svc-page--mssgoct .svc-cards .svc-container { max-width: 1161px; }
.svc-page--mssgoct .svc-cards__list { gap: 12px; }
.svc-page--mssgoct .svc-cards__list--cols-3 > .svc-card { flex-basis: calc((100% - 24px) / 3); }

.svc-page--mssgoct .svc-card {
    box-sizing: border-box;
    padding: 24px;
    border-radius: 8px;
    background: #fff;
}

.svc-page--mssgoct .svc-cards__title { font-size: 34px; line-height: 37px; }
.svc-page--mssgoct .svc-cards--photo .svc-card__image { border-radius: 4px; }
.svc-page--mssgoct .svc-cards--photo .svc-card__image img { height: 200px; }
.svc-page--mssgoct .svc-cards--photo .svc-card__body { margin-top: 24px; }
.svc-page--mssgoct .svc-card__icon { width: 20px; height: 20px; }
.svc-page--mssgoct .svc-card__title { font-size: 16px; font-weight: 700; line-height: 26px; color: #14313f; }
.svc-page--mssgoct .svc-card__text { margin-top: 8px; font-size: 16px; line-height: 26px; color: #415965; }

@media (max-width: 991px) {
    .svc-page--mssgoct .svc-cards .svc-container { max-width: none; }
}

/* ── Акция /mssg-oct: сверка с Тильдой по скриншотам (десктоп) ─────────────── */
@media (min-width: 1200px) {
    /* «Почему кинезио массаж» и «Проблемы»: поля секций и карточки фиксированной высоты, как в артборде Тильды */
    .svc-page--mssgoct .svc-cards.svc-section { padding: 90px 0 26px; }
    .svc-page--mssgoct .svc-cards--plain.svc-section { padding: 90px 0 0; }
    .svc-page--mssgoct .svc-cards__title { margin: 0; }
    .svc-page--mssgoct .svc-cards--plain .svc-cards__title { max-width: 365px; }
    .svc-page--mssgoct .svc-cards--photo .svc-cards__list { margin-top: 28px; }
    .svc-page--mssgoct .svc-cards--plain .svc-cards__list { margin-top: 37px; }

    .svc-page--mssgoct .svc-cards--photo .svc-card { height: 350px; }
    /* фото занимает всё свободное место над текстом (в третьей карточке в Тильде оно ниже на 26px) */
    .svc-page--mssgoct .svc-cards--photo .svc-card__image { flex: 1 1 auto; min-height: 0; max-height: 200px; }
    .svc-page--mssgoct .svc-cards--photo .svc-card__image img { height: 100%; }
    .svc-page--mssgoct .svc-cards--photo .svc-card__body { flex: none; padding-top: 0; }
    .svc-page--mssgoct .svc-cards--photo .svc-card__text { margin-top: 0; }
    /* во второй карточке заголовок идёт в строку с текстом */
    .svc-page--mssgoct .svc-cards--photo .svc-card:nth-child(2) .svc-card__title,
    .svc-page--mssgoct .svc-cards--photo .svc-card:nth-child(2) .svc-card__text { display: inline; }

    .svc-page--mssgoct .svc-cards--plain .svc-card { height: 230px; gap: 0; }
    .svc-page--mssgoct .svc-cards--plain .svc-card__icon { margin-bottom: 24px; }
    .svc-page--mssgoct .svc-cards--plain .svc-card__body { padding-top: 0; }
}

/* Блок «Запатентованная методика»: колонка 646px, значок над абзацем, фото 469×526 (Tilda rec4717859001) */
@media (min-width: 1200px) {
    .svc-page--mssgoct .method-home { padding: 90px 0 2px; }
    .svc-page--mssgoct .method-home .container { width: 1161px; max-width: calc(100% - 48px); }
    .svc-page--mssgoct .method-home__row { gap: 46px; align-items: flex-start; }
    .svc-page--mssgoct .method-home__left { flex: 0 0 646px; display: block; }
    .svc-page--mssgoct .method-home__title { margin: 2px 0 16px; font-size: 34px; line-height: 34px; color: #14313f; }
    .svc-page--mssgoct .method-home__text { max-width: 617px; margin: 0 0 28px; font-size: 16px; line-height: 24px; color: #4b5e67; }
    .svc-page--mssgoct .method-home__patent { display: block; max-width: none; margin: 0 0 28px; }
    .svc-page--mssgoct .method-home__patent-icon { display: block; width: 40px; height: 40px; margin-bottom: 12px; }
    .svc-page--mssgoct .method-home__patent-text { font-size: 16px; line-height: 24px; color: #4b5e67; }
    .svc-page--mssgoct .method-home__patent-text strong { font-weight: 500; color: #14313f; }
    .svc-page--mssgoct .method-home__btn { width: 240px; height: 60px; margin: 0; padding: 0 16px; font-size: 15px; }
    .svc-page--mssgoct .method-home__photo { flex: 0 0 469px; height: 526px; }
}

/* «Нам доверяют» со стрелками (Tilda rec4717859101/201): заголовок + стрелки, карточки 320×440 */
@media (min-width: 1200px) {
    .svc-page--mssgoct .celeb-home--arrows { padding: 90px 0 0; overflow: hidden; }
    .svc-page--mssgoct .celeb-home--arrows .container { max-width: 1161px; }
    .svc-page--mssgoct .celeb-home__head { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 0 0 30px; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__title { max-width: none; margin: 0; font-size: 34px; line-height: 37px; color: #14313f; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrow { border-radius: 8px; background: #fff; color: #0093d5; transition: background-color .2s, color .2s, opacity .2s; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrow + .svc-arrow { background: #0093d5; color: #fff; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrow:hover { background: #0081b8; color: #fff; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__track { gap: 10px; margin-right: calc(50% - 50vw); }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__card { flex: 0 0 320px; height: 440px; }
    /* имя и описание одним абзацем: «Екатерина Шпица, актриса театра и кино…» */
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__info { top: 328px; left: 24px; right: 24px; font-size: 14px; line-height: 22px; color: #e0e0e0; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__name { display: inline; font-size: 14px; font-weight: 700; line-height: 22px; color: #fff; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__name::after { content: ','; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__desc { display: inline; margin: 0; font-size: 14px; line-height: 22px; }

    /* Отзывы: поля секции, заголовок и высота карточек как в артборде */
    .svc-page--mssgoct .svc-testimonials.svc-section { padding: 90px 0 0; }
    .svc-page--mssgoct .svc-testimonials .svc-container { max-width: 1161px; }
    .svc-page--mssgoct .svc-testimonials__title { font-size: 34px; line-height: 37px; color: #14313f; }
    .svc-page--mssgoct .svc-testimonials .svc-subtitle { max-width: 506px; margin-top: 8px; color: #393737; }
    .svc-page--mssgoct .svc-testimonials__track { margin-top: 30px; }
    .svc-page--mssgoct .svc-testimonials--slider .svc-review { height: 450px; min-height: 0; }
}

/* Команда слева текстом, справа три карточки «ступенькой» с круглыми фото (Tilda rec4717352201) */
@media (min-width: 1200px) {
    .svc-page--mssgoct .svc-team--side { padding: 90px 0 0; }
    .svc-page--mssgoct .svc-team--side .container { max-width: 1161px; }
    .team-side { display: grid; grid-template-columns: 448px 1fr; align-items: start; }
    .team-side__main { position: relative; height: 373px; }
    .svc-page--mssgoct .team-side .team__title { max-width: 394px; margin: 0; font-size: 34px; line-height: 37px; color: #171717; }
    .svc-page--mssgoct .team-side .team__title span { display: inline-block; }
    .svc-page--mssgoct .team-side .team__subtitle { max-width: 376px; margin: 20px 0 0; font-size: 16px; line-height: 25px; color: #3f3f3f; }
    .team-side__ask { position: absolute; left: 0; bottom: 0; box-sizing: border-box; display: flex; align-items: center; gap: 8px; width: 409px; height: 98px; padding: 0 24px; border-radius: 8px; background: #fff; }
    .team-side__ask p { width: 217px; margin: 0 30px 0 0; font-size: 16px; line-height: 25px; color: #3f3f3f; }
    .team-side__ask p strong { font-weight: 500; color: #171717; }
    .team-side__ask a { display: block; flex: none; width: 50px; height: 50px; }
    .team-side__ask img { display: block; width: 50px; height: 50px; }
    .team-side__cards { display: flex; align-items: flex-start; gap: 8px; }
    .team-side__card { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; flex: 0 0 232px; min-height: 306px; padding: 24px; border-radius: 8px; background: #fff; text-align: center; text-decoration: none; }
    .team-side__card:nth-child(2) { margin-top: 67px; }
    .team-side__photo { display: block; width: 140px; height: 140px; overflow: hidden; border-radius: 50%; background: #eef2f5; }
    .team-side__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
    .team-side__name { width: 96px; margin-top: 24px; font-size: 16px; font-weight: 700; line-height: 22px; color: #171717; }
    .team-side__role { margin-top: 8px; font-size: 15px; line-height: 21px; color: #3f3f3f; }
}

/* «Читать полностью» в ленте отзывов акции не нужно: в Тильде карточки без раскрытия */
.svc-page--mssgoct .svc-review__more { display: none; }

/* «Записаться прямо сейчас»: заголовок и белая плашка с фото, ценой и кнопкой (Tilda rec4719374301 + rec4719258901) */
@media (min-width: 1200px) {
    .svc-page--mssgoct .svc-offer--promo { padding: 90px 0 0; }
    .svc-page--mssgoct .svc-offer--promo .svc-container { max-width: 1161px; }
    .svc-offer__head { margin: 0; font-size: 34px; line-height: 37px; color: #171717; }
    .svc-offer__promo { box-sizing: border-box; display: flex; gap: 40px; margin-top: 30px; padding: 30px; border-radius: 12px; background: #fff; }
    .svc-offer__promo-photo { position: relative; flex: 0 0 474px; height: 334px; overflow: hidden; border-radius: 8px; background: #ebf2f6; }
    .svc-offer__promo-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .svc-offer__promo-badge { position: absolute; left: 16px; bottom: 16px; padding: 0 12px; border-radius: 20px; background: #fff; font-size: 13px; font-weight: 600; line-height: 29px; color: #14313f; }
    .svc-offer__promo-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; }
    .svc-offer__promo-title { max-width: 460px; margin: 0; font-size: 20px; font-weight: 700; line-height: 24px; color: #14313f; }
    .svc-offer__promo-title span { color: #0093d5; }
    .svc-offer__promo-text { max-width: 460px; margin: 8px 0 0; font-size: 15px; line-height: 20px; color: #4b5e67; }
    .svc-offer__promo-list { margin: 20px 0 0; padding: 0; list-style: none; }
    .svc-offer__promo-list li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 20px; color: #4b5e67; }
    .svc-offer__promo-list li + li { margin-top: 8px; }
    .svc-offer__promo-list li::before { content: ''; flex: none; width: 5px; height: 5px; border-radius: 2px; background: #0093d5; }
    .svc-offer__promo-list strong { font-weight: 600; color: #14313f; }
    .svc-offer__promo-price { margin-top: 24px; }
    .svc-offer__promo-label { display: block; font-size: 15px; font-weight: 500; line-height: 15px; color: #4b5e67; }
    .svc-offer__promo-label strong { font-weight: 700; color: #14313f; }
    .svc-offer__promo-row { display: flex; align-items: baseline; gap: 12px; margin: 12px 0 0; font-size: 15px; line-height: 24px; color: #4b5e67; }
    .svc-offer__promo-row strong { font-size: 24px; font-weight: 700; color: #14313f; }
    .svc-offer__promo-btn { width: 246px; height: 58px; margin-top: auto; padding: 0; border: 0; border-radius: 50px; background: #0093d5; font: 500 14px/1.55 'Montserrat', Arial, sans-serif; color: #fff; cursor: pointer; transition: background-color .2s; }
    .svc-offer__promo-btn:hover { background: #0080b9; }
}

/* «Остались вопросы?»: форма слева, специалист и мессенджеры справа, белая карточка 1160×527 (Tilda rec4717859501) */
@media (min-width: 1200px) {
    .svc-offer--doctor-rev { padding: 75px 0 60px; --ov: 0px; }
    .svc-offer--doctor-rev .svc-container { max-width: 1161px; }
    .svc-offer--doctor-rev .svc-offer__card { margin: 22px 0 0; min-height: 527px; border-radius: 20px; background: #fff; }
    .svc-offer--doctor-rev .svc-offer__photo { left: 419px; top: -22px; width: 442px; height: 549px; margin: 0; }
    .svc-offer--doctor-rev .svc-offer__photo img { height: 100%; object-fit: contain; object-position: bottom; }
    .svc-offer--doctor-rev .svc-offer__person { left: auto; right: 50px; top: 50px; width: 285px; text-align: right; }
    .svc-offer--doctor-rev .svc-offer__dot { display: none; }
    .svc-offer--doctor-rev .svc-offer__name { align-items: flex-end; gap: 0; color: #14313f; }
    .svc-offer--doctor-rev .svc-offer__role { margin-top: 8px; color: #4b5e67; }
    .svc-offer--doctor-rev .svc-offer__form { flex: 0 0 358px; margin: 50px 0 0 50px; }
    .svc-offer--doctor-rev .svc-offer__title { max-width: 295px; font-size: 32px; line-height: 35px; color: #14313f; }
    .svc-offer--doctor-rev .svc-offer__title span { display: inline-block; }
    .svc-offer--doctor-rev .svc-offer__text { max-width: 325px; margin-top: 16px; line-height: 25px; color: #4b5e67; }
    .svc-offer--doctor-rev .svc-offer__row-form { width: 358px; margin-top: 28px; }
    .svc-offer--doctor-rev .svc-offer__row-form .blog-offer__submit { width: 100%; }
    .svc-offer--doctor-rev .svc-offer__card .svc-offer__messenger { top: 344px; right: 50px; left: auto; width: 251px; flex-direction: column; align-items: flex-end; gap: 23px; text-align: right; color: #4b5e67; }
    .svc-offer--doctor-rev .svc-offer__messenger span { max-width: 251px; }
    .svc-offer--doctor-rev .svc-offer__messenger strong { color: #14313f; font-weight: 700; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers { gap: 4px; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers a { width: 60px; height: 60px; background: none; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers img { width: 60px; height: 60px; }
}

/* Первый экран (десктоп): плашки оценок Карты/2ГИС, жирное первое предложение, вертикальные отступы как в Tilda rec4716367601 */
@media (min-width: 1200px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content { padding-top: 48px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__features { gap: 14px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature { gap: 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-icon { box-sizing: content-box; width: 62px; height: 16px; padding: 11px 12px; border-radius: 34px; background: #ebf2f6; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-text { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; height: 38px; min-width: 72px; padding: 0 12px; border: .84px solid #c8d8df; border-radius: 34px; font: 700 14px/14px 'Montserrat', Arial, sans-serif; color: #000; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__title { margin-top: 43px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__text { line-height: 25.6px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__text strong { font-weight: 600; color: #14313f; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price { margin-top: 53px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row strong { font-weight: 600; }
}

/* ── Акция /mssg-oct: телефон и планшет (Tilda: колонка 320px по центру) ───── */
@media (max-width: 1199px) {
    .svc-page--mssgoct .svc-cards .svc-container,
    .svc-page--mssgoct .svc-team--side .container,
    .svc-page--mssgoct .svc-offer--promo .svc-container,
    .svc-page--mssgoct .method-home .container,
    .svc-page--mssgoct .celeb-home--arrows .container,
    .svc-page--mssgoct .svc-testimonials .svc-container {
        box-sizing: border-box;
        width: calc(100% - 55px);
        max-width: 600px;
        margin: 0 auto;
        padding: 0;
    }

    /* «Почему кинезио массаж» и «Проблемы»: карточки в столбик, фото 150px, текст 14/23 */
    .svc-page--mssgoct .svc-cards.svc-section { padding: 60px 0 0; }
    .svc-page--mssgoct .svc-cards__title { margin: 0; font-size: 28px; line-height: 31px; }
    .svc-page--mssgoct .svc-cards__list { gap: 8px; margin-top: 22px; }
    .svc-page--mssgoct .svc-cards__list--cols-3 > .svc-card { flex-basis: 100%; }
    .svc-page--mssgoct .svc-card__title,
    .svc-page--mssgoct .svc-card__text { font-size: 14px; line-height: 23px; }
    .svc-page--mssgoct .svc-card__text { margin-top: 0; }
    .svc-page--mssgoct .svc-cards--photo .svc-card__image img { height: 150px; }
    .svc-page--mssgoct .svc-cards--photo .svc-card__body { padding-top: 0; }
    .svc-page--mssgoct .svc-cards--photo .svc-card:nth-child(2) .svc-card__title,
    .svc-page--mssgoct .svc-cards--photo .svc-card:nth-child(2) .svc-card__text { display: inline; }
    .svc-page--mssgoct .svc-cards--plain.svc-section { padding-bottom: 120px; }
    .svc-page--mssgoct .svc-cards--plain .svc-cards__list { margin-top: 11px; }
    .svc-page--mssgoct .svc-cards--plain .svc-card { min-height: 204px; padding-top: 34px; }
    .svc-page--mssgoct .svc-cards--plain .svc-card__icon { display: none; }
    .svc-page--mssgoct .svc-cards--plain .svc-card__body { padding-top: 0; }
    .svc-page--mssgoct .svc-cards--plain .svc-card__text { margin-top: 8px; }

    /* Команда: заголовок по центру, карточки в строку со ступенькой, вопрос — внизу */
    .svc-page--mssgoct .svc-team--side { padding: 60px 0 0; }
    .team-side { display: flex; flex-direction: column; }
    .team-side__main { display: contents; }
    .svc-page--mssgoct .team-side .team__title { order: 1; margin: 0; font-size: 28px; line-height: 31px; text-align: center; color: #171717; }
    .svc-page--mssgoct .team-side .team__subtitle { order: 2; margin: 20px 0 0; font-size: 16px; line-height: 25px; text-align: center; color: #3f3f3f; }
    .team-side__cards { order: 3; display: flex; flex-direction: column; gap: 8px; margin-top: 32px; }
    .team-side__card { box-sizing: border-box; display: grid; grid-template-columns: 90px 1fr; column-gap: 20px; align-content: start; padding: 18px; border-radius: 8px; background: #fff; text-decoration: none; }
    .team-side__card:nth-child(1) { width: calc(100% - 20px); }
    .team-side__card:nth-child(2) { margin-left: 30px; }
    .team-side__card:nth-child(3) { margin-right: 30px; }
    .team-side__photo { display: block; grid-row: 1 / span 2; width: 90px; height: 90px; overflow: hidden; border-radius: 50%; background: #eef2f5; }
    .team-side__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
    .team-side__name { display: block; width: 100px; align-self: start; font-size: 16px; font-weight: 700; line-height: 22px; color: #171717; }
    .team-side__role { display: block; margin-top: 6px; font-size: 14px; line-height: 20px; color: #3f3f3f; }
    .team-side__ask { order: 4; box-sizing: border-box; display: flex; align-items: center; gap: 4px; height: 74px; margin-top: 32px; padding: 0 15px; border-radius: 8px; background: #fff; }
    .team-side__ask p { width: 189px; margin: 0 4px 0 0; font-size: 14px; line-height: 22px; color: #3f3f3f; }
    .team-side__ask p strong { font-weight: 500; color: #171717; }
    .team-side__ask a,
    .team-side__ask img { display: block; flex: none; width: 46px; height: 46px; }

    /* «Записаться прямо сейчас»: фото сверху, под ним название, пункты, цена и кнопка на всю ширину */
    .svc-page--mssgoct .svc-offer--promo { padding: 60px 0 0; }
    .svc-offer__head { margin: 0; font-size: 28px; line-height: 31px; color: #171717; }
    .svc-offer__promo { box-sizing: border-box; display: flex; flex-direction: column; margin-top: 30px; padding: 20px; border-radius: 12px; background: #fff; }
    .svc-offer__promo-photo { position: relative; height: 240px; overflow: hidden; border-radius: 8px; background: #ebf2f6; }
    .svc-offer__promo-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .svc-offer__promo-badge { position: absolute; left: 12px; top: 12px; padding: 0 12px; border-radius: 20px; background: #fff; font-size: 12px; font-weight: 600; line-height: 28px; color: #14313f; }
    .svc-offer__promo-body { display: flex; flex-direction: column; margin-top: 32px; }
    .svc-offer__promo-title { margin: 0; font-size: 19px; font-weight: 700; line-height: 23px; color: #14313f; }
    .svc-offer__promo-title span { color: #0093d5; }
    .svc-offer__promo-text { margin: 8px 0 0; font-size: 14px; line-height: 19px; color: #4b5e67; }
    .svc-offer__promo-list { margin: 16px 0 0; padding: 0; list-style: none; }
    .svc-offer__promo-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 19px; color: #4b5e67; }
    .svc-offer__promo-list li + li { margin-top: 8px; }
    .svc-offer__promo-list li::before { content: ''; flex: none; width: 6px; height: 6px; margin-top: 6px; border-radius: 2px; background: #0093d5; }
    .svc-offer__promo-list strong { font-weight: 600; color: #14313f; }
    .svc-offer__promo-price { margin-top: 28px; }
    .svc-offer__promo-label { display: block; font-size: 15px; font-weight: 500; line-height: 11px; color: #4b5e67; }
    .svc-offer__promo-label strong { font-weight: 700; color: #14313f; }
    .svc-offer__promo-row { display: flex; align-items: baseline; gap: 12px; margin: 16px 0 0; font-size: 15px; line-height: 17px; color: #4b5e67; }
    .svc-offer__promo-row strong { font-size: 24px; font-weight: 700; line-height: 17px; color: #14313f; }
    .svc-offer__promo-btn { width: 100%; height: 59px; margin-top: 28px; padding: 0; border: 0; border-radius: 50px; background: #0093d5; font: 500 14px/1.55 'Montserrat', Arial, sans-serif; color: #fff; cursor: pointer; }

    /* Методика: заголовок 26/26, фото 320×270 между абзацем и значком, кнопка на всю ширину */
    .svc-page--mssgoct .method-home { padding: 60px 0 2px; }
    .svc-page--mssgoct .method-home__title { margin: 0 0 16px; font-size: 26px; line-height: 26px; color: #14313f; }
    .svc-page--mssgoct .method-home__text { max-width: none; margin: 0 0 36px; font-size: 15px; line-height: 23px; color: #4b5e67; }
    .svc-page--mssgoct .method-home__photo { width: 100%; max-width: none; height: 270px; margin: 0 0 36px; }
    .svc-page--mssgoct .method-home__patent { display: block; max-width: none; margin: 0 0 36px; }
    .svc-page--mssgoct .method-home__patent-icon { display: block; flex: none; width: 44px; height: 44px; margin-bottom: 12px; }
    .svc-page--mssgoct .method-home__patent-text { font-size: 15px; line-height: 23px; letter-spacing: 0; color: #4b5e67; }
    .svc-page--mssgoct .method-home__patent-text strong { font-weight: 500; color: #14313f; }
    .svc-page--mssgoct .method-home__btn { width: 100%; height: 64px; margin: 0; font-size: 15px; }

    /* Нам доверяют */
    .svc-page--mssgoct .celeb-home--arrows { padding: 75px 0 0; overflow: hidden; }
    .svc-page--mssgoct .celeb-home__head { margin: 0 0 41px; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__title { margin: 4px 0 0; font-size: 30px; line-height: 33px; color: #14313f; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__track { gap: 12px; margin-right: calc(50% - 50vw); }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__card { flex: 0 0 300px; height: 440px; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__info { top: 328px; left: 24px; right: 24px; font-size: 14px; line-height: 22px; color: #e0e0e0; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__name { display: inline; font-size: 14px; font-weight: 700; line-height: 22px; color: #fff; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__name::after { content: ','; }
    .svc-page--mssgoct .celeb-home--arrows .celeb-home__desc { display: inline; margin: 0; font-size: 14px; line-height: 22px; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrow { border-radius: 8px; background: #fff; color: #0093d5; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrow + .svc-arrow { background: #0093d5; color: #fff; }

    /* Отзывы */
    .svc-page--mssgoct .svc-testimonials.svc-section { padding: 75px 0 0; }
    .svc-page--mssgoct .svc-testimonials__title { margin-top: 4px; font-size: 30px; line-height: 33px; color: #14313f; }
    .svc-page--mssgoct .svc-testimonials .svc-subtitle { max-width: none; margin-top: 8px; font-size: 15px; line-height: 23px; color: #393737; }
    .svc-page--mssgoct .svc-testimonials__track { margin-top: 30px; }
    .svc-page--mssgoct .svc-testimonials--slider .svc-review { height: 540px; min-height: 0; }
}

@media (max-width: 639px) {
    .svc-page--mssgoct .svc-testimonials__track { margin-left: -10px; }
    .svc-page--mssgoct .celeb-home--arrows .svc-arrows { display: none; }
}

/* Первый экран ниже 1200: сначала белая карточка, под ней фото (в DOM фото идёт первым), плашки оценок 34px */
@media (max-width: 1199px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo { display: flex; flex-direction: column; padding-bottom: 9px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner { order: 1; width: 100%; box-sizing: border-box; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__media { order: 2; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__features { gap: 12px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature { gap: 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-icon { box-sizing: content-box; width: 52px; height: 14px; padding: 10px; border-radius: 34px; background: #ebf2f6; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__feature-text { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; height: 34px; min-width: 60px; padding: 0 10px; border: .84px solid #c8d8df; border-radius: 34px; font: 700 12px/12px 'Montserrat', Arial, sans-serif; color: #000; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__text strong { font-weight: 600; color: #14313f; }
}

@media (max-width: 639px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo { padding-bottom: 9px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__inner { padding: 10px 13px 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__content { min-height: 527px; padding: 24px 24px 24px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__title { margin-top: 36px; font-size: 32px; line-height: 27px; letter-spacing: -.6px; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price { padding: 0; border: 0; }
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row,
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo .svc-hero__price-row strong { line-height: 18px; }
}

/* «Остались вопросы?» на телефоне: заголовок и форма по центру, мессенджеры в строку, фото внизу карточки (Tilda rec4717859501) */
@media (max-width: 1199px) {
    .svc-page--mssgoct .team-side .team__title span { display: inline-block; }
    .svc-offer--doctor-rev { padding: 75px 0 60px; }
    .svc-offer--doctor.svc-offer--doctor-rev .svc-container { box-sizing: border-box; max-width: none; padding-left: 11px; padding-right: 11px; }
    .svc-offer--doctor-rev .svc-offer__card { overflow: hidden; min-height: 0; margin: 0; padding: 40px 17px 0; border-radius: 16px; background: #fff; }
    .svc-offer--doctor-rev .svc-offer__person { display: none; }
    .svc-offer--doctor-rev .svc-offer__form { order: 1; max-width: none; width: 100%; }
    .svc-offer--doctor-rev .svc-offer__title { max-width: none; font-size: 26px; line-height: 29px; text-align: center; color: #14313f; }
    .svc-offer--doctor-rev .svc-offer__text { max-width: none; margin-top: 16px; font-size: 15px; line-height: 24px; text-align: center; color: #4b5e67; }
    .svc-offer--doctor-rev .svc-offer__row-form { margin-top: 24px; }
    .svc-offer--doctor-rev .svc-offer__messenger { order: 5; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: 31px; font-size: 15px; line-height: 23px; color: #4b5e67; }
    .svc-offer--doctor-rev .svc-offer__messenger span { max-width: 203px; }
    .svc-offer--doctor-rev .svc-offer__messenger strong { font-weight: 700; color: #14313f; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers { order: 2; gap: 4px; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers a { width: 46px; height: 46px; background: none; }
    .svc-offer--doctor-rev .svc-offer__messenger .svc-messengers img { width: 46px; height: 46px; }
    .svc-offer--doctor-rev .svc-offer__photo { order: 2; display: block; width: 254px; height: 286px; margin: 34px auto 0; }
    .svc-offer--doctor-rev .svc-offer__photo img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
}

/* Широкие экраны: первый экран держим в рамке 1440, иначе колонка и фото разъезжаются к краям окна */
@media (min-width: 1441px) {
    .svc-page.svc-page--mssgoct .svc-hero.svc-hero--photo { max-width: 1440px; margin: 0 auto; }
}
