Design

Sanity Design

Headless CMS. Red accent, content-first editorial layout.

Saniti

hero / Marketplace search + product cards

Saniti Design System

Saniti's marketing surface is built around a single, high-conviction idea: a content platform should look like an editorial property.

WhereAny weekGuests

Featured card

Rating · price · location

Marketplace tile

Hover / saved state

Responsive card

Mobile stack

Palette / color swatches / roles

Token color roles

Primary
#0b0b0b
colors.primary
Brand
#f36458
colors.brand
Hairline
#ededed
colors.hairline
Success
#37cd84
colors.success
Error
#dd0000
colors.error
On Primary
#ffffff
colors.on-primary
Ink Soft
#212121
colors.ink-soft
Graphite
#353535
colors.graphite

Typography / font scale / display type

Type hierarchy

typography.display-lg

60px / 400 / 0.8 / tracking 0px

Saniti interface rhythm

typography.display-md

48px / 400 / 1.08 / tracking -1.68px

Saniti interface rhythm

typography.display-mega

112px / 400 / 1.0 / tracking -4.48px

Saniti interface rhythm

typography.display-sm

38px / 400 / 1.1 / tracking -1.14px

Saniti interface rhythm

typography.display-xl

72px / 400 / 1.05 / tracking -2.88px

Saniti interface rhythm

typography.heading-md

32px / 425 / 1.13 / tracking -0.32px

Saniti interface rhythm

typography.display-megatypography.display-xltypography.display-lgtypography.display-mdtypography.display-smtypography.heading-mdtypography.heading-smtypography.subtitle

Buttons, controls, cards, components

Interface components

component.nav-bar-dark

nav-bar-dark

backgroundColor {colors.canvas}; textColor {colors.on-primary}; typography {typography.button-lg}; padding 24px

defaultactive

component.nav-link

nav-link

backgroundColor {colors.canvas}; textColor {colors.on-primary}; typography {typography.button-lg}; padding 8px

defaultactive

component.button-app-tab

button-app-tab

backgroundColor {colors.canvas-soft}; textColor {colors.ash}; typography {typography.button-uppercase}; rounded {rounded.app-sm}

defaultactive

component.button-brand

button-brand

backgroundColor {colors.brand}; textColor {colors.ink}; typography {typography.button-lg}; rounded {rounded.full}

defaultactive

component.button-ghost-dark

button-ghost-dark

backgroundColor {colors.canvas}; textColor {colors.ash}; typography {typography.button-sm}; rounded {rounded.full}

defaultactive

component.button-primary

button-primary

backgroundColor {colors.canvas-light}; textColor {colors.ink}; typography {typography.button-lg}; rounded {rounded.full}

defaultactive

Forms and inputs / search / focus

Spacing / rhythm / padding

Spacing scale

spacing.section64px
spacing.section-lg96px
spacing.lg24px
spacing.md16px
spacing.sm12px
spacing.xl32px
spacing.xs8px
spacing.xxl48px

Radius / shape / corner rules

Shape system

rounded.none0px
rounded.app-xs3px
rounded.app-sm4px
rounded.app-md5px
rounded.app-lg6px
rounded.marketing12px

Elevation / depth / shadow

Layer strategy

Depth is shown with documented surface contrast, border hairlines, shadow restraint, overlays, and component layering.

Signature components

Marketplace search + product cards

This specimen uses source-specific chrome from the Design.md rather than a generic card layout.

Responsive / breakpoint / mobile / tablet / desktop

Breakpoint behavior

Mobile stacks sections and cards; tablet moves to two-up groups; desktop restores full grids, wider media, and denser component examples.