It's a declarative language, not an imperative/functional language. You describe the desired end result, the browser figures out how to lay things out to fit all the constraints.
And this:
> but it's pretty much a bunch of pick-and-choose attributes for HTML that you can wrap up into "classes".
indicates despite using it for 25 years, you haven't even tried to learn it. This may have been partially true back when it was first introduced and all people knew were things like "font" and "[text-]align", but it's been a horribly inaccurate description of CSS for decades now.
And this:
> but it's pretty much a bunch of pick-and-choose attributes for HTML that you can wrap up into "classes".
indicates despite using it for 25 years, you haven't even tried to learn it. This may have been partially true back when it was first introduced and all people knew were things like "font" and "[text-]align", but it's been a horribly inaccurate description of CSS for decades now.