Rodrigo Faro conversou com a repórter Cíntia Lima, do portal LeoDias, durante a festa de aniversário de 50 anos de Danilo Faro, seu irmão, no último domingo (13/9). O apresentador relembrou o diagnóstico de câncer na coxa que a esposa, Vera Viel, recebeu em dezembro de 2024 e falou como a vida do casal mudou após o momento delicado.
“Quando a Vera ficou doente, a gente teve uma conversa e falou: ‘Vamos esconder ou vamos mostrar para as pessoas que a gente está?’. Ela não pensou duas vezes e falou: ‘Nós somos de verdade, então a gente vai mostrar para as pessoas tudo o que a gente vai passar porque eu já estou curada’. E ela tinha acabado de receber [o diagnóstico], então foi com essa fé que a gente conseguiu vencer a doença dela. Eu digo ‘nós’ porque foram todos, as nossas filhas”, declarou.
(function () {
var AD_UNIT = 'ld-m-art-r1-01';
var PLACEMENT = '846612';
var DEVICE = 'mobile';
var MIN_H = 280;
var done = false;
function rightDevice() {
var isMobile = window.matchMedia
? window.matchMedia('(max-width: 767px)').matches
: (document.documentElement.clientWidth || 0) < 768;
return DEVICE === 'mobile' ? isMobile : !isMobile;
}
function box() {
return document.getElementById(AD_UNIT);
}
function hide() {
var b = box();
if (b) b.style.display = 'none';
}
function register() {
if (done) return;
done = true;
if (!rightDevice()) {
hide();
return;
}
var b = box();
if (b) {
b.style.minHeight = MIN_H + 'px';
}
window.ANConfig = window.ANConfig || {};
window.ANConfig.placements = window.ANConfig.placements || [];
window.ANConfig.placements.push({
adUnitId: AD_UNIT,
propertyId: '105130',
placementId: PLACEMENT,
data: {},
consent: true,
onLoad: function (adUnitId) {},
onFail: function (adUnitId) {
hide();
}
});
setTimeout(function () {
var c = box();
if (c && !c.getElementsByTagName('iframe').length) {
hide();
}
}, 6000);
}
var C = window.__ldAdConsent;
if (!C) {
C = window.__ldAdConsent = {
subs: [],
fired: false
};
C.granted = function () {
var v = window.LD_AD_CONSENT;
return v === true ||
v === 1 ||
v === 'true';
};
C.fire = function () {
if (C.fired) return;
C.fired = true;
if (C.poll) {
clearInterval(C.poll);
C.poll = null;
}
for (var i = 0; i < C.subs.length; i++) {
try {
C.subs[i]();
} catch (e) {}
}
var inject = function () {
if (document.getElementById('ap-js')) {
return;
}
var ver = new Date()
.toISOString()
.split(':')[0]
.replace(/\D/g, '');
var apjs = document.createElement('script');
apjs.type = 'text/javascript';
apjs.async = true;
apjs.setAttribute('id', 'ap-js');
apjs.src =
'https://central-brazil.ap.giraffa.tech/js/ap-gjanout.js?v=' + ver;
document.head.appendChild(apjs);
};
if (document.readyState === 'loading') {
document.addEventListener(
'DOMContentLoaded',
function () {
setTimeout(inject, 0);
}
);
} else {
setTimeout(inject, 0);
}
};
function onSignal(e) {
if (
(e && e.detail === true) ||
C.granted()
) {
C.fire();
}
}
window.addEventListener(
'ld-ad-consent',
onSignal
);
document.addEventListener(
'ld-ad-consent',
onSignal
);
if (typeof window.__tcfapi === 'function') {
window.__tcfapi(
'addEventListener',
2,
function (tcData, success) {
if (!success || !tcData) {
return;
}
if (
tcData.eventStatus !== 'tcloaded' &&
tcData.eventStatus !== 'useractioncomplete'
) {
return;
}
if (
tcData.purpose &&
tcData.purpose.consents &&
tcData.purpose.consents[1]
) {
C.fire();
}
}
);
}
C.poll = setInterval(function () {
if (C.fired) {
clearInterval(C.poll);
C.poll = null;
return;
}
if (C.granted()) {
C.fire();
}
}, 250);
}
C.subs.push(register);
if (C.fired) {
register();
} else if (C.granted()) {
C.fire();
}
})();
Veja as fotos
Abrir em tela cheia
Rodrigo Faro e Vera VielCrédito: Reprodução Instagram @rodrigofaro
Rodrigo FaroCrédito: Portal LeoDias
Rodrigo Faro e Vera VielCrédito: Reprodução TV Globo
Rodrigo Faro em entrevista ao portal LeoDiasCrédito: Portal LeoDias
Voltar
Próximo
(function () {
var AD_UNIT = 'ld-m-art-r1-02';
var PLACEMENT = '846681';
var DEVICE = 'mobile'; /* 'mobile' or 'desktop' */
var MIN_H = 280; /* tallest size listed for this position */
var done = false;
/* This block belongs to one device. Mobile and desktop blocks may both sit in the
same responsive template: each checks the viewport and only the matching one
asks for an ad, so they never both render. Breakpoint 768px, tablets count as
desktop. If your template already renders per device server-side this is simply
a second guard and changes nothing. */
function rightDevice() {
var isMobile = window.matchMedia
? window.matchMedia('(max-width: 767px)').matches
: (document.documentElement.clientWidth || 0) < 768;
return DEVICE === 'mobile' ? isMobile : !isMobile;
}
function box() { return document.getElementById(AD_UNIT); }
function hide() { var b = box(); if (b) b.style.display = 'none'; }
/* Registers this position. Never called without a positive consent answer. */
function register() {
if (done) return;
done = true;
if (!rightDevice()) { hide(); return; }
var b = box();
if (b) b.style.minHeight = MIN_H + 'px'; /* reserve only now, never before */
window.ANConfig = window.ANConfig || {};
window.ANConfig.placements = window.ANConfig.placements || [];
window.ANConfig.placements.push({
adUnitId: AD_UNIT,
propertyId: '105130',
placementId: PLACEMENT,
data: {},
consent: true,
onLoad: function (adUnitId) {},
onFail: function (adUnitId) { hide(); }
});
/* Safety net: if nothing has rendered here shortly, release the space.
No position can leave a permanent blank gap, whatever goes wrong. */
setTimeout(function () {
var c = box();
if (c && !c.getElementsByTagName('iframe').length) hide();
}, 6000);
}
/* One shared coordinator per page, created by whichever block runs first.
Every block registers with it, so when consent arrives they all register in
the SAME tick and the loader is injected once, afterwards. The loader drains
its queue once, so a block that registered late would never be served. */
var C = window.__ldAdConsent;
if (!C) {
C = window.__ldAdConsent = { subs: [], fired: false };
C.granted = function () {
var v = window.LD_AD_CONSENT;
return v === true || v === 1 || v === 'true';
};
C.fire = function () {
if (C.fired) return;
C.fired = true;
if (C.poll) { clearInterval(C.poll); C.poll = null; }
for (var i = 0; i < C.subs.length; i++) {
try { C.subs[i](); } catch (e) {}
}
var inject = function () { /* now, with all of them queued */
if (document.getElementById('ap-js')) return;
var ver = new Date().toISOString().split(':')[0].replace(/\D/g, '');
var apjs = document.createElement('script');
apjs.type = 'text/javascript';
apjs.async = true;
apjs.setAttribute('id', 'ap-js');
apjs.src = 'https://central-brazil.ap.giraffa.tech/js/ap-gjanout.js?v=' + ver;
document.head.appendChild(apjs);
};
/* The loader drains its queue once, so it must not be fetched while the page is
still parsing: blocks further down would register after the drain and be lost.
Consent known before the body parses is the normal returning-visitor case. */
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function () { setTimeout(inject, 0); });
} else {
setTimeout(inject, 0);
}
};
function onSignal(e) {
if ((e && e.detail === true) || C.granted()) C.fire();
}
window.addEventListener('ld-ad-consent', onSignal);
document.addEventListener('ld-ad-consent', onSignal); /* the event does not bubble */
/* 2. IAB TCF v2, used automatically if it ever resolves. Purpose 1 gates storing
and accessing information on the device, which ad serving requires. Consent
is required whether or not gdprApplies is set: gdprApplies being false is
never treated as permission. (Measured here 28 Aug 2026: it is true.) */
if (typeof window.__tcfapi === 'function') {
window.__tcfapi('addEventListener', 2, function (tcData, success) {
if (!success || !tcData) return;
if (tcData.eventStatus !== 'tcloaded' &&
tcData.eventStatus !== 'useractioncomplete') return;
if (tcData.purpose && tcData.purpose.consents && tcData.purpose.consents[1]) C.fire();
});
}
/* 1. Your signal. Set window.LD_AD_CONSENT = true when consent is known.
The order does not matter and there is no time limit: this watch runs
until consent arrives or the page is closed. */
C.poll = setInterval(function () {
if (C.fired) { clearInterval(C.poll); C.poll = null; return; }
if (C.granted()) C.fire();
}, 250);
}
C.subs.push(register);
if (C.fired) register(); /* consent already given before this block parsed */
else if (C.granted()) C.fire();
})();
Na entrevista, Faro também disse que agora quer dividir suas experiências com o público. “Compartilhar amor e mostrar essa nova fase da nossa vida que poderia ser uma fase ruim. Às vezes a gente se pergunta, mas depois a gente entende. A gente fica bravo, a gente questiona, é normal, mas era para a gente estar exatamente assim hoje, era para a gente viver o que a gente vive hoje: a plenitude, a felicidade, o amor, a união… Acho que isso é o mais bonito, e a gente quer compartilhar isso com as pessoas”, declarou.
Publicidade
Já Vera contou que agora sai para trabalhar e deixa o marido em casa. “Eu estou gravando, eu estou com um programa no YouTube, o ‘Vozes da Vida’, contando histórias também de pessoas que passaram por grandes desafios, de superação, de fé… E aí eu saio para gravar e às vezes ele está em casa, então mudou”, disse.
(function () {
var AD_UNIT = 'ld-m-art-r1-03';
var PLACEMENT = '846688';
var DEVICE = 'mobile'; /* 'mobile' or 'desktop' */
var MIN_H = 280; /* tallest size listed for this position */
var done = false;
/* This block belongs to one device. Mobile and desktop blocks may both sit in the
same responsive template: each checks the viewport and only the matching one
asks for an ad, so they never both render. Breakpoint 768px, tablets count as
desktop. If your template already renders per device server-side this is simply
a second guard and changes nothing. */
function rightDevice() {
var isMobile = window.matchMedia
? window.matchMedia('(max-width: 767px)').matches
: (document.documentElement.clientWidth || 0) < 768;
return DEVICE === 'mobile' ? isMobile : !isMobile;
}
function box() { return document.getElementById(AD_UNIT); }
function hide() { var b = box(); if (b) b.style.display = 'none'; }
/* Registers this position. Never called without a positive consent answer. */
function register() {
if (done) return;
done = true;
if (!rightDevice()) { hide(); return; }
var b = box();
if (b) b.style.minHeight = MIN_H + 'px'; /* reserve only now, never before */
window.ANConfig = window.ANConfig || {};
window.ANConfig.placements = window.ANConfig.placements || [];
window.ANConfig.placements.push({
adUnitId: AD_UNIT,
propertyId: '105130',
placementId: PLACEMENT,
data: {},
consent: true,
onLoad: function (adUnitId) {},
onFail: function (adUnitId) { hide(); }
});
/* Safety net: if nothing has rendered here shortly, release the space.
No position can leave a permanent blank gap, whatever goes wrong. */
setTimeout(function () {
var c = box();
if (c && !c.getElementsByTagName('iframe').length) hide();
}, 6000);
}
/* One shared coordinator per page, created by whichever block runs first.
Every block registers with it, so when consent arrives they all register in
the SAME tick and the loader is injected once, afterwards. The loader drains
its queue once, so a block that registered late would never be served. */
var C = window.__ldAdConsent;
if (!C) {
C = window.__ldAdConsent = { subs: [], fired: false };
C.granted = function () {
var v = window.LD_AD_CONSENT;
return v === true || v === 1 || v === 'true';
};
C.fire = function () {
if (C.fired) return;
C.fired = true;
if (C.poll) { clearInterval(C.poll); C.poll = null; }
for (var i = 0; i < C.subs.length; i++) {
try { C.subs[i](); } catch (e) {}
}
var inject = function () { /* now, with all of them queued */
if (document.getElementById('ap-js')) return;
var ver = new Date().toISOString().split(':')[0].replace(/\D/g, '');
var apjs = document.createElement('script');
apjs.type = 'text/javascript';
apjs.async = true;
apjs.setAttribute('id', 'ap-js');
apjs.src = 'https://central-brazil.ap.giraffa.tech/js/ap-gjanout.js?v=' + ver;
document.head.appendChild(apjs);
};
/* The loader drains its queue once, so it must not be fetched while the page is
still parsing: blocks further down would register after the drain and be lost.
Consent known before the body parses is the normal returning-visitor case. */
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function () { setTimeout(inject, 0); });
} else {
setTimeout(inject, 0);
}
};
function onSignal(e) {
if ((e && e.detail === true) || C.granted()) C.fire();
}
window.addEventListener('ld-ad-consent', onSignal);
document.addEventListener('ld-ad-consent', onSignal); /* the event does not bubble */
/* 2. IAB TCF v2, used automatically if it ever resolves. Purpose 1 gates storing
and accessing information on the device, which ad serving requires. Consent
is required whether or not gdprApplies is set: gdprApplies being false is
never treated as permission. (Measured here 28 Aug 2026: it is true.) */
if (typeof window.__tcfapi === 'function') {
window.__tcfapi('addEventListener', 2, function (tcData, success) {
if (!success || !tcData) return;
if (tcData.eventStatus !== 'tcloaded' &&
tcData.eventStatus !== 'useractioncomplete') return;
if (tcData.purpose && tcData.purpose.consents && tcData.purpose.consents[1]) C.fire();
});
}
/* 1. Your signal. Set window.LD_AD_CONSENT = true when consent is known.
The order does not matter and there is no time limit: this watch runs
until consent arrives or the page is closed. */
C.poll = setInterval(function () {
if (C.fired) { clearInterval(C.poll); C.poll = null; return; }
if (C.granted()) C.fire();
}, 250);
}
C.subs.push(register);
if (C.fired) register(); /* consent already given before this block parsed */
else if (C.granted()) C.fire();
})();
“Olha como é a vida… Quantas vezes eu saí de casa para trabalhar e voltava de madrugada e ela cuidava de viagens, pelo amor de Deus. Agora é ela quem está trabalhando e eu cuido de tudo. Às vezes eu trabalho em casa, porque eu também tenho as minhas empresas, que eu tenho bastante coisa para fazer e tal, mas estou cuidando da casa, estou reformando um negocinho, estou fazendo alguma coisa, aí ela chega e está tudo em ordem, estou com as meninas, está tudo certo”, concluiu.
FONTE/CRÉDITOS: Katharine Alves