San Jose Councilman Raul Peralez has returned to the clean-cut look he had when he was elected in 2014. Gone is the beard. Gone is the mustache. The hair is trimmed, the tattoos hidden. All understandable. The downtown councilman is getting married this weekend.

None of that helped him much last Tuesday night, when he had the unenviable task of explaining to a cadre of union construction workers why he was voting for a big downtown project they did not like.

The plan by KT Urban to develop the old Greyhound bus depot site at 70 S. Almaden Ave. boasts the kind of numbers that politicians crave: two high-rise towers, 708 condos, hundreds of jobs, $7.5 million in planning fees, $15 million in park fees and about $3 million more a year in property taxes.

Yet this wasn’t as much a slam-dunk as it might seem for a council with a pro-union majority. Peralez, a former San Jose cop, is very much a union guy. And the union workers wanted more from the project than the developers were willing to promise.

The construction workers were asking that the developers pay “prevailing wages’’ and agree to hire a significant share of local workers, two goals Peralez supports.

The catch? The site of the 1957 bus station, which Greyhound vacated last year, is not owned by the city. So the council has limited leverage over how construction proceeds. City Attorney Rick Doyle explained that the city could not legally demand the restrictions the construction workers were seeking.

Nonetheless, the moral tug, always critical in San Jose politics, was on the union side in the council chambers Tuesday night. One construction worker after another got up to talk about the need to keep money earned in San Jose in San Jose.

It was in that atmosphere that Peralez had to explain his vote for the Greyhound project. He began by making it personal. He had a brother-in-law in construction who could benefit from the programs the unions sponsor. He was with them.

Peralez is not a particularly quotable politician. He rarely employs zingers. But you can see the former SJSU math major thinking through issues as he talks, heeding nuance. If x times y equals z, then such-and-such follows. You don’t need to agree with him to understand that he is a thoughtful man with — yes — a backbone.

In this case, Peralez explained that he wanted the city to move faster on a “local hire’’ effort. But he added, “We can’t make some of these restrictions legally, as much as we might want to. … When it’s our own property, we have some other opportunities.’’

It was different a couple of weeks ago on the Museum Place project, a complex hotel-condo-office complex on the site of the city-owned Parkside Hall. Peralez led the charge to require the developer to reach a deal with labor before signing a formal development deal with the city.

On the Greyhound site, Peralez had to content himself with a memo asking the developer to sign an affidavit promising not to employ contractors who have been found guilty of “wage theft’’ in the last five years — cheating workers on overtime, breaks or promised pay.

The Greyhound project passed 10-0. You can argue that a politician as savvy as Peralez understood that opposing such a critical project downtown would probably hurt him politically. His District 3 council post traditionally has offered a path to becoming mayor.

But it’s when a politician has to say no to friends that he or she is put to the test. Peralez, who has an influential say because the project is in his district, passed it without losing his base. That speaks well for his future, whether or not he lets the beard grow back.