Cyb
IMHO the down side is on the Human end
Say you style a <Div> just after the Chapter starting stuff.
45 paragraphs later (you have not closed the <Div>)... What are the style attributes in effect?
BTW I have seen similar to your example CSS many times

I deem it 'messy' (and difficult to clean up). In the <Body> it makes the font Big, then adjusts it for almost every style
IMHO
Body: sets the most used and over all style (size,stroke,face,margins...)
a normal paragraph <P> (naked

) tag should render the paragraph without additions
Now you create classes for the exceptions to the basic <Body>
eg. first paragraph
narrative (probably just italics)
chapter_title (when default H# styling is not enough

)
BTW
HTML has default values built in. You normally do not need to specify them again, unless you are restoring them from a previous change (just more processing that needs to be done by the device

) before they normally expire at tag close.
Note: there are
broken implementations on some devices that may need to be worked around. ex. a fractional <hr /> is supposed to center by default: It does not in ADE: you have to force the margin-left to 1/2 the remaining (white space)
Remember those long-reaching Div's? instead of letting the class expire (like the span did), the <div> holds it until it closes. So you set a bigger margin there, now you have override it everywhere else

K.I.S.S.