Had a very odd issue with CSS files being loaded, but the css not being applied (and any @imports not loading either).
Turns out that one of our devs was uploading files using Panic Tansmit. It appears that this sets the
content-type header on S3 files to
binary/octect stream by default. Thus when served from S3 the browser doesn't know what to do with it.
The fix was to add a custom default header rule into transmit to ensure it saved CSS as CSS, go to...
Transmit > Preferences > Cloud
Add a new extension for css, and choose
content-type from the drop down list of headers. Then set
text/css as the value.