Рориф на правильном пути!
Media Queries является (одним из) ответом (ами).
Хитрость в том, чтобы использовать% для размеров шрифта везде, начиная с основного текста. Таким образом, размер шрифта наследуется, и когда вы меняете его в теле, он меняется везде.
Попробуйте что-то вроде:
body { font-size: 100% }
h1 {font-size: 200% }
@media all and (max-width:600px) {
body {font-size: 70%}
}
Когда ширина сайта становится меньше 600 пикселей, размер шрифта превратится в 70% от того, что было везде, где используется% (также h1 в этом примере)