Tweening CFrame causes item to move diagonally

I’m trying to tween movement of an accessory weld’s C0. The property table is as such:

{C0 = weld.C0 * CFrame.new(1,.5,1)}

Where I only want to make the accessory rise up and keep X and Z ‘still’. However, this causes the accessory to move diagonally as well as rise up, which is what I don’t want. I’d imagine multiplying by 1 would have kept the X and Z values the same, but it doesn’t seem to do as such, which is confusing.

I don’t think you can tween a specific value, so how would I go about making this tween work?

As far as I know, you have to use Inverse when setting the CFrame of the Weld, or use ToObjectSpace to apply the CFrame based on an Objects Local Axis