You need to put the embedded styles inside a comment tag to keep older browsers from displaying them.
If a browser does not recognize <style> and </style>, it will ignore them altogether. However, the declarations within those tags will not be ignored, because they will appear to be ordinary text so far as the browser is concerned. So your style declarations will appear at the top of your page!
Of course, the browser would ignore the text because it isn't part of the body element, but this is never the case.