Hero
Full-viewport opener with eyebrow, headline, subhead, two CTAs, and an optional CTA strip pinned at the bottom. Use it once, at the top of the page.

Everything on this page was composed in Sanity Studio - a hero, a feature grid, a text block, and a CTA. Same section shells the marketing pages use, same visual language, same deploy pipeline.
Click, drop, publish - same as any other page.
Every CMS page is built from these four blocks. You pick the order, fill the fields, and the site renders them through the Interconnekt design system.
Full-viewport opener with eyebrow, headline, subhead, two CTAs, and an optional CTA strip pinned at the bottom. Use it once, at the top of the page.
Prose with optional heading. Supports headings, quotes, and links through Sanity's Portable Text editor. Use it for body copy and long-form explanation.
A grid of icon, title, and description cards. Use it for 'what's included', 'our values', or 'three reasons' style breakouts.
Full-width band with a heading and buttons. Drop it mid-page or at the foot to prompt the next step. Tone flips between light and dark.
When you open /studio, you're looking at a live editor bound to the same schemas that power the codebase. The Pages collection drives this route - /page-builder - and every section you dropped in here renders through a matching React component in src/components/sections.
Hit Publish in Studio. Within sixty seconds, ISR revalidates the route and the new content is live. No build, no deploy, no PR. For structural changes - new section types, new fields - you do still ship code through a PR, because the schema is versioned alongside the site.
Schemas are in src/sanity/schemas/. Section renderers are in src/components/sections/. Adding a new section type is three small files: one for the schema, one for the renderer, one line in the dispatcher. That's it.