@media (max-width: 768px) {
    /* Баннер по умолчанию — убираем aspect-ratio и даём высоту по контенту */
    .block_banner .banner {
        aspect-ratio: auto;
        height: auto !important;
        min-height: auto;
        padding: 24px 16px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
    }

    /* Герой-баннер должен растягиваться на всю высоту родителя (или контента), но не обрезаться */
    .block_banner.banner-hero {
        height: auto !important;           /* перебиваем 80vh */
        max-height: none !important;       /* убираем ограничение 640px */
        min-height: 80vh;                  /* на случай, если контента мало, экран заполнится */
    }

    .block_banner.banner-hero .banner {
        padding: calc(144px + var(--headerHeight, 54px)) calc((100vw - var(--container)) / 2) calc(var(--g-content) * 3);
        height: auto !important;
        min-height: 100%;
        aspect-ratio: auto !important;
    }

    /* Изображение – на фон, растянуто без обрезки */
    .block_banner .block--content {
        position: absolute;
        inset: 0;
        z-index: 0;
    }
    .block_banner .block--content img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* Текстовые блоки и кнопки – выше фона */
    .block_banner .block--head,
    .block_banner .block--actions {
        position: relative;
        z-index: 2;
    }
}

.block_image_text.block_image_text-reversed.block_image_text-wide .block--image img,
.is_cascade img:not(.full_img) {
    object-fit: contain;
}