/* Plan B — Antes/Depois big interactive comparison, then "Para corretor / Para proprietário" split */ const BBeforeAfter = () => { const [pos, setPos] = React.useState(48); const dragging = React.useRef(false); const onMove = (clientX, rect) => { setPos(Math.max(4, Math.min(96, ((clientX - rect.left) / rect.width) * 100))); }; return (
Veja o que muda com o nosso trabalho

Mesmo imóvel, nova apresentação que valoriza o imóvel.

Arraste para ver a transformação que o anúncio passa a comunicar. Mesmo imóvel, mesma metragem — outro argumento.

Caso real · Leblon
onMove(e.clientX, e.currentTarget.getBoundingClientRect())} onMouseDown={() => (dragging.current = true)} onMouseUp={() => (dragging.current = false)} onTouchMove={(e) => { const t = e.touches[0]; if (t) onMove(t.clientX, e.currentTarget.getBoundingClientRect()); }} > {/* Side gradients for label legibility */}
{/* Antes label */}
Antes · estado atual Anúncio com 12 visitas em 60 dias
{/* Depois label */}
Depois · imagens ambientadas 38 visitas em 30 dias · vendido em 60
{/* bottom info chips */}
{[ { c: "Levantamento", href: "assets/docs/01-planta-levantamento.pdf" }, { c: "Planta humanizada", href: "assets/docs/02-planta-humanizada.pdf" }, { c: "Fotos ambientadas", href: "assets/docs/03-imagens-3d.pdf" }, { c: "Preço da obra", href: "assets/docs/04-preco-obra.pdf" }, ].map(({ c, href }) => ( { e.currentTarget.style.background = B_TOKENS.accent; }} onMouseLeave={(e) => { e.currentTarget.style.background = "rgba(11,31,26,.55)"; }} >{c} ))}
+ R$ 320k de valorização projetada
{/* Divider handle */}
{/* Result row */}
{[ { l: "Visitas / mês", v1: "6", v2: "38", up: true }, { l: "Tempo até venda", v1: "94 dias", v2: "60 dias", up: true }, { l: "Preço de fechamento", v1: "R$ 1,02M", v2: "R$ 1,18M", up: true }, { l: "Investimento PI", v1: "—", v2: "R$ 9.400", neutral: true }, ].map((r, i) => (
{r.l}
{r.v1} {!r.neutral && } {r.v2}
))}
); }; const BAudienceSplit = () => { const [aud, setAud] = React.useState("corretor"); const data = { corretor: { tag: "Para corretor", h: "O cliente chega com objeção. Você responde com argumento técnico.", sub: "Receba os 8 documentos em até 14 dias, anexe por e-mail e troque foto bonita por argumento técnico — sem perder o cliente.", bullets: [ "A Planta de Levantamento · responde a objeção \"mas qual o tamanho real do imóvel e dos ambientes?\"", "As Imagens Ambientadas · respondem a objeção \"mas como eu poderia arrumar esse ambiente?\"", "Preço da obra · responde \"vai dar trabalho?\"", "Valor de mercado · embasa o preço pedido", ], cta: "Quero apresentar meus imóveis melhor", image: "assets/produtos/corretor-sala-depois.jpeg", local: "Barra da Tijuca", stat: { l: "Conversão cliente → visita", v: "38%", sub: "média entre corretores parceiros" }, }, proprietario: { tag: "Para proprietário", h: "Seu imóvel não está caro. Está mal apresentado.", sub: "Mostramos o potencial — não só o estado atual. Você descobre quanto vale, quanto custa transformar e quanto se ganha. Em documento, pronto pra negociar.", bullets: [ "A Avaliação técnica do imóvel determina e justifica o valor justo do imóvel", "O Projeto de Arquitetura personalizado revela o potencial do imóvel, agrega valor e convence os futuros compradores", "Orçamento detalhado · sem surpresa de obra", "O Estudo de Airbnb mostra cenário de renda anual e mensal do imóvel", ], cta: "Quero entender o potencial do meu imóvel", image: "assets/produtos/proprietario-quarto-depois.jpeg", local: "Ipanema", stat: { l: "Valorização média", v: "+ 18%", sub: "sobre o preço pedido inicial" }, }, }; const a = data[aud]; return (
Para quem é

Corretores e Proprietários, pois resolvemos os dois lados da venda.

{[ { id: "corretor", l: "Sou corretor" }, { id: "proprietario", l: "Sou proprietário" }, ].map((t) => ( ))}
{a.tag}

{a.h}

{a.sub}

    {a.bullets.map((b, i) => (
  • {b}
  • ))}
{a.cta}
{a.local}
{a.stat.l} {a.stat.v} {a.stat.sub}
); }; Object.assign(window, { BBeforeAfter, BAudienceSplit });