BMW M vs Ritual
60 token-level differences between these two design systems.
Background
#0a0a0a → #ffffff Text
#e6e6e6 → #142b6f Brand
#e22718 → #142b6f Border
rgba(255,255,255,0.12) → #dfe3ec Display font
BMW Type Next Latin → CircularXX Body size
16px → 16px colors 48 changed
~
bg #0a0a0a → #ffffff ~
surface #0a0a0a → #ffffff ~
text #e6e6e6 → #142b6f ~
text-strong #ffffff → #0f2154 ~
text-muted #a3a3a3 → #5a6680 ~
brand #e22718 → #142b6f ~
brand-hover #b81f12 → #0f2154 ~
border rgba(255,255,255,0.12) → #dfe3ec ~
border-strong rgba(255,255,255,0.24) → #c3c9d8 ~
success #22c55e → #1f8a5b ~
warning #f59e0b → #e6bd00 ~
danger #e22718 → #c2362b ~
info #0066b1 → #142b6f +
bg-soft #f7f8fa +
bg-deeper #eef0f5 +
bg-navy #142b6f +
bg-cream #fbf7ee +
surface-soft #f7f8fa +
brand-soft #e7eaf3 +
accent-yellow #ffd200 +
accent-yellow-soft #fff3bf +
accent-yellow-deep #e6bd00 +
on-accent #142b6f +
border-navy #142b6f −
bg-elev #161616 −
bg-strong #1f1f1f −
bg-light #ffffff −
bg-light-soft #f5f5f5 −
surface-card #161616 −
surface-card-hover #1f1f1f −
text-faint #6b6b6b −
text-on-light #0a0a0a −
brand-active #9d1a0e −
m-blue #0066b1 −
m-violet #5b1f7a −
m-red #e22718 −
m-blue-electric #1c69d4 −
m-gradient-start #0066b1 −
m-gradient-mid #5b1f7a −
m-gradient-end #e22718 −
border-light #e6e6e6 −
link #0066b1 −
link-hover #1c69d4 −
ring #e22718 −
shadow-soft rgba(0,0,0,0.6) −
shadow-elev rgba(0,0,0,0.8) −
shadow-deep rgba(0,0,0,0.95) −
glow-red rgba(226,39,24,0.4) typography 5 changed
~
display {"family":"BMW Type Next Latin","size":72} → {"family":"CircularXX","size":80} ~
h1 {"family":"BMW Type Next Latin","size":40} → {"family":"CircularXX","size":44} ~
h2 {"family":"BMW Type Next Latin","size":32} → {"family":"CircularXX","size":34} ~
body {"family":"BMW Type Next Latin","size":16} → {"family":"CircularXX","size":16} ~
label {"family":"JetBrains Mono","size":11} → {"family":"SFMono-Regular","size":13} radius 2 changed
~
button 8px → 12px ~
card 14px → 16px spacing 5 changed
~
xs 4px → 0px ~
sm 8px → 4px ~
md 16px → 12px ~
lg 48px → 32px ~
xl 96px → 64px