DESIGN.md · Analysis

Urbi

urbi.ae · 31 Aug 2026 · 47 colors · Suisse Intl, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif, Arial, Helvetica Neue, Helvetica, sans-serif

Urbi

Urbi is a geo-intelligence platform delivering precision geospatial data and analytical tools for measured business decisions. The design system combines vibrant, data-driven aesthetics with technical clarity.

Colors

surface#f6f5fa
surface-dim#ede8f7
surface-bright#ffffff
surface-container-lowest#faf9fc
surface-container-low#f0eef8
surface-container#e8e5f0
surface-container-high#ddd9e8
surface-container-highest#d3cfe0
on-surface#26114f
on-surface-variant#5e4a7a
inverse-surface#1a0f2e
inverse-on-surface#f6f5fa
outline#8b7a9e
outline-variant#c4b8d4
surface-tint#4a15e8
primary#4a15e8
on-primary#ffffff
primary-container#e8deff
on-primary-container#2d0099
inverse-primary#d4c5ff
secondary#ffba00
on-secondary#26114f
secondary-container#ffe8b3
on-secondary-container#664d00
tertiary#3898ec
on-tertiary#ffffff
tertiary-container#d4e8f8
on-tertiary-container#0d3d6b
error#d32f2f
on-error#ffffff
error-container#ffcdd2
on-error-container#7f0000
primary-fixed#e8deff
primary-fixed-dim#d4c5ff
on-primary-fixed#2d0099
on-primary-fixed-variant#3d0fa3
secondary-fixed#ffe8b3
secondary-fixed-dim#ffc800
on-secondary-fixed#664d00
on-secondary-fixed-variant#8b6600
tertiary-fixed#d4e8f8
tertiary-fixed-dim#a8d1f0
on-tertiary-fixed#0d3d6b
on-tertiary-fixed-variant#1a5a94
background#f6f5fa
on-background#26114f
surface-variant#e3e4e8

Typography

display
fontFamily: Suisse Intl, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Suisse Intl, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif · fontSize: 50px · fontWeight: 500 · lineHeight: 58px · letterSpacing: -0.02em
headline-md
fontFamily: Suisse Intl, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: Suisse Intl, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif · fontSize: 24px · fontWeight: 600 · lineHeight: 32px
body-lg
fontFamily: Arial, Helvetica Neue, Helvetica, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: Arial, Helvetica Neue, Helvetica, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: Arial, Helvetica Neue, Helvetica, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Arial, Helvetica Neue, Helvetica, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Urbi is a geo-intelligence platform that transforms geospatial data into actionable business insights. The design system embodies 'Data-Driven Maximalism'—a visual language that celebrates precision and clarity through vibrant, multi-dimensional color fields (purples, golds, and teals) layered with technical UI elements. The aesthetic evokes both scientific rigor and creative possibility, positioning geospatial analysis as an accessible, empowering discipline rather than an opaque technical domain. Users experience a sense of discovery and control: the interface feels like navigating through layers of meaningful information, not drowning in it.

The brand voice is confident, precise, and forward-thinking. Urbi speaks in the language of outcomes and possibilities, avoiding jargon while respecting the intelligence of its audience. Tone is conversational yet authoritative—think 'We've mapped the patterns; now let's act on them.' Vocabulary favors active verbs (navigate, discover, measure, unlock) and concrete nouns (data, insights, decisions, precision). Example: 'Your location data tells a story. We help you read it.'

Colors

The color system is anchored by Urbi Purple (#4a15e8), the primary accent used for interactive elements, focus states, and brand moments. This deep, saturated purple conveys technical sophistication and trust—it appears on CTAs, links, and active states, commanding attention without aggression. Urbi Yellow (#ffba00) is the secondary accent, deployed as the dominant CTA button color and accent highlights; its warmth and energy create visual momentum and signal actionable moments. The tertiary accent, Sky Blue (#3898ec), supports secondary interactions and data visualization contexts.

The surface palette is built on a soft lavender base (#f6f5fa, rgb(246, 245, 250)) that feels premium and calm, reducing eye strain during data-intensive workflows. The on-surface text color is Deep Purple (#2

Typography

The type system pairs Suisse Intl (headlines, display) with Arial/Helvetica (body, labels), creating a sophisticated contrast between geometric precision and utilitarian clarity. Suisse Intl's clean, modern letterforms (used at 50px/500 weight for headlines, 60px/700 for display) convey technical confidence and premium positioning. Body copy in Arial (16px/400 weight, 24px line-height) ensures legibility at all sizes and screen densities, critical for data-heavy interfaces. Headlines use tighter line-height (58px for 50px text) to create visual compression and emphasis; body text uses generous 24px line-height (1.5x) to reduce cognitive load. Apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) on small labels (12px) overlaid on colorful backgrounds to ensure legibility. Letter-spacing on disp

Layout

The layout system uses a 12-column grid with a max-width of 1280px, scaling fluidly on tablets (991px breakpoint) and mobile (768px, 480px). The gutter is consistently 24px, creating breathing room between columns without sacrificing information density. Section separation uses lg spacing (40px) vertically to establish clear rhythm; within sections, md spacing (24px) groups related content. The container max-width of 1280px ensures that data visualizations and tables remain scannable without excessive horizontal scrolling. White-space is intentional: the lavender surface (#f6f5fa) acts as a visual rest, allowing colorful data elements and cards to pop. Use md spacing (24px) for card padding and input field padding (14px vertical, 18px horizontal) to create comfortable touch targets (48px m

Elevation & Depth

Elevation is conveyed through subtle shadows and layering, not darkness. The base layer (Level 1) is the lavender surface (#f6f5fa) with no shadow. Standard cards (Level 2) use box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), creating a soft lift that separates content from the background. Elevated modals and overlays (Level 3) use box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), a broader spread that conveys greater depth. On hover, cards transition to the Level 3 shadow and translate up 4px (transform: translateY(-4px)) over 300ms, signaling interactivity. Focus states on inputs use a 3px inset ring of

Shapes

The shape philosophy is 'Soft-Technical'—rounded corners that feel approachable without sacrificing precision. Buttons and inputs use 0.625rem (10px) border-radius, a subtle rounding that softens hard edges while maintaining geometric clarity. Cards and containers use 1rem (16px) for a more generous, inviting curve. Badges and pills use full (9999px) for maximum softness, signaling secondary or supplementary information. The rationale: sharp 90° corners feel cold and corporate; excessive rounding (>20px) feels playful and diminishes authority. The 10px–16px–full progression creates a visual hi

Components

Action Elements Buttons are the primary interaction pattern. Primary CTAs use Urbi Yellow (#ffba00) background with Deep Purple text (#26114f), 12px horizontal padding, 48px height, and 0.625rem radius. On hover, the background shifts to #ffc800 (slightly brighter), the shadow deepens to 0 6px 16px rgba(0, 0, 0, 0.2), and the button translates up 2px over 200ms, creating tactile feedback. Secondary buttons use white background with purple text, a 1px outline-variant border, and the same dimensions; on hover, they shift to surface-container-low (#f0eef8) with a subtle shadow. Ghost buttons (used in modals or over images) use rgba(255, 255, 255, 0.3) background with a 1px rgba(255, 255, 255, 0.4) border; on hover, opacity increases to 0.5 and shadow appears. All buttons use label-md typo

Do's and Don'ts

**Do**

  • Do use Urbi Purple (#4a15e8) for all primary interactive elements—links, focus states, active tabs, and brand moments—to maintain visual coherence and trust.
  • Do apply the md shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to cards and elevated surfaces; reserve lg shadow (0 8px 24px rgba(0, 0, 0, 0.12)) for modals and top-level overlays.
  • Do pair Suisse Intl headlines with Arial body text; this contrast signals hierarchy and maintains readability across data-dense layouts.
  • Do use Urbi Yellow (#ffba00) exclusively for primary CTAs and high-priority actions; it creates visual momentum and guides user attention.
  • Do maintain 48px minimum height for all interactive elements (buttons, inputs, list items) to ensure comfortable touch targets on mobile.
  • Do use the full (9999px) radius only for badges and pills; reserve 0.625rem for buttons and 1rem for cards to preserve visual hierarchy.

**Don't**

  • Don't use gray or neutral colors for primary CTAs; always use Urbi Yellow (#ffba00) or Urbi Purple (#4a15e8) to signal actionability.
  • Don't apply shadows to text; use text-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) only on small labels over busy backgrounds for contrast.
  • Don't mix Suisse Intl and Arial in the same headline; use Suisse Intl for all display and headline text, Arial for body and labels.
  • Don't exceed 1rem (16px) border-radius on cards or containers; excessive rounding diminishes technical authority and feels juvenile.
  • Don't use the lavender surface (#f6f5fa) as a text color; it lacks sufficient contrast. Always use Deep Purple (#26114f) or on-surface-variant (#5e4a7a).
  • Don't apply hover transforms (translateY, scale) to non-interactive elements; reserve motion for buttons, cards, and list items to avoid confusion.