Как изменять размер шрифта в зависимости от размера экрана?
Можно поставить размер шрифта в зависимости от размеров экрана, но через calc() задавать минимальное значение. 
В этом примере ( codepen.io/paulradzkov/pen/jqYqgY ) размер шрифта заголовка никогда не будет меньше 16px (1em):h1 {
    font-size: calc(1em + 4vw);
}
Можно использовать более сложные формулы совместно с @media. Тут размер шрифта плавно меняется от 14 до 18px в диапазоне от 480 до 1024px. @media (min-width: 480px) and (max-width: 1024px) {
  p {
    font-size: calc(14px + (18 - 14) * ( (100vw - 480px) / ( 1024 - 480) ));
  }
}
До 480 и после 1024px размер задан жестко с использованием @media.
Но в целом это все сложно и редко нужно. Я обычно задаю размер фиксированно на двух-трёх диапазонах при помощи @media.UPD: можно даже заставить текст максимально заполнять площадь вьюпорта codepen.io/CrocoDillon/pen/fBJxu
@media screen and (max-width:468px) {
   p {font-size: 16px;}
}
это значит, что на экранах с максимальной шириной в 468 пикселей размер шрифта параграфа будет 16 пикселей.