GroundMark demo
Fast by default. Any look you like.
A lean parent theme that inlines its CSS, loads JavaScript only where it’s used, and gets out of the way of whatever design you build on top.

What the theme handles for you
Zero render-blocking CSS
Small stylesheets are inlined into the page, so the first paint never waits on the network.
JavaScript on demand
Alpine and each component load only on pages that render them. Everything else ships none.
Any look, one file
Colours, fonts and spacing live in theme.json. A child theme changes the whole site without touching the parent.
An Alpine component
The parent removes emoji scripts, embed scripts and unused block CSS, inlines its styles, and defers every script.
Every rule in the parent sits in a cascade layer, so the site’s own CSS overrides it with plain class selectors.
Sites are child themes. Fixes to the parent reach every site, and nothing is ever renamed.
A video, without the weight

From the blog
- Why inline critical CSS beats a stylesheet request

- Loading Alpine only where a component needs it

- Cascade layers: overriding a parent theme without !important

Start the next site on solid ground
Clone the child theme, change theme.json, build.