Raycast Layermask doesn't ignore no layered Parent?

Hey guys, so what I have is a gameobject with nested children. The object looks like this parent>child>grandchild.

What I want to do is to have a raycast that returns the transform of the grandchild, which I’ve attached a layer of “Node” to and used a layermask to obtain. Neither the parent or child have layers, but when the raycast runs, it returns the Child instead of the Grandchild.

In any other situation, such as where the grandchild has no parents, or parent>grandchild, it returns the grandchild, but not when we have parent>child>grandchild. Any ideas?

So I found a workaround. It seems that in this case, the raycast counts the grandchild as an extension of the child, so when it reads hit.transform, it gives the child instead of the grandchild despite hitting the grandchild’s collider.

So to work around this, I had to use hit.collider.transform which then returns the grandchild, rather than the child (which is not ideal, but works for me.)