.text-image {
    padding: 60px 0;
}

.text-image__grid {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 24px;
    align-items: start;
}

/*
 * В разметке картинка идёт второй — на десктопе её место задаёт order,
 * а на мобильном она без правок остаётся снизу.
 * overflow нужен, чтобы картинка не вылезла за скругление подложки.
 */
.text-image__media {
    order: -1;
    overflow: hidden;
    border-radius: 16px;
    background: var(--brand-secondary);
}

.text-image__img {
    display: block;
    width: 100%;
    height: auto;
}

.text-image--mirror .text-image__grid {
    grid-template-columns: 2fr 3fr;
}

.text-image--mirror .text-image__media {
    order: 0;
}

@media (max-width: 1080px) {

    .text-image {
        padding: 30px 0;
    }

    .text-image__grid,
    .text-image--mirror .text-image__grid {
        grid-template-columns: 1fr;
    }

    /* Картинка снизу в обоих вариантах. */
    .text-image__media {
        order: 0;
    }
}
