i.Design System

Elite Tents Design System v1.0

Editorial Luxury × Editorial Split. Production-ready tokens for the Webflow build of elitetents.ca.

Published Companion to mockup.html and DESIGN-SYSTEM.md
02Brand Foundation

Tone, audience, and the archetype that earns the booking.

A wedding-tent rental site is a trust transaction. The system is calibrated to look like a high-end print catalog brought into the web: confident hierarchy, restrained colour, lots of whitespace. Familiar patterns prospects already trust.

Voice

Warm, considered, present-tense.

Plain-spoken with a steady hand. Never gushing, never filler. We describe what is happening and what comes next. Italic emphasis is rare and earned.

Audience

Brides and corporate planners, Lower Mainland BC.

$50K+ wedding budgets and event managers booking annual gala marquees. They evaluate quickly on photography, perceived calm, and how easy the path-to-quote is.

Archetype

Editorial Luxury × Editorial Split.

Concentric radii. Hairline dividers. Tinted multi-layer shadows. Restrained italic accents in Plum and Bronze. Cereal / Aesop / Belmond / Singita, not Awwwards.

03Colour System

Twelve colours, one moodboard.

Linen, Aubergine, Plum, Bronze: a fixed palette built for editorial print on screen. No tinted neutrals; no pure black. Every shadow and hairline is a tinted rgb(35, 25, 35, *).

Linen
Token
--cream
Hex
#F4F1EC
RGB
244, 241, 236
Webflow
Color / Linen

Page background, card surfaces, light-pane fields.

Linen 2
Token
--cream-2
Hex
#E9E3D9
RGB
233, 227, 217
Webflow
Color / Linen 2

Secondary surface, gradient ceiling, item-rail hover.

Linen 3
Token
--cream-3
Hex
#D9D1C2
RGB
217, 209, 194
Webflow
Color / Linen 3

Bezel-out gradient floor, image placeholder fill.

Aubergine
Token
--brand
Hex
#3C2A3E
RGB
60, 42, 62
Webflow
Color / Aubergine

Primary CTA fill, body text on Linen, dark panes, active filter.

Aubergine Deep
Token
--brand-deep
Hex
#251825
RGB
37, 24, 37
Webflow
Color / Aubergine Deep

Mockup bar, hero gradient floor, modal overlay tint.

Aubergine Soft
Token
--brand-soft
Hex
#523C54
RGB
82, 60, 84
Webflow
Color / Aubergine Soft

Primary CTA :hover fill ("lift toward light").

Plum
Token
--accent
Hex
#5A3D5C
RGB
90, 61, 92
Webflow
Color / Plum

Italic accents in display type, focus rings, link underlines. AAA on Linen; fails on Aubergine; twilight hero swaps to #E2B9CC.

Plum Dark
Token
--accent-dark
Hex
#432D45
RGB
67, 45, 69
Webflow
Color / Plum Dark

Press / active "sink" state on accent-coloured controls.

Bronze
Token
--champagne
Hex
#9C7A55
RGB
156, 122, 85
Webflow
Color / Bronze

Accents on Aubergine panes, eyebrows on dark, secondary CTA fill.

Bronze Light
Token
--champagne-light
Hex
#C8A47C
RGB
200, 164, 124
Webflow
Color / Bronze Light

Sub-copy on Aubergine panes, hero trust row tint.

Ink
Token
--ink
Hex
#231923
RGB
35, 25, 35
Webflow
Color / Ink

Default body text colour. Slightly darker than Aubergine for prose.

Muted
Token
--muted
Hex
#6B5F66
RGB
107, 95, 102
Webflow
Color / Muted

Sub-copy, descriptions, secondary text. Passes AA on Linen.

Faint
Token
--faint
Hex
#988C90
RGB
152, 140, 144
Webflow
Color / Faint

Eyebrows, micro-captions, count badges. Decorative use only.

How they pair · WCAG 2.1 ratios computed from hex values
Body on Linen
15.10 : 1 · AAA
Ink on Linen, default prose
Plum on Linen
8.26 : 1 · AAA
Italic accents, eyebrows, focus rings
Aubergine on Linen
11.70 : 1 · AAA
CTA fill on Linen, primary action
Linen on Aubergine
11.70 : 1 · AAA
CTA label, dark-pane body text
Bronze Light on Aubergine
5.69 : 1 · AA
Sub-copy on dark panes
Bronze on Aubergine
3.35 : 1 · AA Large
Eyebrows + display sizes, never body
Switchable palette comparators

Palette comparators.

Each palette below is a complete twelve-token system applied to a real UI snippet for in-context comparison. Modern Aubergine carries the production default: plum + aubergine + bronze on warm linen. The remaining palettes (including the Warm Archive) live as switchable themes in the mockup-bar at the top of the page; flip between them to compare against the live build.

Production default · modern-aubergine

Modern Aubergine: plum, aubergine, bronze on linen

Linen#F4F1EC
Linen 2#E9E3D9
Linen 3#D9D1C2
Aubergine#3C2A3E
Aubergine Dp#251825
Aubergine Sf#523C54
Plum#5A3D5C
Bronze#9C7A55
Bronze Lt#C8A47C
Ink#231923
Muted#6B5F66
Faint#988C90
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Plum, italic accent
Bronze, gilded warmth
Aubergine, CTA
Ink / Linen 15.10 : 1 AAA Plum / Linen 8.26 : 1 AAA Linen / Aubergine (CTA) 11.70 : 1 AAA

The production palette. Plum + aubergine on warm linen, with brushed bronze on dark panes. Aubergine carries CTA fills and dark surfaces; plum holds the italic emphasis phrase in display type; bronze handles accents on aubergine panes. The Knot's and BridalGuide's #1 wedding accent for 2026: moody, romantic, depth-rich. Sub-niche: indoor evening receptions, candle-heavy production, the moody-romantic Pinterest mood-board couple.

Comparator · warm-archive

Warm Archive: cream + espresso + terracotta

Cream#F5EFE6
Cream 2#EDE4D2
Cream 3#E3D8C1
Espresso#3A2818
Espresso Dp#23180F
Espresso Sf#4E3828
Clay#B85A3B
Champagne#C9B08A
Champagne Lt#E0CFAF
Ink#2A1F18
Muted#6B5D52
Faint#928574
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Clay, primary accent
Champagne, secondary
Espresso, anchor
Ink / Cream 14.05 : 1 AAA Clay / Cream 4.03 : 1 AA-Large Cream / Clay (CTA) 4.03 : 1 AA-Large

Warm-natural editorial palette: terracotta clay on cream with espresso text. Switchable theme available for chrome-decision reference. The cream + terracotta pairing reads close to the Anthropic / Claude visual identity.

Comparator · garden-romantic

Garden Romantic: sage, oat, tobacco gold

Oat#F4EFE5
Oat 2#EAE3D1
Oat 3#DBD0B6
Cedar#3A4536
Cedar Deep#222A20
Cedar Soft#52604B
Sage#5F7058
Tobacco#C7A878
Tobacco Lt#E3CDA8
Ink#2A2E26
Muted#6F6657
Faint#9A9182
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Sage, italic accent
Tobacco, gilded warmth
Cedar, CTA + headings
Ink / Oat ~13 : 1 AAA Sage / Oat ~4.4 : 1 AA-Large Oat / Cedar (CTA) ~9 : 1 AAA

Sage italic accent on oat, with cedar-green carrying headings and CTAs and tobacco-gold supplying warmth. Greens lead 2026 wedding forecasts (53 % of weddings include some form of green), and sage + tobacco-gold is a top garden-wedding combination. References: Cinzia Bruschini and Lucy Munoz colour-grading; Aman resort hospitality identity. Sub-niche: couples doing outdoor Fraser Valley vineyards, dried florals, pampas, candle clusters.

Comparator · coastal-pnw

Coastal PNW Heritage: slate, fog, driftwood

Mist#F2EEE8
Mist 2#E6DFD2
Mist 3#D4CBB9
Slate#2C3E50
Slate Deep#1A2734
Slate Soft#4A5C6E
Pacific#3F5F70
Driftwood#B89F7D
Driftwood Lt#D6BFA0
Ink#1F2A33
Muted#6B7480
Faint#9AA3AE
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Pacific, italic accent
Driftwood, warm cue
Slate, CTA + headings
Ink / Mist ~13 : 1 AAA Pacific / Mist ~6.0 : 1 AAA Mist / Slate (CTA) ~9 : 1 AAA

Sea-glass blues + driftwood neutrals + foam-white: the Pacific Northwest coastal-heritage palette (Benjamin Moore PNW; The Knot's "coastal heritage" 2026 forecast). Slate carries headings and CTAs; pacific blue holds the italic accent; driftwood is the warm bridge that keeps the system from feeling cold. Every pairing AAA. Sub-niche: Fraser Valley estate weddings with stone, river-rock, water views, and engagement-photographers shooting at golden hour.

Comparator · black-tie-emerald

Black-Tie Emerald: Aman/Rosewood playbook

Ivory#F6F2EA
Ivory 2#EDE7DA
Ivory 3#DDD3BE
Emerald#0D4C3C
Emerald Deep#072F25
Emerald Soft#16604E
Charcoal#36454F
Champagne#C9A75A
Champagne Lt#E0C284
Ink#1E1E1E
Muted#5C5C5C
Faint#8A8A8A
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Emerald, primary accent
Champagne, gilding
Charcoal, text + chrome
Ink / Ivory ~16 : 1 AAA Emerald / Ivory ~9 : 1 AAA Ivory / Emerald (CTA) ~9 : 1 AAA

Emerald + champagne: the identity language of Aman, Rosewood, and Harrods (Harrods emerald sits at #0D4C3C, used verbatim). Emerald carries the 2026 wedding forecast as the #1 jewel tone. Every pairing AAA. Sub-niche: black-tie evening receptions, Vancouver heritage venues, sit-down dinners under crystal. Risk: telegraphs "formal" early; may filter the boho-leaning couple. Pair with Source Serif italic and it lands close to Hardy Amies / Brora / Vacheron Constantin in tone.

Comparator · botanical-forest

Botanical Forest: forest + cool ochre

Parchment#F2EDE0
Parchment 2#E6DEC8
Parchment 3#D6C9A8
Forest#1F3A2A
Forest Deep#122518
Forest Soft#3A5A48
Ochre#A8632F
Saffron#C9A560
Saffron Lt#E0C28E
Ink#1F2A20
Muted#6B6354
Faint#94897A
Premium tent rentals · Fraser Valley

Tents for unforgettable gatherings.

Marquee, frame, and clear-span structures for weddings across the Lower Mainland and Fraser Valley. We deliver, set, light, and stay until the last toast.

Request a quote
Ochre, italic accent
Saffron, gilded warmth
Forest, CTA
Ink / Parchment ~13 : 1 AAA Ochre / Parchment ~3.9 : 1 AA-Large Parchment / Forest (CTA) ~10 : 1 AAA

Ochre italic accent on parchment, with deep forest carrying CTAs and headings and saffron supplying warmth. Ochre reads burnt-umber / Audubon-print / botanical-plate. Sub-niche: the boho-leaning couple, pressed-flower invitations, second-growth-cedar venues.

04Typography

Two families, one editorial voice.

Source Serif 4 carries headings, italic accents, and editorial flourishes. Geist carries everything else. Both are variable fonts: no static weights, every size tunes opsz/wght live.

Aa
Source Serif 4
Variable serif · opsz 8–60 · wght 300–500 · ital
Headings, italic emphasis, drop caps, quote marks. font-optical-sizing: auto engages the opsz axis.
https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..500;1,8..60,300..500&display=swap
Webflow Variable: Type / Serif
Aa
Geist
Variable sans · wght 400–600
Body, UI, eyebrows, micro-captions. Tabular figures (font-variant-numeric: tabular-nums) on every numeric display.
https://fonts.googleapis.com/css2?family=Geist:wght@400..600&display=swap
Webflow Variable: Type / Sans
H1 Source Serif 4 · 300
clamp(48–92px) / 0.96
letter-spacing −0.02em
An evening shaped by candle light.
H2 Source Serif 4 · 300
32–44px / 1.05
letter-spacing −0.02em
Tents for every occasion.
H3 Source Serif 4 · 400
22–28px / 1.15
letter-spacing −0.015em
High-Peak Marquee · 40 × 60 ft
Body Geist 400
16px / 1.6
text-wrap: pretty
An adaptable solution for outdoor weddings, corporate launches, and private estates, engineered, dressed, and lit on site by our crew.
Body Small Geist 400
14.5px / 1.55
color: var(--muted)
Optimised line measure for sub-copy and form context. Don’t let it stretch wider than 520px.
Caption Geist 400
13px / 1.5
color: var(--muted)
Add to event · Brookside, BC · 03 Jun 2026
Eyebrow Geist 500
11px UPPERCASE
letter-spacing 0.24em
– · The Collection
Micro Geist 500
9–10px UPPERCASE
letter-spacing 0.22em
Specs · 40 × 60 · 240 guests
Drop cap · used once per article max

Designed for the long arc of a wedding day (first arrivals through last toast) every Elite Tents marquee is engineered for soft acoustics, warm sightlines, and a calm interior. Italic accents come from Source Serif 4 in clay, never from punctuation.

Eyebrow with leading hairline

A note on emphasis

Italic em-tags inside headings render in clay; on dark panes they render in champagne. Bold body weight is reserved for stat callouts and form labels, never inline.

Switchable serif specimens

Display exploration: elegant, not fancy.

Five candidates considered alongside Source Serif 4 as the display face. All restrained, no scripts, no wedding-cliché curls. Each shown twice with the same sample line: large roman for the main comparison, smaller italic in clay so you can also see how the accent treatment reads.

EB Garamond Classic Old-Style The quiet, classical book serif. Restrained, trustworthy, never showy.
An evening shaped by candle light.
An evening shaped by candle light.
Lora Contemporary humanist Warm, balanced, modern serif. Wedding-friendly without the curl.
An evening shaped by candle light.
An evening shaped by candle light.
Source Serif 4 Modern transitional · variable Adobe's editorial serif. Clean, considered, slightly more technical.
An evening shaped by candle light.
An evening shaped by candle light.
Cormorant Garamond Refined display Garamond Higher contrast, slightly more delicate. The dressier Garamond.
An evening shaped by candle light.
An evening shaped by candle light.
Newsreader Editorial · variable Production Type's editorial face. Modern, calm, slightly more contemporary than EB.
An evening shaped by candle light.
An evening shaped by candle light.
Fancier set · for comparison

A dressier register.

Five more for direct comparison: higher contrast, more dramatic shapes, dressier overall. Still no scripts or wedding-cliché curls. Useful as the "this is what fancier feels like" anchor against the restrained set above.

Bodoni Moda Modern didone · variable High-contrast didone with crisp hairlines and dramatic stress. The Vogue-cover serif.
An evening shaped by candle light.
An evening shaped by candle light.
Playfair Display Transitional luxury The wedding-luxury default; rounder than Bodoni, italics carry genuine swash without going script.
An evening shaped by candle light.
An evening shaped by candle light.
Cormorant Infant Decorative Garamond Warmer, more flamboyant cousin of Cormorant Garamond; softer terminals, notably more calligraphic italic.
An evening shaped by candle light.
An evening shaped by candle light.
Marcellus Inscriptional Roman Classical stone-carved feel; monumental, architectural gravitas. Italic shown in small-caps (no true italic file).
An evening shaped by candle light.
An evening shaped by candle light.
Italiana Couture didone Ultra-thin, knife-edge hairlines. Evokes Vogue mastheads and high-end venue branding. Display-only.
An evening shaped by candle light.
An evening shaped by candle light.
05Spacing & Rhythm

Generous, uneven, considered.

An 8-pixel base unit and seven section-padding stops. Major sections breathe at 96–128px between them; intra-section rhythm at 24–56px. Macro-whitespace is a feature, not a bug.

24px, intra-card spacing, button vertical pad.
56px, inter-row, hero side pad, sub-section gap.
96px, section padding (default vertical).
8px
16px
24px
32px
56px
72px
96px
128px

Max content width: 1440px (mockup uses --max-w: 1440px; this doc uses 1200px for an editorial measure). Side padding inside sections: 36px minimum, 56px on the hero rail.

06Radii & Hairlines

Concentric by rule.

Every nested surface honours the Double-Bezel: an outer 22px shell, 6px of padding, and a 16px inner core. Inner radius equals outer minus padding. The math is non-negotiable.

8chips, count pills
10filter row hover
12fields, FAQ
14cards, CTA
16inner core
18glass card, feat-card
22Double-Bezel outer
999buttons, pills, dots
outer · 22px ↔ padding · 6px
inner · 16px
The Double-Bezel
outer 22 – padding 6 = inner 16

The outer shell carries the gradient + ring + tinted shadow. The inner core carries the photo, content, and the inset 0 1px 0 rgba(255,255,255,0.5) top-edge highlight. They are always concentric; when you change one, you change the other.

Same rule applies to the filter sidebar (22 / 6 / 16), the help-panel header band (no padding so it shares the panel’s 22px radius), and any future nested card pattern.

Regular · default divider

Between sections, between rows in My Event, around tag chips. 1px solid rgba(58,40,24,0.1)

Strong · social ring, dashed CTA

Footer social-icon ring, dashed “Add more” outline, weight-bearing dividers. rgba(58,40,24,0.2)

Champagne · the “luxury packaging” cue

Top edge of the nav bar. Linear-gradient that fades in and out across the viewport. Editorial Luxury signature.

Hairline on dark · espresso pane

Inside .me-submit-pane and the help-panel header. rgba(245,239,230,0.12), never the inverse of the light hairline.

07Shadows & Inset Highlights

Layered, tinted, never black.

Four shadow stacks. Each is a multi-layer composition tinted with rgb(58, 40, 24, *) (a deep brown) so light catches like sunset on cream linen, not like a black drop-shadow on a screen.

resting
--shadow-card
0 1 1 / 0 4 10 / 0 14 32

Resting state on every card. Always paired with --ring-hair in usage.

lifted
--shadow-card-hover
0 1 1 / 0 8 20 / 0 28 56

Hover state. Larger blur and more opacity on the bottom layer for a calm lift.

modal
--shadow-pop
0 12 28 / 0 30 80

Modal panes, lightboxes, help panel. Two large layers; feels detached from the page.

bubble
--shadow-bubble
0 8 24 / 0 24 48

Help bubble + toast. Sits on the dark espresso, paired with the inset-highlight-dark top edge.

--inset-highlight

Inner core of every Double-Bezel. inset 0 1px 0 rgba(255,255,255,0.5)

--inset-highlight-dark

Top edge on espresso CTAs, active filter, mockup-bar floor. inset 0 1px 0 rgba(255,255,255,0.08)

Rule: always layered, always tinted with rgb(58, 40, 24, *). Never pure black. Never single-layer. The ring-hair (0 0 0 1px rgba(58,40,24,0.06)) prefixes every card box-shadow so the edge stays defined at low blur radii.

08Components

The system, made visible.

Every component is rendered live; hover them, press them. Press states scale to 0.96, never below. The trailing-circle “Button-in-Button” translates 2px right + 1px up on hover.

Buttons

primary · ghost · ghost-light · champagne
Primary · clay
Pressed (0.96)
Ghost · espresso border
Ghost-light · for dark backgrounds
Champagne · dark-pane CTA

Form fields

label-on-top · 12px radius · clay focus ring

Card anatomy · Double-Bezel

collection card · centerpiece
Marquee
High-Peak Marquee
Size 40 × 60
Guests 240

Engineered cathedral-pitch frame. Glassed walls optional. Best for receptions of 150 to 240, with a clear-span dance floor.

Outer 22pxshell · gradient · ring-hair · shadow-card Tag chipcream-fill · ring-hair · no blur (perf) Inner 16px22 − 6 padding = 16 Image outline1px black/0.1 · offset −1px
Sailcloth
Sailcloth Pavilion
Size 32 × 48
Guests 120

Soft-pole sailcloth with translucent canvas; glows beautifully at twilight. Romantic profile for vineyard and beach receptions.

Without callouts. The card is the production-target visual; the annotated twin documents what it’s made of.

Filter row & tab pill

10px radius row · 999px nav pill
Filter row · resting + active
Tab pill · 999px · active espresso

Editorial split heading

eyebrow · h2 · sub
– · The Approach

An evening shaped by candle light.

An adaptable solution for outdoor weddings, corporate launches, and private estates, engineered, dressed, and lit on site by our crew.

Glass card · hero quote

backdrop-filter · rgba bg · italic

The crew made our outdoor reception feel sheltered without losing the open sky. Calm, on-time, and quietly generous.

M. Leclerc · Brookside Estate · 2025

Safari note: backdrop-filter requires -webkit-backdrop-filter for iOS < 18. Fall-back: opaque rgba(245,239,230,0.18) when backdrop-filter isn’t supported.

Help bubble & toast

fixed · espresso · champagne dot
Help bubble
Toast · pill Added to my event
09Motion

Restraint is the curve.

Three CSS easings power state transitions, plus Motion One spring physics on scroll-triggered reveals. Specify properties, never transition: all. Reduce-motion disables every entrance.

Primary spring
--ease
cubic-bezier(0.32, 0.72, 0, 1)
Default for all interactive state. Anticipatory front-loaded, eases out hard.
Reveals
--ease-out
cubic-bezier(0.16, 1, 0.3, 1)
Scroll-triggered reveals, image zooms. Aggressive front-load, slow tail.
Exits
--ease-in
cubic-bezier(0.4, 0, 1, 1)
Page-leave + dismiss. Slow start, accelerating exit. Use sparingly.
Library curve
Motion One spring
stiffness 220 · damping 24
Used via inView reveals + spring on stagger. Not a CSS bezier.
0.20sQuick state: focus rings, hovers on subtle UI.
0.25sDefault interactive: buttons, tabs, filter rows, fields.
0.45sView transitions: between Home / Collection / My Event.
0.60–0.95sScroll-triggered reveals, blur-in. Always paired with --ease-out.
0.90sImage zoom on hover (scale(1.04) on collection cards).
Stagger demo · scroll into view

Vanilla IntersectionObserver, threshold 0.2, unobserve on first hit. Children rise on a 100ms cadence.

10Mobile breakpoint

At ≤ 1023px, the page collapses with intent.

Single-column everywhere. Tabs become a hamburger overlay. The hero quote card is hidden entirely. Heights use 100dvh so iOS Safari toolbar shrink doesn’t hide content.

  • NavTabs hidden. Hamburger replaces them. Mobile menu overlay panel slides in from the right with backdrop blur.
  • BodyThe .app-main container becomes a horizontal swipe-snap surface; IntersectionObserver syncs location.hash to whichever view is centered.
  • GridsAll grid layouts (collection, my-event, featured-strip) collapse to single column.
  • Hero quoteThe glass-card carousel is display: none on mobile. Reviews still rotate in the body section.
  • iOS notch100dvh + safe-area-inset-top/bottom padding, never 100vh.
  • Min-width: 0Required on every flex/grid cell that contains an <input>; browser default min-content is ~150-200px and propagates up.
11Webflow mapping

Tokens → Site Variables.

The checklist for the Webflow build. Register these in Site Settings → Variables. The mockup’s CSS custom properties are 1:1 with the Variables column on the right.

Design token Value Webflow Variable
Colour
--cream#F5EFE6Color / Cream
--cream-2#EDE4D2Color / Cream 2
--cream-3#E3D8C1Color / Cream 3
--brand#3A2818Color / Espresso
--brand-deep#23180FColor / Espresso Deep
--brand-soft#4E3828Color / Espresso Soft
--accent#B85A3BColor / Clay
--accent-dark#964730Color / Clay Dark
--champagne#C9B08AColor / Champagne
--champagne-light#E0CFAFColor / Champagne Light
--ink#2A1F18Color / Ink
--muted#6B5D52Color / Muted
--faint#928574Color / Faint
Type
--serifSource Serif 4, Georgia, serifType / Serif
--sansGeist, ui-sans-serif, system-uiType / Sans
font-size · h1clamp(48px, 6.4vw, 92px)Type / Size / H1
font-size · h2clamp(32px, 3.6vw, 44px)Type / Size / H2
font-size · body16px / 1.6Type / Size / Body
font-size · eyebrow11px · 0.24em · UPPERType / Size / Eyebrow
font-size · micro9px · 0.22em · UPPERType / Size / Micro
Spacing
space / xs8pxSpace / XS
space / sm16pxSpace / SM
space / md32pxSpace / MD
space / lg56pxSpace / LG
space / xl96pxSpace / XL
space / 2xl128pxSpace / 2XL
--max-w1440pxLayout / Max
Radius
radius / sm8pxRadius / SM
radius / md12pxRadius / MD
radius / inner16pxRadius / Inner
radius / outer22pxRadius / Outer
radius / pill999pxRadius / Pill
Shadow
--ring-hair0 0 0 1px rgba(58,40,24,0.06)Shadow / Ring Hair
--shadow-card3-layer · 0.04 / 0.04 / 0.06Shadow / Card
--shadow-card-hover3-layer · 0.05 / 0.08 / 0.10Shadow / Card Hover
--shadow-pop2-layer · 0.14 / 0.14Shadow / Pop
--shadow-bubble2-layer · 0.18 / 0.10Shadow / Bubble
--inset-highlightinset 0 1px 0 rgba(255,255,255,0.5)Shadow / Inset Highlight
--inset-highlight-darkinset 0 1px 0 rgba(255,255,255,0.08)Shadow / Inset Highlight Dark
Motion
--easecubic-bezier(0.32, 0.72, 0, 1)Motion / Ease
--ease-outcubic-bezier(0.16, 1, 0.3, 1)Motion / Ease Out
--ease-incubic-bezier(0.4, 0, 1, 1)Motion / Ease In