// OMetodo.jsx — "O que é o Conectadas Fitness" const { useRef: useOMRef, useEffect: useOMEff, useState: useOMSt } = React; /* ── Pilares SVG map ── */ function PilaresMap({ animate }) { const cx = 170, cy = 170, R = 95, rc = 44, cc = 52; const pilares = ['Disciplina','Constância','Saúde','Identidade','Espiritualidade']; const angles = pilares.map((_, i) => (i * 2 * Math.PI / 5) - Math.PI / 2); const pts = angles.map(a => ({ x: cx + R * Math.cos(a), y: cy + R * Math.sin(a) })); const totalLines = pts.reduce((acc, p) => { const dx = p.x - cx, dy = p.y - cy; const dist = Math.sqrt(dx*dx + dy*dy); return acc + dist; }, 0) / pts.length; return ( {/* Decorative background circle */} {/* Connection lines */} {pts.map((p, i) => { const dx = p.x - cx, dy = p.y - cy; const dist = Math.sqrt(dx*dx + dy*dy); return ( ); })} {/* Outer circles */} {pts.map((p, i) => ( {pilares[i].split(' ').map((word, wi) => ( {word} ))} ))} {/* Center circle */} CONECTADAS FITNESS ); } /* ── Main component ── */ function OMetodo() { const ref = useOMRef(); const [mapAnim, setMapAnim] = useOMSt(false); const [pillarAnim, setPillarAnim] = useOMSt(false); useReveal(ref); useOMEff(() => { const el = ref.current; if (!el) return; const obs = new IntersectionObserver(([e]) => { if (e.isIntersecting) { setMapAnim(true); setPillarAnim(true); obs.disconnect(); } }, { threshold: 0.2 }); obs.observe(el); return () => obs.disconnect(); }, []); const pilares = [ { label: 'Disciplina', desc: 'A base de tudo. Sem ela, nenhum método funciona.' }, { label: 'Constância', desc: 'Resultados vêm do que você faz todo dia, não uma vez.' }, { label: 'Saúde', desc: 'Corpo forte come do lado de dentro pra fora.' }, { label: 'Identidade', desc: 'Saber quem você é transforma o que você sustenta.' }, { label: 'Espiritualidade', desc: 'Fé e propósito como combustível da transformação.' }, ]; function scrollTo(id) { const el = document.getElementById(id); if (!el) return; const top = el.getBoundingClientRect().top + window.scrollY - 80; window.scrollTo({ top, behavior: 'smooth' }); } return (
{/* Decorative bg elements */}
{/* 10+ bg number */}
10+
{/* ── Header ── */}

O método

Não é apenas um treino.

É um método de transformação que une disciplina, constância, saúde, identidade e espiritualidade.

{/* ── Bloco 1: Pilares ── */}
{/* Left */}

Aqui, nós não tratamos só o corpo.
Nós ajudamos mulheres a se reconectarem
com quem elas realmente são.

{pilares.map((p, i) => (
{p.label}
{p.desc}
))}
{/* Right — SVG visual */}
{/* ── Bloco 2: Frase de impacto ── */}

"Através do cuidado com o corpo, da organização da rotina e de princípios que fortalecem a mente e o espírito, você aprende a viver uma vida saudável de verdade."

{/* ── Bloco 3: Dupla promessa ── */}
{/* Card 1 */}

É sobre emagrecer, sim.

Resultados físicos reais, com método, estratégia e acompanhamento de quem viveu o esporte nos maiores palcos do mundo.

{/* Card 2 */}

Mas também é sobre se encontrar.

Identidade, propósito e espiritualidade como base da transformação. Porque quando você muda quem você é, o resultado vem como consequência.

{/* ── Bloco 4: Frase final + CTA ── */}

"Você não precisa tentar mais uma vez.
Você precisa fazer diferente."

— Taty Vaillant · Conectadas Fitness

); } Object.assign(window, { OMetodo });