суть такая, что исходя из js нужно принудительно применить медиа-запрос на изменение стиля. делать несколько однотипных css - не вариант, надо провернуть из скрипта. просто я даже не уверен, что браузер даст возможность принудительно сжимать/увеличивать вьюпорт
суть такая, что адаптивных экранов в макете - 9 штук, блять. и все нужно расчитывать не через оффсет окна браузера, а исходя из размеров одного флекс-блока.
Ну стили конкретных объектов вроде меняются без проблем через object.style.field или не то?. Насчет вьюпорта на стеке есть тема "How to set viewport dynamically?"