Internal — design system

Styles catalog

The visual source of truth: every token, pairing, primitive, and piece of site chrome rendered live from the same code the site ships.

Foundations

Color tokens

  • --color-bg-primary

    #f3eee7Page + header background

  • --color-bg-pale

    #e6e2dbAlternate section wash

  • --color-bg-sand-light

    #fdfaf6Soft inset sections

  • --color-bg-white

    #ffffffCards, footer, overlays

  • --color-text-primary

    #313131Body, headings, nav

  • --color-text-muted

    #585858Footer, secondary copy

  • --color-text-subtle

    #7c7c7cUnderlines (non-text)

  • --color-border

    #dad9d6Dividers, card rules

  • --color-border-light

    #e6e6e6Footer section rules

  • --color-border-active

    #82847fNav hover underline

  • --color-border-button-light

    #aaa6a3Light outline button

  • --color-button-dark-bg

    #313131Primary filled button

  • --color-button-dark-hover

    #625f5fPrimary button hover

  • --color-button-black-bg

    #000000Secondary filled button

  • --color-button-black-hover

    #404040Black button hover

  • --color-button-text-on-dark

    #f3eee7Text on dark buttons

Token pairings in use

Primary text #313131 on #f3eee7 — the default page pairing.

Muted text #585858 on #f3eee7 for secondary copy.

Primary text on the pale wash #e6e2db used by alternate bands.

Primary text on the sand-light inset #fdfaf6.

Primary text on white cards and the footer surface.

Muted footer text #585858 on white.

Button text #f3eee7 on the charcoal fill #313131.

Button text on the hover fill #625f5f.

Type scale

  • Display hero — serif 5.14rem / 5.71rem

    Gorgeous brows, always
  • H1 — serif 3.43rem / 3.86rem

    Editorial headline
  • H2 — serif 2.4rem

    Section heading
  • H3 / card title — serif 1.4rem

    Card title
  • Body — serif 1rem / 1.45

    Body copy set in the display serif with 0.057rem tracking.
  • Eyebrow — sans 0.722rem, 2px tracking, uppercase

    Eyebrow label
  • Nav / button — sans 0.929rem

  • Caps label — sans 0.85rem, 2.1px tracking

    Property label

Spacing & layout

Spacing tokens
TokenValue
--gutter-x1.75rem (24.5px)
--section-space4.64rem (~65px)
--section-space-sm2.14rem (~30px)
--section-space-lg8.93rem desktop / 6.07rem mobile
--header-height88px → 4rem (64px) scrolled
--container-max1440px (wide: 1600px)

Radius & elevation

0 radius

Border radius is 0 everywhere; content casts no shadows. Borders are 1px solid only.

Motion

Motion tokens
InteractionAnimation
Header shrink on scrollmin-height 0.35s ease-in-out
Nav overlay openfade-in 0.6s
Mobile drawerslide-in-left 400ms
Link underlineborder-color 0.3s, 0.3s delay
Button hover0.4s color / background / border
Reduced motionall transitions & transforms disabled

Primitives

Buttons

Links & interactive text

Badges & labels

Eyebrow labelCaps labelTag chip

Cards

Media card

Image flush to the top, white body, no shadow, no radius.

Ruled card

1px top rule in --color-border for text-only cards.

Form fields

Focus any control with the keyboard to see the 2px charcoal focus ring with 2px offset.

Brand

Logo lockup

No logo configured — the header falls back to the wordmark.

Face, Brow & Beauty Bar

The Keystone lockup is constrained to the header row (max-height 2.5rem, width auto).

Mark

Favicon glyph — charcoal square, serif F-dot.

Social icon strip

Components

The live site chrome — the real header and footer components, rendered in a shared preview frame. Responsive utilities still respond to the browser viewport, so resize the window to see the hamburger swap.

Page surface

Content sits between the chrome on the warm sand ground.