i suggest using em for the body tag, then everything else (that uses em) will be relative to whatever value you choose there. don't use pt or px (just my preference, only

)
this will allow zoom and ALL will zoom proportionally.
eg: 'body' @ 0.85em/1.1em and oh say 'small' at .75 em.
since small is inside of body, it would NOT be .75 em, but instead it would be .75*0.85em(from body - essentially small is 3/4ths the size of whatever the body font size is).
that way, you can change just ONE em (body one) and all change relatively to it. this allows you to essentially clone an existing theme (say it's called 'mytheme-normalfonts' to another theme called 'mytheme-hugefonts' and just change the body css to a bigger em value and voila!) you don't have to hunt down all those specific pt values and change them.