:root {
    --sn-text: #282f38;
    --sn-violet: #981f85;
    --sn-pink: #f0e4ee;
    --sn-light: #f6f5f6;
    --sn-border: #ced6e1;
    --sn-muted: #626060;
    --sn-white: #ffffff;
    --sn-radius-lg: 32px;
    --sn-radius-md: 20px;
}
.service-new { color: var(--sn-text); overflow: clip; }
.service-new *, .service-new *::before, .service-new *::after { box-sizing: border-box; }
.sn-anchor { scroll-margin-top: 128px; }
.sn-section-title {
    margin: 0 0 32px;
    color: var(--sn-text);
    font-family: 'Cygre';
    font-size: clamp(32px, 4.2vw, 56px);
    font-weight: 500;
    line-height: 1.05;
}
.sn-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: stretch;
    padding-top: 32px;
}
.sn-hero__content { display: flex; flex-direction: column; min-width: 0; }
.sn-eyebrow {
    width: fit-content;
    margin-bottom: 20px;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--sn-pink);
    color: var(--sn-violet);
    font-size: 14px;
    line-height: 1;
}
.sn-hero__title {
    margin: 0;
    color: var(--sn-violet);
    font-family: 'Cygre';
    font-size: clamp(44px, 5vw, 72px);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.035em;
}
.sn-hero__text {
    max-width: 680px;
    margin-top: 24px;
    color: var(--sn-muted);
    font-size: 18px;
    line-height: 1.55;
}
.sn-hero__media {
    min-height: 560px;
    border-radius: var(--sn-radius-lg);
    overflow: hidden;
    background: var(--sn-pink);
}
.sn-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.sn-utp-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 32px;
}
.sn-utp-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 88px;
    padding: 16px;
    border: 1px solid var(--sn-border);
    border-radius: 18px;
    background: var(--sn-white);
}
.sn-utp-card img { flex: 0 0 48px; }
.sn-utp-card__title { font-size: 16px; font-weight: 600; line-height: 1.25; }
.sn-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.sn-btn {
    min-height: 56px;
    padding: 0 26px;
    border: 1px solid var(--sn-violet);
    border-radius: 999px;
    justify-content: center;
    text-align: center;
}
.sn-btn--secondary { color: var(--sn-violet); background: var(--sn-white); }
.sn-socials { display: flex; align-items: center; gap: 10px; margin-top: 20px; }
.sn-socials__label { margin-right: 4px; color: var(--sn-muted); font-size: 14px; }
.sn-socials a { display: inline-flex; border-radius: 50%; }
.sn-socials a:focus-visible, .sn-toc a:focus-visible, .sn-btn:focus-visible, .service-new button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--sn-violet) 35%, transparent);
    outline-offset: 3px;
}
.sn-toc {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.sn-toc__title { margin-bottom: 20px; }
.sn-toc__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: minmax(50px, auto);
    align-content: center;
    min-height: 160px;
    padding: 24px;
    gap: 12px;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 14px;
    background: rgba(240, 228, 238, .36);
}
.sn-toc__grid a {
    display: flex;
    min-width: 0;
    overflow-wrap: anywhere;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 8px 12px;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 12px;
    background: var(--sn-white);
    color: var(--sn-violet);
    font-size: 16px;
    line-height: 1.25;
    text-align: center;
    transition: border-color .2s ease, background-color .2s ease;
}
.sn-toc__grid a:hover { border-color: rgba(152,31,133,.5); background: rgba(255,255,255,.75); }
.sn-medical__title {
    margin: 0 0 24px;
    color: var(--color-black);
}
.sn-medical__panel {
    overflow: hidden;
    padding: 28px;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 16px;
    background: var(--color-white);
    box-shadow: 0 4px 12px rgba(40, 47, 56, .06);
}
.sn-medical__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}
.sn-medical-column {
    min-width: 0;
    padding: 0 28px;
}
.sn-medical-column--positive { padding-left: 0; }
.sn-medical-column--negative {
    padding-right: 0;
    border-left: 1px solid var(--color-stroke-shadow);
}
.sn-medical-column__header {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 84px;
    padding: 14px 18px;
    border-radius: 12px;
    background: rgba(240, 228, 238, .36);
}
.sn-medical-column__header-icon {
    display: flex;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
}
.sn-medical-column__header-icon img,
.sn-medical-icon img {
    display: block;
    width: 42px;
    height: 42px;
}
.sn-medical-column__header h3 {
    margin: 0;
    color: var(--color-black);
}
.sn-medical-column ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}
.sn-medical-column li {
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
    min-height: 84px;
    padding: 14px 18px;
}
.sn-medical-column li:not(:last-child) {
    border-bottom: 1px solid var(--color-stroke-shadow);
}
.sn-medical-icon {
    display: flex;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
}
.sn-medical-text {
    min-width: 0;
    color: var(--color-black);
    overflow-wrap: anywhere;
}
.sn-medical__note {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 88px;
    margin-top: 24px;
    padding: 18px;
    overflow: hidden;
    border-radius: 12px;
    background: rgba(240, 228, 238, .36);
    color: var(--color-dark-gray);
    text-align: left;
}
.sn-medical__note img {
    display: block;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin: 0;
}
.sn-methods__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sn-method-card {
    min-height: 180px;
    padding: 28px;
    border: 1px solid var(--sn-border);
    border-radius: var(--sn-radius-md);
    background: var(--sn-white);
}
.sn-method-card h3 { margin: 0 0 14px; color: var(--sn-violet); line-height: 1.2; }
.sn-clinic__title { color: var(--sn-text); }
.sn-clinic__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .92fr);
    min-height: 540px;
    overflow: hidden;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 20px;
    background: var(--color-white);
    box-shadow: 0 4px 14px rgba(40, 47, 56, .08);
}
.sn-clinic-gallery-wrap {
    position: relative;
    min-width: 0;
    min-height: 540px;
    overflow: hidden;
}
.sn-clinic-gallery {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    border-radius: 0;
}
.sn-clinic-gallery__slide {
    height: 100%;
    overflow: hidden;
    background: var(--sn-light);
}
.sn-clinic-gallery__slide img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}
.sn-clinic-gallery .sn-slider-controls {
    position: absolute;
    z-index: 4;
    right: 28px;
    bottom: 28px;
    left: 28px;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    align-items: center;
    gap: 16px;
    pointer-events: none;
}
.sn-clinic-gallery .sn-slider-controls .slider-nav-btn {
    position: static;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--color-white);
    box-shadow: 0 3px 12px rgba(40, 47, 56, .16);
    color: var(--color-violet);
    font-family: 'Cygre';
    font-size: 32px;
    line-height: 1;
    pointer-events: auto;
}
.sn-clinic-pagination {
    min-width: 80px;
    color: var(--color-white);
    font-family: 'Cygre';
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.3px;
    text-align: center;
    text-shadow: 0 1px 5px rgba(40, 47, 56, .55);
}
.sn-clinic__content {
    display: flex;
    min-width: 0;
    padding: 36px 40px 32px;
    flex-direction: column;
    background: rgba(240, 228, 238, .24);
}
.sn-clinic__intro {
    margin: 0 0 32px;
    color: var(--sn-text);
}
.sn-clinic-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
}
.sn-clinic-card {
    display: flex;
    min-width: 0;
    min-height: 156px;
    padding: 24px 28px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 18px;
    background: transparent;
    text-align: left;
}
.sn-clinic-card:nth-child(odd) { border-right: 1px solid var(--color-stroke-shadow); }
.sn-clinic-card:nth-child(-n + 2) { border-bottom: 1px solid var(--color-stroke-shadow); }
.sn-clinic-card__icon {
    display: flex;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: flex-start;
}
.sn-clinic-card__icon img {
    display: block;
    width: 50px;
    height: 50px;
    margin: 0;
    object-fit: contain;
}
.sn-clinic-card h3 {
    max-width: 220px;
    margin: 0;
    color: var(--sn-text);
}
.sn-form { border-radius: var(--sn-radius-lg); overflow: hidden; }
.sn-form .form__header h2 { margin: 0 0 12px; color: inherit; font-size: clamp(30px, 3vw, 44px); }
.service-new .contacts-container__top h2 { margin-top: 0; }
@media (max-width: 1199px) {
    .sn-hero { grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr); gap: 32px; }
    .sn-hero__media { min-height: 500px; }
    .sn-toc__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .sn-hero { grid-template-columns: 1fr; }
    .sn-hero__media { order: 2; min-height: 0; aspect-ratio: 16 / 10; }
    .sn-hero__content { display: contents; }
    .sn-eyebrow, .sn-hero__title, .sn-hero__text { order: 1; }
    .sn-utp-grid { order: 3; }
    .sn-hero__actions { order: 4; }
    .sn-socials { order: 5; }
    .sn-toc__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sn-clinic__panel {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .sn-clinic-gallery-wrap {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
    .sn-clinic-gallery {
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
    }
    .sn-clinic__content { padding: 32px; }
}
@media (max-width: 767px) {
    .sn-anchor { scroll-margin-top: 96px; }
    .sn-section-title { margin-bottom: 24px; }
    .sn-hero { padding-top: 16px; gap: 20px; }
    .sn-hero__title { font-size: clamp(40px, 12vw, 56px); }
    .sn-hero__text { margin-top: 16px; font-size: 16px; }
    .sn-utp-grid { gap: 8px; margin-top: 12px; }
    .sn-utp-card { min-height: 108px; padding: 14px 10px; flex-direction: column; align-items: flex-start; gap: 10px; }
    .sn-utp-card img { width: 40px; height: 40px; }
    .sn-utp-card__title { font-size: 14px; }
    .sn-hero__actions { display: grid; grid-template-columns: 1fr; width: 100%; margin-top: 16px; }
    .sn-btn { width: 100%; }
    .sn-socials { justify-content: center; margin-top: 8px; }
    .sn-toc { padding: 0; border-radius: 0; }
    .sn-toc__title { margin-bottom: 16px; }
    .sn-toc__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: minmax(50px, auto);
        min-height: 0;
        padding: 12px;
        gap: 8px;
    }
    .sn-toc__grid a { min-height: 50px; padding: 8px; font-size: 14px; }
    .sn-medical__title { margin-bottom: 28px; }
    .sn-methods__grid { grid-template-columns: 1fr; }
    .sn-medical__panel {
        padding: 12px;
        border-radius: 16px;
    }
    .sn-medical__columns { grid-template-columns: 1fr; }
    .sn-medical-column { padding: 0; }
    .sn-medical-column--negative {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--color-stroke-shadow);
        border-left: 0;
    }
    .sn-medical-column__header {
        gap: 14px;
        min-height: 72px;
        padding: 12px 14px;
    }
    .sn-medical-column__header-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }
    .sn-medical-column__header-icon img,
    .sn-medical-icon img {
        width: 38px;
        height: 38px;
    }
    .sn-medical-column__header h3 { font-size: 18px; }
    .sn-medical-column ul { margin-top: 8px; }
    .sn-medical-column li {
        gap: 14px;
        min-height: 78px;
        padding: 12px 8px;
    }
    .sn-medical-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }
    .sn-medical-text {
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.2px;
    }
    .sn-medical__note {
        gap: 14px;
        min-height: 84px;
        margin-top: 12px;
        padding: 14px;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.2px;
    }
    .sn-medical__note img {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }
    .sn-clinic__title { margin-bottom: 24px; }
    .sn-clinic__panel { border-radius: 16px; }
    .sn-clinic-gallery-wrap { aspect-ratio: 16 / 10; }
    .sn-clinic-gallery .sn-slider-controls {
        right: 14px;
        bottom: 14px;
        left: 14px;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 10px;
    }
    .sn-clinic-gallery .sn-slider-controls .slider-nav-btn {
        width: 44px;
        height: 44px;
        font-size: 26px;
    }
    .sn-clinic-pagination {
        min-width: 62px;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.2px;
    }
    .sn-clinic__content { padding: 22px 14px 14px; }
    .sn-clinic__intro {
        margin-bottom: 24px;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.2px;
    }
    .sn-clinic-card {
        min-height: 150px;
        padding: 18px 12px;
        gap: 14px;
    }
    .sn-clinic-card__icon {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
    }
    .sn-clinic-card__icon img {
        width: 44px;
        height: 44px;
    }
    .sn-clinic-card h3 {
        max-width: 145px;
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.2px;
    }
}
@media (max-width: 389px) {
    .sn-toc__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 339px) {
    .sn-clinic-benefits { grid-template-columns: 1fr; }
    .sn-clinic-card:nth-child(odd) { border-right: 0; }
    .sn-clinic-card:nth-child(-n + 3) { border-bottom: 1px solid var(--color-stroke-shadow); }
    .sn-clinic-card:last-child { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .sn-toc__grid a { transition: none; }
    html:focus-within { scroll-behavior: auto; }
}

/* Первый экран нового шаблона: структура и типографика «Услуги 2» */
.sn-service2-hero {
    display: grid;
    grid-template-columns: 657fr 463fr;
    gap: 20px;
    align-items: start;
}
.sn-service2-hero .top_content {
    min-width: 0;
    padding: 0;
    position: relative;
}
.sn-service2-hero .top_content::before,
.sn-service2-hero .top_content::after {
    display: none;
}
.sn-service2-hero .service-top__title {
    margin-top: 4px;
}
.sn-service2-hero .service-top__description {
    margin: 20px 0 0;
}
.sn-service2-utps {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 4px;
    overflow: hidden;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 16px;
    background: var(--color-white);
}
.sn-service2-utp {
    display: flex;
    min-width: 0;
    min-height: 118px;
    padding: 24px 28px;
    align-items: center;
    gap: 18px;
    background: transparent;
}
.sn-service2-utp:not(:last-child) { border-right: 1px solid var(--color-stroke-shadow); }
.sn-service2-utp__icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
}
.sn-service2-utp__icon img {
    display: block;
    width: 42px;
    height: 42px;
    margin: 0;
    object-fit: contain;
}
.sn-service2-utp__title {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: var(--sn-text);
    font-family: 'Cygre';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -0.36px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.sn-service2-hero .top_content-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
}
.sn-service2-hero .top_content-footer__inner {
    display: flex;
    align-items: center;
    gap: 12px;
}
.sn-service2-hero .top_social.sn-service2-social {
    display: flex;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin: 0;
    border: 1px solid var(--sn-text);
    border-radius: 50%;
}
.sn-service2-hero .sn-service2-social img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}
.sn-service2-hero .service-top-img__wrapper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--sn-border);
    border-radius: 16px;
}
.sn-service2-hero .service-top__img {
    overflow: hidden;
    aspect-ratio: 1.6;
    border-radius: 16px;
}
.sn-service2-hero .top_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sn-service2-hero .top_img-description {
    padding: 12px 16px 20px;
}

@media (max-width: 768px) {
    .sn-service2-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
    .sn-service2-hero .top_content {
        display: contents;
    }
    .sn-service2-copy {
        order: 1;
    }
    .sn-service2-hero .service-top-img__wrapper {
        order: 2;
    }
    .sn-service2-utps {
        order: 4;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 0;
    }
    .sn-service2-utp { min-height: 104px; }
    .sn-service2-utp:not(:last-child) { border-right: 0; }
    .sn-service2-utp:nth-child(odd) { border-right: 1px solid var(--color-stroke-shadow); }
    .sn-service2-utp:nth-child(-n + 2) { border-bottom: 1px solid var(--color-stroke-shadow); }
    .sn-service2-hero .top_content-footer {
        order: 3;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        width: 100%;
        margin-top: 0;
    }
    .sn-service2-hero .top_content-footer > .custom-btn {
        width: 100%;
    }
    .sn-service2-hero .top_content-footer__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px 40px;
        gap: 12px;
        width: 100%;
    }
    .sn-service2-hero .top_content-footer__inner .custom-btn {
        width: 100%;
    }
    .sn-service2-hero .service-top__description {
        margin: 20px 0 0;
    }
    .sn-service2-hero .top_img-description {
        padding: 12px 16px;
    }
}

@media (max-width: 570px) {
    .sn-service2-utps { gap: 0; }
    .sn-service2-utp {
        min-height: 96px;
        padding: 14px 12px;
        justify-content: flex-start;
        gap: 10px;
        text-align: left;
    }
    .sn-service2-utp__icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }
    .sn-service2-utp__icon img {
        width: 34px;
        height: 34px;
    }
    .sn-service2-utp__title {
        font-size: 14px;
        line-height: 1.3;
        letter-spacing: -0.2px;
    }
}

/* Recommendations after treatment */
.sn-aftercare__title { margin: 0 0 32px; }
.sn-aftercare__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.sn-aftercare-card {
    display: flex;
    min-width: 0;
    min-height: 292px;
    flex-direction: column;
    padding: 28px;
    border: 1px solid var(--color-stroke-shadow);
    border-radius: 18px;
    background: var(--color-white);
    box-shadow: 0 2px 8px rgba(40, 47, 56, .025);
}
.sn-aftercare-card__icon {
    display: flex;
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(152, 31, 133, .08);
    border-radius: 50%;
    background: rgba(240, 228, 238, .56);
}
.sn-aftercare-card__icon img {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: contain;
}
.sn-aftercare-card__title {
    margin: 24px 0 12px;
    color: var(--sn-text);
    font-family: 'Cygre';
    font-size: 23px;
    font-weight: 500;
    line-height: 1.18;
}
.sn-aftercare-card__text {
    margin: 0;
    color: var(--color-dark-gray);
    font-size: 17px;
    line-height: 1.42;
    overflow-wrap: anywhere;
}
@media (max-width: 1024px) {
    .sn-aftercare__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
    .sn-aftercare__title { margin-bottom: 20px; }
    .sn-aftercare__grid { grid-template-columns: 1fr; gap: 12px; }
    .sn-aftercare-card { min-height: 0; padding: 22px; }
    .sn-aftercare-card__icon { width: 64px; height: 64px; flex-basis: 64px; }
    .sn-aftercare-card__icon img { width: 38px; height: 38px; }
    .sn-aftercare-card__title { margin: 18px 0 10px; font-size: 21px; }
    .sn-aftercare-card__text { font-size: 16px; }
}

.sn-aftercare-contact {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    min-height: 124px;
    margin-top: 24px;
    padding: 20px 28px;
    border: 1px solid rgba(152, 31, 133, .06);
    border-radius: 18px;
    background: linear-gradient(105deg, rgba(240, 228, 238, .7), rgba(250, 246, 250, .9));
}
.sn-aftercare-contact__icon {
    display: flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(240, 228, 238, .85);
    color: var(--sn-violet);
}
.sn-aftercare-contact__copy { min-width: 0; }
.sn-aftercare-contact__title {
    margin: 0 0 6px;
    color: var(--sn-text);
    font-family: 'Cygre';
    font-size: 25px;
    font-weight: 500;
    line-height: 1.15;
}
.sn-aftercare-contact__text {
    color: var(--color-dark-gray);
    font-size: 17px;
    line-height: 1.4;
}
.sn-aftercare-contact__button {
    display: inline-flex;
    min-width: 282px;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 26px;
    white-space: nowrap;
}
.sn-aftercare-contact__button svg { flex: 0 0 auto; }
@media (max-width: 760px) {
    .sn-aftercare-contact {
        grid-template-columns: 64px minmax(0, 1fr);
        padding: 20px;
    }
    .sn-aftercare-contact__icon { width: 64px; height: 64px; }
    .sn-aftercare-contact__button { grid-column: 1 / -1; width: 100%; min-width: 0; }
}
@media (max-width: 480px) {
    .sn-aftercare-contact {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 18px;
    }
    .sn-aftercare-contact__icon { width: 58px; height: 58px; }
    .sn-aftercare-contact__title { font-size: 22px; }
    .sn-aftercare-contact__text { font-size: 16px; }
}

/* UTP redesign: detailed four-column panel */
.sn-service2-utps {
    margin-top: 24px;
    border-color: var(--color-stroke-shadow);
    border-radius: 18px;
    box-shadow: 0 2px 8px rgba(40, 47, 56, .025);
}
.sn-service2-utp {
    min-height: 270px;
    padding: 34px 42px;
    align-items: flex-start;
    gap: 24px;
}
.sn-service2-utp__icon {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
}
.sn-service2-utp__icon img {
    width: 60px;
    height: 60px;
}
.sn-service2-utp__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
}
.sn-service2-utp__title {
    display: block;
    overflow: visible;
    color: var(--sn-text);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.35px;
    -webkit-line-clamp: unset;
}
.sn-service2-utp__text {
    display: block;
    margin-top: 16px;
    color: var(--color-dark-gray);
    font-size: 18px;
    line-height: 1.35;
}
@media (max-width: 1240px) {
    .sn-service2-utp { min-height: 240px; padding: 28px 24px; gap: 18px; }
    .sn-service2-utp__icon { flex-basis: 62px; width: 62px; height: 62px; }
    .sn-service2-utp__icon img { width: 52px; height: 52px; }
    .sn-service2-utp__title { font-size: 21px; }
    .sn-service2-utp__text { margin-top: 12px; font-size: 16px; }
}
@media (max-width: 768px) {
    .sn-service2-utps { margin-top: 0; }
    .sn-service2-utp { min-height: 218px; padding: 24px; }
    .sn-service2-utp__title { font-size: 20px; }
}
@media (max-width: 570px) {
    .sn-service2-utps { grid-template-columns: 1fr; }
    .sn-service2-utp {
        min-height: 0;
        padding: 22px;
        gap: 16px;
    }
    .sn-service2-utp:not(:last-child) { border-right: 0; border-bottom: 1px solid var(--color-stroke-shadow); }
    .sn-service2-utp:nth-child(odd) { border-right: 0; }
    .sn-service2-utp:nth-child(-n + 2) { border-bottom: 1px solid var(--color-stroke-shadow); }
    .sn-service2-utp__icon { flex-basis: 56px; width: 56px; height: 56px; }
    .sn-service2-utp__icon img { width: 48px; height: 48px; }
    .sn-service2-utp__title { font-size: 19px; }
    .sn-service2-utp__text { font-size: 16px; }
}

/* UTP compact sizing refinement */
.sn-service2-utp {
    min-height: 226px;
    padding: 28px 30px;
    gap: 18px;
}
.sn-service2-utp__icon {
    flex-basis: 60px;
    width: 60px;
    height: 60px;
}
.sn-service2-utp__icon img {
    width: 46px;
    height: 46px;
}
.sn-service2-utp__title {
    font-size: 20px;
    line-height: 1.2;
}
.sn-service2-utp__text {
    margin-top: 11px;
    font-size: 16px;
    line-height: 1.36;
}
@media (max-width: 1240px) {
    .sn-service2-utp { min-height: 206px; padding: 24px 20px; gap: 15px; }
    .sn-service2-utp__icon { flex-basis: 54px; width: 54px; height: 54px; }
    .sn-service2-utp__icon img { width: 42px; height: 42px; }
    .sn-service2-utp__title { font-size: 19px; }
    .sn-service2-utp__text { font-size: 15px; }
}
@media (max-width: 570px) {
    .sn-service2-utp { min-height: 0; padding: 20px; }
    .sn-service2-utp__icon { flex-basis: 50px; width: 50px; height: 50px; }
    .sn-service2-utp__icon img { width: 40px; height: 40px; }
    .sn-service2-utp__title { font-size: 18px; }
    .sn-service2-utp__text { font-size: 15px; }
}

/* New service blocks: legacy visual system alignment */
.sn-medical__title { margin-bottom: 56px; }
.sn-medical__panel { border-radius: 20px; }
.sn-medical-column__header { border-radius: 16px; }
.sn-medical-column__header h3,
.sn-clinic-card h3 {
    font-family: 'Cygre';
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
}
.sn-medical-text,
.sn-medical__note,
.sn-clinic__intro {
    font-family: 'Cygre';
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.36px;
}
.sn-aftercare__title { margin-bottom: 56px; }
.sn-aftercare__grid { gap: 20px; }
.sn-aftercare-card {
    min-height: 278px;
    padding: 24px;
    border-radius: 20px;
    box-shadow: none;
}
.sn-aftercare-card__icon {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
}
.sn-aftercare-card__icon img { width: 42px; height: 42px; }
.sn-aftercare-card__title {
    margin: 20px 0 12px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
}
.sn-aftercare-card__text {
    color: var(--color-dark-gray);
    font-family: 'Cygre';
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.36px;
}
.sn-aftercare-contact {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 18px;
    min-height: 112px;
    margin-top: 20px;
    padding: 20px 24px;
    border-color: var(--color-stroke-shadow);
    border-radius: 20px;
    background: rgba(240, 228, 238, .36);
}
.sn-aftercare-contact__icon {
    width: 60px;
    height: 60px;
    background: rgba(240, 228, 238, .7);
}
.sn-aftercare-contact__title {
    margin-bottom: 6px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
}
.sn-aftercare-contact__text {
    font-family: 'Cygre';
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.36px;
}
.sn-aftercare-contact__button {
    min-width: 248px;
    min-height: 48px;
    padding: 10px 22px;
}
@media (max-width: 767px) {
    .sn-medical__title,
    .sn-aftercare__title { margin-bottom: 24px; }
    .sn-medical__panel { border-radius: 16px; }
    .sn-aftercare-card { min-height: 0; border-radius: 16px; }
    .sn-aftercare-card__icon { width: 56px; height: 56px; flex-basis: 56px; }
    .sn-aftercare-card__icon img { width: 38px; height: 38px; }
    .sn-aftercare-card__title { font-size: 20px; }
    .sn-aftercare-card__text,
    .sn-aftercare-contact__text { font-size: 16px; line-height: 22px; letter-spacing: -.2px; }
    .sn-aftercare-contact {
        grid-template-columns: 56px minmax(0, 1fr);
        border-radius: 16px;
    }
    .sn-aftercare-contact__icon { width: 56px; height: 56px; }
    .sn-aftercare-contact__title { font-size: 20px; }
}
@media (max-width: 480px) {
    .sn-aftercare-contact { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
    .sn-aftercare-contact__icon { width: 52px; height: 52px; }
    .sn-aftercare-contact__button { min-height: 40px; }
}

/* New service blocks: body typography matches legacy sections */
.sn-medical-text,
.sn-medical__note,
.sn-clinic__intro,
.sn-aftercare-card__title,
.sn-aftercare-card__text,
.sn-aftercare-contact__title,
.sn-aftercare-contact__text {
    font-family: 'Helvetica';
    font-weight: 400;
}
.sn-medical-text,
.sn-medical__note,
.sn-clinic__intro {
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: normal;
}
.sn-aftercare-card__title,
.sn-aftercare-contact__title {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: normal;
}
.sn-aftercare-card__text {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: normal;
}
.sn-aftercare-contact__text {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: normal;
}
@media (max-width: 767px) {
    .sn-medical-text,
    .sn-medical__note,
    .sn-clinic__intro { font-size: 16px; line-height: 22px; }
    .sn-aftercare-card__title,
    .sn-aftercare-contact__title { font-size: 18px; }
    .sn-aftercare-card__text,
    .sn-aftercare-contact__text { font-size: 16px; line-height: 22px; }
}
/* Medical lists: compact body typography */
.sn-medical-text {
    font-family: 'Helvetica';
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: normal;
}
/* Hero UTP: compact text scale */
.sn-service2-utp__title {
    font-size: 18px;
    line-height: 1.2;
}
.sn-service2-utp__text {
    font-size: 14px;
    line-height: 1.35;
}
@media (max-width: 570px) {
    .sn-service2-utp__title { font-size: 17px; }
    .sn-service2-utp__text { font-size: 14px; }
}
/* Clinic benefits: explicit type hierarchy */
.sn-clinic__intro {
    font-family: 'Helvetica';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: normal;
}
.sn-clinic-card h3 {
    font-family: 'Cygre';
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
}
@media (max-width: 767px) {
    .sn-clinic__intro {
        font-size: 16px;
        line-height: 22px;
    }
    .sn-clinic-card h3 {
        font-size: 18px;
        line-height: 1.2;
    }
}


/* Patient reviews */
.sn-reviews__title{margin-bottom:56px}.sn-reviews__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sn-reviews-platform{display:flex;min-width:0;padding:26px;flex-direction:column;border:1px solid var(--color-stroke-shadow);border-radius:20px;background:var(--color-white)}.sn-reviews-platform__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px}.sn-reviews-brand,.sn-reviews-platform__rating{display:flex;align-items:center;gap:12px;min-width:0}.sn-reviews-brand{color:var(--color-black);font:700 28px/1 'Helvetica';white-space:nowrap}.sn-reviews-brand__mark{display:flex;flex:0 0 54px;width:54px;height:54px;align-items:center;justify-content:center}.sn-reviews-brand--2gis .sn-reviews-brand__mark{border-radius:14px;background:linear-gradient(180deg,#ffd334 0 33%,#37bb66 33% 66%,#23aee4 66%);color:#fff;font-size:26px}.sn-reviews-brand--yandex .sn-reviews-brand__mark{color:#fc3f1d;font-size:52px;line-height:1}.sn-reviews-platform__rating{gap:16px}.sn-reviews-platform__rating b{font:400 38px/1 'Cygre'}.sn-reviews-stars{color:var(--color-violet);font-size:30px;line-height:1;letter-spacing:3px}.sn-reviews-platform__list{display:grid;gap:12px}.sn-review{display:grid;grid-template-columns:56px minmax(0,1fr) 28px;gap:14px;min-width:0;padding:20px;border-radius:16px;background:rgba(240,228,238,.36)}.sn-review__avatar{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:rgba(240,228,238,.82);color:var(--color-violet);font-size:28px}.sn-review strong{display:block;margin-bottom:7px;color:var(--color-black);font:700 18px/1.2 'Helvetica'}.sn-review p{margin:0;color:var(--color-dark-gray);font:400 16px/1.35 'Helvetica'}.sn-review__quote{color:rgba(152,31,133,.18);font:700 56px/.75 Georgia,serif}.sn-reviews-platform__link{display:inline-flex;width:100%;min-height:48px;margin-top:18px;align-items:center;justify-content:center;gap:18px;border:1px solid var(--color-violet);border-radius:18px;color:var(--color-violet);font:400 16px/1 'Helvetica';text-decoration:none}.sn-reviews-platform__link:hover{background:var(--color-violet);color:var(--color-white)}.sn-reviews-platform__link span{font-size:24px}.sn-reviews-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin-top:20px;border:1px solid var(--color-stroke-shadow);border-radius:20px;background:var(--color-white)}.sn-reviews-trust>div{display:flex;min-width:0;min-height:100px;align-items:center;justify-content:center;gap:16px;padding:18px 22px;color:var(--color-black);font:400 18px/1.2 'Helvetica';text-align:center}.sn-reviews-trust>div:not(:last-child){border-right:1px solid var(--color-stroke-shadow)}.sn-reviews-trust img{width:38px;height:38px;flex:0 0 38px}.sn-reviews-trust__icon{display:flex;width:38px;height:38px;align-items:center;justify-content:center;flex:0 0 38px;border:2px solid var(--color-violet);border-radius:10px;color:var(--color-violet);font-size:28px}@media(max-width:900px){.sn-reviews__grid{grid-template-columns:1fr}}@media(max-width:767px){.sn-reviews__title{margin-bottom:24px}.sn-reviews-platform{padding:18px;border-radius:16px}.sn-reviews-brand{font-size:23px}.sn-reviews-brand__mark{flex-basis:44px;width:44px;height:44px}.sn-reviews-platform__rating b{font-size:30px}.sn-reviews-stars{font-size:23px}.sn-review{grid-template-columns:44px minmax(0,1fr) 20px;gap:10px;padding:16px}.sn-review__avatar{width:42px;height:42px}.sn-review strong{font-size:16px}.sn-review p{font-size:15px}.sn-review__quote{font-size:42px}.sn-reviews-trust{grid-template-columns:1fr;border-radius:16px}.sn-reviews-trust>div{min-height:76px;justify-content:flex-start;font-size:16px;text-align:left}.sn-reviews-trust>div:not(:last-child){border-right:0;border-bottom:1px solid var(--color-stroke-shadow)}}@media(max-width:480px){.sn-reviews-platform__top{align-items:flex-start;flex-direction:column}.sn-reviews-platform__link{min-height:44px;font-size:15px}}

/* Reviews: supplied platform icons */
.sn-reviews-brand__logo {
    display: block;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    object-fit: contain;
}
@media (max-width: 767px) {
    .sn-reviews-brand__logo { width: 44px; height: 44px; flex-basis: 44px; }
}
/* UTP: enlarged supplied icons */
.sn-service2-utp__icon {
    flex: 0 0 88px;
    width: 88px;
    height: 88px;
}
.sn-service2-utp__icon img { width: 72px; height: 72px; }
@media (max-width: 1199px) {
    .sn-service2-utp__icon { flex-basis: 72px; width: 72px; height: 72px; }
    .sn-service2-utp__icon img { width: 60px; height: 60px; }
}
@media (max-width: 767px) { .sn-service2-utp__icon { flex-basis: 64px; width: 64px; height: 64px; } .sn-service2-utp__icon img { width: 56px; height: 56px; } }
/* New service typography: shared site scale */
.service-new .sn-toc__title,
.service-new .sn-medical__title,
.service-new .sn-clinic__title,
.service-new .sn-reviews__title,
.service-new .sn-aftercare__title {
    font-family: 'Cygre';
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: normal;
}
.service-new .sn-service2-utp__title {
    font-family: 'Cygre';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.36px;
}
.service-new .sn-medical-column__header h3,
.service-new .sn-clinic-card h3,
.service-new .sn-aftercare-card__title,
.service-new .sn-aftercare-contact__title {
    font-family: 'Cygre';
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: normal;
}
.service-new .sn-toc__grid a,
.service-new .sn-medical-text,
.service-new .sn-medical__note,
.service-new .sn-clinic__intro,
.service-new .sn-aftercare-card__text,
.service-new .sn-aftercare-contact__text,
.service-new .sn-aftercare-contact__button,
.service-new .sn-review p,
.service-new .sn-reviews-platform__link {
    font-family: 'Helvetica';
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: normal;
}
.service-new .sn-reviews-brand {
    font-family: 'Cygre';
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
}
.service-new .sn-reviews-platform__rating b {
    font-family: 'Cygre';
    font-size: 32px;
    font-weight: 400;
    line-height: 1;
}
.service-new .sn-reviews-stars {
    font-family: 'Helvetica';
    font-size: 24px;
    line-height: 1;
    letter-spacing: 1px;
}
.service-new .sn-review strong {
    font-family: 'Cygre';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
}
.service-new .sn-review__quote {
    font-family: 'Cygre';
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
}
@media (max-width: 768px) {
    .service-new .sn-toc__title,
    .service-new .sn-medical__title,
    .service-new .sn-clinic__title,
    .service-new .sn-reviews__title,
    .service-new .sn-aftercare__title { font-size: 32px; }
    .service-new .sn-medical-column__header h3,
    .service-new .sn-clinic-card h3,
    .service-new .sn-aftercare-card__title,
    .service-new .sn-aftercare-contact__title,
    .service-new .sn-reviews-brand { font-size: 18px; }
    .service-new .sn-reviews-platform__rating b { font-size: 26px; }
    .service-new .sn-reviews-stars { font-size: 20px; }
    .service-new .sn-review p { font-size: 16px; }
    .service-new .sn-toc__grid a { font-size: 14px; }
}
@media (max-width: 570px) {
    .service-new .sn-service2-utp__title { font-size: 17px; }
}
/* Detailed UTP row after hero */
.service-new .sn-service2-utps--detailed {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 8px;
    border-radius: 20px;
    box-shadow: none;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp {
    min-height: 0;
    padding: 24px 18px;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    text-align: left;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon {
    display: flex;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    overflow: visible;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img {
    display: block;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    max-width: none;
    object-fit: contain;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$=".png"] {
    flex-basis: 86px;
    width: 86px;
    height: 86px;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__content {
    min-width: 0;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__title {
    color: var(--color-black);
    font-family: 'Cygre';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -0.36px;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__text {
    display: block;
    margin-top: 8px;
    color: var(--color-dark-gray);
    font-family: 'Helvetica';
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: normal;
}
@media (max-width: 1199px) {
    .service-new .sn-service2-utps--detailed .sn-service2-utp {
        padding: 22px 14px;
        gap: 10px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$=".png"] {
        flex-basis: 80px;
        width: 80px;
        height: 80px;
    }
}
@media (max-width: 1024px) {
    .service-new .sn-service2-utps--detailed {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 0;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp {
        min-height: 0;
        border-right: 0;
        border-bottom: 0;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp:nth-child(odd) {
        border-right: 1px solid var(--color-stroke-shadow);
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp:nth-child(-n + 2) {
        border-bottom: 1px solid var(--color-stroke-shadow);
    }
}
@media (max-width: 570px) {
    .service-new .sn-service2-utps--detailed {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp {
        min-height: 0;
        padding: 12px 16px;
        align-items: center;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp:nth-child(odd) {
        border-right: 0;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp:not(:last-child) {
        border-bottom: 1px solid var(--color-stroke-shadow);
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__title {
        font-size: 16px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__text {
        font-size: 15px;
    }
}
/* Shared typography for indications, hero copy and UTP descriptions */
.service-new .sn-medical-text,
.service-new .sn-service2-hero .service-top__description,
.service-new .sn-service2-utps--detailed .sn-service2-utp__text {
    color: var(--color-black);
    font-family: 'Helvetica';
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: normal;
}
/* Mobile UTP copy stays compact without changing hero and medical text */
@media (max-width: 570px) {
    .service-new .sn-service2-utps--detailed .sn-service2-utp__text {
        margin-top: 6px;
        font-size: 15px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$=".png"] {
        flex-basis: 74px;
        width: 74px;
        height: 74px;
    }
}

/* Mobile layout and typography for the new service template only. */
.service-new .sn-method-card h3{font-family:'Cygre';font-weight:400}
.service-new .sn-method-card .text-M{font-family:'Helvetica';font-size:16px;line-height:1.35}
@media(max-width:768px){
.service-new .sn-service2-hero .top_content-footer{order:2}
.service-new .sn-service2-hero .service-top-img__wrapper{order:3}
.service-new .sn-service2-hero .sn-service2-utps--detailed{order:4}
.service-new .sn-medical-column__header{min-height:58px;padding:10px 12px;gap:12px}
.service-new .sn-medical-column__header-icon{flex-basis:36px;width:36px;height:36px}
.service-new .sn-medical-column__header-icon img{width:32px;height:32px}
.service-new .sn-medical-column li{min-height:0;padding:10px 6px;gap:12px}
.service-new .sn-medical-icon{flex-basis:30px;width:30px;height:30px}
.service-new .sn-medical-icon img{width:28px;height:28px}
.service-new .sn-medical__note{min-height:0;padding:12px;gap:12px}
.service-new .sn-medical__note img{flex-basis:32px;width:32px;height:32px}
.service-new .sn-method-card{min-height:0;padding:18px}
.service-new .sn-method-card h3{margin-bottom:10px}
.service-new .step-card__img{height:auto;min-height:64px;padding:12px 16px}
.service-new .step-card__content{padding:14px 16px;gap:12px}
.service-new .step-card__content ul{gap:8px}
.service-new .step-card__note{padding-top:10px}
.service-new #prices .prices-tabs-arrow{display:none!important}
.service-new #prices .prices-tabs{flex:1 1 auto;min-width:0;-webkit-overflow-scrolling:touch}
.service-new #prices .prices-tab{flex:0 0 auto;font-family:'Helvetica'}
.service-new #prices .prices-table-row:first-child{display:none}
.service-new #prices .prices-table-row:not(:first-child){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.service-new #prices .prices-table-cell{min-width:0;padding:12px 14px}
.service-new #prices .prices-table-cell:last-child{padding-left:0;white-space:nowrap}
.service-new .sn-clinic-card{min-height:112px;padding:12px;gap:8px}
.service-new .sn-clinic-card__icon{flex-basis:36px;width:36px;height:36px}
.service-new .sn-clinic-card__icon img{width:34px;height:34px}
.service-new .sn-clinic-card h3{font-size:18px;line-height:1.2}
}
@media(max-width:580px){
.service-new .sn-aftercare-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:6px 12px;min-height:0;padding:16px}
.service-new .sn-aftercare-card__icon{grid-column:1;grid-row:1 / span 2;width:44px;height:44px;flex-basis:44px}
.service-new .sn-aftercare-card__icon img{width:28px;height:28px}
.service-new .sn-aftercare-card__title{grid-column:2;margin:0;font:400 18px/1.2 'Cygre'}
.service-new .sn-aftercare-card__text{grid-column:2;font:400 16px/1.35 'Helvetica'}
.service-new .sn-aftercare-card--no-icon{grid-template-columns:1fr}
.service-new .sn-aftercare-card--no-icon .sn-aftercare-card__title,.service-new .sn-aftercare-card--no-icon .sn-aftercare-card__text{grid-column:1}
.service-new .sn-aftercare-contact{grid-template-columns:44px minmax(0,1fr);gap:12px;min-height:0;padding:16px}
.service-new .sn-aftercare-contact__icon{width:44px;height:44px}
.service-new .sn-aftercare-contact__icon svg{width:30px;height:30px}
.service-new .sn-aftercare-contact__button{grid-column:1 / -1;width:100%;min-width:0;min-height:44px}
}

/* Canonical site typography for the new service blocks. */
.service-new .sn-medical-text,
.service-new .sn-medical__note,
.service-new .sn-clinic__intro,
.service-new .sn-aftercare-card__text,
.service-new .sn-aftercare-contact__text,
.service-new .sn-service2-utps--detailed .sn-service2-utp__text,
.service-new .sn-toc__grid a,
.service-new .sn-review p,
.service-new .sn-reviews-platform__link {
    font-family: 'Helvetica';
    font-size: 16px;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: -0.32px;
}
.service-new .sn-medical-column__header h3,
.service-new .sn-clinic-card h3,
.service-new .sn-aftercare-card__title,
.service-new .sn-aftercare-contact__title,
.service-new .sn-service2-utps--detailed .sn-service2-utp__title,
.service-new .sn-reviews-brand,
.service-new .sn-reviews-platform__rating b,
.service-new .sn-review strong {
    font-family: 'Cygre';
}

/* Align visible PNG icon edges with UTP headings. */
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-consultation.png"] { transform: translateY(-7px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-plan.png"] { transform: translateY(-15px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-warranty.png"] { transform: translateY(-17px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-equipment.png"] { transform: translateY(-3px); }
@media (max-width: 1199px) {
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-consultation.png"] { transform: translateY(-4px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-plan.png"] { transform: translateY(-12px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-warranty.png"] { transform: translateY(-14px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-equipment.png"] { transform: translateY(-1px); }
}
@media (max-width: 570px) {
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-consultation.png"] { transform: translateY(-6px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-plan.png"] { transform: translateY(-13px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-warranty.png"] { transform: translateY(-15px); }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-equipment.png"] { transform: translateY(-3px); }
}

/* Compact UTP strip below the service hero. */
.service-new .sn-service2-utps--detailed {
    margin-top: 4px;
    border-color: rgba(40, 47, 56, .12);
    border-radius: 18px;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp {
    min-height: 124px;
    padding: 16px 14px;
    align-items: flex-start;
    gap: 12px;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp:not(:last-child) {
    border-right-color: rgba(40, 47, 56, .10);
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    align-items: flex-start;
    justify-content: flex-start;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img,
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$=".png"] {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    object-fit: contain;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-consultation.png"] { transform: translateY(-7px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-plan.png"] { transform: translateY(-12px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-warranty.png"] { transform: translateY(-13px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__icon img[src$="utp-equipment.png"] { transform: translateY(-6px); }
.service-new .sn-service2-utps--detailed .sn-service2-utp__title {
    font-family: 'Cygre';
    font-size: 16px;
    font-weight: 500;
    line-height: 115%;
    letter-spacing: normal;
}
.service-new .sn-service2-utps--detailed .sn-service2-utp__text {
    margin-top: 5px;
    color: rgba(40, 47, 56, .66);
    font-family: 'Helvetica';
    font-size: 14px;
    font-weight: 400;
    line-height: 125%;
    letter-spacing: normal;
}
@media (max-width: 1024px) {
    .service-new .sn-service2-utps--detailed .sn-service2-utp {
        min-height: 110px;
        padding: 14px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp:nth-child(odd) {
        border-right-color: rgba(40, 47, 56, .10);
    }
}
@media (max-width: 570px) {
    .service-new .sn-service2-utps--detailed {
        border-radius: 16px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp {
        min-height: 0;
        padding: 12px 14px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__title {
        font-size: 16px;
    }
    .service-new .sn-service2-utps--detailed .sn-service2-utp__text {
        font-size: 14px;
    }
}

/* Keep service indications icons compact without changing the card layout. */
.service-new .sn-medical-column__header-icon,
.service-new .sn-medical-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
}
.service-new .sn-medical-column__header-icon img,
.service-new .sn-medical-icon img {
    width: 36px;
    height: 36px;
}
/* Slightly smaller icons in the clinic-benefits cards on desktop. */
@media (min-width: 769px) {
    .service-new .sn-clinic-card__icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }
    .service-new .sn-clinic-card__icon img {
        width: 42px;
        height: 42px;
    }
}
/* Larger artwork inside the existing round aftercare icon backgrounds. */
@media (min-width: 768px) {
    .service-new .sn-aftercare-card__icon img {
        width: 48px;
        height: 48px;
    }
}
@media (min-width: 581px) and (max-width: 767px) {
    .service-new .sn-aftercare-card__icon img {
        width: 42px;
        height: 42px;
    }
}
@media (max-width: 580px) {
    .service-new .sn-aftercare-card__icon img {
        width: 32px;
        height: 32px;
    }
}
/* Do not show controls when the new-template slider has nothing to scroll. */
.service-new #promotions .promo-slider__arrow--prev.is-hidden,
.service-new #promotions .promo-slider__arrow--next.is-hidden {
    display: none !important;
}
@media (min-width: 1024px) {
    .service-new .team-slider--static #team_slider_nav_btn_prev,
    .service-new .team-slider--static #team_slider_nav_btn_next {
        display: none !important;
    }
}
/* Keep patient review cards and platform buttons aligned on desktop. */
@media (min-width: 768px) {
    .service-new .sn-review {
        min-height: 180px;
        box-sizing: border-box;
    }
    .service-new .sn-reviews-platform__link {
        margin-top: auto;
    }
}
/* Default patient avatar supplied for review cards. */
.service-new .sn-review__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* Consultation form messenger links, matching the hero Telegram/MAX controls. */
.service-new .sn-consultation-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}
.service-new .sn-consultation-actions .form-send-btn {
    flex: 0 1 514px;
    width: 100%;
    max-width: 514px;
}
/* Keep the mobile submit label visible on the white button. */
.service-new .sn-consultation-actions .form-send-btn {
    color: var(--sn-text) !important;
    background-color: var(--sn-white);
}
.service-new .sn-consultation-messengers {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.service-new .sn-consultation-messenger {
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-color: var(--sn-text);
}
.service-new .sn-consultation-messenger img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}
@media (max-width: 767px) {
    .service-new .sn-consultation-actions {
        gap: 8px;
    }
    .service-new .sn-consultation-messenger {
        flex-basis: 36px;
        width: 36px;
        min-width: 36px;
        height: 36px;
    }
    .service-new .sn-consultation-messenger img {
        width: 18px;
        height: 18px;
    }
}
/* The shared .w-100 helper is !important; keep the submit control beside the messengers. */
.service-new .sn-consultation-actions .form-send-btn {
    width: 100% !important;
}
/* Compact patient review cards: match every card to the tallest review without empty space. */
@media (min-width: 768px) {
    .service-new .sn-review {
        min-height: 156px;
        padding: 16px;
        box-sizing: border-box;
    }
    .service-new .sn-reviews-platform__link {
        margin-top: 16px;
    }
}/* Service preview doctor-to-service badge */
.service-new .doctor-item__service-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 0 0 14px;
    padding: 8px 14px;
    border: 1px solid #b5379d;
    border-radius: 999px;
    background: #fbf3fa;
    color: #ad2f95;
    font-family: Cygre, Helvetica, Arial, sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
}
@media (max-width: 767px) {
    .service-new .doctor-item__service-badge {
        min-height: 36px;
        margin-bottom: 10px;
        padding: 7px 10px;
        font-size: 14px;
    }
}

/* Updated clinic benefits cards for service preview */
.service-new .sn-clinic-card {
    justify-content: flex-start;
    gap: 10px;
}
.service-new .sn-clinic-card__text {
    max-width: 260px;
    margin: 0;
    color: rgba(40, 47, 56, .62);
    font-family: 'Helvetica';
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: normal;
}
@media (max-width: 767px) {
    .service-new .sn-clinic-card {
        gap: 8px;
    }
    .service-new .sn-clinic-card__text {
        max-width: none;
        font-size: 14px;
        line-height: 1.35;
    }
}

/* Fallback styling for the service-doctor badge */
.doctor-item__service-badge {
    display: flex !important;
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    margin: 0 0 14px;
    padding: 8px 14px;
    align-items: center;
    justify-content: center;
    border: 1px solid #b5379d !important;
    border-radius: 999px;
    background: #fbf3fa !important;
    color: #ad2f95 !important;
    font-family: 'Cygre', Helvetica, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    text-align: center;
}
@media (max-width: 767px) {
    .doctor-item__service-badge {
        min-height: 36px;
        margin-bottom: 10px;
        padding: 7px 10px;
        font-size: 14px !important;
    }
}


/* Preserve paragraph separation in new-template hero copy */
.service-new .sn-service2-hero .service-top__description {
    white-space: pre-line;
}


/* Service doctor badge final cascade */
.service-new .doctor-item__service-badge,
.doctor-item__service-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    margin: 0 0 14px !important;
    padding: 8px 14px !important;
    border: 1px solid #b5379d !important;
    border-radius: 999px !important;
    background: #fbf3fa !important;
    color: #ad2f95 !important;
    font-family: 'Cygre', Helvetica, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}
@media (max-width: 767px) {
    .service-new .doctor-item__service-badge,
    .doctor-item__service-badge {
        min-height: 36px !important;
        margin-bottom: 10px !important;
        padding: 7px 10px !important;
        font-size: 14px !important;
    }
}
/* Compact clinic benefits panel for the new service template */
.service-new .sn-clinic__content {
    padding: 28px 32px 24px;
}
.service-new .sn-clinic__intro {
    margin-bottom: 20px;
}
.service-new .sn-clinic-card {
    min-height: 0;
    padding: 14px 18px;
    gap: 6px;
    justify-content: flex-start;
}
.service-new .sn-clinic-card__icon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
}
.service-new .sn-clinic-card__icon img {
    width: 38px;
    height: 38px;
}
.service-new .sn-clinic-card h3 {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.2;
}
.service-new .sn-clinic-card__text {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.3;
}
@media (max-width: 767px) {
    .service-new .sn-clinic__content {
        padding: 18px 14px 14px;
    }
    .service-new .sn-clinic__intro {
        margin-bottom: 16px;
    }
    .service-new .sn-clinic-card {
        padding: 12px 12px;
        gap: 6px;
    }
    .service-new .sn-clinic-card__icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }
    .service-new .sn-clinic-card__icon img {
        width: 38px;
        height: 38px;
    }
    .service-new .sn-clinic-card__text {
        font-size: 14px;
        line-height: 1.3;
    }
}


/* Compact service badge above, not inside, doctor cards */
.service-new .doctor-item__service-badge,
.doctor-item__service-badge {
    width: 100% !important;
    min-height: 32px !important;
    box-sizing: border-box !important;
    margin: 0 0 10px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
}
@media (max-width: 767px) {
    .service-new .doctor-item__service-badge,
    .doctor-item__service-badge {
        min-height: 30px !important;
        margin-bottom: 8px !important;
        padding: 5px 8px !important;
        font-size: 13px !important;
    }
}


/* Show full clinic benefits copy while keeping the compact 2x2 panel */
.service-new .sn-clinic-card {
    padding: 12px 16px;
    gap: 6px;
}
.service-new .sn-clinic-card h3 {
    max-width: 100%;
    display: block;
    overflow: visible;
    font-size: 18px !important;
    line-height: 1.15 !important;
}
.service-new .sn-clinic-card__text {
    max-width: 100%;
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    font-size: 13px !important;
    line-height: 1.25 !important;
}
@media (max-width: 767px) {
    .service-new .sn-clinic-card {
        padding: 10px 10px;
        gap: 5px;
    }
    .service-new .sn-clinic-card h3 {
        font-size: 16px !important;
        line-height: 1.2 !important;
    }
    .service-new .sn-clinic-card__text {
        font-size: 12px !important;
        line-height: 1.25 !important;
    }
}


/* Equal doctor card dimensions in the new service template */
.service-new .team_slider .swiper-wrapper {
    align-items: stretch;
}
.service-new .team_slider .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}
.service-new .team_slider .doctor__item {
    width: 100%;
    min-height: 500px;
    box-sizing: border-box;
}
.service-new .team_slider .doctor-item__content {
    flex: 1 1 auto;
}
@media (max-width: 1199px) {
    .service-new .team_slider .doctor__item {
        min-height: 520px;
    }
}
@media (max-width: 767px) {
    .service-new .team_slider .doctor__item {
        min-height: 0;
        height: 100%;
    }
}


/* Restore legacy doctor-card height; badge floats above without changing card layout */
.service-new .team_slider .swiper-wrapper {
    align-items: stretch;
}
.service-new .team_slider .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}
.service-new .team_slider .doctor__item {
    width: 100%;
    min-height: 0;
    height: 100%;
}
.service-new .team_slider .doctor-item__service-badge {
    position: relative;
    z-index: 3;
    width: calc(100% - 32px) !important;
    min-height: 30px !important;
    margin: 0 auto -30px !important;
    padding: 5px 10px !important;
    transform: translateY(-38px);
    font-size: 14px !important;
    line-height: 1.15 !important;
}
@media (max-width: 767px) {
    .service-new .team_slider .doctor-item__service-badge {
        width: calc(100% - 20px) !important;
        min-height: 28px !important;
        margin-bottom: -28px !important;
        padding: 4px 8px !important;
        transform: translateY(-34px);
        font-size: 13px !important;
    }
}


/* Allow the service badge to render above the doctor card */
.service-new .team_slider,
.service-new .team_slider-wrapper {
    overflow: visible;
}


/* Match the doctor badge colors to the legacy "Подробнее" button */
.service-new .team_slider .doctor-item__service-badge,
.service-new .doctor-item__service-badge {
    border-color: #282f38 !important;
    background: #ffffff !important;
    color: #282f38 !important;
}
/* Mobile service-doctor badge: keep it below the team action. */
@media (max-width: 767px) {
    .service-new .team-section .team_slider-wrapper {
        margin-top: 12px;
    }
    .service-new .team_slider .doctor-item__service-badge {
        position: static !important;
        z-index: auto !important;
        width: calc(100% - 20px) !important;
        min-height: 0 !important;
        margin: 0 auto 8px !important;
        padding: 5px 8px !important;
        transform: none !important;
        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 300 !important;
        line-height: 1.2 !important;
    }
}
/* Preserve equal-height mobile doctor cards while service badges stay above them. */
@media (max-width: 767px) {
    .service-new .team_slider .swiper-wrapper { align-items: stretch; }
    .service-new .team_slider .swiper-slide { display: flex; height: auto; flex-direction: column; }
    .service-new .team_slider .doctor__item { flex: 1 1 auto !important; min-height: 430px !important; height: auto !important; }
}
/* New-template tablet doctor cards: badge above card without changing card height. */
@media (min-width: 768px) and (max-width: 1023px) {
    .service-new .team-section .team_slider-wrapper { margin-top: 12px; }
    .service-new .team_slider .swiper-wrapper { align-items: stretch; }
    .service-new .team_slider .swiper-slide { display: flex; height: auto; flex-direction: column; }
    .service-new .team_slider .doctor-item__service-badge { position: static !important; z-index: auto !important; width: calc(100% - 20px) !important; min-height: 0 !important; margin: 0 auto 8px !important; padding: 5px 8px !important; transform: none !important; font-family: inherit !important; font-size: 14px !important; font-weight: 300 !important; line-height: 1.2 !important; }
    .service-new .team_slider .doctor__item { flex: 1 1 auto !important; min-height: 520px !important; height: auto !important; }
}
/* Reserve an equal badge row above every new-template doctor card. */
@media (max-width: 1023px) {
    .service-new .team-section .team_slider-wrapper { margin-top: 12px; }
    .service-new .team_slider .swiper-wrapper { align-items: stretch; }
    .service-new .team_slider .swiper-slide { position: relative; display: block !important; height: auto; padding-top: 38px; box-sizing: border-box; }
    .service-new .team_slider .doctor-item__service-badge { position: absolute !important; z-index: 2 !important; top: 0; left: 10px; width: calc(100% - 20px) !important; min-height: 0 !important; margin: 0 !important; padding: 5px 8px !important; transform: none !important; font-family: inherit !important; font-size: 14px !important; font-weight: 300 !important; line-height: 1.2 !important; }
    .service-new .team_slider .doctor__item { flex: none !important; min-height: 520px !important; height: 520px !important; }
}
@media (max-width: 767px) {
    .service-new .team_slider .swiper-slide { padding-top: 36px; }
    .service-new .team_slider .doctor__item { min-height: 430px !important; height: 430px !important; }
}
/* Tighten mobile doctor cards and lift the service badge. */
@media (max-width: 767px) {
    .service-new .team_slider .swiper-slide { padding-top: 32px; }
    .service-new .team_slider .doctor-item__service-badge { top: -4px; }
    .service-new .team_slider .doctor__item { min-height: 400px !important; height: 400px !important; }
}
/* Further compact mobile doctor cards without badge overlap. */
@media (max-width: 767px) {
    .service-new .team_slider .swiper-slide { padding-top: 44px; }
    .service-new .team_slider .doctor-item__service-badge { top: 0; }
    .service-new .team_slider .doctor__item { min-height: 370px !important; height: 370px !important; }
}

/* Improve portrait rendering in new-service doctor cards. */
.service-new .team_slider .doctor-item_img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
/* Keep full doctor portraits visible in new-service cards. */
.service-new .team_slider .doctor-item_img img { object-fit: contain; object-position: center; background: #edf0f8; }
