.mkpp-rutube__screen {
    background-size: cover !important;
    background-position: center !important;
}

.mkpp-rutube,
.mkpp-rutube-map {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
}

.mkpp-rutube__screen-content strong {
    margin-bottom: 22px !important;
}

.mkpp-rutube__screen-content p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mkpp-rutube__cases {
    margin-top: 48px !important;
    margin-bottom: 0 !important;
}

.mkpp-rutube__case-media {
    position: relative;
    min-height: 320px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    background: #101318 !important;
    color: #fff !important;
    box-shadow: 0 20px 50px rgba(17, 21, 26, 0.18);
}

.mkpp-rutube__case-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 12, 16, 0.06) 0%, rgba(10, 12, 16, 0.78) 62%, rgba(10, 12, 16, 0.94) 100%);
    pointer-events: none;
}

.mkpp-rutube__case-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.mkpp-rutube__case-media:hover > img {
    transform: scale(1.04);
}

.mkpp-rutube__case-media .mkpp-rutube__case-video {
    position: absolute;
    z-index: 2;
    top: 16px;
    left: 16px;
    margin: 0 !important;
    background: #d71920 !important;
    color: #fff !important;
}

.mkpp-rutube__case-play {
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
}

.mkpp-rutube__case-play span {
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #d71920;
}

.mkpp-rutube__case-content {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 22px;
}

.mkpp-rutube__case-media strong,
.mkpp-rutube__case-media small,
.mkpp-rutube__case-media p {
    color: #fff !important;
}

.mkpp-rutube__case-media small {
    color: rgba(255, 255, 255, 0.78) !important;
}

.mkpp-rutube-map {
    margin-top: 0 !important;
}

.mkpp-rutube-map__grid {
    align-items: stretch !important;
}

.mkpp-rutube-map__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mkpp-rutube-map__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.mkpp-rutube-map__card-media {
    position: relative;
    min-height: 320px !important;
    padding: 22px !important;
    overflow: hidden;
    border: 0 !important;
    background: #101318 !important;
    color: #fff !important;
}

.mkpp-rutube-map__card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 12, 16, 0.08) 0%, rgba(10, 12, 16, 0.74) 58%, rgba(10, 12, 16, 0.94) 100%);
    pointer-events: none;
}

.mkpp-rutube-map__card-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.mkpp-rutube-map__card-media:hover > img {
    transform: scale(1.04);
}

.mkpp-rutube-map__card-media span,
.mkpp-rutube-map__card-media strong,
.mkpp-rutube-map__card-media p {
    position: relative;
    z-index: 2;
    color: #fff !important;
}

.mkpp-rutube-map__card-media span {
    display: inline-flex !important;
    align-items: center;
    width: auto;
    min-height: 0 !important;
    padding: 6px 10px;
    margin-bottom: 128px !important;
    border-radius: 999px;
    background: #d71920;
    font-size: 12px !important;
}

.mkpp-rutube-map__card-media p {
    color: rgba(255, 255, 255, 0.84) !important;
}

.mkpp-rutube-map__btn {
    width: auto;
    max-width: 100%;
    min-height: 54px;
    padding: 16px 22px;
    white-space: normal;
    text-align: center;
}

.mkpp-rutube-map__btn span {
    display: block;
    width: 100%;
    line-height: 1.2;
}

.mkpp-yandex-reviews {
    padding: 96px 0 !important;
    background: #f5f8f9 !important;
}

.mkpp-yandex-reviews__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 32px;
    align-items: start;
    margin-bottom: 34px;
}

.mkpp-yandex-reviews__source {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 13px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: #fff4d6;
    color: #8a6400;
    font-size: 14px;
    font-weight: 800;
}

.mkpp-yandex-reviews .reviews2__title {
    max-width: 760px !important;
    margin: 0 0 14px !important;
    text-align: left !important;
}

.mkpp-yandex-reviews .mkpp-reviews2__subtitle {
    max-width: 760px !important;
    margin: 0 !important;
    text-align: left !important;
}

.mkpp-yandex-reviews__summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
    border-radius: 8px;
    background: #fff;
    color: #101318;
    text-decoration: none;
    box-shadow: 0 14px 42px rgba(25, 31, 38, 0.08);
}

.mkpp-yandex-reviews__summary strong {
    font-size: 44px;
    line-height: 1;
}

.mkpp-yandex-reviews__stars,
.mkpp-yandex-review__stars {
    display: flex;
    gap: 2px;
    color: #fc0;
    line-height: 1;
}

.mkpp-yandex-reviews__summary small {
    margin-top: 10px;
    color: #5b626b;
    font-size: 14px;
    line-height: 1.35;
}

.mkpp-yandex-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mkpp-yandex-review {
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 24px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 42px rgba(25, 31, 38, 0.08);
}

.mkpp-yandex-review__top {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}

.mkpp-yandex-review__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #edf1f4;
    color: #1f2328;
    font-weight: 800;
}

.mkpp-yandex-review__name {
    color: #101318;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.mkpp-yandex-review__date {
    margin-top: 4px;
    color: #7a828b;
    font-size: 13px;
}

.mkpp-yandex-review__stars {
    margin-bottom: 16px;
    font-size: 18px;
}

.mkpp-yandex-review p {
    flex: 1;
    margin: 0 0 20px;
    color: #343b44;
    font-size: 15px;
    line-height: 1.55;
}

.mkpp-yandex-review__bottom {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid #eef1f4;
}

.mkpp-yandex-review__bottom a {
    color: #196dff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.mkpp-yandex-review__reactions {
    display: flex;
    gap: 8px;
    color: #7a828b;
    font-size: 14px;
    white-space: nowrap;
}

@media only screen and (max-width: 768px) {
    html,
    body {
        overflow-x: hidden;
    }

    .mkpp-rutube,
    .mkpp-rutube-map {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .mkpp-rutube .wrapper,
    .mkpp-rutube-map .wrapper {
        width: auto;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 5vw;
        padding-right: 5vw;
        box-sizing: border-box;
    }

    .mkpp-rutube {
        padding-top: 12vw !important;
        padding-bottom: 12vw !important;
    }

    .mkpp-rutube-map {
        padding-top: 12vw !important;
        padding-bottom: 12vw !important;
    }

    .mkpp-rutube__head {
        max-width: 100%;
        margin-bottom: 7vw !important;
    }

    .mkpp-rutube__label {
        display: inline-flex;
        max-width: 100%;
        min-height: 0;
        padding: 2vw 3.5vw !important;
        margin-bottom: 4vw !important;
        font-size: 3.2vw !important;
        line-height: 1.25 !important;
        white-space: normal;
    }

    .mkpp-rutube__title,
    .mkpp-rutube-map__title {
        max-width: 100% !important;
        margin: 0 0 4vw !important;
        font-size: 8vw !important;
        line-height: 1.12 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        text-transform: none !important;
    }

    .mkpp-rutube__subtitle,
    .mkpp-rutube-map__intro p {
        max-width: 100% !important;
        margin: 0 0 6vw !important;
        font-size: 4vw !important;
        line-height: 1.55 !important;
        text-align: left !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .mkpp-rutube__hero,
    .mkpp-rutube__stats,
    .mkpp-rutube__cases,
    .mkpp-rutube-map__grid,
    .mkpp-rutube-map__cards {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 5vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .mkpp-rutube__screen {
        width: 100% !important;
        min-height: 112vw !important;
        padding: 6vw !important;
        border-radius: 3vw !important;
    }

    .mkpp-rutube__play {
        width: 21vw !important;
        height: 21vw !important;
    }

    .mkpp-rutube__play span {
        margin-left: 1.3vw;
        border-top-width: 3.2vw !important;
        border-bottom-width: 3.2vw !important;
        border-left-width: 5vw !important;
    }

    .mkpp-rutube__screen-content {
        max-width: 100% !important;
    }

    .mkpp-rutube__screen-kicker {
        margin-bottom: 2.5vw !important;
        font-size: 3.3vw !important;
        line-height: 1.3 !important;
    }

    .mkpp-rutube__screen-content strong {
        max-width: 100% !important;
        margin-bottom: 4vw !important;
        font-size: 6.7vw !important;
        line-height: 1.15 !important;
        white-space: normal !important;
    }

    .mkpp-rutube__screen-content p {
        max-width: 100% !important;
        font-size: 3.75vw !important;
        line-height: 1.5 !important;
    }

    .mkpp-rutube__stats div,
    .mkpp-rutube__case,
    .mkpp-rutube-map__intro,
    .mkpp-rutube-map__card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 5.5vw !important;
        border-radius: 3vw !important;
        box-sizing: border-box !important;
    }

    .mkpp-rutube__cases {
        margin-top: 8vw !important;
        margin-bottom: 0 !important;
    }

    .mkpp-rutube__case-media,
    .mkpp-rutube-map__card-media {
        min-height: 92vw !important;
        padding: 0 !important;
    }

    .mkpp-rutube__case-content {
        left: 5vw;
        right: 5vw;
        bottom: 5vw;
    }

    .mkpp-rutube__case-media .mkpp-rutube__case-video {
        top: 4vw;
        left: 4vw;
    }

    .mkpp-rutube__case-play {
        top: 4vw;
        right: 4vw;
        width: 11vw;
        height: 11vw;
    }

    .mkpp-rutube-map__intro {
        margin-bottom: 0 !important;
    }

    .mkpp-rutube-map__cards {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .mkpp-rutube-map__card-media {
        padding: 5.5vw !important;
    }

    .mkpp-rutube-map__card-media span {
        margin-bottom: 38vw !important;
        padding: 1.5vw 3vw !important;
        font-size: 3vw !important;
    }

    .mkpp-rutube__stats strong {
        margin-bottom: 2vw !important;
        font-size: 7vw !important;
        line-height: 1.1 !important;
    }

    .mkpp-rutube__stats span,
    .mkpp-rutube__case p,
    .mkpp-rutube-map__card p {
        font-size: 3.75vw !important;
        line-height: 1.5 !important;
    }

    .mkpp-rutube__case-video {
        margin-bottom: 4vw !important;
        padding: 1.5vw 3vw !important;
        font-size: 2.9vw !important;
        line-height: 1.2 !important;
    }

    .mkpp-rutube__case strong,
    .mkpp-rutube-map__card strong {
        margin-bottom: 2.5vw !important;
        font-size: 5.2vw !important;
        line-height: 1.18 !important;
    }

    .mkpp-rutube__case small,
    .mkpp-rutube-map__card span {
        display: block;
        min-height: 0 !important;
        margin-bottom: 3vw !important;
        font-size: 3.1vw !important;
        line-height: 1.35 !important;
    }

    .mkpp-rutube-map__intro {
        margin-top: 0 !important;
    }

    .mkpp-rutube-map__btn {
        width: 100% !important;
        min-height: 13vw !important;
        justify-content: center !important;
        padding: 3.5vw 4vw !important;
        font-size: 3.8vw !important;
        line-height: 1.25 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: normal !important;
    }

    .mkpp-yandex-reviews {
        padding: 12vw 0 !important;
    }

    .mkpp-yandex-reviews__head,
    .mkpp-yandex-reviews__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 5vw;
    }

    .mkpp-yandex-reviews__head {
        margin-bottom: 7vw;
    }

    .mkpp-yandex-reviews__source {
        margin-bottom: 4vw;
        padding: 2vw 3.5vw;
        font-size: 3.2vw;
    }

    .mkpp-yandex-reviews .reviews2__title {
        font-size: 8vw !important;
        line-height: 1.12 !important;
    }

    .mkpp-yandex-reviews .mkpp-reviews2__subtitle {
        font-size: 4vw !important;
        line-height: 1.5 !important;
    }

    .mkpp-yandex-reviews__summary,
    .mkpp-yandex-review {
        padding: 5.5vw;
        border-radius: 3vw;
    }

    .mkpp-yandex-review {
        min-height: 0;
    }

    .mkpp-yandex-review__bottom {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media only screen and (max-width: 390px) {
    .mkpp-rutube__title,
    .mkpp-rutube-map__title {
        font-size: 7.6vw !important;
    }

    .mkpp-rutube__screen {
        min-height: 122vw !important;
    }

    .mkpp-rutube__screen-content strong {
        font-size: 6.3vw !important;
    }
}
