I assume you want to loop through all the feature classes you're collecting, so it should be:

    # we only need to do this once
    hkfc = "C:\Wiley\P1\gis\HK80.gdb\Building_merge_dissolved"
    desc = arcpy.Describe(hkfc)
    spatialRef = desc.spatialReference
    
    for input in fc:
        output = os.path.join(outdir, os.path.basename(input) + "_project")    
        arcpy.Project_management(input, output, spatialRef) 

The way you're using `walk` is a little awkward but should be functional.