Sorry to barge in 2 weeks late, but here are my 2 cents:
Concerning rule 2): I'm not sure it that is really "a must" but if you set main font in body tag CSS there is no point and no reason to put the same font family in any other CSS classes.
One thing is certain:
you should always declare main font family in body tag CSS, even when it is the only font used in entire book. After you've done that you're free to override and embed as needed.