Creating a dynamic stylesheet instead of just dumping CSS into the head of WordPress is cleaner, faster and just better all around. It gives the ability for colors to be chosen by the client or the intern but keeps the code in the theme much neater.
- Add a custom function to one of your custom functions.php files (I like to keep mine separate) that converts PHP to CSS
- Write your PHP "CSS" file just like you would a CSS file except you can use ACF custom field values for your CSS
- Enqueue your dynamic stylesheet
The stylesheet only updates/adds custom style content on "Options" update.