Comparing stored color values

I hit a small gotcha recently. It feels like a bug but may not be a bug.
Unity 6.000.0.26f1 URP

‘’’
Color color = Color.yellow;
Debug.Log(color);
Debug.Log(Color.yellow);
Debug.Log(color == Color.yellow);

yellow = new Color(1.0f,1.0f,0f,1.0f)
Debug.Log(color == Color.yellow);
‘’’

It makes sense that 1,1,0,1 is not yellow based on the definition of yellow not being 1,1,0,1. The part that doesn’t make sense is all of the Colors follow a predictable pattern of 1’s, 0’s and .5’s except for yellow.

public static Color yellow { [MethodImpl(MethodImplOptionsEx.AggressiveInlining)] get { return new Color(1F, 235F / 255F, 4F / 255F, 1F); } }