Как правильно сверстать такой блок?
Используй гриды в логике grid-template-columns: calc((100% - 1200px)/2)) 3fr 7fr calc((100% - 1200px)/2)). Тогда пикче можно задать позицию grid-column: 1 / span 2, а тексту grid-column-end: span 1.

Шаманские танцы с позиционированием это атавизм прошлого.
Если неправильно понял извиняюсь):
Контейнеру максимальную ширину 1200пх даёшь. Картинка будет занимать 30% от 1200пх, а текст 70%(остальное пространство в контейнере)