HTML on its own is not a programming language.
Why? Because it's not Turing complete.
What? Read about Turing completeness and the universal Turing machine to understand this.
But... CSS + HTML + user interactivity = a programming language.
CSS has functions (for example, the url function), variables, import statements, conditions (media queries and selectors) and even loops (animations).
But CSS is nothing without HTML, you can't "execute" CSS code without HTML.
That's why if you think about them separetly, they are not programming languages.
But if you add interactivity (like input tags, buttons, etc), CSS and HTML, they make a Turing Complete programming language.