Skip to main content
An official website of the State of Leonida

CDesign system

Bold Modern

The portal as a lifestyle brand and a tech product: flat color blocks, geometric shapes, very round cards.

Bricolage Grotesque, very bold, for titles; Figtree for text; pills and bento grids everywhere.

Interactions that answer the touch: getting things done becomes pleasant.

Fonts: Bricolage Grotesque (variable, optical size and width axes) and Figtree (variable).

Site theme (level 3), applied to the whole page

theme.accent
rose
theme.secondary
orange
theme.gradient
rose.500 → orange.500
theme.heroTone
sunset
theme.motion
expressive

01Palette

Palette

Level 1. Every hue shares the same step grammar; sites pick scales, never hex values.

navy

50EEF1F8
100DDE3F1
200C4CDE6
300AEBBE0
4007F90C4
5004A5C94
60034457A
70025355F
8001A274A
9000E1A3A
9500A1230

rose

50FFF1F5
100FFE0E9
200FFC2D4
300FF9DBA
400FF7AA4
500FF5F8F
600E8457A
700C2245C
8007A1A3F
9003D1226
950260B18

orange

50FFF6EC
100FFE9D1
200FFD3A6
300FFC183
400FFAA55
500FF9A3C
600EE7F1A
700A84F05
8006E3A10
9003A220E
95024150A

turquoise

50ECFBF9
100D2F5F1
200A6EBE3
3006FE0D4
40045D3C5
5002EC4B6
6001DA597
7000B7268
8000F4D48
9000D2E2D
950081D1E

gold

50FFF9E8
100FDF0C8
200F8DF93
300F2CD6A
400EBC04F
500D9A93A
600B98A22
70085600F
8005C4310
90033270E
950211909

green

50EEFAF1
100D6F3DE
200ABE5BC
3007FD69B
4005AC67D
5002F9E5B
600237F48
7001C6B3C
80017462B
90010291C
9500A1A12

sand

50FFFBF6
100FFF6EC
200F8ECDD
300E9D5BB
400D8BD98
500C7A57A
600A8865B
700765A37
8004D3B26
9002A2118
9501A140E

red

50FFF1F1
100FFE0DF
200FFC1BF
300FF9C98
400FF7570
500F0483F
600D23129
700B3261E
8006E1F1B
9003A1513
950250D0C

amber

50FFFAEB
100FFF1C7
200FFE28A
300FFD25C
400FFC233
500F5A70A
600D08600
7008F5A00
8005E3D06
90033230A
950211606

sky

50EEF6FF
100D9EBFF
200B3D6FF
3008CC2FF
4005EA8FF
5002F86F0
6001F6CD1
7001A5AB0
800173E73
90011243F
9500B1729

violet

50F6F2FF
100ECE3FF
200D9C7FF
300C2A6FF
400A783F5
5008B5FE3
6007347CC
7005D35AD
8003D2473
90023173F
950160F29

blush

50FFF5F8
100FFE8EF
200FFD3E0
300FFB2C6
400F792B0
500E8749A
600CC5A82
700A63E66
8006E2A47
9003B1A2B
95025111C

ink

50F4F6FB
100E2E6F0
200C9CFDF
300A7B0C8
4008D98B5
50077819B
6004F5B7A
700262F4D
80018203A
850121A31
9000E1428
9500A0F1F

Roles guaranteed by the contrast script: 300 = text dark · 400 = fill dark · 500 = fill light · 700 = text light.

02Semantic tokens

Semantic tokens

Levels 2 and 3, resolved for State of Leonida. Components only use these names.

TokenLightDarkLevel
--bg#FFF6EC#0A0F1Fsemantic (2)
--bg-subtle#F8ECDD#0E1428semantic (2)
--surface#FFFFFF#121A31semantic (2)
--surface-2#FFFBF6#18203Asemantic (2)
--surface-inverse#0E1A3A#FFF6ECsemantic (2)
--fg#0E1A3A#FFF6ECsemantic (2)
--fg-muted#4F5B7A#A7B0C8semantic (2)
--fg-inverse#FFF6EC#0E1A3Asemantic (2)
--border-strong#77819B#77819Bsemantic (2)
--accent#FF5F8Frose.500#FF7AA4rose.400site (3)
--accent-hover#E8457Arose.600#FF9DBArose.300site (3)
--on-accent#0E1A3Anavy.900#0A0F1Fink.950site (3)
--accent-ink#C2245Crose.700#FF9DBArose.300site (3)
--accent-soft#FFE0E9rose.100#3D1226rose.900site (3)
--secondary#FF9A3Corange.500#FFAA55orange.400site (3)
--on-secondary#0E1A3Anavy.900#0A0F1Fink.950site (3)
--secondary-ink#A84F05orange.700#FFC183orange.300site (3)
--secondary-soft#FFE9D1orange.100#3A220Eorange.900site (3)
--gradient-from#FF5F8Frose.500#FF7AA4rose.400site (3)
--gradient-to#FF9A3Corange.500#FFAA55orange.400site (3)
--focus#C2245C#FF9DBAsemantic (2)
--success#237F48#5AC67Dsemantic (2)
--warning#F5A70A#FFC233semantic (2)
--danger#D23129#FF7570semantic (2)
--info#1F6CD1#5EA8FFsemantic (2)
--blush#FFB2C6#FFB2C6semantic (2)
--on-blush#0E1A3A#0A0F1Fsemantic (2)
--blush-ink#A63E66#FFB2C6semantic (2)
--blush-soft#FFE8EF#3B1A2Bsemantic (2)

03Contrast

Contrast

Computed from the same token sources as the CSS. Switch the site theme above to audit another site.

124 of 124 pairs pass WCAG AA for State of Leonida. Same check in CI: pnpm check:contrast.

  • Light
  • Aafg / bg16.00AA
  • Aafg / bg-subtle14.69AA
  • Aafg / surface17.11AA
  • Aafg / surface-216.60AA
  • Aafg-muted / bg6.32AA
  • Aafg-muted / bg-subtle5.80AA
  • Aafg-muted / surface6.75AA
  • Aafg-muted / surface-26.55AA
  • Aaaccent-ink / bg5.31AA
  • Aaaccent-ink / bg-subtle4.87AA
  • Aaaccent-ink / surface5.67AA
  • Aaaccent-ink / surface-25.51AA
  • Aaaccent-ink / accent-soft4.62AA
  • Aasecondary-ink / bg5.19AA
  • Aasecondary-ink / bg-subtle4.76AA
  • Aasecondary-ink / surface5.55AA
  • Aasecondary-ink / surface-25.38AA
  • Aasecondary-ink / secondary-soft4.71AA
  • Aaon-accent / accent5.94AA
  • Aaon-accent / accent-hover4.53AA
  • Aaon-secondary / secondary8.10AA
  • Aaon-secondary / secondary-hover6.26AA
  • Aaon-gradient / gradient-from5.94AA
  • Aaon-gradient / gradient-to8.10AA
  • Aafg-inverse / surface-inverse16.00AA
  • Aafg-on-image / scrim16.00AA
  • Aaon-blush / blush10.13AA
  • Aablush-ink / bg5.61AA
  • Aablush-ink / bg-subtle5.15AA
  • Aablush-ink / surface6.00AA
  • Aablush-ink / surface-25.82AA
  • Aablush-ink / blush-soft5.15AA
  • Aafg / blush-soft14.70AA
  • Aafg-muted / blush-soft5.80AA
  • Aasuccess-ink / success-soft5.51AA
  • Aasuccess-ink / bg6.11AA
  • Aasuccess-ink / surface6.53AA
  • Aaon-success / success5.00AA
  • Aawarning-ink / warning-soft5.14AA
  • Aawarning-ink / bg5.41AA
  • Aawarning-ink / surface5.78AA
  • Aaon-warning / warning8.48AA
  • Aadanger-ink / danger-soft5.29AA
  • Aadanger-ink / bg6.11AA
  • Aadanger-ink / surface6.54AA
  • Aaon-danger / danger4.99AA
  • Aainfo-ink / info-soft5.51AA
  • Aainfo-ink / bg6.27AA
  • Aainfo-ink / surface6.70AA
  • Aaon-info / info5.09AA
  • Aamarine-ink / marine-soft6.59AA
  • Aamarine-ink / bg7.62AA
  • Aamarine-ink / surface8.15AA
  • Aaon-marine / marine6.00AA
  • border-strong / bg3.64UI
  • border-strong / bg-subtle3.34UI
  • border-strong / surface3.89UI
  • border-strong / surface-23.78UI
  • focus / bg5.31UI
  • focus / bg-subtle4.87UI
  • focus / surface5.67UI
  • focus / surface-25.51UI
  • Dark
  • Aafg / bg17.84AA
  • Aafg / bg-subtle17.09AA
  • Aafg / surface16.13AA
  • Aafg / surface-215.04AA
  • Aafg-muted / bg8.80AA
  • Aafg-muted / bg-subtle8.43AA
  • Aafg-muted / surface7.95AA
  • Aafg-muted / surface-27.41AA
  • Aaaccent-ink / bg9.79AA
  • Aaaccent-ink / bg-subtle9.38AA
  • Aaaccent-ink / surface8.85AA
  • Aaaccent-ink / surface-28.25AA
  • Aaaccent-ink / accent-soft8.21AA
  • Aasecondary-ink / bg12.00AA
  • Aasecondary-ink / bg-subtle11.49AA
  • Aasecondary-ink / surface10.85AA
  • Aasecondary-ink / surface-210.11AA
  • Aasecondary-ink / secondary-soft9.33AA
  • Aaon-accent / accent7.79AA
  • Aaon-accent / accent-hover9.79AA
  • Aaon-secondary / secondary10.11AA
  • Aaon-secondary / secondary-hover12.00AA
  • Aaon-gradient / gradient-from7.79AA
  • Aaon-gradient / gradient-to10.11AA
  • Aafg-inverse / surface-inverse16.00AA
  • Aafg-on-image / scrim17.84AA
  • Aaon-blush / blush11.29AA
  • Aablush-ink / bg11.29AA
  • Aablush-ink / bg-subtle10.82AA
  • Aablush-ink / surface10.21AA
  • Aablush-ink / surface-29.52AA
  • Aablush-ink / blush-soft9.09AA
  • Aafg / blush-soft14.35AA
  • Aafg-muted / blush-soft7.08AA
  • Aasuccess-ink / success-soft8.85AA
  • Aasuccess-ink / bg10.89AA
  • Aasuccess-ink / surface9.85AA
  • Aaon-success / success8.91AA
  • Aawarning-ink / warning-soft10.56AA
  • Aawarning-ink / bg13.28AA
  • Aawarning-ink / surface12.01AA
  • Aaon-warning / warning11.82AA
  • Aadanger-ink / danger-soft8.07AA
  • Aadanger-ink / bg9.50AA
  • Aadanger-ink / surface8.59AA
  • Aaon-danger / danger7.29AA
  • Aainfo-ink / info-soft8.37AA
  • Aainfo-ink / bg10.24AA
  • Aainfo-ink / surface9.26AA
  • Aaon-info / info7.74AA
  • Aamarine-ink / marine-soft8.05AA
  • Aamarine-ink / bg9.26AA
  • Aamarine-ink / surface8.37AA
  • Aaon-marine / marine6.55AA
  • border-strong / bg4.90UI
  • border-strong / bg-subtle4.70UI
  • border-strong / surface4.43UI
  • border-strong / surface-24.13UI
  • focus / bg9.79UI
  • focus / bg-subtle9.38UI
  • focus / surface8.85UI
  • focus / surface-28.25UI

04Typography

Typography

Bricolage Grotesque 800 at optical size 96 for display, tracking -0.04em, sentence case. Figtree for text (17px, 1.55) and bold pill labels.

Leonida, hello

00Eyebrow with index

Eyebrow with icon

Muted eyebrow

A lede sets up a section in one or two sentences, never more.

Body text is Figtree at 17px with a 1.55 line height. Paragraphs stay under 70 characters per line, so a renewal notice reads as easily as a travel story.

  • --step--113px → 14pxRenew your license in ten minutes, online.
  • --step-756px → 144pxSol, Mare, Libertas
  • --step-648px → 104pxSol, Mare, Libertas
  • --step-540px → 72pxSol, Mare, Libertas
  • --step-434px → 52pxSol, Mare, Libertas
  • --step-328px → 38pxSol, Mare, Libertas
  • --step-223px → 28pxRenew your license in ten minutes, online.
  • --step-119px → 22pxRenew your license in ten minutes, online.
  • --step-016px → 18pxRenew your license in ten minutes, online.

05Shape & rhythm

Shape & rhythm

Cards 32px, media 24px, controls and badges in pills. Inner radius = outer radius minus padding. Shadows are soft and tinted by the site accent.

Radius

--radius-control

--radius-card

--radius-media

--radius-badge

Elevation

--shadow-1

--shadow-2

--shadow-3

--shadow-4

--shadow-card

--shadow-raised

32px card, 8px padding, 24px media
pill 64px, 8px padding, 48px circle
  • --gutterside margins
  • --grid-gap12-column gap
  • --section-yspace between sections
  • Shared defaults: gutter clamp(1.25rem, 0rem + 5.5556vw, 5rem); content max 100rem.

06Motion

Motion

Playful pops with a little overshoot, spring micro-interactions, a ticker for alerts. Calm on service sites, nothing under reduced motion. Hover the rows.

  • --duration-instant 90ms
  • --duration-fast 160ms
  • --duration-base 260ms
  • --duration-slow 480ms
  • --duration-slower 800ms
  • --duration-cinematic 1400ms
  • --ease-standardcubic-bezier(.2,0,0,1)
  • --ease-out-expocubic-bezier(.16,1,.3,1)
  • --ease-in-outcubic-bezier(.65,0,.35,1)
  • --ease-springcubic-bezier(.34,1.56,.64,1)
  • reveal

    type:scale, y:32, duration:0.9, ease:back.out(1.4), stagger:0.07

  • split

    mask:true, yPercent:105, duration:1, stagger:0.08, ease:expo.out

  • hero

    scaleFrom:1.1, duration:2, ease:expo.out, parallax:0.12

  • counter

    duration:1.6, ease:power3.out

07Buttons

Buttons

52px pills with a bold label and an icon in a circle that turns on hover. Press to feel the spring.

Light

Dark

08Badges & alerts

Badges & alerts

The hurricane alert runs as a ticker: it pauses on hover and focus, can be stopped, and is static under reduced motion or on calm sites.

Light

Official portalOnlineSeasonalNewHiringNeutralDoneWarningAlertInfo

Hurricane season

Hurricane season runs through November 30. Know your evacuation zone, keep a seven-day kit ready and sign up for LeoAlert to get official warnings by text.

Hurricane season

Know your evacuation zone.

Zones were redrawn this year in every coastal county.

Check my zone
Road closures

Causeway closed Sunday morning.

Done

Your renewal was submitted.

Dark

Official portalOnlineSeasonalNewHiringNeutralDoneWarningAlertInfo

Hurricane season

Hurricane season runs through November 30. Know your evacuation zone, keep a seven-day kit ready and sign up for LeoAlert to get official warnings by text.

Hurricane season

Know your evacuation zone.

Zones were redrawn this year in every coastal county.

Check my zone
Road closures

Causeway closed Sunday morning.

Done

Your renewal was submitted.

09Cards

Cards

Flat color blocks with a tone each: accent soft, secondary soft, surface, inverse, accent and gradient. Agency cards open a nested site scope and wear that agency’s colors.

10Forms

Forms

Pill fields with visible labels, errors announced with text and icon, never color alone. Radio options are chips.

Light

As it appears on your ID.

Enter a complete email address.

Contact me by

Dark

As it appears on your ID.

Enter a complete email address.

Contact me by

11Accordion & carousel

Accordion & carousel

Keyboard: Tab to a slide, then arrow keys, Home and End. Mouse: drag the track.

13Seal & emblems

Seal & emblems

Original artwork. Each agency has its own silhouette (shield, tile, flower, hexagon) with a white sticker outline, so it reads on any background; colors stay fixed in both themes, like real insignia. Geometry is decorative and hidden from assistive tech.

Light

Great Seal of the State of LeonidaSTATE OF LEONIDASOL · MARE · LIBERTASState seal
Mark
VCPD
Leonida DMV
Visit Leonida
State Parks
POACH
Highway Patrol
Vice City International
Bank of Leonida
Vice-Dale County
Mariana County
Leonard County
Kelly County
Kalaga CountyKalaga County

Photo used in cards: Boats anchored around a sandbar in clear blue water, people swimming and relaxing on deck under a sunny sky.

Dark

Great Seal of the State of LeonidaSTATE OF LEONIDASOL · MARE · LIBERTASState seal
Mark
VCPD
Leonida DMV
Visit Leonida
State Parks
POACH
Highway Patrol
Vice City International
Bank of Leonida
Vice-Dale County
Mariana County
Leonard County
Kelly County
Kalaga CountyKalaga County

Photo used in cards: Boats anchored around a sandbar in clear blue water, people swimming and relaxing on deck under a sunny sky.