PageSourceSearch

https://ipsbrasil.org.br/relatorios

html ipsbrasil.org.br collected 2026-10-02 17:47:07 UTC 35,779 bytes, 573 lines download raw bytes

1<!DOCTYPE html>
2<html lang="pt-BR" class="[scrollbar-gutter:stable] min-h-screen scroll-smooth">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1">
6    <meta name="csrf-token" content="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
7    <title>
8      IPS Brasil
9    </title>
10    <link phx-track-static rel="stylesheet" href="/assets/css/app-e6df9d4a995e0f0c2e7df9722c9bdef3.css?vsn=d">
11    
11<script defer phx-track-static type="text/javascript" src="/assets/js/app-b4b01fb4d1a76935ec14c29333aef1c3.js?vsn=d">
12    </script>
vendor: 68 bytes, lines 12-13
12
13    <script async src="https://www.googletagmanager.com/gtag/js?id=
13G-36QJR3R27M
vendor: 21 bytes, lines 13-15
13">
14    </script>
15    
15<script>
16      
vendor: 145 bytes, lines 16-19
16window.dataLayer = window.dataLayer || [];
17      function gtag(){dataLayer.push(arguments);}
18      gtag('js', new Date());
19      gtag('config', '
19G-36QJR3R27M
vendor: 8 bytes, lines 19-20
19');
20    
20</script>
20
21    
21<script type="text/javascript">
22      (function(c,l,a,r,i,t,y){
23          c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
24          t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
25          y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
26      })(window, document, "clarity", "script", "y927rx6pkg");
27    </script>
27
28  </head>
29  <body class="bg-white min-h-screen flex flex-col">
30    <div id="phx-GNrHkNPoxyQ8JsSx" data-phx-main data-phx-session="SFMyNTY.g2gDaAJhBnQAAAAIdwJpZG0AAAAUcGh4LUdOckhrTlBveHlROEpzU3h3B3Nlc3Npb250AAAAAHcEdmlld3crRWxpeGlyLklwc0JyYXNpbFdlYi5QdWJsaWMuQmxvZy5SZXBvcnRzTGl2ZXcKcGFyZW50X3BpZHcDbmlsdwZyb3V0ZXJ3GkVsaXhpci5JcHNCcmFzaWxXZWIuUm91dGVydwhyb290X3BpZHcDbmlsdwlyb290X3ZpZXd3K0VsaXhpci5JcHNCcmFzaWxXZWIuUHVibGljLkJsb2cuUmVwb3J0c0xpdmV3EWxpdmVfc2Vzc2lvbl9uYW1ldwZwdWJsaWNuBgBlGrr9oAFiAAFRgA.GLJB6OBxXhVmEf95VVik0PdKtvQGQrR1jn90OVg5R8M" data-phx-static="SFMyNTY.g2gDaAJhBnQAAAADdwJpZG0AAAAUcGh4LUdOckhrTlBveHlROEpzU3h3BWZsYXNodAAAAAB3CmFzc2lnbl9uZXdsAAAAAXcNY3VycmVudF9zY29wZWpuBgBlGrr9oAFiAAFRgA.F_6_h6suUb6Eg0_91bPr4AdnsaDRYTRcJIcjGFoGbL4"><header>
31  <div class="px-4 sm:px-6 lg:px-8 bg-white">
32    <div class="flex items-center justify-between border-b-2 border-zinc-200 py-3 text-sm">
33      <!-- Mobile: logo + hamburger. Desktop: logo -->
34      <div class="flex items-center flex-1 min-w-0 lg:flex-initial gap-4">
35        <a href="/" class="flex-shrink-0" aria-label="Ir para a página inicial">
36          <img src="/images/logo-7c729d5e9022f359afcb90cdf4281386.webp?vsn=d" class="w-24 lg:w-[7.5rem]" alt="Logotipo do IPS Brasil">
37        </a>
38        <div class="flex-1 lg:hidden min-w-4" aria-hidden="true"></div>
39        <button class="lg:hidden flex-shrink-0 -m-2 p-2" phx-click="[[&quot;transition&quot;,{&quot;time&quot;:500,&quot;to&quot;:&quot;.mobile-header-btn&quot;,&quot;transition&quot;:[[&quot;rotate-90&quot;],[],[]]}],[&quot;show&quot;,{&quot;to&quot;:&quot;#mobile-header&quot;}],[&quot;show&quot;,{&quot;time&quot;:300,&quot;to&quot;:&quot;#mobile-header-bg&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;transform&quot;,&quot;ease-out&quot;,&quot;duration-300&quot;],[&quot;opacity-0&quot;],[&quot;opacity-100&quot;]]}],[&quot;show&quot;,{&quot;time&quot;:300,&quot;to&quot;:&quot;#mobile-header-container&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;transform&quot;,&quot;ease-out&quot;,&quot;duration-300&quot;],[&quot;opacity-0&quot;,&quot;-translate-x-[100%]&quot;,&quot;sm:translate-x-0&quot;,&quot;sm:scale-95&quot;],[&quot;opacity-100&quot;,&quot;translate-x-0&quot;,&quot;sm:scale-100&quot;]]}],[&quot;add_class&quot;,{&quot;names&quot;:[&quot;overflow-hidden&quot;],&quot;to&quot;:&quot;body&quot;}],[&quot;focus_first&quot;,{&quot;to&quot;:&quot;#mobile-header-content&quot;}]]" aria-label="Abrir menu">
40          <span class="hero-bars-3 mobile-header-btn h-6 w-6"></span>
41        </button>
42      </div>
43      
44<!-- Desktop nav links -->
45      <nav class="hidden lg:flex items-center gap-4 leading-6 text-zinc-500" aria-label="Navegação principal">
46  <a href="/" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
47    Início
48  </a><a href="/conheca/ips" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
49    Sobre
50  </a><a href="/explore/mapa" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
51    Dados
52  </a><a href="/noticias/artigos" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
53    Notícias
54  </a><a href="/relatorios" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800 font-bold text-zinc-900" aria-current="page">
55    Relatórios
56  </a><a href="/contato" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
57    Contato
58  </a>
59</nav>
60      
61<!-- Desktop: social icons + locale selector -->
62      <div class="hidden lg:flex items-center gap-4 px-4">
63        <div class="flex items-center gap-4">
64  <a href="https://www.instagram.com/ips_brasil/" target="_blank" rel="noopener noreferrer" class="block w-6 h-6" aria-label="Acessar Instagram do IPS Brasil (abre em nova aba)">
65    <img src="/images/instagram_black-d415525c73584dd681fc4c648da33c1a.png?vsn=d" alt="" class="w-full h-full object-contain">
66  </a>
67  <a href="https://www.linkedin.com/company/ipsbrasil/" target="_blank" rel="noopener noreferrer" class="block w-6 h-6" aria-label="Acessar LinkedIn do IPS Brasil (abre em nova aba)">
68    <img src="/images/linkedin_black-cb9ea922ddb09ff1c980caadbe19a2a7.png?vsn=d" alt="" class="w-full h-full object-contain">
69  </a>
70</div>
71        <div class="relative inline-block text-left">
72  <button type="button" phx-click="[[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#locale-selector&quot;}],[&quot;toggle_attr&quot;,{&quot;attr&quot;:[&quot;aria-expanded&quot;,&quot;true&quot;,&quot;false&quot;]}]]" class="flex items-center gap-1 px-3 py-1.5 text-sm bg-white rounded border shadow-sm hover:bg-gray-50" aria-label="Alterar idioma da página" aria-expanded="false">
73    PT
74    <span class="hero-chevron-down size-3"></span>
75  </button>
76
77  <div id="locale-selector" phx-click-away="[[&quot;add_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#locale-selector&quot;}]]" class="hidden absolute right-0 z-10 mt-1 w-40 bg-white rounded border shadow-lg">
78    <form action="/api/locale" method="post">
79      <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
80
81      <input type="hidden" name="return_to" value="/relatorios">
82
83      <button name="locale" value="pt" class="flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100" aria-label="Alterar idioma para Português" aria-current="true">
84        Português
85      </button>
86    </form><form action="/api/locale" method="post">
87      <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
88
89      <input type="hidden" name="return_to" value="/relatorios">
90
91      <button name="locale" value="en" class="flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100" aria-label="Alterar idioma para English">
92        English
93      </button>
94    </form><form action="/api/locale" method="post">
95      <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
96
97      <input type="hidden" name="return_to" value="/relatorios">
98
99      <button name="locale" value="es" class="flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100" aria-label="Alterar idioma para Español">
100        Español
101      </button>
102    </form>
103  </div>
104</div>
105      </div>
106    </div>
107  </div>
108
109  
110
111  <nav id="mobile-header" phx-remove="[[&quot;hide&quot;,{&quot;to&quot;:&quot;#mobile-header-bg&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;transform&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;],[&quot;opacity-0&quot;]]}],[&quot;hide&quot;,{&quot;time&quot;:200,&quot;to&quot;:&quot;#mobile-header-container&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;transform&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;,&quot;translate-x-0&quot;,&quot;sm:scale-100&quot;],[&quot;opacity-0&quot;,&quot;-translate-x-[100%]&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;]]}],[&quot;hide&quot;,{&quot;to&quot;:&quot;#mobile-header&quot;,&quot;transition&quot;:[[&quot;block&quot;],[&quot;block&quot;],[&quot;hidden&quot;]]}],[&quot;remove_class&quot;,{&quot;names&quot;:[&quot;overflow-hidden&quot;],&quot;to&quot;:&quot;body&quot;}],[&quot;pop_focus&quot;,{}]]" data-cancel="[[&quot;exec&quot;,{&quot;attr&quot;:&quot;phx-remove&quot;}]]" class="relative z-50 hidden bg-[#F6F6F6]" aria-label="Navegação principal">
112  <div class="h-screen w-screen" role="dialog" aria-modal="true" tabindex="0">
113    <div class="flex min-h-full items-center justify-center">
114      <div class="w-full">
115        <div id="mobile-header-container" phx-hook="Phoenix.FocusWrap" class="shadow-zinc-700/10 ring-zinc-700/10 relative h-screen w-screen hidden rounded-r-2xl bg-white shadow-lg ring-1 transition" phx-click-away="[[&quot;exec&quot;,{&quot;attr&quot;:&quot;data-cancel&quot;,&quot;to&quot;:&quot;#mobile-header&quot;}]]" phx-key="escape" phx-window-keydown="[[&quot;exec&quot;,{&quot;attr&quot;:&quot;data-cancel&quot;,&quot;to&quot;:&quot;#mobile-header&quot;}]]">
116  <div id="mobile-header-container-start" tabindex="0" aria-hidden="true"></div>
117  
118          <div class="absolute top-6 right-5">
119            <button phx-click="[[&quot;exec&quot;,{&quot;attr&quot;:&quot;data-cancel&quot;,&quot;to&quot;:&quot;#mobile-header&quot;}]]" type="button" class="-m-3 flex-none p-3 opacity-20 hover:opacity-40" aria-label="close">
120              <span class="hero-x-mark-solid h-5 w-5"></span>
121            </button>
122          </div>
123          <div id="mobile-header-content" class="h-full flex flex-col min-h-0">
124            <div class="flex flex-col items-start p-8 pt-16 gap-4 leading-6 text-zinc-500 overflow-y-auto flex-1 min-h-0 pb-8">
125              <!-- Nav links with expandable sub-sections -->
126              <div class="w-full">
127                
128                  <a href="/" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
129                    Início
130                  </a>
131                
132              </div><div class="w-full">
133                
134                  <div class="w-full">
135                    <h4 phx-click="[[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;rotate-90&quot;],&quot;to&quot;:&quot;#arrow-conheca&quot;}],[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#conheca-items&quot;}]]" class="flex flex-row w-inherit justify-between">
136                      <p class="hover:text-zinc-800 ">
137                        Sobre
138                      </p>
139                      <span id="arrow-conheca" class="ml-3">
140                        <span class="hero-chevron-up w-4 h-4 rotate-90 transition-transform duration-200"></span>
141                      </span>
142                    </h4>
143                    <ul id="conheca-items" class="hidden pl-8">
144                      <li class="pt-4">
145                        <a href="/conheca/ips" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
146                          IPS
147                        </a>
148                      </li><li class="pt-4">
149                        <a href="/conheca/metodologia" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
150                          Metodologia
151                        </a>
152                      </li><li class="pt-4">
153                        <a href="/conheca/indicadores" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
154                          Indicadores
155                        </a>
156                      </li><li class="pt-4">
157                        <a href="/conheca/sobre" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
158                          Sobre nós
159                        </a>
160                      </li><li class="pt-4">
161                        <a href="/conheca/comunidades" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
162                          Comunidades
163                        </a>
164                      </li>
165                    </ul>
166                  </div>
167                
168              </div><div class="w-full">
169                
170                  <div class="w-full">
171                    <h4 phx-click="[[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;rotate-90&quot;],&quot;to&quot;:&quot;#arrow-explore&quot;}],[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#explore-items&quot;}]]" class="flex flex-row w-inherit justify-between">
172                      <p class="hover:text-zinc-800 ">
173                        Dados
174                      </p>
175                      <span id="arrow-explore" class="ml-3">
176                        <span class="hero-chevron-up w-4 h-4 rotate-90 transition-transform duration-200"></span>
177                      </span>
178                    </h4>
179                    <ul id="explore-items" class="hidden pl-8">
180                      <li class="pt-4">
181                        <a href="/explore/mapa" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
182                          Mapa
183                        </a>
184                      </li><li class="pt-4">
185                        <a href="/explore/scorecard/1100015" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
186                          Scorecard
187                        </a>
188                      </li><li class="pt-4">
189                        <a href="/explore/data" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
190                          Dados
191                        </a>
192                      </li><li class="pt-4">
193                        <a href="/explore/graficos" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
194                          Gráficos
195                        </a>
196                      </li>
197                    </ul>
198                  </div>
199                
200              </div><div class="w-full">
201                
202                  <div class="w-full">
203                    <h4 phx-click="[[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;rotate-90&quot;],&quot;to&quot;:&quot;#arrow-noticias&quot;}],[&quot;toggle_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#noticias-items&quot;}]]" class="flex flex-row w-inherit justify-between">
204                      <p class="hover:text-zinc-800 ">
205                        Notícias
206                      </p>
207                      <span id="arrow-noticias" class="ml-3">
208                        <span class="hero-chevron-up w-4 h-4 rotate-90 transition-transform duration-200"></span>
209                      </span>
210                    </h4>
211                    <ul id="noticias-items" class="hidden pl-8">
212                      <li class="pt-4">
213                        <a href="/noticias/artigos" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
214                          Artigos
215                        </a>
216                      </li><li class="pt-4">
217                        <a href="/noticias/midia" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
218                          Na Mídia
219                        </a>
220                      </li>
221                    </ul>
222                  </div>
223                
224              </div><div class="w-full">
225                
226                  <a href="/relatorios" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800 font-bold text-zinc-900" aria-current="page">
227                    Relatórios
228                  </a>
229                
230              </div><div class="w-full">
231                
232                  <a href="/contato" data-phx-link="redirect" data-phx-link-state="push" class="hover:text-zinc-800">
233                    Contato
234                  </a>
235                
236              </div>
237              
238<!-- Locale + social (inside scroll) -->
239              <div class="pt-6 mt-4 border-t border-zinc-200 space-y-4 w-full">
240                <p class="text-xs font-semibold text-zinc-500 uppercase tracking-wide">
241                  Idioma
242                </p>
243                <div class="flex flex-wrap gap-3">
244                  <form action="/api/locale" method="post" class="inline">
245                    <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
246                    <input type="hidden" name="return_to" value="/relatorios">
247                    <button name="locale" value="pt" class="text-sm leading-6 font-bold text-zinc-900">
248                      Português
249                    </button>
250                  </form><form action="/api/locale" method="post" class="inline">
251                    <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
252                    <input type="hidden" name="return_to" value="/relatorios">
253                    <button name="locale" value="en" class="text-sm leading-6 text-zinc-600 hover:text-zinc-800">
254                      English
255                    </button>
256                  </form><form action="/api/locale" method="post" class="inline">
257                    <input type="hidden" name="_csrf_token" value="DRkiEGk2PycKMkMqezI9XiAVFRp2Bgh7kuXv9lVtkTnd8kskHySnFkpB">
258                    <input type="hidden" name="return_to" value="/relatorios">
259                    <button name="locale" value="es" class="text-sm leading-6 text-zinc-600 hover:text-zinc-800">
260                      Español
261                    </button>
262                  </form>
263                </div>
264
265                <p class="text-xs font-semibold text-zinc-500 uppercase tracking-wide pt-2">
266                  Redes sociais
267                </p>
268                <div class="flex items-center gap-4">
269  <a href="https://www.instagram.com/ips_brasil/" target="_blank" rel="noopener noreferrer" class="block w-6 h-6" aria-label="Acessar Instagram do IPS Brasil (abre em nova aba)">
270    <img src="/images/instagram_black-d415525c73584dd681fc4c648da33c1a.png?vsn=d" alt="" class="w-full h-full object-contain">
271  </a>
272  <a href="https://www.linkedin.com/company/ipsbrasil/" target="_blank" rel="noopener noreferrer" class="block w-6 h-6" aria-label="Acessar LinkedIn do IPS Brasil (abre em nova aba)">
273    <img src="/images/linkedin_black-cb9ea922ddb09ff1c980caadbe19a2a7.png?vsn=d" alt="" class="w-full h-full object-contain">
274  </a>
275</div>
276              </div>
277            </div>
278          </div>
279        
280  <div id="mobile-header-container-end" tabindex="0" aria-hidden="true"></div>
281</div>
282      </div>
283    </div>
284  </div>
285</nav>
286</header>
287
288<main class="flex-1 px-4 py-4 overflow-x-hidden">
289  <div class="mx-auto w-full max-w-screen-xl">
290    
291  <section class="w-screen relative left-1/2 -translate-x-1/2 bg-[rgba(29,60,68,0.05)] overflow-hidden">
292    <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 items-center min-h-[400px]">
293      <div class="relative h-full min-h-[350px]">
294        <img src="/images/home/reports-f57a00ec7fa63600e255b190f8f94951.png?vsn=d" class="w-full h-full object-cover" alt="Imagem de relatórios publicados pelo IPS Brasil">
295      </div>
296      <div class="flex flex-col justify-center gap-6 px-4 sm:px-6 lg:px-12 py-8">
297        <h1 class="font-extrabold text-[32px] leading-[36px] text-[#111827]">
298          Relatórios
299        </h1>
300        <p class="text-[#374151] text-base leading-6 max-w-[409px]">
301          Faça o download dos relatórios completos publicados pelo Índice de Progresso Social Brasil. Explore os dados detalhados que ajudam a impulsionar mudanças positivas em todas as regiões do país.
302        </p>
303      </div>
304    </div>
305  </section>
306
307  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-12 mt-8">
308    <div class="bg-[#f4f5f6] rounded px-4 sm:px-10 py-3">
309      <div class="flex flex-col gap-3">
310        <p class="font-semibold text-sm leading-6 text-[#27272a]">
311          Ano de publicação
312        </p>
313        <div class="flex gap-2">
314          <button phx-click="change_year" phx-value-year="2026" class="px-4 py-1 rounded text-sm font-medium transition bg-ips-green text-white">
315            2026
316          </button><button phx-click="change_year" phx-value-year="2025" class="px-4 py-1 rounded text-sm font-medium transition bg-gray-200 text-gray-700 hover:bg-gray-300">
317            2025
318          </button><button phx-click="change_year" phx-value-year="2024" class="px-4 py-1 rounded text-sm font-medium transition bg-gray-200 text-gray-700 hover:bg-gray-300">
319            2024
320          </button>
321        </div>
322      </div>
323    </div>
324  </div>
325
326  <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-12 py-8">
327    <div class="flex flex-wrap gap-12 px-2 lg:gap-[73px] justify-center lg:justify-start">
328      <div class="bg-[#f4f5f6] flex flex-col gap-[9px] items-center w-[340px]">
329  <!-- Header -->
330  <div class="bg-[#f9fafb] border border-black/50 rounded-[4px] h-[51px] flex flex-col justify-center px-3 py-2 w-full">
331    <div class="flex items-center justify-between h-[30px] w-full">
332      <h2 class="font-extrabold text-[16px] leading-5 text-[#111827] font-mulish uppercase truncate pr-2">
333        <span class="sr-only">Relatório:</span>
334        RELATÓRIO IPS BRASIL (INGLÊS)
335      </h2>
336      <span class="text-[14px] leading-5 text-black flex-shrink-0">
337        EN
338      </span>
339    </div>
340  </div>
341  
342<!-- Cover image -->
343  <div class="h-[445px] w-[325px] rounded-[4px] shadow-[0px_4px_4px_0px_rgba(0,0,0,0.25)] overflow-hidden">
344    <img src="https://ips-brasil.fly.storage.tigris.dev/87cd86de-bb48-4906-a3e5-2aa88213b8ff.png" alt="" aria-hidden="true" class="w-full h-full object-cover object-center">
345    
346  </div>
347  
348<!-- Download button -->
349  <a href="/relatorios/download/SPI-Brazil2026_EN_digital.pdf" download="relatorio_ips_brasil_ingles.pdf" target="_blank" class="flex items-center justify-center gap-2 w-full bg-[#9cb95a] text-black py-2 px-10 rounded-[4px] text-[16px] font-bold hover:bg-[#8aa54d] transition" aria-label="Baixar RELATÓRIO IPS BRASIL (INGLÊS) em formato PDF">
350    Baixar Relatório
351    <span class="hero-arrow-down-tray w-[21px] h-[21px]"></span>
352  </a>
353  
354</div><div class="bg-[#f4f5f6] flex flex-col gap-[9px] items-center w-[340px]">
355  <!-- Header -->
356  <div class="bg-[#f9fafb] border border-black/50 rounded-[4px] h-[51px] flex flex-col justify-center px-3 py-2 w-full">
357    <div class="flex items-center justify-between h-[30px] w-full">
358      <h2 class="font-extrabold text-[16px] leading-5 text-[#111827] font-mulish uppercase truncate pr-2">
359        <span class="sr-only">Relatório:</span>
360        RELATÓRIO METODOLÓGICO 
361      </h2>
362      <span class="text-[14px] leading-5 text-black flex-shrink-0">
363        PT
364      </span>
365    </div>
366  </div>
367  
368<!-- Cover image -->
369  <div class="h-[445px] w-[325px] rounded-[4px] shadow-[0px_4px_4px_0px_rgba(0,0,0,0.25)] overflow-hidden">
370    <img src="https://ips-brasil.fly.storage.tigris.dev/90b2d17d-641b-40f7-92de-9a9367961422.png" alt="" aria-hidden="true" class="w-full h-full object-cover object-center">
371    
372  </div>
373  
374<!-- Download button -->
375  <a href="/relatorios/download/IPSBrasil2026_RMETODOLOGICO_PT_DIGITAL.pdf" download="IPSBrasil2026_RMETODOLOGICO_PT_DIGITAL.pdf" target="_blank" class="flex items-center justify-center gap-2 w-full bg-[#9cb95a] text-black py-2 px-10 rounded-[4px] text-[16px] font-bold hover:bg-[#8aa54d] transition" aria-label="Baixar RELATÓRIO METODOLÓGICO  em formato PDF">
376    Baixar Relatório
377    <span class="hero-arrow-down-tray w-[21px] h-[21px]"></span>
378  </a>
379  
380</div><div class="bg-[#f4f5f6] flex flex-col gap-[9px] items-center w-[340px]">
381  <!-- Header -->
382  <div class="bg-[#f9fafb] border border-black/50 rounded-[4px] h-[51px] flex flex-col justify-center px-3 py-2 w-full">
383    <div class="flex items-center justify-between h-[30px] w-full">
384      <h2 class="font-extrabold text-[16px] leading-5 text-[#111827] font-mulish uppercase truncate pr-2">
385        <span class="sr-only">Relatório:</span>
386        RELATÓRIO IPS BRASIL 2026
387      </h2>
388      <span class="text-[14px] leading-5 text-black flex-shrink-0">
389        PT
390      </span>
391    </div>
392  </div>
393  
394<!-- Cover image -->
395  <div class="h-[445px] w-[325px] rounded-[4px] shadow-[0px_4px_4px_0px_rgba(0,0,0,0.25)] overflow-hidden">
396    <img src="https://ips-brasil.fly.storage.tigris.dev/ccde0b85-ca7c-46c0-b9fd-2bf4800a3178.png" alt="" aria-hidden="true" class="w-full h-full object-cover object-center">
397    
398  </div>
399  
400<!-- Download button -->
401  <a href="/relatorios/download/IPSBrasil2026_Relatorio%20Geral.pdf" download="IPSBrasil2026_Relatorio Geral.pdf" target="_blank" class="flex items-center justify-center gap-2 w-full bg-[#9cb95a] text-black py-2 px-10 rounded-[4px] text-[16px] font-bold hover:bg-[#8aa54d] transition" aria-label="Baixar RELATÓRIO IPS BRASIL 2026 em formato PDF">
402    Baixar Relatório
403    <span class="hero-arrow-down-tray w-[21px] h-[21px]"></span>
404  </a>
405  
406</div>
407    </div>
408
409    
410  </div>
411
412  </div>
413</main>
414
415<footer class="relative h-[50px] bg-[#212529] flex items-center px-4">
416  <div class="w-full text-center leading-tight">
417    <p class="text-white text-sm">
418      Todos os direitos reservados © IPS 2026
419    </p>
420    <p class="text-white text-xs mt-1">
421      Esse site foi desenvolvido pela
422      <a href="https://notboring.com.br/" target="_blank" rel="noopener noreferrer" class="underline hover:text-gray-300">
423        NOTABC
424      </a>
425    </p>
426  </div>
427</footer>
428
429<div id="lgpd-banner" class="fixed bottom-2 right-2 sm:bottom-4 sm:right-4 bg-white rounded-lg shadow-lg border border-gray-200 w-[calc(100vw-1rem)] max-w-xs sm:max-w-sm z-50">
430  <div class="p-3 sm:p-4">
431    <div class="flex items-center justify-between mb-2 sm:mb-3">
432      <h3 class="text-sm sm:text-lg font-semibold text-gray-900">
433        Cookies e Privacidade
434      </h3>
435      <button phx-click="[[&quot;add_class&quot;,{&quot;names&quot;:[&quot;hidden&quot;],&quot;to&quot;:&quot;#lgpd-banner&quot;}]]" class="text-gray-400 hover:text-gray-600" aria-label="Fechar">
436        <span class="hero-x-mark size-4 sm:size-5"></span>
437      </button>
438    </div>
439
440    <p class="text-xs sm:text-sm text-gray-600 mb-1">
441      Este site utiliza cookies para melhorar sua experiência de navegação e para fins analíticos.
442    </p>
443
444    <button phx-click="[[&quot;show&quot;,{&quot;to&quot;:&quot;#privacy-modal&quot;}]]" class="text-xs sm:text-sm text-gray-600 mb-2 sm:mb-4 underline cursor-pointer">
445      Política de Privacidade
446    </button>
447
448    <div class="flex gap-2 mt-2">
449      <button phx-click="[[&quot;push&quot;,{&quot;value&quot;:{&quot;consent&quot;:&quot;false&quot;},&quot;event&quot;:&quot;lgpd_consent&quot;}],[&quot;hide&quot;,{&quot;to&quot;:&quot;#lgpd-banner&quot;}]]" onclick="fetch(&#39;/api/lgpd&#39;, {method: &#39;POST&#39;, headers: {&#39;content-type&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;x-csrf-token&#39;: document.querySelector(&#39;meta[name=csrf-token]&#39;).content}, body: &#39;consent=false&#39;})" class="flex-1 bg-gray-100 text-gray-700 text-xs sm:text-sm font-medium py-1.5 sm:py-2 px-2 sm:px-3 rounded hover:bg-gray-200 transition">
450        Recusar
451      </button>
452      <button phx-click="[[&quot;push&quot;,{&quot;value&quot;:{&quot;consent&quot;:&quot;true&quot;},&quot;event&quot;:&quot;lgpd_consent&quot;}],[&quot;hide&quot;,{&quot;to&quot;:&quot;#lgpd-banner&quot;}]]" onclick="fetch(&#39;/api/lgpd&#39;, {method: &#39;POST&#39;, headers: {&#39;content-type&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;x-csrf-token&#39;: document.querySelector(&#39;meta[name=csrf-token]&#39;).content}, body: &#39;consent=true&#39;})" class="flex-1 bg-ips-green text-black text-xs sm:text-sm font-medium py-1.5 sm:py-2 px-2 sm:px-3 rounded hover:opacity-90 transition">
453        Aceitar
454      </button>
455    </div>
456  </div>
457</div>
458
459<div id="privacy-modal" class="hidden fixed inset-0 z-[60] flex items-center justify-center bg-black/50" phx-click-away="[[&quot;hide&quot;,{&quot;to&quot;:&quot;#privacy-modal&quot;}]]">
460  <div class="bg-white rounded-lg shadow-lg max-w-xl w-full m-4 max-h-[80vh] flex flex-col">
461    <div class="flex items-center justify-between p-4 border-b">
462      <h3 class="text-lg font-semibold text-gray-900">
463        Política de Privacidade
464      </h3>
465      <button phx-click="[[&quot;hide&quot;,{&quot;to&quot;:&quot;#privacy-modal&quot;}]]" class="text-gray-400 hover:text-gray-600" aria-label="Fechar">
466        <span class="hero-x-mark size-5"></span>
467      </button>
468    </div>
469
470    <div class="p-6 overflow-y-auto text-sm text-gray-600 space-y-4">
471      <p>
472        O IPS Brasil respeita a sua privacidade. Esta política descreve como coletamos, usamos e protegemos suas informações pessoais ao utilizar nosso site.
473      </p>
474
475      <div>
476        <h4 class="font-semibold mb-2">1. Informações coletadas</h4>
477        <p class="mb-2">Coletamos as seguintes informações:</p>
478        <ul class="list-disc list-outside pl-5 space-y-1">
479          <li>Dados de navegação (páginas visitadas, tempo de permanência)</li>
480          <li>
481            Informações do dispositivo (tipo de navegador, sistema operacional)
482          </li>
483        </ul>
484      </div>
485
486      <div>
487        <h4 class="font-semibold mb-2">2. Uso das informações</h4>
488        <p class="mb-2">Utilizamos suas informações para:</p>
489        <ul class="list-disc list-outside pl-5 space-y-1">
490          <li>Melhorar a experiência de navegação</li>
491          <li>Análise estatística de uso do site</li>
492          <li>Personalização de conteúdo</li>
493        </ul>
494      </div>
495
496      <div>
497        <h4 class="font-semibold mb-2">3. Cookies</h4>
498        <p>
499          Utilizamos cookies essenciais para o funcionamento do site e cookies analíticos para entender como você interage com nosso conteúdo. Você pode gerenciar suas preferências de cookies a qualquer momento.
500        </p>
501      </div>
502
503      <div>
504        <h4 class="font-semibold mb-2">4. Compartilhamento de dados</h4>
505        <p>
506          Não compartilhamos suas informações pessoais com terceiros, exceto quando necessário para o funcionamento do site ou quando exigido por lei.
507        </p>
508      </div>
509
510      <div>
511        <h4 class="font-semibold mb-2">5. Seus direitos</h4>
512        <p class="mb-2">Conforme a LGPD, você tem direito a:</p>
513        <ul class="list-disc list-outside pl-5 space-y-1">
514          <li>Acessar seus dados pessoais coletados</li>
515          <li>Solicitar a exclusão de seus dados</li>
516        </ul>
517        <p class="mt-2">
518          Para exercer seus direitos, entre em contato conosco através da página de contato.
519        </p>
520      </div>
521
522      <div>
523        <h4 class="font-semibold mb-2">6. Alterações nesta política</h4>
524        <p>
525          Reservamo-nos o direito de atualizar esta política de privacidade a qualquer momento. Alterações significativas serão comunicadas através do site.
526        </p>
527      </div>
528    </div>
529  </div>
530</div>
531
532<div id="flash-group" aria-live="polite">
533  
534  
535
536  <div id="client-error" phx-click="[[&quot;push&quot;,{&quot;value&quot;:{&quot;key&quot;:&quot;error&quot;},&quot;event&quot;:&quot;lv:clear-flash&quot;}],[&quot;hide&quot;,{&quot;time&quot;:200,&quot;to&quot;:&quot;#client-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;]]}]]" role="alert" class="toast toast-top toast-end z-50" hidden phx-connected="[[&quot;hide&quot;,{&quot;time&quot;:200,&quot;to&quot;:&quot;#client-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;]]}],[&quot;set_attr&quot;,{&quot;attr&quot;:[&quot;hidden&quot;,&quot;&quot;]}]]" phx-disconnected="[[&quot;show&quot;,{&quot;time&quot;:300,&quot;to&quot;:&quot;.phx-client-error #client-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-out&quot;,&quot;duration-300&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;]]}],[&quot;remove_attr&quot;,{&quot;attr&quot;:&quot;hidden&quot;}]]">
537  <div class="alert w-80 sm:w-96 max-w-80 sm:max-w-96 text-wrap alert-error">
538    
539    <span class="hero-exclamation-circle size-5 shrink-0"></span>
540    <div>
541      <p class="font-semibold">Não conseguimos achar a internet</p>
542      <p>
543    Tentando reconectar
544    <span class="hero-arrow-path ml-1 size-3 motion-safe:animate-spin"></span>
545  </p>
546    </div>
547    <div class="flex-1"></div>
548    <button type="button" class="group self-start cursor-pointer" aria-label="fechar">
549      <span class="hero-x-mark size-5 opacity-40 group-hover:opacity-70"></span>
550    </button>
551  </div>
552</div>
553
554  <div id="server-error" phx-click="[[&quot;push&quot;,{&quot;value&quot;:{&quot;key&quot;:&quot;error&quot;},&quot;event&quot;:&quot;lv:clear-flash&quot;}],[&quot;hide&quot;,{&quot;time&quot;:200,&quot;to&quot;:&quot;#server-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;]]}]]" role="alert" class="toast toast-top toast-end z-50" hidden phx-connected="[[&quot;hide&quot;,{&quot;time&quot;:200,&quot;to&quot;:&quot;#server-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-in&quot;,&quot;duration-200&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;]]}],[&quot;set_attr&quot;,{&quot;attr&quot;:[&quot;hidden&quot;,&quot;&quot;]}]]" phx-disconnected="[[&quot;show&quot;,{&quot;time&quot;:300,&quot;to&quot;:&quot;.phx-server-error #server-error&quot;,&quot;transition&quot;:[[&quot;transition-all&quot;,&quot;ease-out&quot;,&quot;duration-300&quot;],[&quot;opacity-0&quot;,&quot;translate-y-4&quot;,&quot;sm:translate-y-0&quot;,&quot;sm:scale-95&quot;],[&quot;opacity-100&quot;,&quot;translate-y-0&quot;,&quot;sm:scale-100&quot;]]}],[&quot;remove_attr&quot;,{&quot;attr&quot;:&quot;hidden&quot;}]]">
555  <div class="alert w-80 sm:w-96 max-w-80 sm:max-w-96 text-wrap alert-error">
556    
557    <span class="hero-exclamation-circle size-5 shrink-0"></span>
558    <div>
559      <p class="font-semibold">Algo deu errado!</p>
560      <p>
561    Tentando reconectar
562    <span class="hero-arrow-path ml-1 size-3 motion-safe:animate-spin"></span>
563  </p>
564    </div>
565    <div class="flex-1"></div>
566    <button type="button" class="group self-start cursor-pointer" aria-label="fechar">
567      <span class="hero-x-mark size-5 opacity-40 group-hover:opacity-70"></span>
568    </button>
569  </div>
570</div>
571</div></div>
572  </body>
573</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.