Using pure CSS the root font size scales up and down proportionately, between defined values, dependent upon the viewport width.
Mike Foskett - (update: )
Easy-peasy, stretch & squeezy.
Current status (25/09/2016): In cross-browser, cross-device testing.
In this example the font size is set at 1rem (16px) up to 48rem (768px) viewport width.
It then starts increasing to meet the upper defined value 2em (32px) at 120rem (1920px) wide.
All controlled by a single CSS statement.
Remember to define all font-sizes in em, rem or percent.
Font scaling doesn't stop at the top setting but continues to increment at the same rate. This behaviour may be stopped, or adjusted further, by adding another media query:
Tested on Mac so far: Firefox, Safari, Chrome.
As yet I'm uncertain all browsers convert units in the same manner.
Applied to a Flexbox layout
This method will scale any object which is sized using em or rem.