const { useState, useEffect, useRef } = React; const CHECKOUT_URL = "https://hotm.io/ebook-terapiacommandalas"; const PAGE_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "indigo", "showStickyCta": true, "headlineStyle": "italic", "ctaCopy": "Sim, quero acalmar minha mente" } /*EDITMODE-END*/; const ACCENTS = { indigo: { ink: "#1A365D", inkSoft: "#2A4A78", gold: "#B89968", goldSoft: "#D4AF37" }, midnight: { ink: "#0F2A4A", inkSoft: "#1F3F66", gold: "#C9A961", goldSoft: "#E0C078" }, sage: { ink: "#2E4A3F", inkSoft: "#456558", gold: "#B89968", goldSoft: "#D4AF37" }, plum: { ink: "#3D2B4F", inkSoft: "#5A4470", gold: "#C9A961", goldSoft: "#D4AF37" } }; function App() { const [t, setTweak] = useTweaks(PAGE_DEFAULTS); const accent = ACCENTS[t.accent] || ACCENTS.indigo; const [format, setFormat] = useState("ebook"); // ebook | printed const [openFaq, setOpenFaq] = useState(0); const [scrolled, setScrolled] = useState(false); const [showSticky, setShowSticky] = useState(false); const offerRef = useRef(null); useEffect(() => { const onScroll = () => { setScrolled(window.scrollY > 40); // Show sticky CTA after first viewport, hide near offer (it has its own buy button) const offer = offerRef.current; const y = window.scrollY; const past = y > window.innerHeight * 0.6; let nearOffer = false; if (offer) { const r = offer.getBoundingClientRect(); nearOffer = r.top < window.innerHeight && r.bottom > 0; } setShowSticky(past && !nearOffer); }; window.addEventListener("scroll", onScroll, { passive: true }); onScroll(); return () => window.removeEventListener("scroll", onScroll); }, []); const scrollToOffer = () => { offerRef.current?.scrollTo ? offerRef.current.scrollTo({ top: 0, behavior: "smooth" }) : window.scrollTo({ top: offerRef.current.offsetTop - 60, behavior: "smooth" }); }; return (
); } /* ───────── TOP BAR ───────── */ function TopBar({ scrolled, onCta, ctaCopy }) { return (
Caminho Azul·Mandalas
Quero meu exemplar
); } /* ───────── HERO ───────── */ function Hero({ onCta, headlineStyle, ctaCopy }) { return (
por Leila Pekelman · in memoriam

Sua mente não desliga?
Descubra o ritual sagrado que transforma o cansaço mental em clareza e paz interior.

Mais do que um livro de colorir: uma arquitetura da alma que recalibra sua energia, acalma o overthinking e devolve seu foco natural.

{ctaCopy}
★★★★★
+2.400 leitoras
em todo o Brasil
  • 64 mandalas exclusivas
  • Garantia de 7 dias
  • Bônus inclusos
Capa do livro Mandalas Mágicas do Caminho Azul
edição
2026
de lançamento
64 chaves de
geometria sagrada
); } /* ───────── PAIN / IDENTIFICATION ───────── */ function PainSection() { const pains = [ { t: "Mente acelerada", s: "que não para nem no descanso" }, { t: "Sono raso", s: "que não repara o cansaço do dia" }, { t: "Vazio silencioso", s: "e bloqueio criativo persistente" }, { t: "Foco fragmentado", s: "entre mil abas e nenhuma presença" }]; return (
Você se reconhece?

Você não está quebrada.
Só está usando ferramentas rasas para dores profundas.

{pains.map((p, i) =>
0{i + 1}
{p.t}
{p.s}
)}

Aplicativos de meditação, podcasts, mais um livro de autoajuda.
Você já tentou. E o ruído continua. Existe outro caminho.

); } /* ───────── BIG IDEA ───────── */ function BigIdea() { return (
Mulher segurando mandala finalizada
Maria, 38 — após 21 dias de prática
A grande ideia

64 chaves de geometria sagrada que sincronizam os hemisférios do seu cérebro.

Enquanto livros comuns de colorir são analgésicos temporários — distraem, mas não tratam — Cura pelas Mandalas é um centro de regeneração que atualiza, ciclo a ciclo, o seu sistema operacional interno.

Geometria sagrada
padrões que o inconsciente reconhece como ordem
Ativação dimensional
cada mandala trabalha um plano específico
Sincronia cerebral
hemisférios direito e esquerdo em ressonância
); } /* ───────── HOW IT WORKS ───────── */ function HowItWorks() { const steps = [ { n: "01", t: "Prepare o espaço", d: "Celular longe. Luz suave. Quinze minutos seus, sem culpa, sem performance.", img: "assets/coloring-step1.png" }, { n: "02", t: "Fixe o centro por 15 min", d: "Seu cérebro começa a reorganizar padrões. A mente acelerada encontra um eixo.", img: "assets/hands-coloring.png" }, { n: "03", t: "Pinte e apenas observe", d: "Permita que a geometria atue como um filtro silencioso do inconsciente.", img: "assets/coloring-step2.png" }]; return (
O ritual

Três passos. Quinze minutos.
Uma vida com mais centro.

{steps.map((s) =>
{s.n}

{s.t}

{s.d}

)}
); } /* ───────── TESTIMONIALS ───────── */ function Testimonials() { const items = [ { n: "Camila R.", r: "São Paulo, SP", q: "Comecei pela quinta mandala. Na terceira noite, dormi sem o celular pela primeira vez em meses. O barulho interno baixou." }, { n: "Renata M.", r: "Florianópolis, SC", q: "Não sou de produto terapeutico. Mas o livro me devolveu a sensação de fazer uma coisa só por vez — e foi isso que faltava." }, { n: "Patrícia G.", r: "Belo Horizonte, MG", q: "Em duas semanas, parei de acordar às 4 da manhã com a cabeça acelerada. Continuo pintando todo domingo de manhã." }]; return (
Depoimentos

Quem praticou, voltou para contar.

{items.map((it, i) =>
"
{it.q}
{it.n}
{it.r}
)}
); } /* ───────── OFFER ───────── */ function Offer({ format, setFormat, ctaCopy }) { const printed = format === "printed"; return (
{printed
A oferta completa

Cura pelas Mandalas Mágicas do Caminho Azul

  • Livro completo com 64 mandalas em geometria sagrada
  • Guia de exercícios — uma intenção para cada mandala
  • Garantia incondicional de 7 dias
de R$ 197
R$ {printed ? "147" : "97"} ,00
ou 12× no cartão
Lote atual com preço de lançamento. Reajuste em breve.
{ctaCopy}
compra 100% segura +2.400 praticantes 7 dias de garantia
); } const Check = () => ; const Lock = () => ; const Star = () => ; const Shield = () => ; /* ───────── GUARANTEE ───────── */ function Guarantee() { return (
GARANTIA 7 DIAS
Inversão de risco

Sete dias para sentir, no corpo, o que estas páginas fazem.

Se até o sétimo dia você não sentir mais leveza, mais foco e uma noite de sono mais funda — devolvemos cada centavo. Sem perguntas, sem formulário longo, sem atrito. O risco é nosso, não seu.

— Equipe Caminho Azul
); } /* ───────── FAQ ───────── */ function FAQ({ openFaq, setOpenFaq }) { const items = [ { q: "Preciso saber desenhar ou pintar bem?", a: "Não. O foco está na fixação visual e na intenção, não na técnica. As mandalas vêm em traço limpo — você só preenche, observa ou reflete. A prática é antes de tudo um ritual, não um exercício de arte." }, { q: "Funciona para quem tem insônia ou ansiedade?", a: "Sim. A prática regular recalibra o ritmo mental antes do sono e cria um marcador de transição entre o dia produtivo e o descanso real. Muitas leitoras relatam dormir mais fundo já na primeira semana." }, { q: "É um livro religioso?", a: "Não. É geometria sagrada aplicada ao autoconhecimento e ao equilíbrio energético. Você não precisa professar nenhuma fé — basta abrir o livro com presença." }, { q: "Quanto tempo por dia preciso dedicar?", a: "De 10 a 20 minutos. O suficiente para o cérebro entrar em outro ritmo, sem virar mais uma obrigação na sua agenda." }, { q: "Qual a diferença entre eBook e versão impressa?", a: "O eBook chega em segundos no seu e-mail e pode ser impresso em casa. A versão impressa é um objeto premium — papel encorpado, espiral discreta, capa fosca — feita para durar anos sobre a mesa de cabeceira." }]; return (
Dúvidas frequentes

Antes de continuar.

{items.map((it, i) => { const open = openFaq === i; return (

{it.a}

); })}
); } /* ───────── FINAL CTA ───────── */ function FinalCta({ onCta, ctaCopy }) { return (

A mente quieta não é um lugar distante.
É uma prática que cabe entre dois cafés.

{ctaCopy}
R$ 97 · 12× no cartão · 7 dias de garantia incondicional
); } /* ───────── FOOTER ───────── */ function Footer() { return ( ); } /* ───────── STICKY CTA ───────── */ function StickyCta({ onCta, ctaCopy }) { return (
R$ 97 ou 12× no cartão
{ctaCopy}
); } /* ───────── TWEAKS ───────── */ function Tweaks({ t, setTweak }) { return ( setTweak("accent", v)} options={[ { value: "indigo", label: "Indigo (padrão)" }, { value: "midnight", label: "Midnight azul" }, { value: "sage", label: "Sage verde" }, { value: "plum", label: "Plum violeta" }] } /> setTweak("headlineStyle", v)} options={[ { value: "italic", label: "Itálico" }, { value: "upright", label: "Reto" }] } /> setTweak("ctaCopy", v)} /> setTweak("showStickyCta", v)} /> ); } ReactDOM.createRoot(document.getElementById("root")).render();