Astryastry
Astry Design System01 Foundations

Core
foundations.

Brand primitives are frozen. Semantic tokens translate them into light and dark. Components are forbidden from reading anything but tokens — so a theme can never drift.

03
Token layers
6
Brand primitives
11
Type steps
AA
WCAG 2.2
01

Token pipeline

The system is a one-way pipeline. Brand primitives are frozen at the source. Semantic tokens translate them into light and dark. Components are forbidden from reading anything but tokens — so a theme can never break.

No hex in componentsSharp cornersLight + darkRegistry-backed
Layer 01

Brand primitives

Frozen. Hex, type files, the mark. Never consumed directly.

Layer 02

Semantic tokens

Light + dark. The only thing components are allowed to read.

Layer 03

Components

Primitives + patterns. Token-only — theming can never break.

02

Logo lockups

astry

Wordmark / on ivory

astry

Wordmark / on infra-red

Mark / on ivory

Mark / on slate

astry

Combined / on ivory

astry

Combined / on deep blue

03

Brand primitives

Deep Blue

#0A183D

Tonal accent surface · deep panels

Infra Red

#E43D1A

Primary accent · CTAs · highlights

Forest

#1C2B28

Tonal accent surface · secondary

Slate

#0F1115

Base canvas · the page ground

Ivory

#F2F1EC

Primary ink · light surfaces

04

Semantic tokens

TokenLightDarkNote
Surfaces
--bg—
--canvas—
--subtle—
--surface—
--surface-raised—
Borders
--border—
--border-strong—
Text
--text—
--text-muted—
--text-subtle—
Accent
--brandInfra-red in dark
--brand-hover—
--brand-soft—
Status
--success—
--warning—
--danger—
05

Typography

Display face

Neue Haas

Display Pro

200 / 300 / 400 / 500 / 700 / 900

Secondary face

Inter

400 / 500 / 600 / 700

TokenSize / LhSample
display96 / 100Embedded intelligence.
5xl72 / 75Embedded intelligence.
4xl56 / 60Embedded intelligence.
3xl40 / 44Embedded intelligence.
2xl32 / 38Embedded intelligence.
xl24 / 30Embedded intelligence.
lg20 / 30Embedded intelligence.
md18 / 28Embedded intelligence.
base16 / 25Embedded intelligence.
sm14 / 20Embedded intelligence.
xs12 / 18Embedded intelligence.
06

Signature gradient

Marketing surface only

The right answer.
In seconds.

Reserved for hero surfaces only. Never behind body copy. Never behind interactive elements.

07

Spacing scale

14px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
14px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
08

Radius scale

Astry runs sharp. Every radius token resolves to 0. The only exception is pill (9999 px), reserved for switch knobs, slider thumbs, status dots, and avatar status indicators.

xs0all = 0
sm0
md0default
lg0
xl0
2xl0
pill9999pxswitch · dots · thumb
09

Elevation

shadow-xs
shadow-sm
shadow-md
shadow-lg

Astry stays flat. Cards have no shadow by default. A border delineates. Hover state darkens the border — never adds translate. Use shadow with intent, not for decoration.

10

Motion

instant

Color shifts on click

80ms

fast

Hover, focus

140ms

base

Default

200ms

slow

Drawer slides, entries

320ms
Easing function

cubic-bezier(0.4, 0, 0.2, 1)

Standard ease-in-out. Applied to all transitions. Killed entirely under prefers-reduced-motion: reduce.

transition-colorstransition-opacitytransition-transform
11

Container & grid

1
2
3
4
5
6
7
8
9
10
11
12
max-width: 1440gutter: 24columns: 12breakpoints: sm 640 / md 768 / lg 1024 / xl 1280
12

Visual signatures

Signature 01 — Eyebrow

Section eyebrow

The eyebrow

Uppercase, 12 px, Astry Blue. Sits above every section title. Registered as the Eyebrow primitive.

Signature 02 — Corner angles

BracketFrame

SVG L-shapes in Astry Blue. Mark KPIs, hero panels, key quotes. Use sparingly — reserved for brand-weighted moments.

13

Mascot library

Open the mascot library

9 categories · poses · roles · moods · gestures · alerts

14

Accessibility

Focus visible

2 px brand ring, 2 px offset, only via :focus-visible.

Touch targets

44 × 44 minimum hit area on every interactive primitive.

Reduced motion

All transitions killed under prefers-reduced-motion: reduce.

Forced colors

Components keep visible 1 px borders under Windows High Contrast.

Color independence

Status badges always pair color with a dot or icon.

Semantics

Inputs labeled. Errors role=alert. Switches expose aria-checked.

15

Contrast samples

Brand on bg (light)

8.34 : 1

AAA

Text on bg (light)

17.4 : 1

AAA

Text-subtle on bg

4.7 : 1

AA — non-essential only