/* =========================================================================
   Владлинк ТВ  —  страница /vladlinktv/
   Тёмная тема поверх дизайн-системы Владлинк (токены --color-1/2/3,
   шрифты Navigo/Pilar/Onest, сетка .container). Всё изолировано под .vltv.
   ========================================================================= */

.vltv {
    /* палитра страницы */
    --vl-blue: var(--color-1, #0099FF);
    --vl-orange: var(--color-2, #F04E23);
    --vl-purple: var(--color-3, #8B6AFF);

    --vltv-bg: #141414;
    --vltv-bg-2: #0E0E0E;
    --vltv-black: #000000;
    --vltv-card: #1C1C1C;
    --vltv-card-2: #222226;
    --vltv-stroke: rgba(255, 255, 255, .08);
    --vltv-stroke-2: #89D0FF;
    --vltv-text: #FFFFFF;
    --vltv-muted: #828282;
    --vltv-muted-2: #6C6C7B;

    position: relative;
    background: var(--vltv-bg);
    color: var(--vltv-text);
    font-family: Navigo, "Onest", sans-serif;
    overflow: hidden;
}

/* тёмный фон должен уходить и под шапку, и до самого футера */
.vltv * {
    box-sizing: border-box;
}

.vltv a {
    color: inherit;
}

.vltv-section {
    position: relative;
    padding: 3rem 0;
    z-index: 1;
}

.vltv-section--tight {
    padding-top: 4rem;
}

/* чёрные секции (Киноафиша + Интерактивное ТВ, Установите) — ритм фона макета */
.vltv-section--black {
    background: var(--vltv-black);
}

/* ---- тёмная шапка только на этой странице (body.vltv-page) ------------- */
.vltv-page {
    background: var(--vltv-bg, #141414);
}

.vltv-page .header-bottom {
    background: #333;
}

/* белый логотип на тёмной шапке — фоном на ссылке (кросс-браузерно, в т.ч. Firefox) */
.vltv-page .header-bottom__login {
    background-image: url(../img/vladlinktv/logo-white.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

.vltv-page .header-bottom__login img {
    visibility: hidden;
}

.vltv-page .header-bottom-menu__link {
    color: #fff;
}

.vltv-page .header-bottom-menu__link:hover {
    color: var(--color-3, #8B6AFF);
}

.vltv-page .header-burger__line,
.vltv-page .header-burger__line::before,
.vltv-page .header-burger__line::after {
    background: #fff;
}

/* ---- заголовки ---------------------------------------------------------- */
.vltv-h1 {
    font-family: Pilar, Navigo, sans-serif;
    font-weight: 400;
    font-size: 3.25rem;
    line-height: .98;
    letter-spacing: -.0625rem;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.vltv-h2 {
    font-family: Pilar, Navigo, sans-serif;
    font-weight: 400;
    font-size: 2.35rem;
    line-height: 1.05;
    letter-spacing: -.0625rem;
    margin: 0 0 2rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.vltv-lead {
    color: var(--vltv-muted);
    font-size: 1.05rem;
    line-height: 1.5;
}

.vltv-muted {
    color: var(--vltv-muted);
}

/* ---- кнопки ------------------------------------------------------------- */
.vltv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    height: 3.125rem;
    padding: 0 1.75rem;
    border: 1px solid #C8B8FF;
    border-radius: .5rem;
    font-family: Navigo, "Onest", sans-serif;
    font-weight: 300;
    font-size: .9375rem;
    color: #fff;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    text-align: center;
}

.vltv-btn svg {
    flex: 0 0 auto;
}

.vltv-btn--purple {
    background: var(--vl-purple);
    box-shadow: 0 0 1.25rem rgba(139, 106, 255, .55), 0 0 2.5rem rgba(139, 106, 255, .35);
}

.vltv-btn--purple:hover {
    box-shadow: 0 0 1.5rem rgba(139, 106, 255, .7), 0 0 3rem rgba(139, 106, 255, .45);
    transform: translateY(-2px);
}

.vltv-btn--blue {
    background: var(--vl-blue);
    box-shadow: 0 0 1.25rem rgba(0, 153, 255, .5), 0 0 2.5rem rgba(0, 153, 255, .3);
}

.vltv-btn--blue:hover {
    box-shadow: 0 0 1.5rem rgba(0, 153, 255, .65), 0 0 3rem rgba(0, 153, 255, .4);
    transform: translateY(-2px);
}

.vltv-btn--ghost {
    background: transparent;
    border: 1px solid var(--vltv-stroke-2);
    box-shadow: none;
}

.vltv-btn--ghost:hover {
    border-color: #fff;
    transform: translateY(-2px);
}

/* =========================================================================
   1. ГЕРОЙ
   ========================================================================= */
.vltv-hero {
    position: relative;
    padding-top: 15rem;
    /* очищаем fixed-шапку, опускаем заголовок ниже */
    padding-bottom: 3rem;
    min-height: 47rem;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* .vltv-hero::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: -14%;
    width: 48rem;
    height: 48rem;
    background: radial-gradient(circle, rgba(139, 106, 255, .30) 0%, rgba(139, 106, 255, 0) 62%);
    pointer-events: none;
    z-index: 0;
} */

.vltv-hero>.container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.vltv-hero__left {
    max-width: 38rem;
    min-width: 0;
}

.vltv-hero .vltv-h1 {
    margin-bottom: 1.5rem;
}

.vltv-hero__sub {
    color: var(--vltv-text);
    font-size: 1.125rem;
    line-height: 1.45;
    margin-bottom: 2rem;
    /* max-width: 30rem; */
}

.vltv-hero .vltv-btn {
    height: 3.85rem;
    padding: 0 1.75rem;
    font-size: 1.125rem;
    font-weight: 300;
}

/* ---- фоновая «стена» постеров: 3 колонки, вертикальный marquee ---------- */
.vltv-hero__wall {
    /* правый край совпадает с .container (на ≥1570px — формула 1920 + 15rem) */
    --vltv-gutter: max(0px, calc((100% - 1920px) / 2 + 15rem));

    position: absolute;
    top: 0;
    bottom: 0;
    right: var(--vltv-gutter);
    width: min(48rem, calc(100% - var(--vltv-gutter) - 36rem));
    display: flex;
    gap: 1rem;
    z-index: 0;
    padding: 0;
}

.vltv-hero__wall::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        /* слева — мягкий уход под текст */
        linear-gradient(90deg, var(--vltv-bg) 0%, rgba(20, 20, 20, .55) 10%, transparent 36%),
        /* справа — туман у края контейнера */
        linear-gradient(270deg, var(--vltv-bg) 0%, rgba(20, 20, 20, .65) 8%, rgba(20, 20, 20, .2) 22%, transparent 38%),
        /* снизу — растворение */
        linear-gradient(180deg, transparent 50%, rgba(20, 20, 20, .45) 75%, var(--vltv-bg) 100%),
        /* сверху — лёгкий fade */
        linear-gradient(180deg, var(--vltv-bg) 0%, transparent 16%);
}

.vltv-hero__col {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
}

.vltv-hero__colinner {
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.vltv-hero__col--1 .vltv-hero__colinner {
    animation: vltv-marquee-up 44s linear infinite;
}

.vltv-hero__col--2 .vltv-hero__colinner {
    animation: vltv-marquee-down 52s linear infinite;
}

.vltv-hero__col--3 .vltv-hero__colinner {
    animation: vltv-marquee-up 48s linear infinite;
}

@keyframes vltv-marquee-up {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-50%);
    }
}

@keyframes vltv-marquee-down {
    from {
        transform: translateY(-50%);
    }

    to {
        transform: translateY(0);
    }
}

.vltv-hero__poster {
    display: block;
    margin-bottom: 1rem;
    border-radius: .675rem;
    overflow: hidden;
    aspect-ratio: 2 / 3;
    border: 1px solid var(--vltv-stroke);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .5);
    background: #14141c;
}

.vltv-hero__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* =========================================================================
   2. ЧТО ТАКОЕ ВЛАДЛИНК ТВ
   ========================================================================= */
.vltv-about__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: 3.5rem;
    align-items: start;
}

.vltv-about__text p {
    color: var(--vltv-text);
    font-size: 1rem;
    line-height: 1.55;
    /* margin: 0 0 1.125rem; */
    font-weight: 300;
}

.vltv-about__cta {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.vltv-about__note {
    font-size: 1rem;
    line-height: 1.35;
    max-width: 24rem;

    color: var(--vltv-text);
    font-weight: 700;
}

.vltv-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.vltv-card {
    background: var(--vltv-card);
    border: 1px solid var(--vltv-stroke);
    border-radius: .625rem;
    padding: 2rem 1rem 1rem 1rem;
}

.vltv-stat__num {
    display: block;
    height: 3.5rem;
    width: auto;
    max-width: 100%;
    margin-bottom: 1rem;
    object-fit: contain;
    object-position: left center;
}

.vltv-stat__txt {
    color: var(--vltv-text);
    font-size: 1.0625rem;
    line-height: 1.4;
    font-weight: 300;
}

.vltv-stats__wide {
    grid-column: 1 / -1;
    padding-top: 1rem;
}

.vltv-stats__wide .vltv-stat__txt {
    font-size: 1rem;
}

/* ПК: карточка в блоке статистики; мобилка: после заголовка «Киноафиша» */
.vltv-stats__wide--mob {
    display: none;
}

/* водяной знак «ЛЕГКО ПОДКЛЮЧИТЬ» — как было (8.5rem), но на ультрашироких
   не уезжает дальше края 1920-макета */
.vltv-section:has(.vltv-watermark) {
    z-index: 3;
    overflow: visible;
}

.vltv-watermark {
    position: absolute;
    right: calc(max(0px, (100% - 1920px) / 2) + 8.5rem);
    bottom: -2.25rem;
    font-family: Navigo, "Onest", sans-serif;
    text-transform: uppercase;
    font-size: 5.75rem;
    line-height: .92;
    color: rgba(255, 255, 255, 0.1);
    letter-spacing: -.01em;
    text-align: right;
    pointer-events: none;
    z-index: 3;
    -webkit-user-select: none;
    user-select: none;
    font-weight: 500;
}

/* =========================================================================
   3. КИНОАФИША
   ========================================================================= */
.vltv-kino__grid {
    display: grid;
    grid-template-columns: 1.6fr 1.3fr 3fr;
    gap: 3rem;
    align-items: stretch;
}

.vltv-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.75rem;
    height: 3.75rem;
    overflow: visible;
}

.vltv-icon-wrap--lead {
    width: 5rem;
    height: 5rem;
    margin-bottom: 1.5rem;
}

.vltv-icon-wrap__ellipse {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 65%;
    height: 65%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
    /* filter:
        drop-shadow(0 0 2px #0099FF)
        drop-shadow(0 0 6px rgba(0, 153, 255, .85))
        drop-shadow(0 0 12px rgba(0, 153, 255, .45)); */
}

/* ТВ — чуть вправо и вверх */
.vltv-icon-wrap__ellipse--tv {
    transform: translate(-75%, -68%);
}

/* Единая подписка — сильнее вправо-вверх */
.vltv-icon-wrap__ellipse--sub {
    transform: translate(-20%, -63%);
    width: 89%;
    height: 89%;
}

/* История — вправо-вверх */
.vltv-icon-wrap__ellipse--hist {
    transform: translate(-28%, -69%);
    width: 89%;
    height: 89%;
}

/* Поиск — влево-вверх */
.vltv-icon-wrap__ellipse--search {
    transform: translate(-72%, -66%);
    width: 89%;
    height: 89%;
}

.vltv-kino__lead-icon,
.vltv-feature__icon {
    position: relative;
    z-index: 1;
}

.vltv-kino__lead-icon {
    width: 3.4rem;
    height: 3.4rem;
    margin-bottom: 0;
    object-fit: contain;
}

.vltv-kino__lead-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 .875rem;
}

.vltv-kino__lead-sub {
    color: var(--vltv-muted);
    font-size: .9375rem;
    line-height: 1.5;
}

.vltv-feature {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 2.25rem;
    align-items: flex-start;
}

.vltv-feature:last-child {
    margin-bottom: 0;
}

.vltv-feature__icon {
    flex: 0 0 auto;
    width: 3.4rem;
    height: 3.4rem;
    object-fit: contain;
}

.vltv-feature__title {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.2;
    margin: .25rem 0 .5rem;
}

.vltv-feature__txt {
    color: var(--vltv-muted);
    font-size: .875rem;
    line-height: 1.45;
    font-weight: 300;
}

.vltv-kino__shot {
    position: relative;
    border: 4px solid #A1A1A1;
    border-radius: 105px;
    min-height: 0;
    padding: 1.5rem;
    /* высота = колонки с текстом слева, картинка не раздувает ряд */
}

.vltv-kino__shot img {
    position: absolute;
    inset: 1.5rem;
    width: calc(100% - 3rem);
    height: calc(100% - 3rem);
    max-width: none;
    margin: auto;
    object-fit: contain;
    object-position: center;
    display: block;
}

/* =========================================================================
   4. ИНТЕРАКТИВНОЕ ТЕЛЕВИДЕНИЕ
   ========================================================================= */
.vltv-inter__grid {
    display: grid;
    grid-template-columns: 1.05fr 1.5fr;
    gap: 3.5rem;
    align-items: start;
}

.vltv-inter__img {
    border-radius: .625rem;
    overflow: hidden;
    border: 1px solid var(--vltv-stroke);
    aspect-ratio: 16 / 11;
}

.vltv-inter__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.vltv-nums {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2.25rem;
}

.vltv-num__n {
    display: block;
    height: 3.5rem;
    width: auto;
    max-width: 100%;
    margin-bottom: 1rem;
    object-fit: contain;
    object-position: left center;
}

.vltv-num__t {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

/* =========================================================================
   5. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
   ========================================================================= */
.vltv-extra__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.vltv-extra__card {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: var(--vltv-card);
    border: 1px solid var(--vltv-stroke);
    border-radius: .625rem;
    padding: 0.625rem;
}

.vltv-extra__icon {
    flex: 0 0 auto;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: .625rem;
    border: 1px solid rgba(139, 106, 255, .4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--vl-purple);
    /* background: rgba(139, 106, 255, .08); */
}

.vltv-extra__txt {
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 300;
}

/* =========================================================================
   6. УСТАНОВИТЕ ВЛАДЛИНК ТВ
   ========================================================================= */
.vltv-install {
    position: relative;
    overflow: hidden;
}

.vltv-install__bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left;
    /* opacity: .45; */
    /* -webkit-mask-image: linear-gradient(180deg, #fff 0%, transparent 92%); */
    /* mask-image: linear-gradient(180deg, #fff 0%, transparent 92%); */
    z-index: 0;
    pointer-events: none;
}

.vltv-install>.container {
    position: relative;
    z-index: 1;
}

.vltv-install__head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: start;
    margin-bottom: 3.5rem;
}

.vltv-install__head .vltv-h2 {
    margin-bottom: 1rem;
}

.vltv-install__head p {
    color: var(--vltv-text);
    font-size: 1rem;
    line-height: 1.5;
    max-width: 40rem;
    margin: 0;
}

.vltv-install__buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.vltv-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.vltv-step {
    position: relative;
    background: transparent;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid #2B2B2B;
    padding: 1rem;
    border-radius: 0.625rem;
}

.vltv-step__n {
    display: block;
    height: 40px;
    width: auto;
    max-width: 100%;
    margin-bottom: .875rem;
    object-fit: contain;
    object-position: left center;
}

@media screen and (max-width: 767px) {
    .vltv-step__n {
        height: 50px;
    }
}

.vltv-step__t {
    color: #d7d7de;
    font-size: 1rem;
    line-height: 1.4;
    max-width: 24rem;
}

.vltv-step__t a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vltv-step__arrow {
    position: absolute;
    top: 20%;
    left: 0px;
    z-index: 2;
    width: 5.75rem;
    height: 5.75rem;
    transform: translate(-70%, -50%);
    pointer-events: none;
    object-fit: contain;
}

/* =========================================================================
   7. ОТЗЫВЫ
   ========================================================================= */
.vltv-reviews__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.vltv-review {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--vltv-card);
    border: 1px solid var(--vltv-stroke);
    border-radius: .675rem;
    padding: 1rem;
}

.vltv-review__avatar {
    width: 4rem;
    height: 4rem;
    border-radius: .625rem;
    object-fit: cover;
    margin-bottom: .75rem;
}

.vltv-review__name {
    font-size: 1.125rem;
    font-weight: 300;
    margin-bottom: .375rem;
}

.vltv-review__stars {
    display: flex;
    gap: .25rem;
    margin-bottom: .75rem;
}

.vltv-review__stars img {
    display: block;
    width: 1rem;
    height: auto;
}

.vltv-review__text {
    color: var(--vltv-text);
    font-size: 1.125rem;
    line-height: 1.5;
    font-weight: 300;
}

/* =========================================================================
   Адаптив
   ========================================================================= */
@media screen and (max-width: 1570px) {
    .vltv-hero__wall {
        --vltv-gutter: 5rem;
        right: 5rem;
        width: min(42rem, calc(100% - 5rem - 32rem));
    }

    /* трекинг как у .title на главной ≤1570 */
    .vltv-h1,
    .vltv-h2 {
        letter-spacing: -.0187rem;
    }
}

@media screen and (max-width: 1440px) {
    .vltv-h1 {
        font-size: 3.85rem;
    }

    .vltv-watermark {
        font-size: 5.25rem;
    }
}

@media screen and (max-width: 1200px) {
    .vltv-section {
        padding: 3.5rem 0;
    }

    .vltv-h1 {
        font-size: 3.35rem;
    }

    .vltv-h2 {
        font-size: 2rem;
        margin-bottom: 1.75rem;
    }

    .vltv-kino__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }

    .vltv-kino__shot {
        grid-column: 1 / -1;
        min-height: 18rem;
    }

    .vltv-kino__shot img {
        position: static;
        inset: auto;
        width: auto;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    .vltv-hero {
        min-height: 40rem;
    }

    .vltv-hero__wall {
        width: min(38rem, calc(100% - 5rem - 28rem));
    }

    .vltv-watermark {
        font-size: 4.5rem;
    }
}

/* планшет и мобайл: стена постеров уходит в фон сверху, текст под ней */
@media screen and (max-width: 992px) {
    .vltv-hero {
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding: 0 0 3.5rem;
    }

    .vltv-hero__wall {
        position: relative;
        inset: auto;
        order: -1;
        width: 100%;
        right: auto;
        left: auto;
        height: 15.25rem;
        min-height: 15.25rem;
        padding: 0;
        margin-bottom: -3.5rem;
    }

    .vltv-hero__wall::after {
        background: linear-gradient(180deg,
                rgb(20, 20, 20) 0%,
                rgba(20, 20, 20, 0) 13%,
                rgba(20, 20, 20, .54) 16%,
                rgb(20, 20, 20) 100%);
    }

    .vltv-hero__left {
        max-width: none;
    }

    .vltv-hero__sub {
        max-width: none;
    }

    .vltv-about__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
    }

    .vltv-inter__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.25rem;
    }

    .vltv-install__head {
        grid-template-columns: 1fr;
        align-items: start;
    }

    /* watermark остаётся видимым на планшете/мобилке (как в Figma 320) */
    .vltv-watermark {
        right: 0;
        left: 0;
        width: 100%;
        font-size: 2.5rem;
        line-height: .97;
        text-align: right;
        bottom: -2rem;
    }
}

@media screen and (max-width: 767px) {
    .vltv-num__n {
        height: 54px;
    }

    .vltv-stat__num {
        height: 3.25rem;
    }
}

@media screen and (max-width: 680px) {
    .vltv-section {
        padding: 2.5rem 0;
    }

    .vltv-section--tight {
        padding: 1.5rem 0;
    }

    .vltv-section--black {
        padding-bottom: 1.5rem;
    }

    /* типографика как в Figma 320: заголовки 19px, шрифт Pilar (как на десктопе) */
    .vltv-h1 {
        font-family: Pilar, Navigo, sans-serif;
        font-weight: 400;
        font-size: 19px;
        line-height: 1.5;
        letter-spacing: -.0187rem;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .vltv-h2 {
        font-family: Pilar, Navigo, sans-serif;
        font-weight: 400;
        font-size: 19px;
        line-height: 1.5;
        letter-spacing: -.0187rem;
        margin-bottom: 1.25rem;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    .vltv-hero {
        padding: 0 0 2rem;
    }

    .vltv-hero .vltv-h1 {
        margin-bottom: .75rem;
    }

    .vltv-hero__wall {
        height: 441px;
        min-height: 441px;
        gap: .5rem;
        padding: 0;
        margin-bottom: -4.5rem;
    }

    .vltv-hero__poster {
        margin-bottom: .5rem;
        border-radius: 10px;
    }

    .vltv-hero__sub {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 1rem;
    }

    .vltv-hero .vltv-btn {
        height: auto;
        min-height: 38px;
        padding: 10px;
        font-size: 12px;
        font-weight: 400;
        border-radius: 10px;
        width: auto;
        gap: 10px;
    }

    /* кнопки — по контенту, не на всю ширину (Figma) */
    .vltv-btn {
        width: auto;
        height: auto;
        min-height: 38px;
        padding: 10px 16px;
        font-size: 12px;
        border-radius: 10px;
        gap: 10px;
    }

    .vltv-btn--purple {
        box-shadow: 0 0 15px rgba(139, 106, 255, .75);
    }

    .vltv-btn--blue {
        box-shadow: 0 0 15px rgba(0, 153, 255, .55);
    }

    .vltv-btn svg {
        width: 14px;
        height: auto;
    }

    .vltv-about__text p {
        font-size: 14px;
        line-height: 1.5;
    }

    .vltv-about__cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        margin-top: 1.25rem;
    }

    .vltv-about__note {
        max-width: none;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
    }

    .vltv-card {
        padding: 10px;
    }

    .vltv-stat__txt {
        font-size: 14px;
        line-height: 1.5;
    }

    /* «Доступ ко всем…»: на мобилке после «Киноафиша», не в статистике */
    .vltv-stats__wide--desk {
        display: none;
    }

    .vltv-stats__wide--mob {
        display: block;
        margin: 0 0 1.25rem;
        padding: 10px;
    }

    .vltv-watermark {
        font-size: 40px;
        line-height: .97;
        bottom: -2rem;
    }

    /* Киноафиша: заголовок → скрин → текст → фичи */
    .vltv-kino__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .vltv-kino__shot {
        order: -1;
        min-height: 0;
        aspect-ratio: 300 / 230;
        border-width: 2px;
        border-radius: 16px;
        padding: .75rem;
    }

    .vltv-kino__shot img {
        position: static;
        inset: auto;
        width: auto;
        height: auto;
        max-width: 100%;
    }

    .vltv-icon-wrap--lead {
        width: 3.75rem;
        height: 3.75rem;
        margin-bottom: 1rem;
    }

    .vltv-kino__lead-icon {
        width: 3.75rem;
        height: 3.75rem;
        margin-bottom: 0;
    }

    .vltv-kino__lead-title {
        font-size: 14px;
        line-height: 1.5;
    }

    .vltv-kino__lead-sub {
        font-size: 14px;
        line-height: 1.5;
    }

    .vltv-feature {
        flex-direction: column;
        gap: .75rem;
        margin-bottom: 1.5rem;
    }

    .vltv-icon-wrap {
        width: 3.75rem;
        height: 3.75rem;
    }

    .vltv-feature__icon {
        width: 100%;
        height: 100%;
    }

    .vltv-feature__title {
        font-size: 14px;
    }

    .vltv-feature__txt {
        font-size: 14px;
    }

    /* Интерактивное ТВ: номер слева от текста */
    .vltv-inter__img {
        aspect-ratio: 300 / 199;
        border-radius: 10px;
    }

    .vltv-nums {
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    .vltv-num {
        display: flex;
        align-items: flex-start;
        gap: 1.25rem;
    }

    .vltv-num__n {
        margin-bottom: 0;
        flex: 0 0 auto;
        height: 54px;
        width: auto;
    }

    .vltv-num__t {
        font-size: 14px;
        line-height: 1.4;
        padding-top: .35rem;
    }

    .vltv-stats {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .vltv-extra__grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .vltv-extra__card {
        padding: 10px;
        gap: 1rem;
    }

    .vltv-extra__txt {
        font-size: 14px;
        line-height: 1.4;
    }

    .vltv-install__head p {
        font-size: 14px;
        line-height: 1.5;
    }

    .vltv-install__buttons {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
        margin-top: 1rem;
    }

    /* Установите: шаги в столбик, стрелка справа сверху */
    .vltv-steps {
        grid-template-columns: 1fr;
        gap: .75rem;
        margin-top: 1.5rem;
    }

    .vltv-step {
        padding: 10px;
    }

    .vltv-step__t {
        font-size: 14px;
        line-height: 1.5;
        max-width: none;
    }

    .vltv-step__arrow {
        top: -3.2rem;
        left: auto;
        right: -14px;
        width: 85px;
        height: 85px;
        transform: rotate(90deg);
    }

    .vltv-reviews__grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .vltv-review {
        padding: 10px;
    }

    .vltv-review__avatar {
        width: 64px;
        height: 64px;
        border-radius: 10px;
        margin-bottom: .625rem;
    }

    .vltv-review__name {
        font-size: 14px;
        margin-bottom: .5rem;
    }

    .vltv-review__stars {
        margin-bottom: .5rem;
    }

    .vltv-review__stars img {
        width: 18px;
    }

    .vltv-review__text {
        font-size: 14px;
        line-height: 1.5;
    }

    .vltv-icon-wrap__ellipse--tv {
        transform: translate(-80%, -88%);
    }

    .vltv-icon-wrap__ellipse.vltv-icon-wrap__ellipse--tv {
        width: 83%;
        height: 83%;
    }
}

/* ---- уважаем prefers-reduced-motion --------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .vltv-hero__colinner {
        animation: none !important;
    }

    .vltv-btn,
    .vltv-extra__card,
    .vltv-review {
        transition: none;
    }
}

.vltv-btn:focus-visible,
.vltv-page .header-bottom__login:focus-visible {
    outline: 2px solid var(--vl-purple);
    outline-offset: 3px;
}