Global typographic styles suck
anthonyshort.me
anthonyshort.me
.copy * { margin:0 0 $text-baseline 0; }
There is nothing wrong with correct use of cascading styles. If you are finding that you are constantly changing the styles, then you are doing it wrong and making poor choices in your inheritance/"super" selector.(While, on the topic, you know that CSS selectors/rules are applied and read, from right to left. This is how the inheritance works. Using your "reset" would mean that you are slowing down the CSS rendering considerably by matching * wildcard, and then limiting the selector to only .copy elements. It's probably the biggest single anti-pattern in CSS. Don't do it.
You need to be able to separate your styles into layout and decoration for them to be re-usable. Anything in the global scope becomes a problem. It's the same as writing modular code in any other language.
Regarding the rendering speed, it has been proven multiple times that the performance impact of wildcard selectors is so unnoticeable it's not worth even worrying about at all.
When you build anything large enough that needs to be maintained and scaled by a team of people you need to limit to the cascading of styles or your stylesheets will grow out of control. So yes, the cascade can bite you in the ass and does suck unless you know how to control it.
Regardless, the tone of the post reminds me of something I've done on a few occasions: writing entirely domain-specific XML, then styling it throughout with CSS into something presentable. It's a bit of a pain, and I'm sure it'd fail completely in older browsers, but it completely avoids the slightly-unpredictable nature of default styles.
So the argument is to only style individual blocks of text, instead of saying "All H1 elements everywhere on this page will have this style". His "copy" class removes all typographical styling, so whatever styles you apply to a block will work without having to remove e.g. bullets from a list manually every time. (edited)