MozaikaProduct

Glossier — design system & UI screens

E-commerce · 1 screen · 8 sections · glossier.com

Glossier's landing opens with a dark full-bleed Boy Brow mascara hero (rows of black product tubes against a charcoal field) interrupted by a centered white email-capture modal ("Some light beach reading") with a beach photo and pink "you smell like vacation" script. Below, the signature element is a flush five-tile category mosaic (Makeup / Fragrance / Skincare / Body / Merch) of soft editorial lifestyle photography with no gutters, followed by a clean light-gray best-seller product carousel and a pale-pink mega-footer carrying a complete alphabetized product index plus a hand-drawn smiley and waving-hand doodle.

Open in Mozaika →

This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/website/glossier.

Decoded design system

Glossier's decoded design system: background #FFFFFF, text #000000, accent #C8102E, link #C8102E, primary #0600FF; type scale h1 16px / h2 20px / body 14px; 4px spacing base; 0px base radius. The single interactive/action color is #FFFFFF — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.

Color roles

RoleValue
bg#FFFFFF
surface#EFEFEF
border#D8D8D8
text#000000
text_muted#606060
primary#0600FF
accent#C8102E
link#C8102E
secondary#E3785E
button_bg#FFFFFF
button_text#000000

Using these colors

Typography

Spacing

Radii

Motion

Micro-interactions run at 400ms (dominant) with ease-in-out.

Native design tokens

TokenValue
--kl-reviews-color-light-gray#e9e9eb
--rc-color#040404
--rc-active-bg#efefef
--rc-active-color#000000
--header-height2.5rem
--promo-bar-height31.984375px

Button states (measured)

Layout (measured)

Motion choreography (measured)

Load order: label.swatch×80 → button.modal__close×5 → div.promo-bar__carousel-slid×5 → div.promo-bar__carousel-slid×117 → header.headernav.nav

Scroll reveal: 21 elements rest at opacity 0, animate in over 0.5s ease-in-out.

Overlay recipe (measured)

dialog panel: rgba(0, 0, 0, 0.6) · radius 0px · enter 350ms linear

Input (measured)

height 46px · radius 0px · focus ring 2px auto rgb(255, 255, 255)

Responsive (measured)

Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →

Screens

Sections (8)