Pular para o conteúdo
AR Online

Home - 170926 - V2

[et_pb_section fb_built="1" fullwidth="on" admin_label="Trilha" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Trilha de auditoria Sua visita, carimbada em tempo real — como fazemos com cada notificação. Chegada O que é a AR Online Sua economia Vídeo Físico × Online Como funciona Canais Diferenciais Segmentos Perguntas Proposta 0/11 etapas carimbadas nesta visita

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Hero" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" hover_enabled="0" global_colors_info="{}" sticky_enabled="0"](function(d){try{if(!window.matchMedia("(prefers-reduced-motion: reduce)").matches){d.classList.add("arx-js");setTimeout(function(){if(!d.classList.contains("arx-motion")){d.classList.remove("arx-js")}},4000)}}catch(e){}})(document.documentElement);

poster="https://ar-online.com.br/wp-content/uploads/2026/09/hero-ar-online-poster.webp" data-src-desktop="https://ar-online.com.br/wp-content/uploads/2026/09/hero-ar-online-desktop.mp4" data-src-mobile="https://ar-online.com.br/wp-content/uploads/2026/09/hero-ar-online-desktop.mp4">

A notificação chega em minutos. A prova jurídica, junto com ela. Envie notificações por e-mail, SMS, WhatsApp, voz e carta.
Cada etapa do envio é autenticada com Carimbo do Tempo ICP‑Brasil para formar uma prova robusta, pronta para auditorias, reguladores e processos. Falar com um especialista Calcular minha economia

Fé públicaICP-Brasil

Comprovante de Notificação AR Nº 2026.184.00731

1 Envio registrado— · Carimbo do Tempo aplicado Autenticado

2 Entrega confirmada— · servidor do destinatário Autenticado

3 Abertura da mensagem— · Carimbo do Tempo aplicado Autenticado

hash SHA-256: 9f2a…c41e · trilha de auditoria completa · válido como prova documental

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Clientes Logos" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

McDonald

Quem confia suas notificações à AR Online

Unimed
SPC Brasil
Senac
Milk Moo
Giraffas
CDL

Empresas de alimentação, saúde, educação, comércio e cobrança em todo o Brasil confiam suas comunicações à AR Online.

Utilizada por empresas, conselhos profissionais, operadoras de saúde, instituições financeiras e organizações de diversos segmentos em todo o Brasil.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Resposta Direta" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

O que é a AR Online? A AR Online é a plataforma brasileira de notificação extrajudicial multicanal que envia Avisos de Recebimento por e-mail, SMS, WhatsApp, voz e carta, autenticando cada etapa — envio, entrega e abertura — com Carimbo do Tempo ICP-Brasil, a infraestrutura de fé pública da MP 2.200-2/2001. Em operação desde 2014, já são mais de 50 milhões de ARs enviados com custo até 70% menor que o AR físico dos Correios, sem registro de comprovante recusado pela Justiça ou por órgãos reguladores.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Numeros Prova" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

50+ milhões de ARs enviados

0 registros de AR recusado pela Justiça ou por reguladores

–70% de custo em relação ao AR físico dos Correios

10+ anos de operação desde 2014

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Calculadora" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Quanto sua operação economiza ao sair do papel? Arraste o volume mensal de notificações e compare com o que você gasta hoje em AR físico. A conta é sua — nós só fazemos o carimbo. Notificações por mês do envio avulso ao alto volume regulado 1.000 / mês

Custo médio do seu AR físico hoje (R$) AR dos Correios + papel, impressão, envelope e mão de obra R$

Sua estimativa Custo atual com AR físicoR$ 25.000

Custo estimado com AR OnlineR$ 7.500

Economia estimada R$ 17.500

por mês · R$ 210.000 por ano Quero uma proposta para este volume

Estimativa ilustrativa com redução de 70%, a referência mínima observada. Volumes maiores obtêm condições melhores — peça a proposta exata para o seu caso.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Video" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Como o CRA-MG reduziu R$ 500 mil em custos com notificações. src="https://ar-online.com.br/wp-content/uploads/2026/08/depoimento-cra-mg-aronline.mp4" controls preload="metadata" playsinline controlsList="nodownload" title="Depoimento CRA-MG — como a tecnologia reduziu R$ 500 mil em custos"> Seu navegador não reproduz vídeo HTML5. Abrir o vídeo em outra aba.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Comparativo" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

O AR físico custa caro — em dinheiro, em dias e em risco. Imprimir, envelopar, postar, aguardar o carteiro e arquivar papel. Cada etapa manual é um custo e uma chance de a prova falhar quando você mais precisa dela.

AR físico tradicional Dias ou semanas até a confirmação de recebimento Custo de papel, impressão, envelope e mão de obra — antes mesmo da postagem Destinatário pode recusar a entrega ou estar ausente Greves, extravios e falhas de logística fora do seu controle Recibos em papel para digitalizar, arquivar e localizar depois

AR Online Notificação eletrônica multicanal Entrega e comprovação em minutos, com trilha de auditoria completa Redução de 70% ou mais no custo por notificação Carimbo do Tempo ICP-Brasil no envio, na entrega e na abertura Réguas multicanal: se o e-mail não for aberto, dispara SMS, WhatsApp ou voz Dossiê digital pronto para apresentar em juízo — guarda por 3 anos inclusa

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Como Funciona" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Três passos entre a sua planilha e a prova constituída. Sem projeto de TI obrigatório: quem quiser começa pelo Portal hoje. Quem precisa de escala integra por API, envio de arquivo ou sufixo de e-mail.

PASSO 01 — ENVIO Você envia como preferir Portal web, API, upload de arquivo em lote ou sufixo no e-mail. Sua base passa por sanitização gratuita, que separa contatos inválidos antes do disparo — você não paga por envio perdido. PASSO 02 — AUTENTICAÇÃO Cada etapa é autenticada com Carimbo do Tempo ICP-Brasil Carimbo do Tempo ICP-Brasil aplicado nos logs de envio, entrega e abertura da mensagem — extensível à captura de cliques. Utilizado conforme a Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil), instituída pela MP nº 2.200-2/2001, não um selo privado. PASSO 03 — PROVA Dossiê pronto para juízo Comprovante legível com trilha de auditoria completa, armazenado por 3 anos sem custo extra. Localize e apresente qualquer prova em segundos, sem contratar serviço de guarda.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Canais" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Cinco canais, uma régua de comunicação. Cada pessoa atende por um canal diferente. Combine-os em réguas automáticas — AR-Email, e em 72h sem abertura, AR-SMS ou WhatsApp — e multiplique as chances de recebimento e as provas geradas.

AR-EmailCom seu próprio domínio e monitoramento de reputação

AR-SMSAlcança qualquer celular, sem internet

AR-WhatsAppO canal com maior taxa de leitura do Brasil

AR-VozLigação com mensagem gravada e registro

AR-CartasPostal híbrido com registro digital, quando o papel é exigido

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Diferenciais" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Todas as camadas de prova em um único serviço. Concorrentes economizam onde não aparece — certificação privada, domínio genérico, guarda cobrada à parte. Nós construímos cada camada para resistir a contestação.

[ 01 · certificação ] ICP-Brasil, não selo privado Autenticação com Carimbo do Tempo ICP-Brasil, conforme a MP nº 2.200-2/2001. Soluções baseadas em infraestruturas distintas podem possuir regimes jurídicos diferentes.

[ 02 · entregabilidade ] Envio pelo seu domínio E-mails saem em nome da sua empresa, com homologação do domínio e monitoramento de reputação de IP — mais confiança do notificado e melhores taxas de entrega.

[ 03 · qualidade ] Sanitização de base inclusa Sua lista de e-mails e celulares é higienizada antes do disparo, sem custo extra. Menos bounce, mais reputação, zero desperdício.

[ 04 · guarda ] Provas guardadas por 3 anos, grátis Comprovantes legíveis e localizáveis, sem serviço de guarda obrigatório. Após o período, a extensão custa centavos por documento ao ano.

[ 05 · atendimento ] Atendimento VIP multicanal Grupo de WhatsApp dedicado com os envolvidos desde a implantação. Time técnico e jurídico à disposição — não um chatbot de fila.

[ 06 · consultoria ] Assessoria em réguas e conteúdo Desenho das melhores práticas de notificação, criação de réguas multicanal e conversão do seu conteúdo para HTML testado nas principais caixas de e-mail.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Segmentos" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

Feito para quem responde a regulador, contrato e juiz. Atendemos operações reguladas e de alto volume há mais de uma década — cada segmento com régua, modelo de notificação e parecer jurídico adequados.

Operadoras de saúde Notificação de inadimplência conforme a RN 593, com registros capazes de atender aos requisitos de comprovação previstos na norma. Unimeds, Athena Saúde e dezenas de operadoras já operam conosco. RN 593 / ANS Cobrança e cessão de crédito Notificações de cessão e cobrança extrajudicial em escala, com dossiê pronto para a judicialização — o caminho usado por SPC Brasil e grandes carteiras. Art. 290 · CC Construtoras e imobiliárias Constituição em mora, distratos e comunicações de assembleia com registros autenticados por Carimbo do Tempo ICP-Brasil. Distrato & mora Conselhos de classe Intimações e cobrança de anuidades com economia para o erário e celeridade nos processos — CRAs, CROs e CREFs em diversos estados. Fiscalização Utilities e serviços Avisos de corte, débito e reajuste para bases de milhões de clientes, como Energisa e Águas de Manaus — com sanitização e relatórios de entrega. Alto volume Escritórios e departamentos legais Notificação extrajudicial avulsa ou recorrente, sem franquia mínima: compre créditos e envie pelo Portal em minutos, com parecer técnico-jurídico disponível. Jurídico

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="Depoimentos" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

A confiança de quem notifica milhões. “O atendimento é diferenciado do início ao fim — implantação acompanhada de perto e respostas imediatas pelo grupo dedicado.” MFMichel FelixSupervisor · SPC Brasil “Ganhamos economia e celeridade nos processos. A validade jurídica das notificações nunca foi questionada.” APAlexandre ParizResponsável Jurídico · CDL Vitória

Quero falar com um especialista Solicitar uma demonstração

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="FAQ" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

As dúvidas que o seu jurídico vai fazer estão aqui.

A notificação eletrônica tem validade jurídica? Sim. Cada envio, entrega e abertura recebe Carimbo do Tempo ICP-Brasil, a infraestrutura de fé pública instituída pela MP 2.200-2/2001. Em mais de 50 milhões de ARs enviados, não há registro de comprovante recusado pela Justiça ou por órgãos reguladores. Fornecemos parecer técnico-jurídico para o seu departamento legal. Preciso de equipe de TI para começar? Não. Pelo Portal você envia notificações hoje, sem integração. Para volume, aceitamos arquivo em lote (Excel/CSV em pasta segura), sufixo de e-mail ou API completa — você escolhe o caminho e pode evoluir depois. E se o destinatário não abrir o e-mail? A régua multicanal resolve: sem abertura em até 72h, o sistema dispara automaticamente AR-SMS, WhatsApp ou voz. Cada tentativa gera prova própria — mais canais, mais chances de recebimento e mais evidências para eventual judicialização. Quanto custa em relação ao AR dos Correios? A redução é de 70% ou mais por notificação — sem contar papel, impressão, envelope e mão de obra, que muitas vezes custam mais que o nosso serviço inteiro. Compramos Carimbos do Tempo em grande volume e repassamos essa economia. Use a calculadora e peça uma proposta para o seu volume. Como acesso as provas depois? Há custo de guarda? Os comprovantes ficam guardados por 3 anos sem custo, em formato legível e localizável em segundos. Após esse período, a extensão custa apenas o valor básico de servidor — R$ 0,17 por documento ao ano. Sem serviço de guarda obrigatório, sem surpresa. Atende aos requisitos da RN 593 da ANS? Sim. Operadoras de saúde usam a AR Online para notificação de inadimplência conforme a RN 593, com comprovação de recebimento nos padrões exigidos pela ANS. Disponibilizamos modelos de notificação e e-book específico sobre a norma.

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="CTA FINAL" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]

FÉ PÚBLICA · ICP-BRASIL · FÉ PÚBLICA · ICP-BRASIL ·

Receba uma proposta para o seu volume ainda hoje. Conte seu caso de uso a um especialista — retornamos com proposta, parecer jurídico e modelo de notificação adequados ao seu segmento. Falar com um especialista Ligar: (11) 4200-7766

Sem franquia mínima para começar · Créditos pré-pagos ou plano personalizado · Implantação acompanhada por grupo dedicado

[/et_pb_fullwidth_code][/et_pb_section][et_pb_section fb_built="1" fullwidth="on" admin_label="JS GLOBAL" _builder_version="4.27.4" _module_preset="default" da_disable_devices="off|off|off" global_colors_info="{}" da_is_popup="off" da_exit_intent="off" da_has_close="on" da_alt_close="off" da_dark_close="off" da_not_modal="on" da_is_singular="off" da_with_loader="off" da_has_shadow="on"][et_pb_fullwidth_code _builder_version="4.27.4" _module_preset="default" global_colors_info="{}"]<!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] --> "use strict";<!-- [et_pb_line_break_holder] --> var root = document.documentElement;<!-- [et_pb_line_break_holder] --> var reduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;<!-- [et_pb_line_break_holder] --> var GSAP_CDN = "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/";<!-- [et_pb_line_break_holder] --> function q(sel, ctx){ return (ctx || document).querySelector(sel); }<!-- [et_pb_line_break_holder] --> function qa(sel, ctx){ return Array.prototype.slice.call((ctx || document).querySelectorAll(sel)); }<!-- [et_pb_line_break_holder] --> /* ═══ repasse de UTMs ═══════════════════════════════════════════<!-- [et_pb_line_break_holder] --> A primeira ocorrência das UTMs fica em sessionStorage e segue para<!-- [et_pb_line_break_holder] --> os links internos (/pre-pago/, /contato/...) em toda a visita. */<!-- [et_pb_line_break_holder] --> var UTM_KEYS = ["utm_source","utm_medium","utm_campaign","utm_id","utm_term","utm_content","gclid","fbclid"];<!-- [et_pb_line_break_holder] --> var UTM_STORE = "arOnlineUtms";<!-- [et_pb_line_break_holder] --> var UTMS = (function(){<!-- [et_pb_line_break_holder] --> var src = new URLSearchParams(window.location.search), out = {}, has = false;<!-- [et_pb_line_break_holder] --> UTM_KEYS.forEach(function(k){<!-- [et_pb_line_break_holder] --> var v = src.get(k);<!-- [et_pb_line_break_holder] --> if(v){ out[k] = v; has = true; }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> try{<!-- [et_pb_line_break_holder] --> if(has){<!-- [et_pb_line_break_holder] --> sessionStorage.setItem(UTM_STORE, JSON.stringify(out));<!-- [et_pb_line_break_holder] --> }else{<!-- [et_pb_line_break_holder] --> var saved = JSON.parse(sessionStorage.getItem(UTM_STORE) || "null");<!-- [et_pb_line_break_holder] --> if(saved && Object.keys(saved).length){ out = saved; has = true; }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }catch(e){ /* storage bloqueado: segue só com a URL */ }<!-- [et_pb_line_break_holder] --> return has ? out : null;<!-- [et_pb_line_break_holder] --> })();<!-- [et_pb_line_break_holder] --> window.arOnlineUtms = UTMS || {};<!-- [et_pb_line_break_holder] --> function withUtms(raw){<!-- [et_pb_line_break_holder] --> try{<!-- [et_pb_line_break_holder] --> var u = new URL(raw, window.location.origin);<!-- [et_pb_line_break_holder] --> if(u.origin !== window.location.origin) return raw;<!-- [et_pb_line_break_holder] --> Object.keys(UTMS).forEach(function(k){<!-- [et_pb_line_break_holder] --> if(!u.searchParams.has(k)) u.searchParams.set(k, UTMS[k]);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> return u.href;<!-- [et_pb_line_break_holder] --> }catch(e){ return raw; }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function forwardUtms(){<!-- [et_pb_line_break_holder] --> if(!UTMS) return;<!-- [et_pb_line_break_holder] --> qa("a[href]").forEach(function(a){<!-- [et_pb_line_break_holder] --> var h = a.getAttribute("href");<!-- [et_pb_line_break_holder] --> if(!h || h.charAt(0) === "#") return;<!-- [et_pb_line_break_holder] --> a.setAttribute("href", withUtms(h));<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ═══ carregamento do GSAP ══════════════════════════════════════<!-- [et_pb_line_break_holder] --> Os scripts entram por aqui, e não por tags no HTML, para funcionar<!-- [et_pb_line_break_holder] --> mesmo com as opções de adiar JS do Divi ligadas. */<!-- [et_pb_line_break_holder] --> function loadScript(src){<!-- [et_pb_line_break_holder] --> return new Promise(function(resolve, reject){<!-- [et_pb_line_break_holder] --> var s = document.createElement("script");<!-- [et_pb_line_break_holder] --> s.src = src; s.async = false;<!-- [et_pb_line_break_holder] --> s.onload = resolve; s.onerror = reject;<!-- [et_pb_line_break_holder] --> document.head.appendChild(s);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function loadGsap(){<!-- [et_pb_line_break_holder] --> var chain = Promise.resolve();<!-- [et_pb_line_break_holder] --> if(!window.gsap) chain = chain.then(function(){ return loadScript(GSAP_CDN + "gsap.min.js"); });<!-- [et_pb_line_break_holder] --> return chain<!-- [et_pb_line_break_holder] --> .then(function(){ return window.ScrollTrigger ? null : loadScript(GSAP_CDN + "ScrollTrigger.min.js"); })<!-- [et_pb_line_break_holder] --> .then(function(){ return window.CustomEase ? null : loadScript(GSAP_CDN + "CustomEase.min.js"); });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* altura do header global: a hero desconta essa faixa na primeira dobra */<!-- [et_pb_line_break_holder] --> function measureHeader(){<!-- [et_pb_line_break_holder] --> var h = q(".et-l--header");<!-- [et_pb_line_break_holder] --> root.style.setProperty("--arx-head", (h ? Math.round(h.getBoundingClientRect().height) : 0) + "px");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ── 02 · horários vivos no comprovante ── */<!-- [et_pb_line_break_holder] --> function liveTimestamps(){<!-- [et_pb_line_break_holder] --> var now = new Date();<!-- [et_pb_line_break_holder] --> qa("[data-live-ts]").forEach(function(el){<!-- [et_pb_line_break_holder] --> var offset = parseInt(el.getAttribute("data-live-ts"), 10) || 0;<!-- [et_pb_line_break_holder] --> var t = new Date(now.getTime() + offset * 1000);<!-- [et_pb_line_break_holder] --> el.textContent = t.toLocaleDateString("pt-BR") + " · " + t.toLocaleTimeString("pt-BR") + " · " + el.textContent.split("· ").pop();<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ── 02 · vídeo de fundo ──<!-- [et_pb_line_break_holder] --> Só baixa depois que a página carrega, escolhe o arquivo pelo tamanho<!-- [et_pb_line_break_holder] --> da tela e pausa quando a hero sai da tela. Com movimento reduzido o<!-- [et_pb_line_break_holder] --> vídeo não toca (fica o poster, se houver). */<!-- [et_pb_line_break_holder] --> function heroVideo(){<!-- [et_pb_line_break_holder] --> var v = q("[data-hero-video]");<!-- [et_pb_line_break_holder] --> if(!v) return;<!-- [et_pb_line_break_holder] --> /* com capa, ela aparece na hora; o vídeo assume do mesmo quadro */<!-- [et_pb_line_break_holder] --> if(v.getAttribute("poster")) v.classList.add("is-ready");<!-- [et_pb_line_break_holder] --> if(reduced) return;<!-- [et_pb_line_break_holder] --> var mobile = window.matchMedia("(max-width: 767px)").matches;<!-- [et_pb_line_break_holder] --> var src = (mobile && v.getAttribute("data-src-mobile")) || v.getAttribute("data-src-desktop");<!-- [et_pb_line_break_holder] --> if(!src || src.indexOf("{{") === 0) return;<!-- [et_pb_line_break_holder] --> function ready(){ v.classList.add("is-ready"); }<!-- [et_pb_line_break_holder] --> v.addEventListener("loadeddata", ready, {once:true});<!-- [et_pb_line_break_holder] --> v.src = src;<!-- [et_pb_line_break_holder] --> v.muted = true;<!-- [et_pb_line_break_holder] --> function play(){ var p = v.play(); if(p && p.catch) p.catch(function(){}); }<!-- [et_pb_line_break_holder] --> play();<!-- [et_pb_line_break_holder] --> if(v.readyState >= 2) ready();<!-- [et_pb_line_break_holder] --> if("IntersectionObserver" in window){<!-- [et_pb_line_break_holder] --> new IntersectionObserver(function(entries){<!-- [et_pb_line_break_holder] --> entries.forEach(function(e){ if(e.isIntersecting) play(); else v.pause(); });<!-- [et_pb_line_break_holder] --> }, {threshold:0}).observe(v);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ── 06 · calculadora ──<!-- [et_pb_line_break_holder] --> Atualiza na hora, sem animar os números: o slider é arrastado sem<!-- [et_pb_line_break_holder] --> parar e qualquer atraso no valor pareceria travado. */<!-- [et_pb_line_break_holder] --> function calculator(){<!-- [et_pb_line_break_holder] --> var vol = q("#vol"), unit = q("#unit");<!-- [et_pb_line_break_holder] --> if(!vol || !unit) return;<!-- [et_pb_line_break_holder] --> var volOut = q("#volOut"), costPhys = q("#costPhys"), costOnline = q("#costOnline");<!-- [et_pb_line_break_holder] --> var savings = q("#savings"), savingsYear = q("#savingsYear");<!-- [et_pb_line_break_holder] --> var brl = new Intl.NumberFormat("pt-BR", {style:"currency", currency:"BRL", maximumFractionDigits:0});<!-- [et_pb_line_break_holder] --> var nf = new Intl.NumberFormat("pt-BR");<!-- [et_pb_line_break_holder] --> function sliderToVolume(v){<!-- [et_pb_line_break_holder] --> var min = Math.log(50), max = Math.log(100000);<!-- [et_pb_line_break_holder] --> var raw = Math.exp(min + (max - min) * (v / 100));<!-- [et_pb_line_break_holder] --> if(raw < 1000) return Math.round(raw / 50) * 50;<!-- [et_pb_line_break_holder] --> if(raw < 10000) return Math.round(raw / 500) * 500;<!-- [et_pb_line_break_holder] --> return Math.round(raw / 1000) * 1000;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function updateFill(){<!-- [et_pb_line_break_holder] --> var min = parseFloat(vol.min) || 0, max = parseFloat(vol.max) || 100;<!-- [et_pb_line_break_holder] --> vol.style.setProperty("--fill-pct", ((parseFloat(vol.value) - min) / (max - min)) * 100 + "%");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function recalc(){<!-- [et_pb_line_break_holder] --> var volume = sliderToVolume(parseFloat(vol.value));<!-- [et_pb_line_break_holder] --> var u = parseFloat(String(unit.value).replace(",", ".")) || 25;<!-- [et_pb_line_break_holder] --> var phys = volume * u;<!-- [et_pb_line_break_holder] --> var online = phys * 0.30;<!-- [et_pb_line_break_holder] --> volOut.textContent = nf.format(volume);<!-- [et_pb_line_break_holder] --> costPhys.textContent = brl.format(phys);<!-- [et_pb_line_break_holder] --> costOnline.textContent = brl.format(online);<!-- [et_pb_line_break_holder] --> savings.textContent = brl.format(phys - online);<!-- [et_pb_line_break_holder] --> savingsYear.textContent = brl.format((phys - online) * 12);<!-- [et_pb_line_break_holder] --> updateFill();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> vol.addEventListener("input", recalc);<!-- [et_pb_line_break_holder] --> unit.addEventListener("input", recalc);<!-- [et_pb_line_break_holder] --> recalc();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ── CTAs que abrem o popup de WhatsApp (.js-open-wa) ──<!-- [et_pb_line_break_holder] --> Sem widget na página, o href wa.me do próprio link segue valendo. */<!-- [et_pb_line_break_holder] --> var WA_SELECTORS = [<!-- [et_pb_line_break_holder] --> "#wppMainBtn",<!-- [et_pb_line_break_holder] --> ".wpp-main-btn", ".wpp-btn-main", "#wpp-main-btn",<!-- [et_pb_line_break_holder] --> ".joinchat__button", ".joinchat .joinchat__button",<!-- [et_pb_line_break_holder] --> ".chaty-main-btn", "#chaty-widget-0 .chaty-btn-wrap",<!-- [et_pb_line_break_holder] --> ".ht-ctc-chat", ".wa__button", ".wa-chat-box-toggle"<!-- [et_pb_line_break_holder] --> ];<!-- [et_pb_line_break_holder] --> function findWaWidget(){<!-- [et_pb_line_break_holder] --> for(var i = 0; i < WA_SELECTORS.length; i++){<!-- [et_pb_line_break_holder] --> var el = document.querySelector(WA_SELECTORS[i]);<!-- [et_pb_line_break_holder] --> if(el && el.getClientRects().length) return el;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> return null;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function whatsappCtas(){<!-- [et_pb_line_break_holder] --> qa(".js-open-wa").forEach(function(a){<!-- [et_pb_line_break_holder] --> a.addEventListener("click", function(e){<!-- [et_pb_line_break_holder] --> window.dataLayer = window.dataLayer || [];<!-- [et_pb_line_break_holder] --> window.dataLayer.push({<!-- [et_pb_line_break_holder] --> event: "abrir_whatsapp",<!-- [et_pb_line_break_holder] --> origem: a.getAttribute("data-qual") || "",<!-- [et_pb_line_break_holder] --> rotulo: (a.textContent || "").trim().slice(0, 60)<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> var w = findWaWidget();<!-- [et_pb_line_break_holder] --> if(!w) return;<!-- [et_pb_line_break_holder] --> e.preventDefault();<!-- [et_pb_line_break_holder] --> /* sem stopPropagation o widget recebe o mesmo clique como<!-- [et_pb_line_break_holder] --> "clique fora" e fecha o popup no instante em que abre */<!-- [et_pb_line_break_holder] --> e.stopPropagation();<!-- [et_pb_line_break_holder] --> var panel = document.getElementById("wppOptions");<!-- [et_pb_line_break_holder] --> if(panel && panel.classList.contains("open")) return;<!-- [et_pb_line_break_holder] --> var target = w.matches("a,button") ? w : (w.querySelector("a,button") || w);<!-- [et_pb_line_break_holder] --> target.click();<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ── 01 · trilha de auditoria ── */<!-- [et_pb_line_break_holder] --> function auditRail(){<!-- [et_pb_line_break_holder] --> var railList = q("#railList"), rail = q("#arxRail");<!-- [et_pb_line_break_holder] --> if(!railList || !rail) return;<!-- [et_pb_line_break_holder] --> var items = {};<!-- [et_pb_line_break_holder] --> qa("li", railList).forEach(function(li){ items[li.getAttribute("data-for")] = li; });<!-- [et_pb_line_break_holder] --> var total = qa("li", railList).length, count = 0, railCount = q("#railCount");<!-- [et_pb_line_break_holder] --> function stamp(id){<!-- [et_pb_line_break_holder] --> var li = items[id];<!-- [et_pb_line_break_holder] --> if(!li || li.classList.contains("stamped")) return;<!-- [et_pb_line_break_holder] --> li.classList.add("stamped");<!-- [et_pb_line_break_holder] --> var ts = q(".ts", li);<!-- [et_pb_line_break_holder] --> if(ts) ts.textContent = "carimbado às " + new Date().toLocaleTimeString("pt-BR");<!-- [et_pb_line_break_holder] --> count++;<!-- [et_pb_line_break_holder] --> if(railCount) railCount.textContent = count + "/" + total;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function setActive(id){<!-- [et_pb_line_break_holder] --> Object.keys(items).forEach(function(k){ items[k].classList.toggle("active", k === id); });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* a linha do meio da tela decide a seção atual: com a hero presa<!-- [et_pb_line_break_holder] --> durante a rolagem, um limiar por área nunca seria atingido */<!-- [et_pb_line_break_holder] --> var obs = new IntersectionObserver(function(entries){<!-- [et_pb_line_break_holder] --> entries.forEach(function(e){<!-- [et_pb_line_break_holder] --> if(!e.isIntersecting) return;<!-- [et_pb_line_break_holder] --> var id = e.target.id || (e.target.hasAttribute("data-hero") ? "topo" : null);<!-- [et_pb_line_break_holder] --> if(!id) return;<!-- [et_pb_line_break_holder] --> stamp(id); setActive(id);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }, {rootMargin:"-45% 0px -45% 0px", threshold:0});<!-- [et_pb_line_break_holder] --> qa("[data-audit], #resposta").forEach(function(s){ obs.observe(s); });<!-- [et_pb_line_break_holder] --> stamp("topo"); setActive("topo");<!-- [et_pb_line_break_holder] --> /* a trilha só aparece depois da hero, para não cobrir o comprovante */<!-- [et_pb_line_break_holder] --> var hero = q("[data-hero]"), ticking = false;<!-- [et_pb_line_break_holder] --> function updateLive(){<!-- [et_pb_line_break_holder] --> ticking = false;<!-- [et_pb_line_break_holder] --> var end = hero ? hero.getBoundingClientRect().bottom : 0;<!-- [et_pb_line_break_holder] --> rail.classList.toggle("is-live", end < window.innerHeight * 0.4);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> window.addEventListener("scroll", function(){<!-- [et_pb_line_break_holder] --> if(!ticking){ ticking = true; window.requestAnimationFrame(updateLive); }<!-- [et_pb_line_break_holder] --> }, {passive:true});<!-- [et_pb_line_break_holder] --> updateLive();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* ═══ movimento (GSAP) ══════════════════════════════════════════ */<!-- [et_pb_line_break_holder] --> function motion(){<!-- [et_pb_line_break_holder] --> var gsap = window.gsap, ST = window.ScrollTrigger;<!-- [et_pb_line_break_holder] --> gsap.registerPlugin(ST);<!-- [et_pb_line_break_holder] --> if(window.CustomEase){<!-- [et_pb_line_break_holder] --> gsap.registerPlugin(window.CustomEase);<!-- [et_pb_line_break_holder] --> window.CustomEase.create("arxOut", "0.23,1,0.32,1");<!-- [et_pb_line_break_holder] --> window.CustomEase.create("arxInOut", "0.77,0,0.175,1");<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> var EASE_OUT = window.CustomEase ? "arxOut" : "expo.out";<!-- [et_pb_line_break_holder] --> var EASE_INOUT = window.CustomEase ? "arxInOut" : "power3.inOut";<!-- [et_pb_line_break_holder] --> ST.config({ignoreMobileResize:true});<!-- [et_pb_line_break_holder] --> /* arx-js pode ter sido retirado pelo tempo-limite da hero se o CDN<!-- [et_pb_line_break_holder] --> demorou; o comprovante precisa dele para sair do fluxo */<!-- [et_pb_line_break_holder] --> root.classList.add("arx-js", "arx-motion");<!-- [et_pb_line_break_holder] --> heroScroll(gsap, EASE_OUT);<!-- [et_pb_line_break_holder] --> counters(gsap, EASE_OUT);<!-- [et_pb_line_break_holder] --> film(gsap);<!-- [et_pb_line_break_holder] --> steps(gsap);<!-- [et_pb_line_break_holder] --> regua(gsap, EASE_OUT, EASE_INOUT);<!-- [et_pb_line_break_holder] --> diffs(gsap, EASE_OUT, EASE_INOUT);<!-- [et_pb_line_break_holder] --> groups(gsap, EASE_OUT);<!-- [et_pb_line_break_holder] --> seal(gsap);<!-- [et_pb_line_break_holder] --> var refresh = function(){ ST.refresh(); };<!-- [et_pb_line_break_holder] --> window.addEventListener("load", refresh);<!-- [et_pb_line_break_holder] --> if(document.fonts && document.fonts.ready) document.fonts.ready.then(refresh);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 02 · hero presa: o título sai, o vídeo aproxima e escurece, o<!-- [et_pb_line_break_holder] --> comprovante sobe e cada etapa é carimbada no ritmo da rolagem */<!-- [et_pb_line_break_holder] --> function heroScroll(gsap, EASE_OUT){<!-- [et_pb_line_break_holder] --> var section = q("[data-hero]");<!-- [et_pb_line_break_holder] --> if(!section) return;<!-- [et_pb_line_break_holder] --> var stage = q("[data-hero-stage]", section);<!-- [et_pb_line_break_holder] --> var media = q("[data-hero-media]", section);<!-- [et_pb_line_break_holder] --> var shade = q("[data-hero-shade]", section);<!-- [et_pb_line_break_holder] --> var proof = q("[data-hero-proof]", section);<!-- [et_pb_line_break_holder] --> var receipt = q("[data-receipt]", section);<!-- [et_pb_line_break_holder] --> var stampEl = q("[data-stamp]", section);<!-- [et_pb_line_break_holder] --> var cue = q("[data-hero-cue]", section);<!-- [et_pb_line_break_holder] --> var rows = qa("[data-row]", section);<!-- [et_pb_line_break_holder] --> gsap.set(stampEl, {autoAlpha:0, scale:1.9, rotation:24});<!-- [et_pb_line_break_holder] --> rows.forEach(function(r){<!-- [et_pb_line_break_holder] --> gsap.set(r, {opacity:.32});<!-- [et_pb_line_break_holder] --> gsap.set(q("[data-dot]", r), {backgroundColor:"#E3E9F1", borderColor:"#C7D2DF", color:"#4A5B70"});<!-- [et_pb_line_break_holder] --> gsap.set(q("[data-ok]", r), {autoAlpha:0, scale:.8});<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> /* a partir de 64rem a hero fica presa, o título fica parado e o<!-- [et_pb_line_break_holder] --> comprovante entra à direita. Abaixo disso ele está no fluxo, depois<!-- [et_pb_line_break_holder] --> dos botões: sem pin, é carimbado enquanto sobe na tela */<!-- [et_pb_line_break_holder] --> var side = window.matchMedia("(min-width: 64rem)").matches;<!-- [et_pb_line_break_holder] --> var tl;<!-- [et_pb_line_break_holder] --> if(side){<!-- [et_pb_line_break_holder] --> gsap.set(proof, {autoAlpha:0});<!-- [et_pb_line_break_holder] --> gsap.set(receipt, {x:90, y:40, scale:.94, rotation:5});<!-- [et_pb_line_break_holder] --> tl = gsap.timeline({<!-- [et_pb_line_break_holder] --> defaults:{ease:"none"},<!-- [et_pb_line_break_holder] --> scrollTrigger:{<!-- [et_pb_line_break_holder] --> trigger: section, start: "top top", end: "+=160%",<!-- [et_pb_line_break_holder] --> pin: stage, scrub: .6, anticipatePin: 1, invalidateOnRefresh: true<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> tl.to(cue, {autoAlpha:0, duration:.04}, 0)<!-- [et_pb_line_break_holder] --> .fromTo(media, {scale:1}, {scale:1.12, duration:1}, 0)<!-- [et_pb_line_break_holder] --> .to(shade, {opacity:.75, duration:.26}, .04)<!-- [et_pb_line_break_holder] --> .to(proof, {autoAlpha:1, duration:.08}, .08)<!-- [et_pb_line_break_holder] --> .to(receipt, {x:0, y:0, scale:1, rotation:-1.5, duration:.28, ease:EASE_OUT}, .08);<!-- [et_pb_line_break_holder] --> }else{<!-- [et_pb_line_break_holder] --> gsap.set(receipt, {y:50, scale:.96, rotation:-4});<!-- [et_pb_line_break_holder] --> tl = gsap.timeline({<!-- [et_pb_line_break_holder] --> defaults:{ease:"none"},<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger: receipt, start: "top 92%", end: "bottom 60%", scrub: .5, invalidateOnRefresh: true}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> tl.to(receipt, {y:0, scale:1, rotation:-1.5, duration:.3, ease:EASE_OUT}, 0);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> rows.forEach(function(r, i){<!-- [et_pb_line_break_holder] --> var at = (side ? .38 : .3) + i * (side ? .15 : .17);<!-- [et_pb_line_break_holder] --> tl.to(r, {opacity:1, duration:.05}, at)<!-- [et_pb_line_break_holder] --> .to(q("[data-dot]", r), {backgroundColor:"#081A33", borderColor:"#081A33", color:"#FBBA00", duration:.05}, at)<!-- [et_pb_line_break_holder] --> .to(q("[data-ok]", r), {autoAlpha:1, scale:1, duration:.06, ease:EASE_OUT}, at + .03);<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> tl.to(stampEl, {autoAlpha:1, scale:1, rotation:8, duration:.09, ease:"back.out(2.4)"}, .86)<!-- [et_pb_line_break_holder] --> .to({}, {duration:.05}, .95);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 04 · contadores */<!-- [et_pb_line_break_holder] --> function counters(gsap, EASE_OUT){<!-- [et_pb_line_break_holder] --> qa("[data-count]").forEach(function(el){<!-- [et_pb_line_break_holder] --> var target = parseInt(el.getAttribute("data-count"), 10);<!-- [et_pb_line_break_holder] --> var o = {v:0};<!-- [et_pb_line_break_holder] --> el.textContent = "0";<!-- [et_pb_line_break_holder] --> window.ScrollTrigger.create({<!-- [et_pb_line_break_holder] --> trigger: el, start: "top 88%", once: true,<!-- [et_pb_line_break_holder] --> onEnter: function(){<!-- [et_pb_line_break_holder] --> gsap.to(o, {v:target, duration:1.6, ease:EASE_OUT, onUpdate:function(){ el.textContent = Math.round(o.v); }});<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 07 · o vídeo do depoimento abre até o tamanho cheio ao entrar */<!-- [et_pb_line_break_holder] --> function film(gsap){<!-- [et_pb_line_break_holder] --> var el = q("[data-film]");<!-- [et_pb_line_break_holder] --> if(!el) return;<!-- [et_pb_line_break_holder] --> gsap.fromTo(el, {scale:.9, borderRadius:40}, {<!-- [et_pb_line_break_holder] --> scale:1, borderRadius:24, ease:"none",<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger:el, start:"top 96%", end:"top 40%", scrub:.4}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 09 · a linha dos passos é preenchida conforme a leitura */<!-- [et_pb_line_break_holder] --> function steps(gsap){<!-- [et_pb_line_break_holder] --> var wrap = q("[data-steps]");<!-- [et_pb_line_break_holder] --> if(!wrap) return;<!-- [et_pb_line_break_holder] --> var line = q(".arx-steps__line", wrap), fill = q("[data-steps-fill]", wrap);<!-- [et_pb_line_break_holder] --> var items = qa("[data-step]", wrap);<!-- [et_pb_line_break_holder] --> function fitLine(){<!-- [et_pb_line_break_holder] --> var last = items[items.length - 1];<!-- [et_pb_line_break_holder] --> if(!last || !line) return;<!-- [et_pb_line_break_holder] --> var node = q(".arx-step__node", last);<!-- [et_pb_line_break_holder] --> var w = wrap.getBoundingClientRect(), n = node.getBoundingClientRect();<!-- [et_pb_line_break_holder] --> line.style.bottom = Math.max(0, w.bottom - (n.top + n.height / 2)) + "px";<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> fitLine();<!-- [et_pb_line_break_holder] --> window.ScrollTrigger.addEventListener("refreshInit", fitLine);<!-- [et_pb_line_break_holder] --> gsap.fromTo(fill, {scaleY:0}, {<!-- [et_pb_line_break_holder] --> scaleY:1, ease:"none",<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger:wrap, start:"top 62%", end:"bottom 62%", scrub:.4}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> items.forEach(function(s){<!-- [et_pb_line_break_holder] --> window.ScrollTrigger.create({<!-- [et_pb_line_break_holder] --> trigger: s, start: "top 62%",<!-- [et_pb_line_break_holder] --> onEnter: function(){ s.classList.add("is-on"); },<!-- [et_pb_line_break_holder] --> onLeaveBack: function(){ s.classList.remove("is-on"); }<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 10 · a régua é traçada de canal em canal */<!-- [et_pb_line_break_holder] --> function regua(gsap, EASE_OUT, EASE_INOUT){<!-- [et_pb_line_break_holder] --> var wrap = q("[data-regua]");<!-- [et_pb_line_break_holder] --> if(!wrap) return;<!-- [et_pb_line_break_holder] --> var fill = q("[data-regua-fill]", wrap), stops = qa("[data-regua-stop]", wrap);<!-- [et_pb_line_break_holder] --> var tl = gsap.timeline({scrollTrigger:{trigger:wrap, start:"top 80%", once:true}});<!-- [et_pb_line_break_holder] --> tl.fromTo(fill, {scaleX:0}, {scaleX:1, duration:1.3, ease:EASE_INOUT}, 0)<!-- [et_pb_line_break_holder] --> .from(stops, {y:18, autoAlpha:0, duration:.7, stagger:.16, ease:EASE_OUT}, .05);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 11 · réguas dos diferenciais */<!-- [et_pb_line_break_holder] --> function diffs(gsap, EASE_OUT, EASE_INOUT){<!-- [et_pb_line_break_holder] --> var wrap = q("[data-diffs]");<!-- [et_pb_line_break_holder] --> if(!wrap) return;<!-- [et_pb_line_break_holder] --> var items = qa("[data-diff]", wrap);<!-- [et_pb_line_break_holder] --> var rules = items.map(function(i){ return q(".arx-diff__rule", i); });<!-- [et_pb_line_break_holder] --> var texts = [];<!-- [et_pb_line_break_holder] --> items.forEach(function(i){ texts = texts.concat(qa(".arx-diff__n, h3, p", i)); });<!-- [et_pb_line_break_holder] --> var tl = gsap.timeline({scrollTrigger:{trigger:wrap, start:"top 82%", once:true}});<!-- [et_pb_line_break_holder] --> tl.from(rules, {scaleX:0, duration:1, stagger:.08, ease:EASE_INOUT}, 0)<!-- [et_pb_line_break_holder] --> .from(texts, {y:16, autoAlpha:0, duration:.7, stagger:.03, ease:EASE_OUT}, .15);<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* entradas em grupo: comparativo, segmentos, depoimentos, números */<!-- [et_pb_line_break_holder] --> function groups(gsap, EASE_OUT){<!-- [et_pb_line_break_holder] --> qa("[data-reveal-group]").forEach(function(g){<!-- [et_pb_line_break_holder] --> /* clearProps devolve o transform ao CSS, senão o hover dos cards<!-- [et_pb_line_break_holder] --> fica preso no estilo inline que o GSAP deixa no fim */<!-- [et_pb_line_break_holder] --> gsap.from(g.children, {<!-- [et_pb_line_break_holder] --> y:28, autoAlpha:0, duration:.8, stagger:.08, ease:EASE_OUT, clearProps:"transform",<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger:g, start:"top 86%", once:true}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> qa("[data-reveal]").forEach(function(el){<!-- [et_pb_line_break_holder] --> gsap.from(el, {<!-- [et_pb_line_break_holder] --> y:36, autoAlpha:0, duration:.9, ease:EASE_OUT,<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger:el, start:"top 88%", once:true}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> /* 15 · o selo gira devagar com a rolagem */<!-- [et_pb_line_break_holder] --> function seal(gsap){<!-- [et_pb_line_break_holder] --> var el = q("[data-seal]");<!-- [et_pb_line_break_holder] --> if(!el) return;<!-- [et_pb_line_break_holder] --> gsap.fromTo(el, {rotation:-25}, {<!-- [et_pb_line_break_holder] --> rotation:25, ease:"none",<!-- [et_pb_line_break_holder] --> scrollTrigger:{trigger:el.parentNode, start:"top bottom", end:"bottom top", scrub:true}<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> function init(){<!-- [et_pb_line_break_holder] --> measureHeader();<!-- [et_pb_line_break_holder] --> window.addEventListener("resize", measureHeader);<!-- [et_pb_line_break_holder] --> forwardUtms();<!-- [et_pb_line_break_holder] --> document.addEventListener("click", function(e){<!-- [et_pb_line_break_holder] --> if(!UTMS || !e.target || !e.target.closest) return;<!-- [et_pb_line_break_holder] --> var a = e.target.closest("a[href]");<!-- [et_pb_line_break_holder] --> if(!a) return;<!-- [et_pb_line_break_holder] --> var h = a.getAttribute("href");<!-- [et_pb_line_break_holder] --> if(!h || h.charAt(0) === "#") return;<!-- [et_pb_line_break_holder] --> var nh = withUtms(h);<!-- [et_pb_line_break_holder] --> if(nh !== h) a.setAttribute("href", nh);<!-- [et_pb_line_break_holder] --> }, true);<!-- [et_pb_line_break_holder] --> liveTimestamps();<!-- [et_pb_line_break_holder] --> calculator();<!-- [et_pb_line_break_holder] --> whatsappCtas();<!-- [et_pb_line_break_holder] --> auditRail();<!-- [et_pb_line_break_holder] --> heroVideo();<!-- [et_pb_line_break_holder] --> if(reduced){<!-- [et_pb_line_break_holder] --> root.classList.remove("arx-js");<!-- [et_pb_line_break_holder] --> return;<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> loadGsap().then(motion).catch(function(){<!-- [et_pb_line_break_holder] --> /* sem GSAP: o comprovante volta para o lado do texto e tudo fica visível */<!-- [et_pb_line_break_holder] --> root.classList.remove("arx-js");<!-- [et_pb_line_break_holder] --> });<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] --> if(document.readyState === "loading"){<!-- [et_pb_line_break_holder] --> document.addEventListener("DOMContentLoaded", init);<!-- [et_pb_line_break_holder] --> }else{<!-- [et_pb_line_break_holder] --> init();<!-- [et_pb_line_break_holder] --> }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] -->[/et_pb_fullwidth_code][/et_pb_section]