HTML and CSS are DSLs. DSLs are programming languages. Programming language doesn't have to be turing complete. See Programming Paradigms for Dummies: What Every Programmer Should Know http://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf
EDIT: fix markup