Rival protests sweeping Brazil have exposed a demographic divide between President Dilma Rousseff's haters and her backers, igniting a national debate about race and class that is only increasing tensions.
Waving the red banners of the ruling Workers' Party, Rousseff's left-wing base sought to seize back the streets this week, after tides of protesters draped in the yellow and green of the national flag marched nationwide last Sunday calling for her impeachment.
The opposing theme colors were not the only difference in hue: the anti-government protesters were a visibly whiter crowd than the Rousseff supporters.
They were also wealthier and better-educated than average Brazilians, pollsters found.
Mafa Nogueira, a Rousseff supporter who joined the rally in the capital Brasilia on Friday, described the people calling for impeachment as elites panicked by the social changes reshaping Brazil after 13 years of leftist rule.
"The people who are desperate for this government to fall are the ones who lost their privileges," said the 42-year-old musician.
Brazil has undergone a transformation since Rousseff's predecessor and mentor, Luiz Inacio Lula da Silva, took office in 2003.
In the decade that followed, strong economic growth and progressive social programs lifted tens of millions of people out of poverty.
Historian John French said he sees a conservative backlash against this new social order in the anti-government protests.
"They're discomforted by the fact that people are rising to places where they're not supposed to be," said French, a Brazil specialist at Duke University in North Carolina.
"For example, a lot of poor people are now flying in airplanes, which really outrages them, because airports used to be an upper-class preserve. Or the tripling of the number of people going to higher education."
Anti-Rousseff protesters reject that characterisation.
Jefferson Banks, a leader of the anti-government movement in Brasilia, said talk of race and class divisions seeks to distract from the issues that have left Rousseff hanging by a thread: a colossal corruption scandal, a drawn-out recession and government dysfunctionality.
"It takes the focus off the real issue our movement raises and shifts the debate to other issues: whites and blacks, rich and poor," he told AFP.
But the numbers are awkward in a country known for its racial diversity and a troubled history of inequality dating back to the time of slavery - abolished in 1888.
At the largest anti-Rousseff protest, in Sao Paulo, 77 percent of the demonstrators self-identified as white, and 77 percent were university graduates, according to polling firm Datafolha.
Nationwide, those figures are 48 percent and 13 percent, respectively.
Half the protesters in Sao Paulo last weekend earned between five and 20 times the minimum wage. Blacks make up 50.7 percent of the sprawling South American country's 200 million people, and a disproportionately large part of the 7.3 percent who live in poverty - a figure that has fallen from 25.2 percent in 2003.
The anti-government protests are less broad-based than the last wave of outrage that swept Brazil, in 2013, in the build-up to hosting the World Cup.
Then, Brazilians from many walks of life took to the streets demanding better services such as transportation, education and health care.
At the time, some political analysts suggested the Workers' Party was a victim of its own success: gains in income and education were making voters more demanding of their government.
Despite the tumult, Rousseff went on to narrowly win re-election in 2014.
But with the economy in a tailspin and scandal ensnaring top officials - including Lula, who faces charges of accepting bribes - her popularity has plunged to 10 percent, and 68 percent of Brazilians support impeaching her.
But only a portion of those who disapprove of her are taking to the street.
The fact that the current protests have drawn a narrower demographic has raised suspicions of undemocratic ulterior motives.
"Corruption is systemic in Brazil. It wasn't invented by the Workers' Party. They're using that argument to hide their real objective: to seize power," said retiree Margarita Brega at Friday's pro-government demo in Rio de Janeiro. Nogueira, the musician at the pro-government demo in Brasilia, said there is a difference in inclusiveness between the two camps. "It's not that the people who support Dilma's government are black and poor. The people who support a 'coup' are white and rich. There's a big difference," he said.
But the divisions are not always black and white.
Last Sunday, a photo went viral on social media of an affluent white couple on their way to protest, bringing their little white dog and their two toddlers, pushed in a stroller by a black nanny wearing a white uniform.
The picture sparked vitriolic exchanges about racial inequality and whether wealthy whites should be demanding "justice."
But the nanny later told interviewers she herself supported the protests and voted against Rousseff in 2014.
In the highly polarised atmosphere, many Brazilians complain the tone of the debate has turned nasty.
"People complain that they're losing friends because of political hatred," said political analyst Michael Mohallem.
"People are not hearing each other, they're not reasoning with each other."