Skip to main content
← All Foundations

Canon

Spacing

Spacing that just works. Based on φ (1.618), creating natural visual rhythm at every scale.

Published January 8, 2026

Spacing Scale

Built on the golden ratio (φ = 1.618). Each step creates proportional harmony.

TokenValueUse
--space-xs0.25rem (4px)Tight gaps, inline spacing
--space-sm0.5rem (8px)Form element gaps
--space-md1rem (16px)Default spacing
--space-lg1.5rem (24px)Section padding
--space-xl2rem (32px)Card padding
--space-2xl3rem (48px)Component gaps
--space-3xl4rem (64px)Section gaps
--space-4xl6rem (96px)Major sections

Usage Patterns

Component Padding

.button {
  padding: var(--space-sm) var(--space-md);
}

.card {
  padding: var(--space-lg);
}

.modal {
  padding: var(--space-xl);
}

Stack Spacing

.stack > * + * {
  margin-top: var(--space-md);
}

.stack-lg > * + * {
  margin-top: var(--space-lg);
}

Grid Gaps

.grid {
  gap: var(--space-lg);
}

.grid-tight {
  gap: var(--space-sm);
}

Why Golden Ratio?

When spacing follows φ, adjacent elements feel balanced:

  • --space-sm × 1.618 ≈ --space-md
  • --space-md × 1.618 ≈ --space-lg
  • --space-lg × 1.618 ≈ --space-xl

This creates rhythm without manual calculation.

Responsive Spacing

For larger viewports, scale proportionally:

@media (min-width: 768px) {
  .section {
    padding: var(--space-3xl) var(--space-xl);
  }
}

@media (min-width: 1024px) {
  .section {
    padding: var(--space-4xl) var(--space-2xl);
  }
}