/* === Самостоятельная страница: консультации по медицинскому праву === */
/* Section gap: same vertical spacing between all major sections (hero, divider, content, pricing).
   Testimonials section: padding-top must be >= internal offset (heading to cards); see .testimonials-title margin-bottom in testimonials.css (5rem on desktop). */
.consultation-page {
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Montserrat', sans-serif;
    overflow-x: clip;
    --section-gap: 40px;
    /* Рычаги для настройки hero-текста в DevTools */
    --hero-title-size: 56px;
    --hero-title-max: 32ch;
    --hero-subtitle-size: 26px;
    --hero-subtitle-max: 68ch;
}

.consultation-page__container {
    max-width: 1840px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Prevent carousel overflow at 1920: no extra horizontal margin (container already has padding) */
.consultation-page .testimonials-carousel {
    margin-left: 0;
    margin-right: 0;
}

.consultation-page__shell {
    margin: 24px 0 40px;
}

.consultation-page .breadcrumbs {
    margin: 0 0 34px;
    padding: 0;
    color: #fff;
}

.consultation-page .breadcrumbs__link,
.consultation-page .breadcrumbs__separator {
    color: rgba(255, 255, 255, 0.8);
}

.consultation-page .breadcrumbs__current {
    color: #A64200;
    font-weight: 500;
}

.consultation-page .breadcrumbs__link:hover {
    color: rgba(255, 255, 255, 0.9);
}

.consultation-page .consultation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 44px;
    align-items: start;
    padding-right: 40px;
    box-sizing: border-box;
}

/* Plaque for the whole hero row (text + icon) — same fill/border as .inheritance-service-hero */
.consultation-page .consultation-layout--hero {
    background: var(--hero-plaque-bg, rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    padding: 36px 36px 40px;
    margin-bottom: var(--section-gap);
}

.consultation-page .consultation-layout--hero .consultation-hero {
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.consultation-page .consultation-layout--content {
    margin-top: var(--section-gap);
}


.consultation-page .consultation-divider {
    margin: 0 0 var(--section-gap);
    color: rgba(255, 255, 255, 0.7);
    font-size: 22px;
    line-height: 1.7;
}

.consultation-page .consultation-divider p {
    margin: 0 0 18px;
}

.consultation-page .consultation-divider p:last-child {
    margin-bottom: 0;
}

.consultation-page .consultation-pricing {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px;
}

.consultation-page .consultation-pricing-section {
    margin: var(--section-gap) 0 0;
}

.consultation-page .testimonials {
    /* Match internal spacing: .testimonials-title margin-bottom is 5rem (80px) on desktop */
    padding-top: 80px;
}

.consultation-page .consultation-pricing-section h2 {
    margin: 0 0 40px;
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0.03em;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
}

/* Intro paragraphs above cards only; card price has its own rule below. 24px = same as child pages description text */
.consultation-page .consultation-pricing__intro p {
    margin: 0 0 16px;
    font-size: 22px;
    line-height: 1.6;
}

/* Only reset last intro paragraph; do not affect price in cards */
.consultation-page .consultation-pricing__intro p:last-of-type {
    margin-bottom: 0;
}

.consultation-page .consultation-pricing__intro {
    display: block;
    margin-bottom: 24px;
    text-align: center;
}

/* From pricing block down: section titles centered (shared sections from main) */
.consultation-page .testimonials .testimonials-title,
.consultation-page .stages-timeline .stages-timeline__title,
.consultation-page .medical-mini-contact__title {
    text-align: center;
}

/* Другие услуги (перелинковка): заголовок по левому краю */
.consultation-page .consultation-page__links h2 {
    text-align: left;
}

/* FAQ block has different layout — title left-aligned */
.consultation-page .medical-faq__title {
    text-align: left;
}

/* Gap between stages and FAQ: at least 115–120px total on all breakpoints */
.consultation-page .stages-timeline__container {
    padding-bottom: 80px;
}

.consultation-page .medical-faq {
    padding-top: 80px;
}

.consultation-page .consultation-pricing {
    margin-top: 40px;
}

.consultation-page .consultation-pricing__intro p:first-of-type {
    margin-top: 0;
}
.consultation-page .consultation-pricing__card {
    padding: 36px 30px 40px;
    border-radius: 6px;
    border: 1px solid var(--card-border-base);
    background: var(--card-bg-elevated);
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.2);
}

/* Hierarchical spacing: title → price → list → CTA */
.consultation-page .consultation-pricing__title {
    margin: 0 0 12px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}

.consultation-page .consultation-pricing__price {
    margin: 0 0 28px;
    padding: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 20px;
    line-height: 1.5;
}

.consultation-page .consultation-pricing__list {
    margin: 0 0 28px 18px;
    padding: 0;
}

.consultation-page .consultation-pricing__list li {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.5;
}

.consultation-page .consultation-pricing__list li:last-child {
    margin-bottom: 0;
}

.consultation-page .consultation-pricing__cta {
    margin-top: 4px;
    padding: 12px 22px;
    font-size: 16px;
}

.consultation-page .consultation-main {
    min-width: 0;
    max-width: 980px;
}

.consultation-page .consultation-hero-art {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 12px;
}

.consultation-page .consultation-hero-art__image {
    width: min(280px, 100%);
    height: auto;
    display: block;
}

/* Dosudebnyye hero SVG is 437×360 vs consultation 339×368 — scale up so visual size matches */
.consultation-page--dosudebnyye .consultation-hero-art__image {
    width: min(370px, 100%);
}

/* Pretenzii/iskovyye hero SVG is 374×360 — slightly scale up to match consultation/dosudebnyye */
.consultation-page--pretenzii .consultation-hero-art__image {
    width: min(320px, 100%);
}

/* Sudebnoye hero SVG is 437×360 — same visual size as dosudebnyye */
.consultation-page--sudebnoye .consultation-hero-art__image {
    width: min(370px, 100%);
}

/* Vozmescheniye hero SVG 400×360 — same visual size as other service heroes */
.consultation-page--vozmescheniye .consultation-hero-art__image {
    width: min(370px, 100%);
}

/* Doctors/klinik page hero — same visual size */
.consultation-page--doctors-klinik .consultation-hero-art__image {
    width: min(370px, 100%);
}

.consultation-page .consultation-hero {
    margin-bottom: 46px;
    padding: 36px 36px 40px;
    border-radius: 4px;
    border: 1px solid var(--card-border-base);
    background: var(--card-bg-base);
}

/* When hero is inside the hero plaque, styling comes from .consultation-layout--hero */

.consultation-page .consultation-hero__eyebrow {
    margin: 0 0 16px;
    color: #A64200;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 1.4;
}

.consultation-page .consultation-hero h1 {
    margin: 0 0 24px;
    max-width: var(--hero-title-max);
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-size: var(--hero-title-size);
    line-height: 1.14;
    font-weight: 400;
    letter-spacing: 0.03em;
}


.consultation-page .consultation-hero__subtitle {
    margin: 0 0 24px;
    max-width: var(--hero-subtitle-max);
    font-size: var(--hero-subtitle-size);
    line-height: 1.6;
    color: #fff;
}

.consultation-page .consultation-hero__desc {
    margin: 28px 0 0;
    max-width: var(--hero-subtitle-max);
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.consultation-page .consultation-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}

.consultation-page .consultation-hero__meta span {
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.84);
    font-size: 18px;
    line-height: 1.4;
}

.consultation-page .consultation-hero__cta {
    margin-top: 0;
}

.consultation-page .consultation-section {
    margin-bottom: var(--section-gap);
}

/* Subheadings (Ключевые преимущества, Что входит…): 1920→28px, 1440→26px, 1024→24px, 768→24px; mobile unchanged */
.consultation-page .consultation-section h2 {
    margin: 0 0 28px;
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-size: 28px;
    font-weight: 500;
}

.consultation-page .consultation-section__subtitle {
    margin: 1.5em 0 0.5em;
    color: rgba(255, 255, 255, 0.95);
    font-family: 'Manrope', sans-serif;
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.3;
}

.consultation-page .consultation-content p,
.consultation-page .consultation-content li {
    font-size: 22px;
    line-height: 1.6;
}

.consultation-page .consultation-content ul,
.consultation-page .consultation-content ol {
    margin: 0 0 1.5em 1.5em;
    padding: 0;
}

/* Bullets like on specialization cards (disc, muted color) */
.consultation-page .consultation-content ul {
    list-style: disc;
    padding-left: 1.5em;
}

.consultation-page .consultation-content ul li::marker {
    color: rgba(255, 255, 255, 0.7);
}

/* Intro paragraph under h2: smaller gap to list so it groups with content */
.consultation-page .consultation-content .consultation-section p {
    margin-top: 0;
    margin-bottom: 0.75em;
}

.consultation-page .consultation-content ul {
    margin-top: 0.25em;
    margin-bottom: 1.5em;
}

.consultation-page .consultation-content li {
    margin-bottom: 25px;
}

.consultation-page .consultation-content li:last-child {
    margin-bottom: 0;
}

/* Numbered lists: "Когда нужно...", "Что нужно подготовить" */
.consultation-page .consultation-section__numbered {
    margin: 0.5em 0 1.5em;
    padding-left: 1.5em;
    list-style-type: decimal;
}

.consultation-page .consultation-section__numbered > li {
    margin-bottom: 1.25em;
}

.consultation-page .consultation-section__numbered > li:last-child {
    margin-bottom: 0;
}

.consultation-page .consultation-section__numbered li p,
.consultation-page .consultation-section__numbered li ul {
    margin-top: 0.35em;
    margin-bottom: 0;
}

/* Sub-points with dash (—) as in mockup: numbering + dash */
.consultation-page .consultation-section__numbered li > p::before {
    content: "— ";
}

.consultation-page .consultation-section__numbered li ul {
    padding-left: 0;
    list-style: none;
}

.consultation-page .consultation-section__numbered li ul li {
    margin-bottom: 0.35em;
    padding-left: 1.25em;
}

.consultation-page .consultation-section__numbered li ul li::before {
    content: "— ";
    margin-left: -1.25em;
    margin-right: 0.25em;
}

/* Why professionals block (court representation page) */
.consultation-page .why-professionals__list {
    list-style: none;
    margin: 0.5em 0 0;
    padding: 0;
}

.consultation-page .why-professionals__item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.consultation-page .why-professionals__item:last-child {
    margin-bottom: 0;
}

.consultation-page .why-professionals__icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #fff;
}

.consultation-page .why-professionals__icon--prohibited {
    background-color: #c0392b;
}

.consultation-page .why-professionals__icon--law {
    background-color: #d4a017;
}

.consultation-page .why-professionals__icon--tools {
    background-color: #6c757d;
}

.consultation-page .why-professionals__text {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 20px;
    line-height: 1.5;
}

/* Subheadings before colons (e.g. "Разбор ситуации:") — separate line, spacing from body text */
.consultation-page .consultation-content li strong,
.consultation-page .consultation-content p strong {
    display: block;
    color: #fff;
    font-weight: 500;
    margin-bottom: 0.35em;
}

.consultation-page .consultation-content p strong {
    display: inline;
    margin-bottom: 0;
}

/* Note block: vertical line on the left, bold "Примечание:", italic body text, smaller size */
.consultation-page .consultation-content__note {
    border-left: 2px solid rgba(255, 255, 255, 0.5);
    padding-left: 1.25em;
    margin: 1em 0;
    font-size: 20px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.7);
}

.consultation-page .consultation-content__note strong {
    font-style: normal;
}

.consultation-page .consultation-side-card {
    position: sticky;
    top: 120px;
    padding: 36px 48px 40px;
    border: 1px solid var(--card-border-base);
    border-radius: 6px;
    background: var(--card-bg-elevated);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
    text-align: left;
    box-sizing: border-box;
    width: 517px;
    max-width: 517px;
    min-height: auto;
    height: auto;
}

.consultation-page .consultation-side-card__head {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    justify-content: flex-start;
    column-gap: 28px;
    margin-bottom: 0;
    text-align: left;
}

.consultation-page .consultation-side-card__avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.28);
    margin: 0;
    display: block;
}

.consultation-page .consultation-side-card__title {
    margin: 0;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.consultation-page .consultation-side-card__text {
    margin: 20px 0 28px;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.consultation-page .consultation-side-card__cta {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 400;
    width: 386px;
    max-width: 386px;
    height: 69px;
    min-height: 69px;
    padding: 0;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    box-sizing: border-box;
}

.consultation-page .consultation-page__links {
    margin-top: 10px;
}

.consultation-page .consultation-page__links h2 {
    margin: 0 0 14px;
    color: #fff;
    font-family: 'Manrope', sans-serif;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 400;
}

/* Same as .service-page .service-links on child pages — 24px at >1440px, then scale down in media below */
.consultation-page .service-links ul {
    margin: 0 0 1.5em 0;
    padding: 0 0 0 1.5em;
    list-style: disc outside;
    font-size: 24px;
    line-height: 1.6;
}

/* 1440: Другие услуги (перелинковка) — 22px */
@media (max-width: 1440px) {
    .consultation-page .service-links ul {
        font-size: 22px;
    }
}

.consultation-page .service-links a {
    color: #4da6ff;
    text-decoration: underline;
}

.consultation-page .service-links a:hover {
    color: #fff;
    text-decoration: none;
}

@media (min-width: 1025px) and (max-width: 1440px) {
    .consultation-page .container.consultation-page__container {
        max-width: 1840px;
        margin: 0 auto;
        padding: 0 40px;
    }
}

@media (min-width: 1441px) and (max-width: 1919px) {
    .consultation-page .container.consultation-page__container {
        max-width: 1840px;
        margin: 0 auto;
        padding: 0 20px;
    }
}

@media (min-width: 1920px) {
    .consultation-page .container.consultation-page__container {
        max-width: 1840px;
        margin: 0 auto;
        padding: 0 20px;
    }
}

@media (min-width: 1025px) {
    .consultation-page {
        --side-card-content-width: 380px;
    }

    .consultation-page .consultation-layout {
        grid-template-columns: minmax(0, 1fr) minmax(420px, 500px);
        gap: 44px;
    }

    .consultation-page .consultation-layout--hero {
        margin-bottom: 60px;
    }

    .consultation-page .consultation-hero {
        margin-bottom: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .consultation-page .consultation-content {
        padding-top: 60px;
    }

    .consultation-page .consultation-hero h1 {
        max-width: var(--hero-title-max);
        margin-bottom: 20px;
    }

    .consultation-page .consultation-hero__subtitle {
        max-width: 58ch;
        margin-bottom: 0;
    }

    .consultation-page .consultation-side-card {
        display: flex;
        flex-direction: column;
        width: 480px;
        max-width: 480px;
        height: auto;
        min-height: auto;
        padding: 36px 32px;
        justify-self: start;
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
    }

    .consultation-page .consultation-side-card__head {
        grid-template-columns: 64px minmax(0, 1fr);
        column-gap: 20px;
        margin-top: 0;
        margin-bottom: 0;
        width: 100%;
        max-width: 100%;
        align-items: center;
    }

    .consultation-page .consultation-side-card__avatar {
        width: 64px;
        height: 64px;
    }

    .consultation-page .consultation-side-card__text {
        margin-top: 20px;
        font-size: 17px;
        width: 100%;
        max-width: 100%;
        margin-bottom: 24px;
        text-align: left;
        padding-left: 0;
    }

    .consultation-page .consultation-side-card__cta {
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 400;
        margin-top: 0;
        width: 408px;
        max-width: 408px;
        height: 60px;
        white-space: nowrap;
        padding: 0;
        min-height: 60px;
        border-radius: 4px;
        align-self: flex-start;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1.2;
        box-sizing: border-box;
    }
}

@media (min-width: 1600px) {
    .consultation-page .consultation-layout {
        padding-right: 60px;
        box-sizing: border-box;
    }
}

@media (min-width: 1920px) {
    .consultation-page .consultation-layout {
        grid-template-columns: minmax(0, 1fr) minmax(520px, 580px);
        gap: 52px;
        padding-right: 80px;
        box-sizing: border-box;
    }

    .consultation-page .consultation-side-card {
        width: 540px;
        max-width: 540px;
        padding: 42px 40px 44px;
    }

    .consultation-page .consultation-side-card__title {
        font-size: 24px;
    }

    .consultation-page .consultation-side-card__text {
        font-size: 20px;
        margin-top: 24px;
        margin-bottom: 32px;
    }

    .consultation-page .consultation-side-card__cta {
        width: 100%;
        max-width: 100%;
        font-size: 22px;
        min-height: 64px;
    }
}

@media (max-width: 1440px) {
    .consultation-page {
        --hero-title-size: 48px;
        --hero-title-max: 30ch;
        --hero-subtitle-size: 22px;
        --hero-subtitle-max: 48ch;
    }

    .consultation-page .consultation-main {
        max-width: 760px;
    }

    .consultation-page .consultation-hero-art__image {
        width: min(240px, 100%);
    }

    .consultation-page--dosudebnyye .consultation-hero-art__image {
        width: min(320px, 100%);
    }

    .consultation-page--pretenzii .consultation-hero-art__image {
        width: min(275px, 100%);
    }

    .consultation-page--sudebnoye .consultation-hero-art__image {
        width: min(320px, 100%);
    }

    .consultation-page--vozmescheniye .consultation-hero-art__image {
        width: min(320px, 100%);
    }

    .consultation-page--doctors-klinik .consultation-hero-art__image {
        width: min(320px, 100%);
    }

    /* 1440: шире колонка под карточку + отступ справа, чтобы не прилипала */
    .consultation-page .consultation-layout {
        grid-template-columns: minmax(0, 1fr) minmax(380px, 440px);
        gap: 40px;
        padding-right: 48px;
        box-sizing: border-box;
    }

    .consultation-page .consultation-side-card {
        width: 100%;
        max-width: 100%;
    }

    .consultation-page .consultation-side-card__cta {
        width: 100%;
        max-width: 100%;
    }

    .consultation-page .consultation-divider {
        font-size: 20px;
    }

    .consultation-page .consultation-pricing {
        gap: 20px;
    }

    /* 1440: как в секции отзывов по шкале, заголовок 34px */
    .consultation-page .consultation-pricing-section h2 {
        font-size: 34px;
    }

    .consultation-page .consultation-pricing__intro p {
        font-size: 20px;
    }

    .consultation-page .consultation-hero {
        padding: 0;
    }

    .consultation-page .consultation-hero__subtitle {
        font-size: 24px;
    }

    .consultation-page .consultation-content p,
    .consultation-page .consultation-content li {
        font-size: 20px;
    }

    .consultation-page .consultation-section h2 {
        font-size: 26px;
    }

    .consultation-page .consultation-side-card__title { font-size: 22px; }
    .consultation-page .consultation-side-card__text { font-size: 18px; }
}

@media (min-width: 1440px) {
    .consultation-page {
        --section-gap: 80px;
    }

    .consultation-page .testimonials {
        padding-top: 120px;
    }
}

@media (max-width: 1280px) {
    .consultation-page {
        --hero-title-size: 40px;
        --hero-title-max: 40ch;
        --hero-subtitle-size: 20px;
        --hero-subtitle-max: 44ch;
    }

    .consultation-page .consultation-main {
        max-width: 820px;
    }

    .consultation-page .consultation-layout {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
        gap: 24px;
        padding-right: 20px;
    }

    /* Card title: slightly smaller at 1280 so long heading wraps less tightly */
    .consultation-page .consultation-side-card__title {
        font-size: 22px;
    }

    .consultation-page .consultation-hero__subtitle {
        font-size: 22px;
    }

    .consultation-page .consultation-content p,
    .consultation-page .consultation-content li {
        font-size: 18px;
    }

    /* 1280: заголовок 28 (как testimonials-title), текст 18, мелкий 16 */
    .consultation-page .consultation-pricing-section h2 {
        font-size: 28px;
    }

    .consultation-page .consultation-pricing__intro p {
        font-size: 18px;
    }

    /* Wider gap between cards and narrower intro text so "— от" doesn't break to next line */
    .consultation-page .consultation-pricing {
        gap: 36px;
    }

    .consultation-page .consultation-pricing__title {
        font-size: 18px;
    }

    .consultation-page .consultation-pricing__price,
    .consultation-page .consultation-pricing__list li {
        font-size: 16px;
    }

    /* 1280: перелинковка — 20px */
    .consultation-page .service-links ul {
        font-size: 20px;
    }
}

@media (max-width: 1024px) {
    .consultation-page {
        --hero-title-size: 36px;
        --hero-title-max: 26ch;
        --hero-subtitle-size: 18px;
        --hero-subtitle-max: 62ch;
        --section-gap: 32px;
    }

    /* 1024: gap between stages and FAQ — 60px each (120px total) */
    .consultation-page .stages-timeline__container {
        padding-bottom: 60px;
    }
    .consultation-page .medical-faq {
        padding-top: 60px;
    }

    /* Override global [class*="-section"] { padding: 40px 0 } from style.css (760–994px) — use margin only */
    .consultation-page [class*="-section"] {
        padding: 0;
    }

    .consultation-page__shell {
        margin-top: 18px;
    }
    .consultation-page .consultation-main {
        max-width: none;
    }

    .consultation-page .consultation-content {
        padding-top: 40px;
    }

    .consultation-page .consultation-hero {
        padding: 0;
        border: 0;
        background: transparent;
    }
    
    .consultation-page .consultation-layout--hero {
        padding: 28px 24px 32px;
        margin-bottom: var(--section-gap);
    }

    .consultation-page .consultation-layout {
        grid-template-columns: 1fr;
        gap: var(--section-gap);
        padding-right: 0;
    }

    .consultation-page .consultation-layout--content {
        margin-top: var(--section-gap);
    }

    .consultation-page .testimonials .testimonials-title {
        margin-bottom: 60px;
    }

    .consultation-page .consultation-divider {
        font-size: 16px;
    }

    .consultation-page .consultation-pricing {
        grid-template-columns: 1fr;
    }

    /* 1024: section gap only (no extra 100px); override global [class*="-section"] padding */
    .consultation-page .consultation-pricing-section {
        margin: var(--section-gap) 0 0;
        padding: 0;
    }

    .consultation-page .testimonials {
        margin-top: 60px; /* not less than .testimonials-title margin-bottom inside section */
        margin-bottom: 80px;
        padding: 0;
    }

    /* 1024: заголовок 28 — крупнее текстовых (26px), чтобы капс секции цен выделялся */
    .consultation-page .consultation-pricing-section h2 {
        font-size: 28px;
    }

    .consultation-page .consultation-pricing__intro p {
        font-size: 18px;
    }

    .consultation-page .consultation-pricing__title {
        font-size: 18px;
    }

    .consultation-page .consultation-pricing__price,
    .consultation-page .consultation-pricing__list li {
        font-size: 16px;
    }

    /* 1024: Другие услуги — h2 22px, list 18px (scale from 24) */
    .consultation-page .consultation-page__links h2 {
        font-size: 22px;
    }

    .consultation-page .service-links ul {
        font-size: 18px;
    }

    .consultation-page .consultation-hero-art {
        order: 1;
        justify-content: flex-start;
        padding-top: 0;
    }

    .consultation-page .consultation-hero-art__image {
        width: min(220px, 100%);
    }

    .consultation-page--dosudebnyye .consultation-hero-art__image {
        width: min(290px, 100%);
    }

    .consultation-page--pretenzii .consultation-hero-art__image {
        width: min(255px, 100%);
    }

    .consultation-page--sudebnoye .consultation-hero-art__image {
        width: min(290px, 100%);
    }

    .consultation-page--vozmescheniye .consultation-hero-art__image {
        width: min(290px, 100%);
    }

    .consultation-page--doctors-klinik .consultation-hero-art__image {
        width: min(290px, 100%);
    }

    .consultation-page .consultation-side-card {
        position: static;
        max-width: 480px;
        margin: 0 auto;
        padding-left: 28px;
        padding-right: 28px;
        text-align: left;
    }

    /* 1024: mini-contact card — more side padding, button not full width */
    .consultation-page .medical-mini-contact__content {
        padding-left: 24px;
        padding-right: 24px;
    }

    .consultation-page .medical-mini-contact__cta {
        width: auto;
        max-width: 100%;
    }

    /* 1024 and below: button not full card width — limit to desktop size so it doesn’t look bloated */
    .consultation-page .consultation-side-card__cta {
        font-size: 18px;
        padding: 12px 24px;
        min-height: 52px;
        height: auto;
        width: 100%;
        max-width: 100%;
        border-radius: 4px;
    }

    .consultation-page .consultation-side-card__head {
        justify-content: flex-start;
        text-align: left;
    }

    .consultation-page .consultation-section h2 {
        font-size: 24px;
    }

    .consultation-page .consultation-side-card__title { font-size: 22px; }

    .consultation-page .consultation-hero__subtitle {
        font-size: 20px;
    }

    .consultation-page .consultation-content p,
    .consultation-page .consultation-content li {
        font-size: 18px;
    }

    .consultation-page .consultation-side-card__text { font-size: 16px; }
}

@media (max-width: 768px) {
    .consultation-page {
        --hero-title-size: 30px;
        --hero-title-max: 100%;
        --hero-subtitle-size: 18px;
        --hero-subtitle-max: 52ch;
        --section-gap: 40px; /* not less than h2 margin-bottom (32px) inside section */
    }

    .consultation-page__container {
        padding: 0 20px;
    }

    .consultation-page .consultation-side-card {
        max-width: 460px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* 768: only 20px lateral padding — remove inner paddings from sections duplicated from medical */
    .consultation-page .medical-faq__container {
        padding-left: 0;
        padding-right: 0;
    }

    /* Mobile: gap between stages and FAQ — 40px each (80px total) */
    .consultation-page .stages-timeline__container {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 40px;
    }
    .consultation-page .medical-faq {
        padding-top: 40px;
    }

    .consultation-page .stages-timeline__track {
        padding-left: 0;
        padding-right: 0;
    }

    .consultation-page .stages-timeline__line-h,
    .consultation-page .stages-timeline__line-fill {
        left: calc(var(--stages-dot-size) / 2);
    }

    .consultation-page .consultation-side-card__cta {
        font-size: 16px;
        padding: 12px 22px;
        min-height: 48px;
        width: 100%;
        max-width: 100%;
    }

    .consultation-page .medical-mini-contact__title {
        font-size: 20px;
    }

    .consultation-page .medical-mini-contact__container {
        padding-left: 0;
        padding-right: 0;
    }

    .consultation-page .medical-mini-contact__content {
        padding-left: 12px;
        padding-right: 12px;
    }

    /* 768: button not full width; full width only on smallest viewports (425/360) */
    .consultation-page .medical-mini-contact__cta {
        width: auto;
        max-width: 100%;
    }

    .consultation-page .consultation-content {
        padding-top: 0;
    }

    .consultation-page .consultation-hero {
        padding: 0;
    }

    /* Mobile: only margins 20px top/bottom per section → 40px between sections */
    .consultation-page .consultation-section {
        margin: 20px 0;
        padding: 0;
    }

    .consultation-page .consultation-section h2 {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .consultation-page .consultation-content .consultation-section p {
        margin-bottom: 1em;
    }

    .consultation-page .consultation-content ul {
        margin-top: 0.75em;
    }

    .consultation-page .consultation-pricing-section {
        margin: var(--section-gap) 0 0;
        padding: 0;
    }

    .consultation-page .testimonials {
        margin-top: 60px; /* not less than .testimonials-title margin-bottom inside section */
        margin-bottom: 3rem;
        padding: 0;
    }

    .consultation-page .consultation-pricing-section h2 {
        font-size: 24px;
        margin-bottom: 32px;
    }

    .consultation-page .consultation-pricing__intro {
        margin-bottom: 16px;
    }

    .consultation-page .consultation-pricing {
        margin-top: 24px;
    }

    .consultation-page .consultation-pricing__intro p {
        font-size: 16px;
    }

    .consultation-page .consultation-pricing__title {
        font-size: 18px;
    }

    .consultation-page .consultation-pricing__price,
    .consultation-page .consultation-pricing__list li {
        font-size: 16px;
    }

    .consultation-page .consultation-side-card__title {
        font-size: 22px;
    }

    .consultation-page .consultation-hero__subtitle {
        font-size: 19px;
    }

    .consultation-page .consultation-hero__desc {
        font-size: 14px;
    }

    /* Interlinking (Другие услуги) – mobile */
    .consultation-page .consultation-page__links h2 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    /* Bulleted lists: inside position so bullets aren't clipped by overflow-x */
    .consultation-page .consultation-content ul,
    .consultation-page .consultation-content ol {
        margin-left: 0;
        padding-left: 10px;
        list-style-position: inside;
    }

    .consultation-page .consultation-content li {
        margin-bottom: 12px;
    }

    /* Keep strong inline so bullet aligns with first line (block causes bullet to float above) */
    .consultation-page .consultation-content li strong {
        display: inline;
    }

    .consultation-page .consultation-pricing__list {
        margin-left: 0;
    }

    /* 768: Другие услуги — h2 22px, list 16px */
    .consultation-page .consultation-page__links h2 {
        font-size: 22px;
    }

    .consultation-page .service-links ul {
        font-size: 16px;
        padding-left: 10px;
        list-style: disc inside;
    }
}

@media (max-width: 425px) {
    .consultation-page {
        --hero-title-size: 24px;
        --hero-title-max: 100%;
        --hero-subtitle-size: 16px;
        --hero-subtitle-max: 100%;
        --section-gap: 32px; /* not less than h2 margin-bottom (24px) inside section */
    }

    .consultation-page__container {
        padding: 0 20px;
    }

    .consultation-page .consultation-content {
        padding-top: 0;
    }

    .consultation-page .consultation-layout--hero {
        padding: 22px 16px 24px;
        margin-bottom: 20px;
    }

    .consultation-page .consultation-hero__eyebrow {
        font-size: 13px;
    }

    .consultation-page .consultation-section h2 {
        font-size: 20px;
    }

    /* Same as 768px: only margins 20px top/bottom → 40px between sections */
    .consultation-page .consultation-section {
        margin: 20px 0;
        padding: 0;
    }

    .consultation-page .consultation-section:first-child h2 {
        margin-bottom: 18px;
    }

    .consultation-page .consultation-section:first-child p {
        margin-bottom: 1.25em;
    }

    .consultation-page .consultation-section:first-child ul {
        margin-top: 0.75em;
    }

    .consultation-page .consultation-pricing-section {
        margin: var(--section-gap) 0 0;
        padding: 0;
    }

    .consultation-page .testimonials {
        margin-top: 40px; /* not less than .testimonials-title margin-bottom (2.5rem) inside section */
        margin-bottom: 3rem;
        padding: 0;
    }

    .consultation-page .consultation-pricing-section h2 {
        font-size: 20px;
        margin-bottom: 24px;
    }

    .consultation-page .consultation-pricing__intro {
        margin-bottom: 16px;
    }

    .consultation-page .consultation-pricing {
        margin-top: 20px;
    }

    .consultation-page .consultation-pricing__intro p {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .consultation-page .consultation-pricing__title {
        font-size: 18px;
    }

    .consultation-page .consultation-pricing__price,
    .consultation-page .consultation-pricing__list li {
        font-size: 16px;
    }

    .consultation-page .consultation-side-card__title {
        font-size: 20px;
    }

    .consultation-page .consultation-hero__subtitle {
        font-size: 18px;
    }

    .consultation-page .consultation-content p,
    .consultation-page .consultation-content li,
    .consultation-page .consultation-side-card__text {
        font-size: 16px;
    }

    .consultation-page .consultation-hero__meta span {
        font-size: 14px;
        padding: 8px 10px;
    }

    .consultation-page .consultation-side-card {
        padding: 22px 18px;
    }

    .consultation-page .consultation-side-card__avatar {
        width: 72px;
        height: 72px;
    }

    .consultation-page .consultation-side-card__head {
        flex-direction: row;
        gap: 12px;
        margin-bottom: 12px;
    }

    /* 425: card CTA same as .medical__cta .button--primary */
    .consultation-page .consultation-side-card__cta {
        font-size: 16px;
        padding: 12px 22px;
        min-height: 48px;
        width: min(396px, 100%);
    }

    /* Widen mini-contact card: less side padding so CTA button fits with full text */
    .consultation-page .medical-mini-contact__container {
        padding-left: 0;
        padding-right: 0;
    }

    .consultation-page .medical-mini-contact__content {
        padding-left: 14px;
        padding-right: 14px;
    }

    .consultation-page .medical-mini-contact__cta {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        font-size: 14px;
    }

    /* 425: Другие услуги — как .service-page (h2 16px, list 14px), без отступов у li */
    .consultation-page .consultation-page__links h2 {
        font-size: 16px;
    }

    .consultation-page .service-links ul {
        font-size: 14px;
        padding-left: 10px;
        list-style: disc inside;
    }
}

@media (max-width: 360px) {
    .consultation-page .consultation-side-card__cta,
    .consultation-page .consultation-pricing__cta,
    .consultation-page .medical-mini-contact__cta {
        white-space: nowrap;
    }

    .consultation-page .medical-mini-contact__cta {
        font-size: 14px;
    }

    /* Widen card: remove side padding so CTA button fits with full text */
    .consultation-page .medical-mini-contact__container {
        padding-left: 0;
        padding-right: 0;
    }

    .consultation-page .medical-mini-contact__content {
        padding-left: 12px;
        padding-right: 12px;
    }

    .consultation-page .medical-mini-contact__cta {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}
