html шрифт указываю не в vmin, а в vh..main неизвестна, т.к. при разной высоте экрана ширина будет разная. И JS тоже не подходит. Чтобы было понятней, нужен эффект, который дает свойство background-size: contain, если бы весь контент в блоке .main был фоновой картинкой.