Можно добавить точку остановки с помощью медиа-запросов. На определённой ширине перестать уменьшать размер.
h1 {
font-size: 7vw;
}
@media screen and (max-width: 750px) {
h1 {
font-size: 20px;
}
}
Либо воспользоваться известной формулой
h1 {
font-size: calc(20px + 10 * (1200px - 320px) / 880)
}
Где:
20px — минимальный размер
10 — разница между максимальным и минимальным размерами (если предположить, что максимально заголовок имеет размер 30 пикселей)
1200px — максимальная ширина блока с контентом
320px — минимальная ширина блока с контентом
880 — разница между максимальной и минимальной шириной