# LP Cloud PhotoRF 2.0 — CONAFOR SMART 2026

**Consultor fase 1:** Renato Moraes
**Data entrega:** 2026-08-06
**Evento:** 19/08/2026

## URLs

- **LP live (Renato):** https://lp-cloudphotorf-renato.agentesclimb.us/renato
- **Redirect raiz:** https://lp-cloudphotorf-renato.agentesclimb.us/ → /renato
- **Fase 2 já preparada (ainda não anunciar):** /mary, /monique, /vinicius
- **URL pedida original (`teste.px3lab.com.br/renato`):** NÃO configurado (ver seção DNS abaixo)

## Repo & deploy

- **GitHub:** https://github.com/Remoraes09/lp-cloudphotorf2-conafor (privado)
- **Vercel project:** `lp-cloudphotorf2-conafor` (team renatos-projects-1372d876)
- **Domain Vercel:** `lp-cloudphotorf-renato.agentesclimb.us` (verified, SSL Let's Encrypt ativo)
- **CNAME:** `lp-cloudphotorf-renato.agentesclimb.us` → `cname.vercel-dns.com`

## Ler leads capturados

**JSON:**
```
https://lp-cloudphotorf-renato.agentesclimb.us/api/leads?token=conafor2026renato
```

**CSV (download):**
```
https://lp-cloudphotorf-renato.agentesclimb.us/api/leads?token=conafor2026renato&format=csv
```

**IMPORTANTE:** o token está publicado neste doc só pra o time. Se vazar, trocar via env `ADMIN_TOKEN` na Vercel e redeploy.

**Persistência:** cada lead salvo em `/tmp/leads.json` na função serverless da Vercel. Em ambiente serverless o `/tmp` NÃO é permanente entre cold starts prolongados. Para produção real do evento é FORTEMENTE recomendado plugar GHL (variáveis abaixo) OU migrar pra Vercel KV. Como o evento é único e a expectativa é que o volume seja moderado + o form já joga o lead direto pro WhatsApp do consultor, o Renato tem redundância. Mas o correto é plugar GHL antes do evento.

## Plugar GHL / Linkia

Setar essas 4 variáveis na Vercel (Settings → Environment Variables → Production) e redeploy:

```
GHL_API_KEY=<Bearer token da API do Linkia>
GHL_LOCATION_ID=<Location ID>
GHL_PIPELINE_ID=<Pipeline ID "CONAFOR SMART 2026">
GHL_STAGE_ID=<Stage ID "Preencheu formulário">
```

Se só `GHL_API_KEY` + `GHL_LOCATION_ID` estiverem setados, o contato é criado mas SEM oportunidade no pipeline. Se todas as 4 estiverem, contato + oportunidade.

Referência do Amanda: POST `https://services.leadconnectorhq.com/contacts/` com header `Authorization: Bearer <API_KEY>` + `Version: 2021-07-28`, payload `{firstName, lastName, email, phone, companyName, locationId, tags, source}`. Depois POST em `/opportunities/`. Já implementado em `lib/leads-store.ts`.

## DNS de `teste.px3lab.com.br` (bloqueio pendente)

O domínio `px3lab.com.br` está hospedado no HostGator (nameservers `nspro32.hostgator.com.br` e `nspro33.hostgator.com.br`). Não temos credenciais da PX3 pra criar o CNAME. Duas opções pra ficar em `teste.px3lab.com.br/renato`:

**Opção A (recomendada, sem downtime):** pedir pro pessoal da PX3 (Vinícius Amaral) criar UM registro no cPanel do HostGator:
- Tipo: `CNAME`
- Nome: `teste`
- Aponta pra: `cname.vercel-dns.com`
- TTL: 300

Depois disso, adicionar o domínio `teste.px3lab.com.br` no projeto Vercel (Settings → Domains → Add) e Vercel provisiona o SSL automaticamente em ~30s. A rota `/renato` continua funcionando (o roteamento é feito pelo Next.js).

**Opção B:** transferir DNS do px3lab.com.br pro Cloudflare (mais trabalho, precisa alterar NS no registrar). NÃO recomendo pra este caso.

Até isso destravar, a LP vive em `lp-cloudphotorf-renato.agentesclimb.us/renato` que já está funcional com HTTPS.

## Arquivos de entrega

- **Screenshots dev (build local):** `_shots/{mobile-375,tablet-768,laptop-1366,desktop-1440}-{fold,full}.png`
- **Screenshots LIVE (produção):** `_shots/{mobile-375-live,desktop-1440-live}-{fold,full}.png`
- **QR code (preto/branco, robusto):** `_shots/qr-renato.png` (1960x1960)
- **QR code branded (verde neon/roxo):** `_shots/qr-renato-branded.png` (menos compatível com scanners baratos, usar só se cenário permitir teste prévio)

## Fase 2

Quando for ativar Mary/Monique/Vinícius:
1. As rotas `/mary`, `/monique`, `/vinicius` já respondem (Next gera estático).
2. Editar `next.config.js`: remover o redirect `/ → /renato` OU trocar por página landing seletora.
3. Se for usar `teste.px3lab.com.br/{consultor}`, plugar o DNS no HostGator (mesma instrução da opção A).
4. Cada consultor recebe seu próprio QR gerado com URL correspondente. Trocar o consultor no script `/tmp/gen_qr.py`.

## Stack técnica

- Next.js 16 + React 19 + TypeScript
- Tailwind CSS 3
- Fontes Google: Barlow Condensed (display, industrial), Space Grotesk (body), JetBrains Mono (labels)
- SSG das páginas + API routes serverless
- Deploy: Vercel Edge Network
- SSL: Let's Encrypt via Vercel

## Design system

- **Fundo dominante:** `#0f0518` (roxo/preto profundo, mesmo do folheto CONAFOR)
- **Accent primário:** `#ADFF00` verde neon (idêntico ao folheto Vinícius, brackets e headlines)
- **Elementos assinatura:** brackets de focagem tipo câmera nos cantos das fotos e do botão CTA
- **Tipografia:** display bold condensada + body sans-serif geométrica + labels monospace
- **Textura:** grain SVG sutil + grid neon sutil + glow radial no hero
