Cascading style sheets (CSS) allow specifying formatting instructions for HTML pages separately from the HTML code. CSS rules can be embedded within HTML, defined internally within the <style> tag, or linked externally via a .css file. CSS selectors target HTML elements to which formatting is applied using properties for text, fonts, colors, spacing, and more. This allows separating document structure (HTML) from presentation (CSS).