We don't want to set a changing font-size in the root (html selector) because that affects what 1rem is downstream. My understanding is that the root should have 1rem = 16px unless the user modifies their browser settings. We should hold this constant and modify font-size dynamically for <p>, <h1>, etc. because they won't all necessarily scale together linearly. This should make the math simpler.
Subsequent diffs will fix things for each element.
Why bind mount a temp directory instead of using a data volume? It's just gonna create issues with permissions. Also ${TMPDIR} is not used to refer to a path in both the host and the container which is a bad idea.