Skip to content

Motion

Motion is restrained and mechanical. The orange darkens on interaction; nothing scales, bounces, or springs.

TokenValueUse
--om-ease-standardcubic-bezier(0.2,0,0,1)All transitions
--om-duration-fast120msHover/press color shifts
--om-duration-base200msToggles, small reveals
--om-duration-slow360msDrawers, modals
  • Orange darkens on hover and press (--om-orange β†’ --om-orange-hover β†’ --om-orange-press). No scale, no translate, no bounce.
  • Transition only the properties that change (background-color, border-color, box-shadow) β€” never all.
  • Respect prefers-reduced-motion: disable non-essential transitions.
.btn {
transition: background-color var(--om-duration-fast) var(--om-ease-standard);
}
.btn:hover { background: var(--om-orange-hover); }
.btn:active { background: var(--om-orange-press); }