/* ============================================ PRODUZ SITE — Page Sections (part 1) Hero, Pain, Solution ============================================ */ const { useState, useEffect, useRef } = React; /* ===== Reveal helper (IntersectionObserver) ===== */ const Reveal = ({ children, delay = 0, className = "" }) => { const ref = useRef(null); const [shown, setShown] = useState(false); useEffect(() => { const el = ref.current; if (!el) return; const io = new IntersectionObserver( ([e]) => { if (e.isIntersecting) { setTimeout(() => setShown(true), delay); io.disconnect(); } }, { threshold: 0.12 } ); io.observe(el); return () => io.disconnect(); }, [delay]); return (
{children}
); }; /* ===== HERO Phone Card (single phone in marquee column) ===== */ const PhoneCard = ({ image }) => { return (
case
); }; /* ===== Marquee Column (vertical infinite scroll) ===== */ const MarqueeColumn = ({ images, direction = "up", duration = 40, tilt = 0 }) => { // Duplicate images twice for seamless loop const loopedImages = [...images, ...images]; return (
{loopedImages.map((img, i) => ( ))}
); }; /* ===== HERO ===== */ const Hero = ({ tweaks }) => { const columnLeft = [ "produzsite/assets/hortensiasnews.png", "produzsite/assets/redemei-do-brasil.png", "produzsite/assets/organija.png", "produzsite/assets/orcamento-blindado-metodo-drywall.png", "produzsite/assets/priston-vendas.png", ]; const columnRight = [ "produzsite/assets/priston-vendas.png", "produzsite/assets/orcamento-blindado-metodo-drywall.png", "produzsite/assets/organija.png", "produzsite/assets/hortensiasnews.png", "produzsite/assets/redemei-do-brasil.png", ]; return (
{/* LEFT — copy */}
{tweaks.showPromo && ( Oferta por tempo limitado • Setup grátis )}

Seja encontrado.
Conquiste clientes.
Faça seu negócio crescer.

Tenha um site profissional trabalhando 24h por você — atraindo clientes enquanto você cuida do que faz de melhor. No ar em até 7 dias, por{" "} R$ 99,90/mês.

+15 anos de experiência Sem fidelidade Garantia de satisfação
{/* RIGHT — marquee phones */}
); }; /* ===== PAIN ===== */ const Pain = () => { const cards = [ { icon: "ghost", kicker: '"Eu sei que preciso, mas..."', title: "Nunca tive site", body: "Você sabe que perde cliente todo dia para o concorrente que aparece no Google. Mas criar site parece caro, complicado e demorado. Aí você adia. E adia. E adia. Enquanto isso, seu concorrente fatura.", }, { icon: "money", kicker: '"Paguei R$ 3.000 e o site ficou parado"', title: "Já paguei caro e me arrependi", body: "Você investiu pesado, recebeu o site, e depois? Ninguém mais atendeu. Para mudar uma foto, cobram extra. Para atualizar um texto, somem. O site virou um boleto sem retorno.", }, { icon: "wrench", kicker: '"Meu site existe, mas é como se não existisse"', title: "Tenho site, mas tá largado", body: "Está desatualizado, lento, fora do Google e você nem lembra a senha do painel. Está mais para fantasma do que para vendedor. Hora de aposentar esse zumbi.", }, ]; return (
A Dor

Se você se reconhecer aqui,
a gente precisa conversar.

Ter presença digital deixou de ser luxo lá pelos anos 2010. Mas a maioria dos negócios ainda trava em uma dessas três armadilhas:

{cards.map((c, i) => (

{c.title}

{c.kicker}

{c.body}

))}

Em qualquer um desses cenários, o resultado é o mesmo:
cliente que não te encontra é venda que não acontece.

); }; /* ===== SOLUTION + COMPARE ===== */ const Solution = () => { const bad = [ "Investimento alto de uma vez (R$ 2.000 a R$ 10.000)", "Site entregue e... boa sorte", "Cobrança extra para qualquer ajuste", "Hospedagem e domínio por sua conta", "Sem suporte, sem manutenção", "Em 1 ano, o site já está obsoleto", ]; const good = [ <>R$ 99,90/mês. Só isso., <>Site no ar em até 7 dias, <>10 atualizações de conteúdo todo mês, <>Tudo incluso na mensalidade, <>Suporte por WhatsApp e e-mail, <>Site sempre atualizado e no ar, ]; return (
A Solução

A gente virou o jogo:
site agora é assinatura.

Esquece projeto fechado. Esquece orçamento gigante. Esquece ficar refém de freelancer que some no meio do caminho. No Produz Site você paga uma mensalidade simples e tem tudo que sua presença digital precisa para funcionar de verdade — todo mês, todo ano.

O modelo antigo

    {bad.map((t, i) => (
  • {t}
  • ))}

O jeito Produz Site

    {good.map((t, i) => (
  • {t}
  • ))}
); }; window.Hero = Hero; window.Pain = Pain; window.Solution = Solution; window.Reveal = Reveal;