Ritual vs BMW M
60 token-level differences between these two design systems.
Background
#ffffff → #0a0a0a Text
#142b6f → #e6e6e6 Brand
#142b6f → #e22718 Border
#dfe3ec → rgba(255,255,255,0.12) Display font
CircularXX → BMW Type Next Latin Body size
16px → 16px colors 48 changed
~
bg #ffffff → #0a0a0a ~
surface #ffffff → #0a0a0a ~
brand #142b6f → #e22718 ~
brand-hover #0f2154 → #b81f12 ~
text #142b6f → #e6e6e6 ~
text-strong #0f2154 → #ffffff ~
text-muted #5a6680 → #a3a3a3 ~
border #dfe3ec → rgba(255,255,255,0.12) ~
border-strong #c3c9d8 → rgba(255,255,255,0.24) ~
success #1f8a5b → #22c55e ~
warning #e6bd00 → #f59e0b ~
danger #c2362b → #e22718 ~
info #142b6f → #0066b1 +
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) −
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 typography 5 changed
~
display {"family":"CircularXX","size":80} → {"family":"BMW Type Next Latin","size":72} ~
h1 {"family":"CircularXX","size":44} → {"family":"BMW Type Next Latin","size":40} ~
h2 {"family":"CircularXX","size":34} → {"family":"BMW Type Next Latin","size":32} ~
body {"family":"CircularXX","size":16} → {"family":"BMW Type Next Latin","size":16} ~
label {"family":"SFMono-Regular","size":13} → {"family":"JetBrains Mono","size":11} radius 2 changed
~
button 12px → 8px ~
card 16px → 14px spacing 5 changed
~
xs 0px → 4px ~
sm 4px → 8px ~
md 12px → 16px ~
lg 32px → 48px ~
xl 64px → 96px