;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

OPINIÃO

Série com Klara e Gianecchini traz duro relato de abuso sem ser explícita

Klara Castanho e Reynaldo Gianecchini vivem pai e filha na segunda temporada de "Bom Dia, Verônica" - Laura Camla/Netflix
Klara Castanho e Reynaldo Gianecchini vivem pai e filha na segunda temporada de 'Bom Dia, Verônica' Imagem: Laura Camla/Netflix

De Splash, em São Paulo

03/08/2022 17h51

A segunda temporada de "Bom Dia, Verônica" está disponível na Netflix, continuando a história de Verônica Torres (Tainá Müller) depois dos catastróficos eventos ao final do primeiro ano. No entanto, nestes novos episódios, quem ganha a atenção do público é Klara Castanho, que brilha como Angela Carneiro, a filha do controverso missionário Matias Carneiro (Reynaldo Gianecchini).

Os holofotes estão virados para Castanho não apenas por causa da série, mas também em decorrência da denúncia feita pela atriz de ter sofrido um estupro ao final de 2021. Por uma infeliz coincidência do destino, a personagem interpretada pela atriz também é uma vítima de violência sexual.

Ao estrear em 2020, "Bom Dia, Verônica" chamou a atenção pela violência explícita e crueldade presente na série. Para os novos episódios, a produção adotou um tom um pouco mais sutil, deixando as barbaridades nas entrelinhas.

Por muitas vezes, não é preciso ver um ato para saber que ele aconteceu, e não é porque não vemos que ele é menos impactante. A narrativa insinua tantas violências contra mulheres e casos de abuso de poder que, caso eles aparecessem em cena, talvez causassem até mesmo uma reação negativa do público.

Não é o caso: a nova temporada acerta ao chocar pelo fato em si, sem apelar para a violência gráfica.

Família, religião e abusos se misturam em uma trama construída aos poucos, com as revelações sendo feitas ao longo dos seis episódios. Isso não quer dizer que o ritmo caia, ao contrário: é mérito do roteiro manter a atenção do espectador a todo tempo.

O segundo ano se inicia com Verônica procurando a verdade sobre o esquema de corrupção que envolvia o PM Brandão (Du Moscovis), morto ao final da primeira temporada. Em suas investigações, a ex-escrivã chega até Matias Carneiro, um missionário que oferece cura espiritual a quem o procura. As aparências não são o que parecem e descobre-se que o homem é responsável por diversos crimes.

Klara Castanho vive Angela Carneiro em 'Bom Dia, Verônica', protagonizada por Tainá Muller - Laura Camla/Netflix - Laura Camla/Netflix
Klara Castanho vive Angela Carneiro em 'Bom Dia, Verônica', protagonizada por Tainá Muller
Imagem: Laura Camla/Netflix

Se durante o primeiro ano Brandão e a esposa Janete (Camilla Morgado) eram o principal motivo para deixar os espectadores grudado na trama, agora é a dupla Gianecchini e Castanho quem brilha. As cenas entre pai e filhas mostram momentos que deveriam parecer de carinho, mas escondem tensão e medo de Angela.

Desde o primeiro momento em que somos apresentados aos dois, sentimos que há alguma coisa de errado, mas a resposta é dada aos poucos, por meio de detalhes do roteiro e da atuação.

A atuação de Reynaldo Gianecchini como vilão é convincente e assustadora. O ator encontrou o tom exato para transitar entre o religioso bondoso e o psicopata sem escrúpulos. Não dá para negar que, ao assisti-lo em cena, quando coloca a sua "cura" em prática, a imagem que surge à mente é a de João de Deus — famoso "curandeiro" condenado por uma série de crimes sexuais.

Mesmo com uma protagonista forte como Verônica e um antagonista medonho como Matias, é Klara Castanho quem brilha. A atriz de 22 anos interpreta uma adolescente de 16 de uma maneira verdadeira e orgânica — é possível que o espectador até mesmo esqueça que se trata de uma mulher maior de idade. Ela mistura momentos de doçura com desespero com bastante facilidade e faz com que o espectador torça por ela o tempo todo, mesmo quando ela não faz as escolhas certas.

Roteirizado por Raphael Montes e Ilana Casoy, os também responsáveis pelo livro homônimo e pelo primeiro ano da série, o retorno de "Bom Dia, Verônica" conta com diversas reviravoltas e encaminha a história para algo ainda maior que deve chegar em uma possível terceira temporada.