If you're working with PHP, there's no reason you can't apply conditional classes to an element. For example
<?php $some_other_class ="bobby";?>
<div class='some_class <?php echo $some_other_class;?>">Some stuff</div>
And then the css:
some css stuff here
What this will end up looking like in the HTML is:
<div class='some_class bobby'>
Which essentially appends another css selector to the element. Of course keep in mind the hierarchy, and how css is applied in a cascade. This means any css applied via this mentho is applied after the first class. Of course this also means you can use the second class to over-ride the initial styling, useful if you want to add color, change fonts or whatever conditionally.
Of course the css itself would reside in the stylesheet.
I don't recommend including inline style essentially anywhere, as @EAMann mentioned. The reason being, it just makes troubleshooting that much harder.
I can think of VERY few instances where you'd need to include inline styling in the header like he suggests, and even then, only in circumstances where doing it inside the template as I suggested isn't possible. Worst case, you can always call css style-sheets conditionally through wordpresses enqueue/register function, which negates pretty much any reason to throw it in the header like he suggests.