However, for reasons unknown, when I uploaded my CSS to S3 it was saved with a content type of binary/octet-stream. As any g33k will know that's an encoding used to tranfer generic files, not a specific content type like text/css, or audio/mp3. Whilst this doesn't faze IE or Safari it did cause a problem for Firefox. The CSS file was supposed to @import some other CSS from other files but when Firefox saw the CSS, and the fact that it was in a binary encoding it refused to parse it as CSS. This resulted in no CSS loading and the entire page looking broken.
Moving the CSS to a standard Apache host solved the problem but I wanted it hosted on S3. I asked the question in the S3 support forum and got a reply which pointed me at Bucket Explorer. I used this to manually set the content type to text/css and the problem is solved in Firefox now.
Was this a bug in the way Firefox handles CSS files with the wrong content-type coming from the server or was it a bug in the way my S3 client failed to identify the file as CSS and set the content-type accordingly? We may not know but I'll be submitting some bug reports for sure.