Mexico stun Brazil for gold