DESIGN.md · Analysis

Laravel

laravel.com · 12 May 2026 · 47 colors · InstrumentSans, IBM Plex Mono

Laravel

Laravel is a PHP web application framework with expressive, elegant syntax. The design system reflects a clean, artisan-focused brand that balances technical sophistication with approachable minimalism.

Colors

surface#ffffff
surface-dim#fafafa
surface-bright#ffffff
surface-container-lowest#f9f9f8
surface-container-low#f1f0ef
surface-container#e9e8e6
surface-container-high#e2e1de
surface-container-highest#dad9d6
on-surface#171717
on-surface-variant#63635e
inverse-surface#171923
inverse-on-surface#f9f9f8
outline#8d8d86
outline-variant#bcbbb5
surface-tint#f53003
primary#f53003
on-primary#ffffff
primary-container#ffe4e6
on-primary-container#bf1920
inverse-primary#ff6b4a
secondary#2563eb
on-secondary#ffffff
secondary-container#dbeafe
on-secondary-container#1e40af
tertiary#d97757
on-tertiary#ffffff
tertiary-container#fce8e1
on-tertiary-container#a31515
error#d40511
on-error#ffffff
error-container#ffb4ab
on-error-container#93000a
primary-fixed#ffe4e6
primary-fixed-dim#ffcccf
on-primary-fixed#bf1920
on-primary-fixed-variant#d40511
secondary-fixed#dbeafe
secondary-fixed-dim#bfdbfe
on-secondary-fixed#1e40af
on-secondary-fixed-variant#1e3a8a
tertiary-fixed#fce8e1
tertiary-fixed-dim#f5d5c8
on-tertiary-fixed#a31515
on-tertiary-fixed-variant#7c2d21
background#ffffff
on-background#171717
surface-variant#e9e8e6

Typography

display
fontFamily: InstrumentSans · fontSize: 72px · fontWeight: 400 · lineHeight: 80px · letterSpacing: -0.02em
headline-lg
fontFamily: InstrumentSans · fontSize: 48px · fontWeight: 400 · lineHeight: 56px · letterSpacing: -0.015em
headline-md
fontFamily: InstrumentSans · fontSize: 32px · fontWeight: 400 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: InstrumentSans · fontSize: 24px · fontWeight: 400 · lineHeight: 32px
body-lg
fontFamily: InstrumentSans · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: InstrumentSans · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: InstrumentSans · fontSize: 14px · fontWeight: 500 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: IBM Plex Mono · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em

Design guidance

Overview

Laravel is a PHP web application framework designed for artisans—developers who value expressive, elegant syntax and the freedom to create without friction. The design system embodies 'Minimalist Clarity': a light, spacious aesthetic built on a white canvas with a bold red accent (#f53003) that commands attention on primary actions. The brand personality is confident yet approachable, technical yet human. The UI celebrates negative space and typographic hierarchy, avoiding visual clutter in favor of purposeful, readable interfaces. Voice: direct, practical, and encouraging. Example: 'Deploy your app to the cloud in seconds. We've handled the complexity.'

Colors

The color palette centers on a clean white surface (#ffffff) with a warm sand-toned neutral scale (from #f9f9f8 to #21201c) for depth and hierarchy. The primary accent is a vibrant red-orange (#f53003), used exclusively for call-to-action buttons, progress indicators, and brand-critical interactions—this is the signature Laravel color that signals action and energy. Secondary blue (#2563eb) supports secondary actions and highlights, while tertiary rust (#d97757) adds warmth to supporting UI elements. Error states use a deeper red (#d40511) to signal destructive or critical actions. The surface stack progresses from bright white (surface) through increasingly darker sand tones (surface-container-low: #f1f0ef, surface-container: #e9e8e6, surface-container-high: #e2e1de) to create subtle dept

Typography

The type system uses InstrumentSans as the primary sans-serif, a geometric, modern typeface that conveys technical sophistication while remaining warm and approachable. Display (72px, 400 weight, -0.02em tracking) anchors hero sections with confident, large-scale messaging. Headline-lg (48px) and headline-md (32px) establish section hierarchy with consistent 400 weight and negative letter-spacing (-0.015em to -0.01em) to tighten the visual rhythm. Body text (16–18px, 400 weight, 24–28px line-height) prioritizes readability with generous line-height and no letter-spacing, ensuring comfortable scanning. Labels and UI text use 14px with 500 weight and 0.01em tracking for clarity in dense interfaces. Code and technical content use IBM Plex Mono (12px, 500 weight) to signal machine-readable con

Layout

The layout follows a 12-column grid with a max-width of 1280px, maintaining a fluid, responsive structure that scales from mobile (single column) to desktop (full grid). Horizontal rhythm is governed by the spacing scale: gutter (24px) separates major sections, lg spacing (40px) creates breathing room between content blocks, and md spacing (24px) is used for component padding and internal margins. The hero section spans full-width with generous padding (40px vertical, 24px horizontal on mobile; 64px vertical on desktop) to emphasize the primary message. Cards and containers use 24px padding with 0.5rem border-radius for a soft, approachable feel. Negative space is intentional: sections are separated by 40–64px vertical gaps, and text blocks rarely exceed 60 characters per line to maintain

Elevation & Depth

Depth is achieved through subtle shadows and layering rather than dramatic visual separation. Level 1 (Base): flat white surface with no shadow. Level 2 (Cards/Containers): box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) creates a soft, lifted appearance. Level 3 (Modals/Overlays): box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) adds more pronounced depth for modal dialogs and floating panels. Hover states elevate cards to Level 3 shadow, signaling interactivity. The primary CTA button uses no shadow but relies on its bold red color (#f53003) and 48px height to command visual hierarchy. Focus states on i

Shapes

The shape philosophy is 'Soft-Technical': rounded corners are applied consistently but conservatively, reflecting Laravel's balance between approachability and technical precision. Buttons use 1rem (16px) border-radius for a friendly, modern appearance. Cards and containers use 0.5rem (8px) for subtle softness without appearing playful. Input fields use 0.5rem to match card styling and create visual cohesion. Badges use full (9999px) border-radius for pill-shaped emphasis. The rationale: larger radii (lg, xl) are reserved for hero elements and modals to create visual distinction, while smaller

Components

Action Elements Buttons are the primary interaction pattern. The primary button (button-primary) uses the signature red (#f53003) background with white text, 48px height, 12px 24px padding, and 1rem border-radius. On hover, the background darkens to #d40511 with a smooth 150ms transition. On active/press, it shifts to #bf1920. The secondary button (button-secondary) has a transparent background with a 1px outline in outline-variant (#bcbbb5), red text, and the same dimensions; on hover, it fills with surface-container-low (#f1f0ef). Links use the primary red (#f53003) with no underline by default; on hover, a 1px bottom border appears at the same color with a 100ms transition.

Containers & Surfaces Cards (card) have a white background, 1px border in outline-variant (#bcbbb5), 24px

Do's and Don'ts

**Do**

  • Do use the primary red (#f53003) exclusively for CTAs, progress indicators, and brand-critical interactions—it's the visual signature of Laravel.
  • Do maintain generous negative space (40–64px between sections) to keep the interface calm and readable.
  • Do apply 400 font-weight consistently across display and headline scales to preserve the modern, geometric aesthetic.
  • Do use the sand-toned neutral scale (surface-container-low through surface-container-high) for subtle depth without abandoning the light aesthetic.
  • Do apply smooth 150–200ms transitions on hover states to signal interactivity without feeling sluggish.

**Don't**

  • Don't use the primary red (#f53003) for body text, backgrounds, or non-interactive elements—reserve it for actions and brand moments.
  • Don't apply border-radius larger than 1.5rem (xl) on standard components; save full (9999px) for badges and pill-shaped elements only.
  • Don't add shadows deeper than 0 8px 24px rgba(0, 0, 0, 0.12)—Laravel's aesthetic is light and minimal, not layered or dark.
  • Don't mix font families within a single text block; use InstrumentSans for UI and IBM Plex Mono only for code and technical labels.
  • Don't reduce line-height below 1.5 (24px for 16px body text)—readability and breathing room are core to the brand.