---
title: "Styling: Tailwind, Scoped CSS & Custom HTML | SanityPress"
description: "Set the design system in code with Tailwind, then hand editors scoped CSS and custom-html modules for the parts they should control. Full control, no fork."
---

# Control in code. Flexibility in the editor.

Developers in the source code. Editors in the Studio.

## Style in code. Or in the editor.

Tailwind in the source, scoped CSS and `custom-html` modules in Studio.

Global tokens live in one place, per-module styles stay scoped via a CSS field, and a [`custom-html` module](/blog/dont-sleep-on-the-custom-html-module) covers the one-off page that doesn't fit the system.

[🚀 Get started today](/docs/getting-started)

![Scoped CSS field included for all modules](https://cdn.sanity.io/images/cyu7k2r0/production/ebc976c3e4bcc4dae715b37d27327b40c61ae537-2262x2154.png)

## Frequently Asked Questions

### Can editors change styling without touching code?

Yes, within bounds you set. The `custom-html` module with its scoped CSS field lets them style a section without reaching into the source. Read more on the [blog post](/blog/dont-sleep-on-the-custom-html-module).

### Where do global styles live?

In the global-module, which can hold your design tokens, font imports, tracking scripts, all in a single place.

### Can I use my own Tailwind setup?

Yes. Tailwind drives the component layer in the source, so your config and conventions carry over.

### How do per-module styles stay isolated?

Each module carries its own [scoped CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@scope) field, so styling one section never leaks into another.

## Own the system. Hand over the rest.

[🚀 Get started today](/docs/getting-started)
