How to make an animation (at a higher layer) only affect the upper body?

I have a run animation and a punch animation. The punch animation is only animating the top half of the character, legs are untouched. The run animation animates the whole body of the character.

Run animation is on layer 0, punch animation is on layer 10. Both animation blend modes are set to "Blend" (not additive).

I feel there needs to be a "Replace" blend mode, because the goal here is for the player to punch while running. However, the animation for the bottom half of the player should remain untouched since the punch animation does not affect the legs. The top half of the player should be a punch animation. I'm using CrossFade( "punch" ). However, while running and punching at the same time, the legs are affected for some reason and I don't know why. he appears to be sliding at some point.

How can I get this working properly? If this is an asset issue with the animation itself, how can I communicate to my artist that it is wrong? I have a hard time telling him exactly what he needs to do in maya/max to make this work. However, all this time I've been assuming its a Unity/script issue.

Here is some code:

void Awake()
{
  animation["run"].layer = 0;
  animation["run"].blendMode = AnimationBlendMode.Blend;
  animation["punch01"].wrapMode = WrapMode.Once;
  animation["punch01"].layer = 10;
  animation["punch01"].blendMode = AnimationBlendMode.Blend;

  animation.CrossFade( "run" ); // Assume that "run" is always playing
}

void BeginPunch()
{
  animation.CrossFade( "punch01" );
}

See AnimationState.AddMixingTransform()

If you rather not fiddle with Mixing transform, which requires additional setup, simply ask your artist to delete all keyframes from the joints that shouldn't be affected by the animation. After baking the animation in the 3D application, of course. Also make sure in Unity that its own bake (in the asset import settings) is disabled, or else it'll generate keyframes for everything.

If you do this and play this torso animation in a top layer, and there's a walk/run cycle in the bottom layer, the weight setting of the torso animation state will set the blend amount with whatever torso animation is in the run cycle.

One last artist's note: if you want 100% isolated animations in the traditional walk/attack animation mixing process, make sure your hips doesn't animate in the walk cycle. Or make sure your character rig doesn't have the hips as parent of the torso hierarchy. Otherwise the hips will always make your torso turn and twist, no matter what you set the torso animation weight to, which might make things really hard if you want, for instance, to get a straight aim with a weapon. I should know, I've just stumbled upon this problem myself :) Good luck!