;(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

Thais Farage estreia em Universa: 'Moda é política, um olhar sobre o mundo'

A consultora de estilo Thais Farage, nova colunista de Universa - Arquivo Pessoal
A consultora de estilo Thais Farage, nova colunista de Universa Imagem: Arquivo Pessoal

Nina Rahe

Colaboração para Universa, de São Paulo

26/02/2022 04h00

Aos 37 anos, Thais Farage quer uma revolução na moda. A consultora de estilo, que se intitula especialista em moda subversiva, diz não entender como o mercado ainda segue falando que silhueta boa é a ampulheta e que é preciso ter busto e quadril proporcionais, além de cintura fina.

"A moda está muito atrasada nas discussões contemporâneas. O mercado de consultoria parou na Idade Média", resume. "Cheguei em um momento onde a profissão ainda era muito careta. Só pessoas ricas e famosas tinham personal stylist e eu apareci com uma visão diferente porque sempre gostei de moda mais alternativa."

Criada no interior de Minas Gerais, na cidade de Leopoldina, durante muito tempo Thais não enxergou a moda como uma carreira possível. Foi apenas na primeira semana da faculdade de cinema na Universidade Federal Fluminense que ela teve certeza que, mesmo no audiovisual, seu principal interesse era arte e figurino.

Antes de se encontrar completamente na área, chegou a trabalhar como assistente de direção de arte em longas como "O Abismo Prateado", de Karim Aïnouz, e "O Gorila", de José Eduardo Belmonte, e só depois de se matricular em um curso de consultoria de moda percebeu que vinha exercendo essa profissão, não só com a família, mas com todos os seus amigos, há tempos. É por isso que na sua coluna em Universa, que estreia hoje, moda e audiovisual serão temas recorrentes.

"O que irá me pautar é a moda com esse viés pouco deslumbrado, uma moda que está conectada com o que está acontecendo no mundo", explica Thais. "Moda é mais do que roupa, é política e um jeito de olhar o mundo."

Consultora de estilo Thais Farage - Arquivo Pessoal - Arquivo Pessoal
Thais Farage
Imagem: Arquivo Pessoal

Como personal stylist há oito anos, Thais logo começou a notar que suas clientes estavam constantemente insatisfeitas. No trabalho, independentemente da idade que tinham, sempre se consideravam novas demais até se tornarem, repentinamente, velhas demais. Foi quando se deu conta que o problema não era a faixa etária, mas o fato de que o mercado não é um espaço para as mulheres, conclusão essa que ganhou força enquanto realizou um workshop sobre estilo no trabalho entre 2017 a 2019 por cidades de todo o Brasil. "Sempre tinha um lugar de inadequação e, com os homens, [a roupa] nem era um assunto. Aí fui estudar mais e tem toda a história de como o terno é uma representação de poder que se mantém há séculos como inalterada", diz.

Foi essa percepção, inclusive, que a levou a publicar em 2021, ao lado da advogada Mayra Cotta, o livro "Mulher, Roupa, Trabalho - Como se Veste a Desigualdade de Gênero" (Cia. das Letras), que tem o objetivo de questionar as estruturas que determinam o que as mulheres devem ou não vestir para trabalhar. "Na política, as mulheres são escrachadas e os homens estão usando qualquer coisa sem que ninguém comente", resume a consultora. Algo que sua experiência como personal stylist de Manuela D'Avila durante sua candidatura à prefeitura de Porto Alegre, em 2020, só reforçou: foram sucessivas críticas as suas roupas e aparência. "Não tendo roupa ideal para a mulher no ambiente de trabalho, a gente tem que tentar ser mais feliz e entender que as críticas não são sobre as nossas roupas, mas sobre o espaço", justifica.

Como uma forma de mudar esse cenário, Thais acaba de criar, ao lado de Fernanda Resende, a EME — Escola de Moda e Empreendedorismo, na qual procura formar profissionais com um olhar mais diverso, transformando uma profissão que, de acordo com ela, surgiu como um hobby e hoje se ressente de um mercado de trabalho mais profissional. "A moda é comunicação e a gente vive em um mundo visual. Há muita pouca gente hoje em dia que pode se dar ao luxo de não pensar de que maneira se veste", diz.

A coluna de Thais Farage será publicada todo sábado, aqui em Universa.