#Psicoterapia#PsicologiadoDesporto#OrientacaoVocacional

Psicologia João Soares

Acompanhamento Psicológico, Workshops e Intervenções.

João Soares, sorridente, de casaco de cabedal, encostado a uma parede azul
nº 32519
Membro Efetivo da Ordem dos Psicólogos Portugueses
Vamos Agendar?Primeira Sessão a Preço Especial
Código de Oferta#EuQueroAvançar
Novo workshop · Entre as Estrelas ↗
Voucher de ofertaEntre as estrelasVale uma participação no workshop de arte-terapia com João Soares.50 €Casa Compósito · Oeiras
Voucher de ofertaOfereça um lugar entre as estrelas · 50 €Vale uma participação no workshop de arte-terapia Entre as Estrelas, aos sábados na Casa Compósito. Peça o voucher por email: o João envia o pedido de pagamento MB WAY e, depois, o voucher pronto a oferecer.Comprar voucher · MB WAY ↗

01.

Serviços

#CrescerComEstrategia #ConfiancaParaAvancar #MentalidadePositiva
  • Acompanhamento Psicológico
  • Aconselhamento Vocacional
  • Desenvolvimento de Competências
  • Psicologia do Desporto
  • Intervenção Psicológica nas Dependências
  • Relatórios de Avaliação Psicológica
  • Atendimento Psicológico de Urgência
Jovem surfista a fazer uma manobra numa onda, entre salpicos de água#PsicologiaDoDesporto

Psicologia do Desporto

Ajudar jovens e organizações a desenvolver recursos internos, superar desafios e construir percursos mais conscientes, resilientes e significativos.

Vamos Agendar?
João Soares sentado no chão em postura de meditação, numa sala iluminada a vermelho
Em breve na Casa Compósito

Meditação Vipassana

O João é meditador Vipassana. Em breve, vai abrir grupos de meditação na Casa Compósito, em Oeiras: um espaço para parar, observar e voltar ao corpo, em grupo.

Quero saber mais ↗

02.

Motivos e Benefícios para procurar Acompanhamento Psicológico

#CrescimentoPessoal #InteligenciaEmocional #AutoLideranca

Motivos

  • 01Baixa autoestima e autoconfiança
  • 02Tristeza e desmotivação frequentes
  • 03Ansiedade, stress ou sobrecarga emocional
  • 04Irritabilidade e dificuldades na gestão das emoções
  • 05Dificuldades de comunicação e relacionamento
  • 06Falta de objetivos, direção ou realização pessoal
  • 07Dificuldades de concentração e organização
  • 08Sensação de desconexão com o próprio ou com os outros

Benefícios

  • 01Maior autoconhecimento e aceitação pessoal
  • 02Reforço da autoestima, autoconfiança e segurança
  • 03Melhor regulação emocional e gestão do stress
  • 04Definição mais clara de objetivos e prioridades
  • 05Maior organização, responsabilidade e autonomia
  • 06Desenvolvimento de competências de comunicação e relacionamento
  • 07Maior iniciativa, criatividade e capacidade de resolução de problemas
  • 08Aumento do bem-estar, satisfação e qualidade de vida

03.

Modelos de Desenvolvimento

#PsicologiaDoDesporto #PsicologiaPositiva #ArteTerapia

Com uma abordagem integrativa, sistémica e positiva, combino ferramentas psicoterapêuticas, de desenvolvimento humano, psicologia organizacional, psicologia do desporto, orientação vocacional e arte-terapia para ajudar jovens e organizações a desenvolver recursos internos, superar desafios e construir percursos mais conscientes, resilientes e significativos.

01Ferramentas psicoterapêuticas
02Desenvolvimento humano
03Psicologia organizacional
04Psicologia do desporto
05Orientação vocacional
06Arte-terapia
(function(){ /* João: cole aqui o link da Cal.com, ex.: https://cal.com/joaoluissoares/consulta */ var CAL='https://cal.com/joao-luis-soares.psi/consulta'; function go(){var b=document.querySelector('.jso #agendar .book');if(!b||document.querySelector('.jso .cal'))return;var pv=location.hash=='#calpreview';if(!CAL&&!pv)return; var d=document.createElement('div');d.className='cal';d.id='marcar'; function E(t,c,x){var e=document.createElement(t);if(c)e.className=c;if(x)e.appendChild(document.createTextNode(x));return e} var top=E('div','top'),tx=E('div');tx.appendChild(E('h2','big','Marque já a sua sessão'));tx.appendChild(E('p','','Escolha o dia e a hora diretamente na agenda do João: tardes de dias úteis, das 14h às 18h, presencial na Casa Compósito ou online. Se é a primeira sessão, escreva #EuQueroAvançar nas notas da marcação.'));top.appendChild(tx); if(CAL){var a=E('a','btn dark','Abrir noutra janela ↗');a.href=CAL;a.target='_blank';a.rel='noopener';top.appendChild(a)} var fr=E('div','frame');if(CAL){var f=document.createElement('iframe');f.src=CAL;f.title='Marcação de consulta com João Soares';f.setAttribute('loading','lazy');fr.appendChild(f)}else{fr.appendChild(E('div','ph','Aqui vai aparecer o calendário da Cal.com'))} d.appendChild(top);d.appendChild(fr); b.parentNode.insertBefore(d,b.nextSibling)} if(document.readyState!=='loading')go();else document.addEventListener('DOMContentLoaded',go)})();
João Soares sentado no consultório, de camisola azul, mãos juntas e a sorrir
João Luís de Oliveira Soares
#CasaComposito #SaudeMental #JoaoLuisSoares

04.

Quem Sou Eu

Mestre em Psicologia Social e das Organizações (ISPA-IU)OPP nº 32519Pós-graduado em Arte-Terapia e Psicoterapia (SPAT)

O meu nome é João Luís de Oliveira Soares, tenho 43 anos, sou Mestre em Psicologia Social e das Organizações (ISPA-IU) desde 2012, Membro Efetivo da Ordem dos Psicólogos Portugueses nº 32519, Pós-graduado em Arte-Terapia e Psicoterapia (SPAT).

Formado em Aconselhamento Vocacional e de Carreira para Jovens Adultos, Psicofarmacologia para Psicólogos, Intervenção Psicológica em Dependências (com e sem substâncias), Relatórios de Avaliação Psicológica, desenvolvimento de competências comportamentais como inteligência emocional, liderança, motivação, entre outros recursos que complementam a minha abordagem.

Acredito que práticas como o diálogo, a expressão artística e a inovação pessoal são essenciais para desenvolver inteligência emocional, capacidade para resolver problemas e desafiar limitações pressupostas.

Paralelamente, valores como altruísmo e comunidade, expressos em gestos simples ou em iniciativas estruturadas, como voluntariado, são poderosos motores de sentido e propósito.

05.

Workshops e Intervenções

#ArteTerapia #DinamicasDeGrupo #Comunidade
Colagem com círculos de paisagens, céu, mar e uma figura cor de laranja#ArteTerapia

Entre as Estrelas

Uma exploração do cosmos interior através da pintura, da colagem e da escrita criativa. Grupo pequeno e fechado, sem exigir experiência artística.

3h30 · Casa Compósito, Oeiras, ou nas instalações da organização

Colagem de papéis rasgados em tons de verde, ocre, laranja e azulOrganizações

Programas com Sofia Dias Studio

Programas de inovação como o Ginásio de Inovação, com a leitura de grupo: competências, dinâmica de equipa e o que dá força ao grupo.

sofiadias.studio ↗

Informações

Preçário 2026

sessões de 50 minutos
Consulta
50 €/ sessão

Sessão de 50 minutos, presencial ou online.

Protocolos com Cartão Jovem e cheque psicológico. Outros descontos sob avaliação caso a caso. Peça informações.

Pedir informações
FormatoPresencial e onlinePresencial na Casa Compósito, Rua António Sérgio, 14A, 2780-186 Oeiras
Horário14h00 – 18h00Todos os dias úteis, de segunda a sexta
LínguasPT · EN · ITPortuguês, inglês e italiano
Duração50 minutosPor sessão

06.

Vamos Agendar?

Deixe o seu Contacto e Peça a sua Primeira Sessão a Preço Especial, Apresentando o Código de Oferta #EuQueroAvançar.

Telefone e SMS: +351 965 406 954Email: [email protected]
Código QR: aponte a câmara do telemóvel para guardar o contacto do João
Guardar contactoAponte a câmara do telemóvel ao código, ou toque no botão.Guardar no telemóvel

#InovacaoHumana #HabitoDaConsistencia #MetodologiasEficazes

Para quem é?
Formato
Vamos Agendar? (function(){document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('.jso a[href^="#"]');if(!a)return;var t=document.getElementById(a.getAttribute('href').slice(1));if(t){e.preventDefault();e.stopPropagation();t.scrollIntoView({behavior:'smooth',block:'start'})}},true);var copy=document.getElementById('copyCode'),code=document.getElementById('codeText');if(!copy)return; function sel(){var r=document.createRange();r.selectNodeContents(code);var s=getSelection();s.removeAllRanges();s.addRange(r)} copy.addEventListener('click',function(){var ok=function(){copy.textContent='Copiado';setTimeout(function(){copy.textContent='Copiar código'},1800)};try{navigator.clipboard.writeText(code.textContent).then(ok,sel)}catch(e){sel()}});})();
(function(){var C={"v": "BEGIN:VCARD\r\nVERSION:3.0\r\nN:Soares;João Luís;;;\r\nFN:João Luís Soares\r\nORG:Psicologia João Soares\r\nTITLE:Psicólogo · OPP 32519\r\nTEL;TYPE=CELL:+351965406954\r\nEMAIL:[email protected]\r\nADR;TYPE=WORK:;;Rua António Sérgio 14A;Oeiras;;2780-186;Portugal\r\nURL:https://joaosoarespsi.crd.co\r\nURL:https://www.linkedin.com/in/jo%C3%A3o-lu%C3%ADs-soares-44317211/\r\nURL:https://www.instagram.com/joaoluissoares.psi/\r\nEND:VCARD\r\n", "photo": "/assets/images/gallery01/2efcd962.jpg?v=e85988e9", "file": "joao-soares.vcf", "replaceBtn": ".jso .vc-text a[download]"}; function b64(u,cb){try{var i=new Image();i.crossOrigin='anonymous';i.onload=function(){try{var s=240,k=document.createElement('canvas');k.width=s;k.height=s;var x=k.getContext('2d'),m=Math.min(i.naturalWidth,i.naturalHeight);x.fillStyle='#fff';x.fillRect(0,0,s,s);x.drawImage(i,(i.naturalWidth-m)/2,(i.naturalHeight-m)/4,m,m,0,0,s,s);cb(k.toDataURL('image/jpeg',.8).split(',')[1])}catch(e){cb(null)}};i.onerror=function(){cb(null)};i.src=u}catch(e){cb(null)}} function fold(s){var o='';while(s.length>74){o+=s.slice(0,74)+'\r\n ';s=s.slice(74)}return o+s} function save(){b64(C.photo,function(p){var v=C.v;if(p)v=v.replace('END:VCARD','PHOTO;ENCODING=b;TYPE=JPEG:'+fold(p)+'\r\nEND:VCARD');var bl=new Blob([v],{type:'text/vcard;charset=utf-8'}),a=document.createElement('a');a.href=URL.createObjectURL(bl);a.download=C.file;document.body.appendChild(a);a.click();setTimeout(function(){URL.revokeObjectURL(a.href);a.remove()},1500)})} function go(){document.querySelectorAll(C.replaceBtn).forEach(function(a){a.removeAttribute('download');a.setAttribute('href','#');a.addEventListener('click',function(e){e.preventDefault();save()})})} if(document.readyState!=='loading')go();else document.addEventListener('DOMContentLoaded',go)})();
(function(){var V={"privacidade": {"pt": "

Política de privacidade

Última atualização: 11 de outubro de 2026

\n

Quem trata os seus dados

João Luís de Oliveira Soares, psicólogo, membro efetivo da Ordem dos Psicólogos Portugueses (cédula n.º 32519), com consultório na Casa Compósito, Rua António Sérgio, 14A, 2780-186 Oeiras · [email protected].

\n

Que dados recolhemos e para quê

    \n
  • Marcação de consultas (nome, email, telefone, data e hora): para agendar e confirmar a consulta. Na marcação, não precisa de descrever o motivo; esse tema fica para a consulta.
  • \n
  • Acompanhamento psicológico: os dados de saúde e as notas clínicas recolhidos em consulta servem apenas para prestar o acompanhamento. Fundamento: prestação de cuidados de saúde por profissional sujeito a sigilo (artigo 9.º, n.º 2, alínea h) do RGPD), nos termos do Código Deontológico da Ordem dos Psicólogos Portugueses.
  • \n
  • Contactos por email ou formulário: para responder ao seu pedido.
  • \n
  • Inscrições em workshops e grupos (nome e contacto): para organizar a sua participação.
  • \n
  • Faturação: para cumprir obrigações legais e fiscais.
\n

Sigilo e acesso

A informação clínica está sujeita a sigilo profissional e só é acedida pelo psicólogo. Não é partilhada com terceiros, salvo com o seu consentimento expresso ou quando a lei o exija. Usamos prestadores que tratam dados por conta do psicólogo, como o alojamento do site (Carrd), o envio dos formulários (FormSubmit), o sistema de marcações, o email (Google) e, nas consultas online, a plataforma de videochamada. Alguns estão fora da União Europeia; nesses casos, as transferências apoiam-se nos mecanismos do RGPD.

\n

Durante quanto tempo

Os registos clínicos são conservados pelo prazo exigido pelas normas deontológicas e legais aplicáveis. Os dados de marcação e contacto sem seguimento são apagados ao fim de 2 anos. Os documentos de faturação são guardados 10 anos, por obrigação legal.

\n

Cookies

Este site não usa cookies de publicidade nem de análise de perfil. O calendário de marcações pode usar cookies técnicos necessários ao seu funcionamento.

\n

Os seus direitos

Pode pedir acesso, retificação, apagamento, limitação ou portabilidade dos seus dados e opor-se ao tratamento, nos limites das obrigações legais e deontológicas, escrevendo para [email protected]. Pode também apresentar reclamação à Comissão Nacional de Proteção de Dados (cnpd.pt).

", "en": "

Privacy policy

Last updated: 11 October 2026

\n

Who handles your data

João Luís de Oliveira Soares, psychologist, full member of the Portuguese Order of Psychologists (licence no. 32519), practising at Casa Compósito, Rua António Sérgio, 14A, 2780-186 Oeiras, Portugal · [email protected].

\n

What we collect and why

    \n
  • Booking sessions (name, email, phone, date and time): to schedule and confirm your session. You don’t need to describe the reason when booking; that belongs in the session.
  • \n
  • Psychological care: health data and clinical notes gathered in sessions are used only to provide care. Basis: provision of health care by a professional bound by confidentiality (GDPR Article 9(2)(h)), under the Code of Ethics of the Portuguese Order of Psychologists.
  • \n
  • Email or form enquiries: to reply to you.
  • \n
  • Workshop and group registrations (name and contact): to organise your participation.
  • \n
  • Invoicing: to meet legal and tax obligations.
\n

Confidentiality and access

Clinical information is covered by professional secrecy and only the psychologist accesses it. It is not shared with anyone, except with your explicit consent or where the law requires it. Providers process data on the psychologist’s behalf, such as website hosting (Carrd), form delivery (FormSubmit), the booking system, email (Google) and, for online sessions, the video platform. Some are outside the European Union; such transfers rely on GDPR mechanisms.

\n

How long we keep it

Clinical records are kept for the period required by the applicable professional and legal rules. Booking and contact data with no follow-up are deleted after 2 years. Invoicing records are kept for 10 years, as required by law.

\n

Cookies

This site uses no advertising or profiling cookies. The booking calendar may set technical cookies it needs to work.

\n

Your rights

You can ask to access, correct, erase, restrict or port your data and object to its use, within legal and professional obligations, by writing to [email protected]. You may also complain to the Portuguese data protection authority, CNPD (cnpd.pt).

"}};var o=document.getElementById('pvov');if(!o){o=document.createElement('div');o.id='pvov';}if(o.parentNode!==document.body)document.body.appendChild(o); function show(k,l){var v=V[k];if(!v)return;var h='
';if(v.en){h+='
';}h+='
'+((l==='en'&&v.en)?v.en:v.pt)+'
';o.innerHTML=h;o.classList.add('on');document.documentElement.style.overflow='hidden'; [].forEach.call(o.querySelectorAll('.pvl button'),function(b){b.classList.toggle('on',b.getAttribute('data-l')===(l||'pt'));b.onclick=function(){show(k,b.getAttribute('data-l'));};}); o.querySelector('.pvx').onclick=close;} function close(){o.classList.remove('on');document.documentElement.style.overflow='';if(location.search)history.replaceState(null,'',location.pathname+location.hash);} o.addEventListener('click',function(e){if(e.target===o)close();}); var q=location.search.replace('?','').split('&')[0];var en=/(^|[?&])lang=en/.test(location.search)||/privacy/.test(q);if(q){var k=q.split('=')[0];if(k==='privacy')k='privacidade';if(V[k])setTimeout(function(){show(k,en?'en':'pt');},300);} document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var t=(a.textContent||'').trim().toLowerCase();var hr=a.getAttribute('href')||'';if(/[?&](privacidade|privacy)/.test(hr)||((t==='privacidade'||t==='privacy'||t==='privacy policy'||t==='política de privacidade')&&(hr==='#'||hr===''))){e.preventDefault();e.stopPropagation();show('privacidade',/privacy/.test(t+hr)?'en':'pt');}},true); function ph(){var w=document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT,null),n,arr=[];while(n=w.nextNode()){if(/\[link para (a )?pol[ií]tica de privacidade\]|\[link to privacy policy\]/i.test(n.nodeValue))arr.push(n);}arr.forEach(function(n){var en=/privacy/i.test(n.nodeValue);var parts=n.nodeValue.split(/\[link para (?:a )?pol[ií]tica de privacidade\]|\[link to privacy policy\]/i);var f=document.createDocumentFragment();f.appendChild(document.createTextNode(parts[0]));var a=document.createElement('a');a.href='?'+(en?'privacy':'privacidade');a.textContent=en?'Privacy policy':'Política de privacidade';a.style.textDecoration='underline';f.appendChild(a);f.appendChild(document.createTextNode(parts.slice(1).join('')));n.parentNode.replaceChild(f,n);});} if(document.readyState!=='loading')ph();else document.addEventListener('DOMContentLoaded',ph);setTimeout(ph,1500); })();

Política de privacidade · Privacy policy

#ArteTerapia #InteligênciaEmocional #EmGrupo
Workshop · Casa Compósito, Oeiras

Entre as estrelasUma viagem ao cosmos interior.

Uma experiência arte-terapêutica mediada através de processos criativos e materiais artísticos.

Aos sábadosSessão da manhã ou da tarde · PT · EN
Inscrições

Por email,
diretamente com o João

8 lugares por sessão
Em resumo

3h30 · Presencial · 18+

50 € por pessoaPortuguês · inglês
01.

O que se explora no workshop

#CosmosInterior #InteligênciaEmocional #Partilha
  • O cosmos interior

    Exploração individual e partilhada do cosmos interior, através de referências simbólicas universais e práticas artísticas.

  • Um espaço seguro

    Espaço seguro, não clínico, para a elaboração pessoal e relacional.

  • Competências

    Desenvolvimento de competências como inteligência emocional, criatividade, comunicação e empatia.

  • Grupo pequeno

    Grupo pequeno e fechado, conduzido por um psicólogo, em contexto não clínico.

Técnicas

  1. 01
    Pintura

    Cor e gesto para o que ainda não se diz por palavras.

  2. 02
    Colagem

    Fragmentos que, juntos, compõem uma nova imagem.

  3. 03
    Escrita criativa

    Palavras para nomear o que foi aparecendo.

02.

Ficha do workshop

#AosSábados #Oeiras

Aos sábados

  1. AM
    10h00–13h30

    Sessão da manhã

  2. PM
    14h30–18h00

    Sessão da tarde

Em detalhe

  1. 01
    Formato

    Presencial, em grupo, até 8 participantes

  2. 02
    Duração

    3h30 por sessão

  3. 03
    Línguas

    Português · inglês

  4. 04
    Idades

    A partir dos 18 anos

  5. 05
    Valor

    50 € por pessoa

  6. 06
    Local

    Casa Compósito · Rua António Sérgio, 14A, 2780-186 Oeiras

03.

Quem facilita

João Soares, sorridente, de casaco de cabedal, encostado a uma parede azul
nº 32519Membro Efetivo da Ordem dos Psicólogos Portugueses

João Luís Soares

Psicólogo, arte-terapeuta e artista, cofundador da Casa Compósito.

  1. 01
    Mestre em Psicologia Social e das Organizações

    ISPA-IU

  2. 02
    Pós-graduado em Arte-Terapia e Psicoterapia

    SPAT

04.

Oferecer um lugar entre as estrelas

#VoucherDeOferta #MBWAY
Voucher de oferta
Entre as estrelas

Vale uma participação no workshop de arte-terapia com João Soares.

50 €Casa Compósito · Oeiras

Pedido rápido

  1. 01
    Preencha o pedido
  2. 02
    O João envia-lhe um pedido MB WAY de 50 €

    Ou envie diretamente por MB WAY para o 965 406 954.

  3. 03
    Recebe o voucher por email, pronto a oferecer
05.
Entre as Estrelas · Workshop de arte-terapia João Soares, psicologia · Casa Compósito, Oeiras
(function(){ var btn=document.getElementById('eae-copy'), st=document.getElementById('eae-status'), addr=document.getElementById('eae-addr'); btn.addEventListener('click',function(){ var text=addr.textContent.trim(); function fallback(){var r=document.createRange();r.selectNodeContents(addr);var s=window.getSelection();s.removeAllRanges();s.addRange(r);st.textContent='Email selecionado. Copie com Ctrl/Cmd + C.';} try{ if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text).then(function(){st.textContent='Email copiado.';},fallback);} else{fallback();} }catch(e){fallback();} }); /* pedido de voucher */ var form=document.getElementById('eae-order'), err=document.getElementById('eae-o-err'), done=document.getElementById('eae-o-done'), out=document.getElementById('eae-o-text'), mail=document.getElementById('eae-o-mail'); function val(id){return document.getElementById(id).value.trim();} form.addEventListener('submit',function(ev){ ev.preventDefault();err.textContent=''; var n=val('eae-o-name'),p=val('eae-o-phone').replace(/\s+/g,''),e=val('eae-o-email'),f=val('eae-o-for'),m=val('eae-o-msg'); if(!n){err.textContent='Falta o seu nome.';return;} if(!/^(\+351)?9\d{8}$/.test(p)){err.textContent='Indique um telemóvel português com MB WAY (9 dígitos, começa por 9).';return;} if(!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(e)){err.textContent='Verifique o email.';return;} var body='Olá João,\n\nQuero oferecer um voucher do workshop Entre as Estrelas (50 €).\n\nNome: '+n+'\nTelemóvel MB WAY: '+p+'\nEmail para o voucher: '+e+'\nPara quem é: '+(f||'—')+'\nMensagem no voucher: '+(m||'—')+'\n\nAguardo o pedido MB WAY. Obrigado!'; out.textContent=body; mail.href='mailto:[email protected]?subject='+encodeURIComponent('Voucher de oferta · Entre as Estrelas')+'&body='+encodeURIComponent(body); done.hidden=false; }); document.getElementById('eae-o-copy').addEventListener('click',function(){ var t=out.textContent, b=this; function sel(){var r=document.createRange();r.selectNodeContents(out);var s=window.getSelection();s.removeAllRanges();s.addRange(r);b.textContent='Selecionado: copie com Ctrl/Cmd + C';} try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t).then(function(){b.textContent='Pedido copiado';},sel);}else{sel();}}catch(x){sel();} }); var cv=document.getElementById('eae-sky'), ctx=cv.getContext('2d'); var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches; var W=0,H=0,dpr=1; function rng(seed){return function(){seed=(seed*16807)%2147483647;return (seed-1)/2147483646;};} var R=rng(4205); var bg=[];for(var i=0;i<150;i++)bg.push({x:R(),y:R(),r:R()*1.2+.3,p:R()*6.28,s:.6+R()*1.4}); var stars=[];for(i=0;i<26;i++){stars.push({a:R()*6.283,d:.42+R()*.52,r:1.3+R()*1.8,p:R()*6.28});} var edges=[]; stars.forEach(function(s,i){ var best=[];stars.forEach(function(t,j){if(i===j)return;var dx=Math.cos(s.a)*s.d-Math.cos(t.a)*t.d,dy=Math.sin(s.a)*s.d-Math.sin(t.a)*t.d;best.push([dx*dx+dy*dy,j]);}); best.sort(function(a,b){return a[0]-b[0];}); for(var k=0;k<2;k++){var j=best[k][1];if(!edges.some(function(e){return (e[0]===j&&e[1]===i)||(e[0]===i&&e[1]===j);}))edges.push([i,j]);} }); var cols=['#BDEBD3','#FFD861','#F8C2CF','#A9C6F7','#FF8F57']; var smallEyes=[ {zone:'pupil',a:-1.9,d:.42,s:.34,c:cols[0],o:0}, {zone:'pupil',a:.3,d:.48,s:.3,c:cols[2],o:1.7}, {zone:'pupil',a:2.3,d:.4,s:.26,c:cols[1],o:3.1}, {zone:'iris',a:-.6,d:.68,s:.17,c:cols[4],o:.9}, {zone:'iris',a:1.25,d:.74,s:.15,c:cols[0],o:2.4}, {zone:'iris',a:2.9,d:.66,s:.16,c:cols[1],o:4.2}, {zone:'iris',a:-2.6,d:.78,s:.14,c:cols[2],o:5.5} ]; function size(){var b=cv.getBoundingClientRect();dpr=Math.min(window.devicePixelRatio||1,2);W=Math.max(1,b.width);H=Math.max(1,b.height);cv.width=Math.round(W*dpr);cv.height=Math.round(H*dpr);ctx.setTransform(dpr,0,0,dpr,0,0);} function almond(cx,cy,w,h){ctx.beginPath();ctx.moveTo(cx-w/2,cy);ctx.bezierCurveTo(cx-w*.22,cy-h*1.02,cx+w*.22,cy-h*1.02,cx+w/2,cy);ctx.bezierCurveTo(cx+w*.22,cy+h*1.02,cx-w*.22,cy+h*1.02,cx-w/2,cy);ctx.closePath();} function blink(t,o){var per=5200+o*900,ph=(t+o*1000)%per;return ph<180?Math.abs(1-ph/90):1;} function littleEye(x,y,w,c,open){ var h=w*.36*Math.max(.06,open); almond(x,y,w,h);ctx.fillStyle='#FFFFFF';ctx.fill();ctx.lineWidth=1.2;ctx.strokeStyle='#15171C';ctx.stroke(); ctx.save();almond(x,y,w,h);ctx.clip(); ctx.beginPath();ctx.arc(x,y,w*.2,0,6.283);ctx.fillStyle=c;ctx.fill(); ctx.beginPath();ctx.arc(x,y,w*.08,0,6.283);ctx.fillStyle='#15171C';ctx.fill(); ctx.restore(); } function draw(t){ ctx.clearRect(0,0,W,H); var g=ctx.createRadialGradient(W*.5,H*.42,0,W*.5,H*.42,Math.max(W,H)*.8); g.addColorStop(0,'#3A6BF2');g.addColorStop(1,'#1B3FBF');ctx.fillStyle=g;ctx.fillRect(0,0,W,H); bg.forEach(function(s){var a=.25+.5*(.5+.5*Math.sin(t*.001*s.s+s.p));ctx.beginPath();ctx.arc(s.x*W,s.y*H,s.r,0,6.283);ctx.fillStyle='rgba(255,255,255,'+a.toFixed(3)+')';ctx.fill();}); var cx=W/2,cy=H*.44,ew=Math.min(W*.88,H*1.2),eh=ew*.38; ctx.save();ctx.setLineDash([2,7]);almond(cx,cy,ew*1.08,eh*1.14);ctx.strokeStyle='rgba(255,216,97,.75)';ctx.lineWidth=1.4;ctx.stroke();ctx.restore(); almond(cx,cy,ew,eh);ctx.strokeStyle='#FFFFFF';ctx.lineWidth=1.8;ctx.stroke(); ctx.save();almond(cx,cy,ew,eh);ctx.clip(); var ir=eh*.93; ctx.beginPath();ctx.arc(cx,cy,ir,0,6.283);ctx.fillStyle='rgba(169,198,247,.22)';ctx.fill(); ctx.strokeStyle='rgba(255,255,255,.7)';ctx.lineWidth=1;ctx.stroke(); ctx.beginPath();ctx.arc(cx,cy,ir*.97,0,6.283);ctx.setLineDash([1,5]);ctx.strokeStyle='rgba(255,216,97,.8)';ctx.stroke();ctx.setLineDash([]); var rot=reduce?0:t*.00004; function pos(s){return [cx+Math.cos(s.a+rot)*s.d*ir,cy+Math.sin(s.a+rot)*s.d*ir];} ctx.lineWidth=.9;ctx.strokeStyle='rgba(255,255,255,.5)'; edges.forEach(function(e){var a=pos(stars[e[0]]),b=pos(stars[e[1]]);ctx.beginPath();ctx.moveTo(a[0],a[1]);ctx.lineTo(b[0],b[1]);ctx.stroke();}); stars.forEach(function(s,i){var p=pos(s),tw=.6+.4*Math.sin(t*.002+s.p); ctx.beginPath();ctx.arc(p[0],p[1],s.r*3.2,0,6.283);ctx.fillStyle='rgba(255,216,97,'+(.18*tw).toFixed(3)+')';ctx.fill(); ctx.beginPath();ctx.arc(p[0],p[1],s.r,0,6.283);ctx.fillStyle=i%3===0?'#FFD861':'#FFFFFF';ctx.fill();}); var pr=ir*.4; ctx.beginPath();ctx.arc(cx,cy,pr,0,6.283);ctx.fillStyle='#15171C';ctx.fill(); smallEyes.forEach(function(e){ var base=e.zone==='pupil'?pr:ir, a=e.a+(e.zone==='iris'?rot:-rot*1.6); var x=cx+Math.cos(a)*e.d*base, y=cy+Math.sin(a)*e.d*base, w=e.s*(e.zone==='pupil'?pr*2.2:ir*2); littleEye(x,y,w,e.c,reduce?1:blink(t,e.o)); }); ctx.beginPath();ctx.arc(cx+pr*.42,cy-pr*.5,pr*.09,0,6.283);ctx.fillStyle='#FFFFFF';ctx.fill(); ctx.restore(); } function loop(t){draw(t);requestAnimationFrame(loop);} size();draw(1200); if(window.ResizeObserver){new ResizeObserver(function(){size();draw(1200);}).observe(cv);} if(!reduce)requestAnimationFrame(loop); })(); document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('.eae [data-go]');if(!a)return;e.preventDefault();var t=document.getElementById(a.getAttribute('data-go'));if(t)t.scrollIntoView({behavior:'smooth',block:'start'});});