Squarespace worked this way up until the launch of Version 6 in 2012. A standardized XHTML template (for all templates) really made it easy to stylize any theme (called a "Template") and its associated custom "Styles" (as children of it).

Squarespace "Style Your Site" Help Guide (V5) (includes video)
Squarespace Code Library (and XHTML Site Structure Diagram)

This really made it easy for the end user to stylize their site. The only thing they were missing was the full site manipulation of blocks for layout positioning which is where WordPress is going now.

With Squarespace Version 6, a lot of this template / style capability and flexibility was lost (including the ability to easily export and share a template / style as an XML file). While a designer could still customize their site to a certain degree, the tools to do so were severely limited to "make things easier". Therefore doing any major customizations now on Squarespace requires you to be a full blown developer. It's one of the reasons why I left the platform and love seeing where WordPress is headed now.