import { useState, useEffect, useRef } from "react" import { Eye, Brain, Zap, Shield, BarChart2, Users, ArrowRight, ChevronDown, Menu, X, CheckCircle, AlertTriangle, TrendingUp, Bell, Activity, Lock, Globe, Star, Target, BookOpen, GraduationCap, Building2, Play, ChevronRight } from "lucide-react" // ── STYLES ─────────────────────────────────────────────────────────────────── const STYLES = ` @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap'); *{box-sizing:border-box;margin:0;padding:0} body{font-family:'Plus Jakarta Sans',sans-serif;background:#050912;color:#fff;overflow-x:hidden} ::selection{background:#FF653940;color:#fff} @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}} @keyframes floatR{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-8px) rotate(-1deg)}} @keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #FF653940}70%{opacity:.7;box-shadow:0 0 0 8px transparent}} @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}} @keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}} @keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}} @keyframes fadeIn{from{opacity:0}to{opacity:1}} @keyframes barIn{from{width:0}to{}} @keyframes scan{0%{transform:translateY(0)}100%{transform:translateY(100%)}} @keyframes glow{0%,100%{box-shadow:0 0 20px #FF653320}50%{box-shadow:0 0 40px #FF653360}} @keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}} @keyframes dash{to{stroke-dashoffset:0}} @keyframes notif{0%{opacity:0;transform:translateX(20px)}20%{opacity:1;transform:translateX(0)}80%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}} @keyframes progressFill{from{width:0%}to{width:var(--w)}} @keyframes countFly{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}} @keyframes meshMove{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}} @keyframes dotPulse{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}} @keyframes alertIn{from{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}} .live-dot{animation:pulse 2s infinite} .float{animation:float 4s ease-in-out infinite} .floatR{animation:floatR 5s ease-in-out infinite} .float-delay{animation:float 4s ease-in-out 1s infinite} .nav-blur{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)} @media(max-width:900px){ .hide-mobile{display:none!important} .mobile-full{width:100%!important;flex-direction:column!important} .hero-grid{grid-template-columns:1fr!important;gap:32px!important;padding:32px 20px 40px!important} .page-hero-grid{grid-template-columns:1fr!important;gap:28px!important;padding-bottom:40px!important} .section-grid-2{grid-template-columns:1fr!important;gap:20px!important} .bento-grid>*{grid-column:span 12!important;grid-row:span 1!important} .compare-grid{grid-template-columns:1fr!important} .chain-row{flex-direction:column!important} .family-journey{flex-wrap:wrap!important} section{padding-top:clamp(48px,8vw,80px)!important;padding-bottom:clamp(48px,8vw,80px)!important} h1{font-size:clamp(28px,7vw,44px)!important;line-height:1.15!important} h2{font-size:clamp(22px,5.5vw,36px)!important;line-height:1.2!important} h3{font-size:clamp(16px,4vw,22px)!important} p{font-size:clamp(13px,3.5vw,16px)!important} .float,.floatR,.float-delay{animation:none!important} .float-badge{display:none!important} .simulator-inputs{grid-template-columns:1fr!important} .desktop-nav-wrapper{display:none!important} } @media(min-width:901px){.show-mobile{display:none!important}} ` // ── SADI LOGO ──────────────────────────────────────────────────────────────── function SADILogo({height=36,textColor="#ffffff",onClick}){ const w=Math.round(height*3.62) const s=height/36 return {/* Icon: orange circle with inner ring */} {/* SADI text */} SADI } const C = { bg:"#050912", bg2:"#080D1A", bg3:"#0D1525", orange:"#FF6539", orangeD:"#E04520", orangeL:"rgba(255,101,57,.12)", cyan:"#06B6D4", cyanL:"rgba(6,182,212,.12)", purple:"#8B5CF6", purpleL:"rgba(139,92,246,.12)", green:"#10B981", greenL:"rgba(16,185,129,.12)", yellow:"#F59E0B", red:"#EF4444", redL:"rgba(239,68,68,.12)", white:"#ffffff", text:"#E2E8F0", muted:"#64748B", subtle:"rgba(255,255,255,.06)", border:"rgba(255,255,255,.08)", borderL:"rgba(255,255,255,.04)", // Light section lbg:"#F8FAFC", ldark:"#0F172A", lmuted:"#475569", lborder:"#E2E8F0", lcard:"#FFFFFF", } // ── HOOKS ──────────────────────────────────────────────────────────────────── function useInView(threshold=.15){ const ref=useRef(null); const [v,setV]=useState(false) useEffect(()=>{ const obs=new IntersectionObserver(([e])=>{if(e.isIntersecting)setV(true)},{threshold}) if(ref.current)obs.observe(ref.current); return()=>obs.disconnect() },[threshold]); return[ref,v] } function useAnimatedBars(active){ const [bars,setBars]=useState([0,0,0,0,0,0]) const targets=[78,91,65,45,88,72] useEffect(()=>{ if(!active)return; let frame; const start=Date.now() const animate=()=>{ const t=Math.min((Date.now()-start)/1200,1) const ease=1-Math.pow(1-t,3) setBars(targets.map(v=>Math.round(v*ease))) if(t<1){frame=requestAnimationFrame(animate)} } const timeout=setTimeout(()=>{frame=requestAnimationFrame(animate)},300) return()=>{clearTimeout(timeout);cancelAnimationFrame(frame)} },[active]); return bars } function useCounter(end,active,delay=0){ const [val,setVal]=useState(0) useEffect(()=>{ if(!active)return; let frame const timeout=setTimeout(()=>{ const start=Date.now(); const dur=1800 const tick=()=>{ const t=Math.min((Date.now()-start)/dur,1) const ease=1-Math.pow(1-t,4) setVal(Math.round(end*ease)) if(t<1)frame=requestAnimationFrame(tick) }; frame=requestAnimationFrame(tick) },delay) return()=>{clearTimeout(timeout);cancelAnimationFrame(frame)} },[active,end,delay]); return val } // ── DESIGN SYSTEM ──────────────────────────────────────────────────────────── function Btn({children,variant="primary",onClick,size="md",full=false,icon=null}){ const[h,setH]=useState(false) const v={ primary:{bg:h?C.orangeD:C.orange,color:"#fff",border:"none",shadow:h?`0 0 30px ${C.orange}60`:`0 0 20px ${C.orange}30`}, ghost:{bg:h?"rgba(255,255,255,.06)":"rgba(255,255,255,.03)",color:C.text,border:`1px solid ${C.border}`,shadow:"none"}, dark:{bg:h?"#1a2540":"#111827",color:"#fff",border:`1px solid ${C.border}`,shadow:"none"}, orange_outline:{bg:"transparent",color:C.orange,border:`1px solid ${C.orange}`,shadow:"none"}, cta:{bg:h?C.orangeD:C.orange,color:"#fff",border:"none",shadow:h?`0 8px 32px ${C.orange}60`:`0 4px 24px ${C.orange}40`}, }[variant]||{} const s={sm:{p:"8px 18px",fs:13},md:{p:"11px 24px",fs:14},lg:{p:"14px 32px",fs:15},xl:{p:"18px 44px",fs:16}}[size] const btnStyle={fontFamily:"'Plus Jakarta Sans',sans-serif",padding:s.p,fontSize:s.fs,fontWeight:700, background:v.bg,color:v.color,border:v.border||"none",borderRadius:12,cursor:"pointer", transition:"all .2s",width:full?"100%":"auto",display:"inline-flex",alignItems:"center", gap:7,justifyContent:"center",boxShadow:v.shadow,letterSpacing:"-.01em", transform:h?"translateY(-1px)":"none"} return } function Tag({children,color=C.cyan}){ return {children.toUpperCase()} } function GradText({children,from=C.orange,to="#FF9F6F"}){ return {children} } function GlassCard({children,style={},hover=false}){ const[h,setH]=useState(false) return
setH(true)} onMouseLeave={()=>setH(false)} style={{background:h&&hover?"rgba(255,255,255,.05)":C.subtle,border:`1px solid ${h&&hover?"rgba(255,255,255,.14)":C.border}`,borderRadius:20,padding:"28px",transition:"all .25s",transform:h&&hover?"translateY(-4px)":"none",boxShadow:h&&hover?"0 20px 60px rgba(0,0,0,.4)":"none",...style}}>{children}
} function LightCard({children,style={}}){ return
{children}
} // ── DASHBOARD ILLUSTRATION ──────────────────────────────────────────────────── function RiskDot({level}){ const colors={high:C.red,med:C.yellow,low:C.green} const c=colors[level]||C.green return } function MiniBar({pct,color,delay=0,active}){ const [w,setW]=useState(0) useEffect(()=>{ if(!active)return const t=setTimeout(()=>setW(pct),delay); return()=>clearTimeout(t) },[active,pct,delay]) return
} const STUDENTS=[ {name:"Lucas M.",turma:"9B",level:"high",eng:23,drop:"-41%"}, {name:"Ana P.",turma:"8A",level:"high",eng:31,drop:"-38%"}, {name:"Pedro S.",turma:"7C",level:"med",eng:52,drop:"-19%"}, {name:"Maria G.",turma:"9A",level:"med",eng:58,drop:"-15%"}, {name:"João R.",turma:"8B",level:"low",eng:81,drop:"+3%"}, ] const TURMAS=[ {label:"9B",pct:38,color:C.red},{label:"8A",pct:44,color:C.yellow}, {label:"7C",pct:62,color:C.yellow},{label:"9A",pct:71,color:C.cyan}, {label:"8B",pct:84,color:C.green},{label:"7A",pct:89,color:C.green}, ] function DashboardUI({active}){ const [notif,setNotif]=useState(false) const [tick,setTick]=useState(0) const bars=useAnimatedBars(active) useEffect(()=>{ if(!active)return const t=setTimeout(()=>setNotif(true),1800) const t2=setTimeout(()=>setNotif(false),5500) const interval=setInterval(()=>setTick(v=>v+1),3000) return()=>{clearTimeout(t);clearTimeout(t2);clearInterval(interval)} },[active]) const baseStyle={fontFamily:"'Plus Jakarta Sans',sans-serif"} return
{/* Top chrome */}
AO VIVO
{/* Sidebar + content */}
{/* Sidebar */}
{[ , , , , ].map((ic,i)=>
{ic}
)}
{/* Main */}
{/* Metric cards */}
{[ {label:"Em Risco",val:"8",icon:,color:C.red,sub:"↑2 hoje"}, {label:"Engajamento",val:"71%",icon:,color:C.green,sub:"↑3% semana"}, {label:"Monitorados",val:"312",icon:,color:C.cyan,sub:"12 turmas"}, ].map(m=>
{m.label.toUpperCase()} {m.icon}
{m.val}
{m.sub}
)}
{/* Two columns */}
{/* Engagement bars */}
ENGAJAMENTO POR TURMA
{TURMAS.map((t,i)=>
{t.label} {bars[i]||0}%
)}
{/* Student list */}
ALUNOS EM RISCO
{STUDENTS.slice(0,4).map((s,i)=>
{s.name}
{s.turma} · Eng. {s.eng}%
{s.drop}
)}
{/* Alert notification */} {notif &&
Alerta SADI
Lucas M. — 9B
Engajamento caiu 41% nos últimos 3 dias
}
} // ── NAVBAR ──────────────────────────────────────────────────────────────────── function Navbar({page,go}){ const [open,setOpen]=useState(false) const [drop,setDrop]=useState(false) const [scrolled,setScrolled]=useState(false) useEffect(()=>{const fn=()=>setScrolled(window.scrollY>30);window.addEventListener("scroll",fn);return()=>window.removeEventListener("scroll",fn)},[]) const links=[{l:"Início",p:"home"},{l:"Como Funciona",p:"funciona"},{l:"Quem Somos",p:"sobre"}] const sub=[{l:"Escola Privada",p:"privada",c:C.orange},{l:"Setor Público",p:"publico",c:C.green},{l:"Superior & Cursos",p:"superior",c:C.cyan}] return } // ── FOOTER ──────────────────────────────────────────────────────────────────── function Footer({go}){ const cols=[ {t:"Produto",ls:[["Como Funciona","funciona"],["Escola Privada","privada"],["Setor Público","publico"],["Superior & Cursos","superior"]]}, {t:"Empresa",ls:[["Quem Somos","sobre"],["Instituto Anexo","sobre"],["Contato","contato"]]}, {t:"Começar",ls:[["Demo Gratuita","contato"],["Falar com Vendas","contato"],["Piloto","contato"]]}, ] return

"Nenhum aluno deveria se perder sem que ninguém perceba."

{[C.orange,C.cyan,"#7C3AED",C.green].map((c,i)=>
)}
{cols.map(col=>
{col.t.toUpperCase()}
{col.ls.map(([l,p])=>)}
)}
© 2024 SADI · Instituto Anexo · LGPD by Design
PrivacidadeTermosCookies
} // ── SEGMENT CARD (proper component to avoid hooks-in-map violation) ─────────── function SegmentCard({icon,t,d,c,p,badge,go}){ const [h,setH]=useState(false) return
setH(true)} onMouseLeave={()=>setH(false)} onClick={()=>go(p)} style={{background:h?c+"0A":"rgba(255,255,255,.02)",border:`1px solid ${h?c+"40":C.border}`,borderRadius:20,padding:"32px",cursor:"pointer",transition:"all .25s",transform:h?"translateY(-4px)":"none",boxShadow:h?`0 20px 60px rgba(0,0,0,.4),0 0 0 1px ${c}20`:"none"}}>
{icon}
{badge}

{t}

{d}

Ver como funciona
} // ── HOME ────────────────────────────────────────────────────────────────────── function Home({go}){ const [heroRef,heroVis]=useInView(.1) const [statsRef,statsVis]=useInView(.2) const [featRef,featVis]=useInView(.1) const c1=useCounter(25,statsVis,0) const c2=useCounter(15,statsVis,200) const c3=useCounter(480,statsVis,400) const c4=useCounter(30,statsVis,600) return <> {/* Hero */}
{/* Mesh */}
{/* Grid */}
{`Inteligência educacional`}

Nenhum aluno
deveria se perder
sem que ninguém
perceba.

A SADI transforma comportamento, atenção e sinais emocionais em evidências acionáveis — para que a escola aja antes que seja tarde.

go("contato")} variant="cta" size="lg">Agendar Demo go("funciona")} size="lg">Como Funciona
{[{n:"+25%",l:"Engajamento médio",c:C.orange},{n:"15%",l:"Risco identificado antes",c:C.cyan},{n:"30d",l:"Para ver resultado",c:C.green}].map(s=>
{s.n}
{s.l}
)}
Engajamento
↑ 25% este mês
3 alertas hoje
{["Instituto Anexo","Febracis","Paulo Vieira"].map(l=>
{l}
)}
LGPD by Design
{/* Problem — dark */}
O Problema

O que a escola não consegue ver.

Toda semana, alunos dão sinais claros de desconexão. Ninguém tem tempo — nem ferramenta — para enxergar.

{[ {icon:,t:"Descoberta tardia",d:"Quando a escola percebe, o problema já se consolidou. Nota caiu, falta acumulou, família exige resposta.",c:C.red}, {icon:,t:"Sobrecarga humana",d:"O coordenador tem 15 turmas. O professor tem 35 alunos. Enxergar o invisível de todos é humanamente impossível.",c:C.yellow}, {icon:,t:"Dados que não agem",d:"SGAs medem presença e nota. Nenhum sistema registra atenção, emoção e engajamento — que determinam se o aluno vai ficar.",c:C.muted}, ].map(({icon,t,d,c})=>
{icon}

{t}

{d}

)}
{/* Bento Features — light */}
Como a SADI resolve

Inteligência que transforma o invisível em ação.

{/* Bento Grid */}
{/* Big card left */}
{`Radar individual`}

Cada aluno monitorado.
Cada sinal capturado.

A SADI lê comportamento, atenção e estado emocional de cada aluno — e entrega uma lista priorizada de quem precisa de cuidado.

{["Alertas automáticos","Lista priorizada","Histórico de padrão","Risco por aluno"].map(f=>
{f}
)}
{/* Top right */}

IA Educacional Proprietária

Modelos treinados especificamente para o contexto educacional — não IA genérica adaptada.

{/* Bottom right */}

LGPD by Design

Conformidade estrutural — não adaptada depois. Privacidade embutida em cada camada do produto.

{/* Bottom row */}
+25%
Engajamento médio
Após implementação
{["presencial","online","híbrido"].map(c=>{c})}

Qualquer contexto

Mesmo produto. Mesmo resultado. Em sala, online ou no híbrido.

30 dias para operar

Diagnóstico, implantação e primeiros resultados em um ciclo estruturado.

{/* For who */}
Para quem é

Qual é o seu contexto?

{[ {icon:,t:"Escola Privada",d:"Retenção, receita e reputação. Identifique quem está a caminho do cancelamento — semanas antes de ir.",c:C.orange,p:"privada",badge:"Mais comum"}, {icon:,t:"Setor Público",d:"IDEB, FUNDEB e legado. Visibilidade de rede para agir antes que evasão vire estatística.",c:C.green,p:"publico",badge:"Escala"}, {icon:,t:"Superior & Cursos",d:"O aluno acessa, mas não está presente de verdade. A SADI identifica quem está perdendo o ritmo — antes de cancelar.",c:C.cyan,p:"superior",badge:"EAD"}, ].map(({icon,t,d,c,p,badge})=>)}
{/* Stats — animated */}
{[ {n:"+"+c1+"%",l:"Engajamento médio",sub:"Cases documentados",c:C.orange}, {n:c2+"%",l:"Alunos em risco identificados",sub:"Antes da nota cair",c:C.cyan}, {n:c3,l:"Alunos monitorados",sub:"Em escolas parceiras",c:C.green}, {n:c4+"d",l:"Do zero ao operacional",sub:"Implantação estruturada",c:C.purple}, ].map(s=>
{s.n}
{s.l}
{s.sub}
)}
{/* Personas */}
Quem está por trás

Criada por quem viu o problema.
Amplificada por quem acredita.

Um engenheiro que foi construir a solução que faltava. Um dos maiores nomes da educação no Brasil que apostou nela.

{/* Wister */
{e.currentTarget.style.transform="translateY(-4px)";e.currentTarget.style.boxShadow=`0 24px 60px rgba(0,0,0,.5),0 0 0 1px ${C.orange}30`}} onMouseLeave={e=>{e.currentTarget.style.transform="none";e.currentTarget.style.boxShadow="none"}}> {/* Photo */}
{/* Gradient overlay */}
{/* Badge over photo */}
O Criador
{/* Name over gradient */}
Wister Alves
Fundador & CEO · Instituto Anexo · Goiânia, GO
{/* Content */}
{["Engenheiro","Empreendedor","10 anos de Instituto Anexo"].map(tag=>{tag})}

Viu crianças se perdendo em silêncio dentro das escolas — e foi construir a ferramenta que faltava.

"Criei a SADI porque vi o problema com olhos de quem resolve. Não havia ferramenta. Então fui construir."

{/* Paulo */}
{e.currentTarget.style.transform="translateY(-4px)";e.currentTarget.style.boxShadow=`0 24px 60px rgba(0,0,0,.5),0 0 0 1px ${C.purple}30`}} onMouseLeave={e=>{e.currentTarget.style.transform="none";e.currentTarget.style.boxShadow="none"}}> {/* Photo */}
O Amplificador
Paulo Vieira
Fundador · Febracis · Investidor na SADI
{/* Content */}
{["Febracis","Best-seller","Maior escola de negócios da AL"].map(tag=>{tag})}

Um dos maiores comunicadores do Brasil em educação e desenvolvimento humano. Investiu na SADI como consequência do que sempre defendeu.

"Investi porque acredito que é possível proteger a trajetória de cada criança. Isso começa por ser capaz de enxergar."

go("sobre")} size="md">Ver história completa
{/* Final CTA */}

Pronto para enxergar antes?

30 minutos de demonstração. Sem compromisso. Com dados reais funcionando.

go("contato")} size="xl">Agendar Demonstração go("funciona")} size="xl">Como Funciona
} // ── PHOTO PLACEHOLDER ──────────────────────────────────────────────────────── function PhotoPlaceholder({w=320,h=320,label="Foto",initials="",color=C.orange,shape="circle",style={}}){ const isCircle=shape==="circle" return
{initials&&
{initials}
}
{label.toUpperCase()}
{/* Camera icon */}
} // ── HERO ILLUSTRATIONS ──────────────────────────────────────────────────────── function HeroIllustration({page,color=C.orange}){ if(page==="privada") return
{/* School building illustration */}
{/* Retention funnel */}
RETENÇÃO DE ALUNOS — ÚLTIMO TRIMESTRE
{[{label:"Matrículas ativas",val:312,pct:100,c:C.cyan},{label:"Engajados",val:248,pct:79,c:C.green},{label:"Em observação",val:41,pct:13,c:C.yellow},{label:"Em risco crítico",val:8,pct:3,c:C.red}].map((row,i)=>
{row.label} {row.val}
)}
{/* Bottom metric */}
{[{l:"Receita protegida",v:"R$ 186k",c:C.green},{l:"Alertas esta semana",v:"3 novos",c:C.orange}].map(m=>
{m.l.toUpperCase()}
{m.v}
)}
{/* Floating badge */}
+25% engajamento
if(page==="publico") return
MAPA DA REDE — VISÃO DA SECRETARIA
{/* School grid */}
{[C.green,C.green,C.yellow,C.green,C.red,C.green,C.yellow,C.green,C.green,C.green,C.red,C.green,C.green,C.yellow,C.green].map((c,i)=>
{c===C.red&&
}
)}
{[{c:C.green,l:"Regular"},{c:C.yellow,l:"Atenção"},{c:C.red,l:"Risco"}].map(({c,l})=>
{l}
)}
IMPACTO ESTIMADO DE EVASÃO · PRÓXIMOS 90 DIAS
R$ 2.4M
em repasse FUNDEB em risco · 3 escolas críticas
IDEB protegido
intervenção antes da queda
if(page==="superior") return
PRESENÇA REAL vs. ACESSO NA PLATAFORMA
{/* Two lines graph concept */}
{/* Acesso - high flat line */} {/* Presença real - lower diverging */} {/* Labels */} Acesso registrado Presença real
Gap detectado — Semana 6
38 alunos acessam mas mostram engajamento real {"<"} 30%
{[{l:"Risco de cancelamento",v:"38 alunos",c:C.red},{l:"Receita em risco",v:"R$ 57k",c:C.orange}].map(m=>
{m.l.toUpperCase()}
{m.v}
)}
if(page==="funciona") return
{/* Process flow visual */}
{[ {n:"01",t:"Leitura",d:"Câmera / Webcam",ic:,c:C.orange}, {n:"02",t:"IA analisa",d:"Comportamento · Emoção · Atenção",ic:,c:C.cyan}, {n:"03",t:"Coordenação age",d:"Lista priorizada · Histórico",ic:,c:C.green}, ].map((s,i)=>
{s.ic}
{s.n}
{s.t}
{s.d}
{i<2&&
}
)}
Resultado em 30 dias
Do diagnóstico ao primeiro alerta operacional
if(page==="sobre") return
{/* Collage de fotos */}
{/* Floating credential */}
Instituto Anexo · 10 anos de impacto
// contato return
O QUE VOCÊ VAI VER NA DEMO
{["Dashboard de engajamento em tempo real","Alertas automáticos de risco por aluno","Painel de turmas e séries comparadas","Histórico de intervenções registradas","Relatório executivo para gestão"].map((i,idx)=>
{i}
)}
30 minutos · Sem compromisso
Com dados reais do seu segmento
} // ── INNER PAGES ─────────────────────────────────────────────────────────────── function PageHero({tag,tagColor=C.orange,title,sub,cta,onCta,page}){ const grad=`radial-gradient(ellipse 70% 60% at 60% 50%,${tagColor}10,transparent 60%)` return
{tag}

{title}

{sub}

{cta}
} function Section2({children,dark=false,title,tag,tagColor=C.cyan,sub}){ const [ref,vis]=useInView() return
{(title||tag)&&
{tag&&
{tag}
} {title&&

{title}

} {sub&&

{sub}

}
} {children}
} // ── PRIVADA ─────────────────────────────────────────────────────────────────── function RevenueSimulator({active}){ const [alunos,setAlunos]=useState(500) const [ticket,setTicket]=useState(1200) const [evasao,setEvasao]=useState(8) const sadiCost=1990 const evadidos=Math.round(alunos*(evasao/100)) const receitaPerda=evadidos*ticket*10 const custoReposicao=evadidos*ticket*7 const riscoTotal=receitaPerda+custoReposicao const roi=Math.round((riscoTotal-sadiCost*12)/sadiCost*12*100) const fmt=v=>new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",maximumFractionDigits:0}).format(v) const inp={fontFamily:"'Plus Jakarta Sans',sans-serif",width:"100%",padding:"8px 12px",borderRadius:8,border:`1px solid ${C.lborder}`,fontSize:13,color:C.ldark,background:"#fff",outline:"none",boxSizing:"border-box"} return
CALCULADORA DE IMPACTO — ESCOLA PRIVADA
{[ {l:"Alunos matriculados",val:alunos,set:setAlunos,min:100,max:5000,step:50}, {l:"Mensalidade média (R$)",val:ticket,set:setTicket,min:300,max:5000,step:100}, {l:"Taxa de evasão anual (%)",val:evasao,set:setEvasao,min:2,max:30,step:1}, ].map(({l,val,set,min,max,step})=>
set(Number(e.target.value))} style={inp}/>
)}
{[ {l:"Alunos em risco/ano",v:evadidos+" alunos",c:C.red,sub:"com evasão atual"}, {l:"Receita perdida estimada",v:fmt(receitaPerda),c:C.red,sub:"horizonte de 10 mensalidades"}, {l:"Custo de reposição",v:fmt(custoReposicao),c:C.orange,sub:"captação × 7 mensalidades"}, {l:"Risco total anual",v:fmt(riscoTotal),c:C.red,sub:"receita + reposição"}, ].map(({l,v,c,sub})=>
{l.toUpperCase()}
{v}
{sub}
)}
Se a SADI evitar 40% das saídas evitáveis...
Proteção estimada de {fmt(riscoTotal*.4)} — com investimento mensal a partir de {fmt(sadiCost)}
ROI estimado
{roi>0?`+${roi}%`:"Positivo"}
} function SilentSignals({active}){ const [step,setStep]=useState(0) const steps=[ {semana:"Semana 1",signal:"Atenção começa a cair",detail:"Olhar distante, participação menor. Invisível para o professor com 35 alunos.",c:C.yellow,pct:15}, {semana:"Semana 3",signal:"Engajamento em queda",detail:"Deixa de responder ativamente. Para de entregar atividades opcionais.",c:C.orange,pct:38}, {semana:"Semana 5",signal:"Desconexão emocional",detail:"Expressão de desânimo. Chega na hora certa, mas já está mentalmente fora.",c:C.red,pct:62}, {semana:"Semana 7",signal:"Nota começa a cair",detail:"Só aqui o sistema tradicional detecta. Já são 7 semanas de sinal perdido.",c:C.red,pct:78}, {semana:"Semana 10",signal:"Pedido de cancelamento",detail:"A família liga. O coordenador fica sabendo. Tarde demais para agir.",c:"#7F1D1D",pct:100}, ] useEffect(()=>{ if(!active)return const interval=setInterval(()=>setStep(s=>(s+1)%steps.length),2000) return()=>clearInterval(interval) },[active]) const cur=steps[step] return
PADRÃO DE DESCONEXÃO SILENCIOSA
{step+1}/{steps.length}
{cur.semana}
{cur.signal}
{cur.detail}
{steps.map((s,i)=>
setStep(i)} style={{flex:1,height:3,borderRadius:1.5,background:i<=step?cur.c:"rgba(255,255,255,.08)",cursor:"pointer",transition:"background .3s"}}/>)}
{step===3&&
SADI detecta nas semanas 1–3. O sistema tradicional só vê aqui, na semana 7.
} {step===4&&
Sem a SADI: a escola só soube quando a família ligou. 10 semanas tarde.
}
} function Privada({go}){ const [simRef,simVis]=useInView(.1) const [sigRef,sigVis]=useInView(.15) return <> A escola que enxerga antes
retém mais,
cresce mais.} sub="A SADI identifica quem está se desconectando semanas antes do cancelamento — e entrega à escola o argumento mais poderoso no mercado: cuidado com evidência." cta="Agendar Demonstração" onCta={()=>go("contato")}/> {/* Strip */}
A SADI IMPACTA DIRETAMENTE {[{l:"Retenção de alunos",c:C.orange},{l:"Receita recorrente",c:C.green},{l:"NPS e reputação",c:C.cyan},{l:"Diferencial competitivo",c:C.purple},{l:"Confiança da família",c:C.yellow}].map(({l,c})=>
{l}
)}
{/* Silent signals + ROI sim */}
O Padrão Invisível

O aluno não cancela de repente.
Ele se desconecta em etapas.

Cada cancelamento teve semanas de sinais antes. O problema não é falta de cuidado — é falta de visibilidade. A escola não vê o que está acontecendo dentro da experiência do aluno.

{[ {t:"Sistema tradicional detecta",d:"Na semana 7, quando a nota já caiu. Intervenção é cara, difícil e muitas vezes ineficaz.",c:C.red}, {t:"A SADI detecta",d:"Nas semanas 1 a 3, quando o engajamento começa a mudar. Intervir aqui é simples — uma conversa resolve.",c:C.green}, ].map(({t,d,c})=>
{t}

{d}

)}
{/* Full cost breakdown */}
O Custo Real

Cada saída custa muito mais do que uma mensalidade.

O impacto financeiro de um cancelamento tem três camadas — e a maioria das escolas contabiliza só a primeira.

{[ {n:"01",title:"Receita perdida",items:["Mensalidades do mês seguinte ao cancelamento","Projeção das mensalidades até o fim do ciclo esperado","Material didático já fornecido sem retorno"],impact:"8 a 14 mensalidades perdidas por saída",c:C.red}, {n:"02",title:"Custo de reposição",items:["CAC (custo de aquisição) de um novo aluno","Investimento em marketing de captação","Tempo de equipe comercial para fechar nova matrícula"],impact:"5 a 10x o custo de reter um aluno em risco",c:C.orange}, {n:"03",title:"Custo invisível",items:["Reputação — família que saiu insatisfeita conta para outras","Review negativo que inibe novos interessados","Clima interno quando saídas viram padrão visível"],impact:"Difícil de medir. Impossível de ignorar.",c:C.yellow}, ].map(({n,title,items,impact,c})=>
{n} — {title.toUpperCase()}
{items.map(it=>
{it}
)}
Impacto
{impact}
)}
{/* ROI Simulator */}

Calcule o impacto na sua escola

Ajuste os dados e veja o risco real — e o ROI da SADI.

{/* Competitive differentiation */}
Diferenciação Competitiva

No mercado privado,
quem cuida com dado vence.

Toda escola diz que cuida. Poucas conseguem provar. A SADI transforma cuidado em argumento verificável — para captação, retenção e reputação.

{/* Before/After comparison */}
SEM A SADI
{[ {label:"Percepção de família","val":"Cobrança de nota e falta","icon":"✕"}, {label:"Diferencial comercial","val":"Estrutura e metodologia","icon":"✕"}, {label:"Retenção","val":"Reativa — age depois da queda","icon":"✕"}, {label:"Captação","val":"Marketing genérico de qualidade","icon":"✕"}, {label:"NPS","val":"Determinado pelo conteúdo","icon":"○"}, ].map(({label,val,icon})=>
{icon}
{label}
{val}
)}
COM A SADI
{[ {label:"Percepção de família","val":"Acompanhamento real, com evidência","icon":"✓",c:C.green}, {label:"Diferencial comercial","val":"'Nossa escola vê antes que o problema aconteça'","icon":"✓",c:C.green}, {label:"Retenção","val":"Proativa — age semanas antes do cancelamento","icon":"✓",c:C.green}, {label:"Captação","val":"'Temos sistema de acompanhamento contínuo' — com dado","icon":"✓",c:C.green}, {label:"NPS","val":"Elevado por cuidado percebido e experiência real","icon":"✓",c:C.green}, ].map(({label,val,icon,c})=>
{icon}
{label}
{val}
)}
{/* Family journey */}
A Família como Cliente

A família que paga mensalidade alta
tem expectativa de acompanhamento real.

Ela pesquisa, compara e está cada vez mais sensível a sinais de risco — saúde mental, bullying, engajamento, pertencimento. Escola que só manda nota no boletim perdeu o passo.

{[ {fase:"Antes da matrícula",familia:"A família pesquisa o diferencial de cuidado da escola. 'Como vocês acompanham o meu filho além da nota?'",escola_sem:"Resposta genérica sobre missão e valores.",escola_com:"'Temos sistema de monitoramento de engajamento em tempo real. Posso mostrar como funciona.'",c:C.cyan,n:"1"}, {fase:"Durante o ano",familia:"Filho muda de comportamento. Família sente mas não sabe nomear. Espera que a escola perceba.",escola_sem:"A escola descobre quando a nota cai. Liga para cobrar — não para cuidar.",escola_com:"A SADI detecta a mudança. Escola liga antes: 'Identificamos uma mudança. Podemos conversar?'",c:C.orange,n:"2"}, {fase:"Na renovação",familia:"Família avalia se vale continuar. Pesa o cuidado percebido ao longo do ano.",escola_sem:"Nenhuma memória de cuidado proativo. Escola negocia com desconto.",escola_com:"Família se lembra do momento em que a escola ligou antes da crise. Renova — e recomenda.",c:C.green,n:"3"}, ].map(({fase,familia,escola_sem,escola_com,c,n},i)=>
{n}
{fase.toUpperCase()}
{familia}
Sem a SADI: {escola_sem}
Com a SADI: {escola_com}
)}
{/* What each role gains */}
{[ {t:"Mantenedor / Dono",d:"Receita protegida. Reputação de marca elevada. Diferencial concreto em captação. Argumento de qualidade verificável para investidor ou conselho.",ic:,c:C.orange,badge:"Negócio"}, {t:"Diretor Geral",d:"Engajamento por turma, série e turno. Menos surpresa. Mais antecipação. Dados para reunião de resultado com mantenedor.",ic:,c:C.cyan,badge:"Gestão"}, {t:"Coordenação Pedagógica",d:"Para de apagar incêndio. Agenda de cuidado priorizada com dado, contexto e histórico de cada aluno. Conversa com família ancorada em evidência.",ic:,c:C.purple,badge:"Pedagógico"}, {t:"Professor",d:"O que era intuição vira dado. A SADI confirma o que ele já percebia. Base concreta para pedir apoio da coordenação.",ic:,c:C.green,badge:"Sala de aula"}, {t:"Equipe de Marketing",d:"'Nossa escola acompanha de verdade' — com sistema real para mostrar. Diferencial genuíno em captação que concorrente sem SADI não tem.",ic:,c:C.yellow,badge:"Captação"}, {t:"Família",d:"Chama antes da crise — com dado. Parceria real, não só cobrança. 'A escola percebeu que algo mudou antes de nós.'",ic:,c:C.muted,badge:"Cliente"}, ].map(({t,d,ic,c,badge})=>
{ic}
{badge}

{t}

{d}

)}
{/* Value layers */}
Arquitetura de Valor

A SADI cresce com a escola.

{[ {n:"Camada 1",title:"Radar Individual",desc:"Alertas automáticos de mudança de padrão. Lista priorizada de risco por aluno. O ponto de entrada — e o mais impactante.",c:C.orange,badge:"Entrada"}, {n:"Camada 2",title:"Painel de Turmas",desc:"Engajamento coletivo por turma, disciplina, turno. Identifica onde o problema se concentra — não só quem.",c:C.cyan,badge:"Gestão"}, {n:"Camada 3",title:"Decisão Pedagógica",desc:"Base estruturada para reuniões. Histórico de cuidado registrado. Quem atendeu, quando e com qual resultado.",c:C.purple,badge:"Coordenação"}, {n:"Camada 4",title:"Visão Institucional",desc:"Comparativo por séries, turnos e períodos. Análise de impacto de intervenções. Relatório executivo para mantenedor.",c:C.green,badge:"Estratégico"}, ].map(({n,title,desc,c,badge},i)=>
{n.toUpperCase()}
{title}

{desc}

{badge}
)}

A escola que acompanha retém.
A que retém cresce. A que cresce lidera.

Mostre para a família que o filho está sendo acompanhado de verdade — com dado real, não só com discurso.

go("contato")} size="lg">Agendar Demonstração go("funciona")} size="lg">Como Funciona
} // ── PÚBLICO ─────────────────────────────────────────────────────────────────── function IdeabGauge({value=5.2,target=6.0,active}){ const [v,setV]=useState(0) useEffect(()=>{ if(!active)return let frame; const start=Date.now(); const dur=1600 const tick=()=>{ const t=Math.min((Date.now()-start)/dur,1) const ease=1-Math.pow(1-t,3) setV(+(value*ease).toFixed(1)) if(t<1)frame=requestAnimationFrame(tick) } const timeout=setTimeout(()=>{ frame=requestAnimationFrame(tick) },400) return()=>{clearTimeout(timeout);cancelAnimationFrame(frame)} },[active,value]) const pct=(v/10)*100 const targetPct=(target/10)*100 return
IDEB — ESCALA 0 A 10
{/* color zones */}
{/* fill */}
{/* target marker */}
=6?C.green:v>=4?C.yellow:C.red,lineHeight:1}}>{v.toFixed(1)}
média atual · rede
{target.toFixed(1)} meta
PNE 2024
{[{c:C.red,l:"Crítico (0–4)"},{c:C.yellow,l:"Atenção (4–6)"},{c:C.green,l:"Adequado (6+)"}].map(({c,l})=>
{l}
)}
} function Publico({go}){ const [indRef,indVis]=useInView(.15) return <> A SADI move os indicadores
que o seu mandato
é cobrado a melhorar.} sub="Não só evasão. IDEB, SAEB, fluxo escolar, abandono, distorção idade-série — a SADI atua na raiz de todos eles: o engajamento real do aluno dentro da sala de aula." cta="Agendar Apresentação Técnica" onCta={()=>go("contato")}/> {/* IDEB explainer strip */}
INDICADORES QUE A SADI IMPACTA
{[ {label:"IDEB",sub:"Aprendizagem + Fluxo",c:C.green}, {label:"SAEB",sub:"Desempenho em larga escala",c:C.cyan}, {label:"Censo Escolar",sub:"Aprovação · Abandono · Distorção",c:C.orange}, {label:"Criança Alfabetizada",sub:"2º ano — padrão INEP",c:C.purple}, {label:"FUNDEB",sub:"Repasse por matrícula",c:C.yellow}, ].map(({label,sub,c})=>
{label}
{sub}
)}
{/* What SADI moves */}
Como a SADI move os indicadores

Cada indicador tem uma raiz.
A SADI atua nela.

IDEB combina aprendizagem e fluxo escolar. SAEB mede o que o aluno aprendeu. O Censo Escolar registra aprovação, abandono e distorção. Todos dependem de uma variável que ninguém estava medindo: o engajamento dentro da sala de aula.

{/* IDEB card */}
IDEB · ÍNDICE 0–10

Aprendizagem + Fluxo Escolar

O IDEB combina taxa de aprovação (Censo Escolar) com desempenho no SAEB. Aluno desengajado reprova, abandona ou aprende menos — derrubando os dois componentes ao mesmo tempo.

Como a SADI ajuda

Identifica quem está desengajado antes que reprove ou abandone — protegendo os dois componentes do IDEB ao mesmo tempo.

{/* SAEB card */}
SAEB · AVALIAÇÃO DE APRENDIZAGEM

Qualidade do que foi ensinado

O SAEB mede o que o aluno absorveu. Aluno presente mas desatento não absorve. O resultado cai — e a escola só descobre meses depois, na divulgação do índice.

{[ {label:"Atenção abaixo de 50%",pct:38,c:C.red}, {label:"Engajamento oscilante",pct:24,c:C.yellow}, {label:"Presença real consistente",pct:38,c:C.green}, ].map(({label,pct,c},i)=>
{label} {pct}%
)}
Como a SADI ajuda

Detecta quem está presente fisicamente mas ausente na aprendizagem — antes que o resultado do SAEB revele o problema.

{/* Censo Escolar */}
CENSO ESCOLAR · INEP

Fluxo, Abandono e Distorção

Taxas de aprovação, reprovação e abandono — mais a distorção idade-série — são calculadas pelo Censo. Todos são consequência de desengajamento não identificado a tempo.

{[ {label:"Taxa de abandono",val:"↓ reduzir",c:C.red}, {label:"Taxa de aprovação",val:"↑ aumentar",c:C.green}, {label:"Distorção idade-série",val:"↓ corrigir",c:C.yellow}, {label:"Frequência real",val:"↑ garantir",c:C.cyan}, ].map(({label,val,c})=>
{label}
{val}
)}
Como a SADI ajuda

Antecipa queda de frequência e desengajamento que levam ao abandono — atuando antes que o Censo registre o problema.

{/* Criança Alfabetizada */}
INDICADOR CRIANÇA ALFABETIZADA · INEP

2º Ano — Padrão Nacional

Mede o percentual de alunos do 2º ano que atingiram o padrão nacional de alfabetização. Uma criança desatenta ou emocionalmente desconectada na fase de alfabetização carrega déficit por anos.

SINAL PRECOCE DE RISCO — 2º ANO
{[ {label:"Atenção sustentada {"<"} 40%",icon:"⚠",c:C.red}, {label:"Expressões de frustração frequente",icon:"⚠",c:C.yellow}, {label:"Participação oral em queda",icon:"⚠",c:C.yellow}, ].map(({label,icon,c})=>
{icon}{label}
)}
Como a SADI ajuda

Na fase de alfabetização, detecta sinais de desconexão emocional e queda de atenção que impedem a criança de consolidar o aprendizado no momento mais crítico.

{/* The chain */}
A Cadeia de Impacto

Tudo começa dentro da sala de aula.

A SADI intercepta o problema no momento em que ainda é invisível — antes que apareça em qualquer indicador oficial.

{[ {stage:"Sinal invisível",desc:"Atenção cai. Emoção muda. Comportamento se altera.",color:C.green,label:"A SADI detecta aqui"}, {stage:"Desengajamento",desc:"Aluno presente mas ausente. Não absorve conteúdo.",color:C.yellow,label:"Semanas depois"}, {stage:"Queda de nota",desc:"Desempenho cai no SAEB. IDEB começa a ser comprometido.",color:C.orange,label:"Meses depois"}, {stage:"Abandono / Reprovação",desc:"Censo Escolar registra. IDEB cai. FUNDEB em risco.",color:C.red,label:"Quando é tarde"}, ].map(({stage,desc,color,label},i)=>
{i===0?"SADI":`0${i+1}`}
{stage}
{desc}
{label}
)}
A SADI atua na única etapa em que ainda é possível mudar o desfecho.

Antes da nota cair. Antes da falta virar abandono. Antes do Censo Escolar registrar. Antes do IDEB refletir. Essa janela existe — e é onde a SADI trabalha.

go("contato")} size="md" variant="primary">Ver demonstração
{/* Cost dimensions */}
{[ {t:"Financeiro",d:"Cada aluno evadido compromete o repasse do FUNDEB. Matrícula menor = orçamento menor = capacidade de investimento menor.",c:C.red,ic:,extras:["Perda direta no FUNDEB por aluno","Custo de reingresso e recuperação","Impacto em programas federais vinculados"]}, {t:"Político e Institucional",d:"IDEB abaixo da meta vira pauta de oposição, CPI e cobertura negativa. O gestor que não agiu cedo está numa posição difícil.",c:C.yellow,ic:,extras:["IDEB público — cobrado pela sociedade","Ranking entre municípios e estados","Legado de gestão em anos eleitorais"]}, {t:"Social e Humano",d:"Criança que não aprendeu na hora certa carrega déficit por anos. Jovem que abandonou tem menos chances — e custa mais ao sistema.",c:C.green,ic:,extras:["Custo futuro em assistência social","Capital humano não desenvolvido","Desigualdade que se perpetua"]}, ].map(({t,d,c,ic,extras})=>
{ic}

{t}

{d}

{extras.map(e=>
{e}
)}
)}
{/* What the gestors get */}
{[ {t:"Secretário(a) de Educação",d:"Visão consolidada de engajamento e risco por escola, série e turno. Base para decisão de política pública com dado real — não com percepção.",c:C.green,badge:"Estratégico",ic:}, {t:"Prefeito / Governador",d:"Argumento de inovação pública. IDEB que sobe com política verificável. Legado concreto antes da próxima eleição.",c:C.cyan,badge:"Político",ic:}, {t:"Gerente Técnico de Ensino",d:"Dados por escola, série e turno para alocar intervenção onde há real necessidade — sem depender de visita ou relato.",c:C.orange,badge:"Operacional",ic:}, {t:"Diretor de Escola",d:"Agenda de cuidado priorizada. Menos apagar incêndio, mais prevenção com base em dado — sem sobrecarga adicional.",c:C.purple,badge:"Escola",ic:}, {t:"Coordenação Pedagógica",d:"Lista de alunos em risco com histórico e contexto. Base para conversa com professor, família e conselho tutelar.",c:C.yellow,badge:"Pedagógico",ic:}, {t:"Professor",d:"O que era intuição vira dado. A SADI confirma o que o professor já percebia — e dá base concreta para pedir suporte.",c:C.muted,badge:"Sala de aula",ic:}, ].map(({t,d,c,badge,ic})=>
{ic}
{badge}

{t}

{d}

)}
{/* LGPD */}
{[ {t:"LGPD by Design",d:"Conformidade com a legislação construída no produto desde o início — não adaptada depois de pronta."}, {t:"A SADI não avalia professor",d:"Não gera dado de desempenho docente. Explícito em contrato e em toda comunicação com a equipe escolar."}, {t:"Dados exclusivamente pedagógicos",d:"Usados apenas para fins de acompanhamento interno. Nenhum compartilhamento externo ou uso disciplinar."}, {t:"A rede controla o acesso",d:"Quem vê o quê é definido pela própria secretaria ou escola. A SADI não decide — a instituição decide."}, ].map(({t,d})=>
{t}

{d}

)}

A SADI não foi feita para vigiar. Foi feita para proteger.

DPA e política de privacidade disponíveis para análise jurídica antes de qualquer implantação.

{/* Final CTA */}
Gestão Pública com Evidência

Qual gestor não quer ser lembrado por melhorar o IDEB — com dado?

A SADI transforma política pública de intenção em política pública com evidência. Do Indicador Criança Alfabetizada ao FUNDEB — a raiz está na sala de aula.

go("contato")} size="lg">Agendar Apresentação Técnica go("funciona")} size="lg">Como Funciona
} // ── SUPERIOR ────────────────────────────────────────────────────────────────── function AccessCascade({active}){ const [step,setStep]=useState(0) useEffect(()=>{ if(!active)return const t=setTimeout(()=>{ const interval=setInterval(()=>setStep(s=>s<3?s+1:s),1200) return()=>clearInterval(interval) },600) return()=>clearTimeout(t) },[active]) const levels=[ {label:"Acessou a plataforma",pct:100,c:"rgba(255,255,255,.3)",detail:"Sistema registra: ✓ presente",ok:true}, {label:"Assistiu à aula",pct:71,c:C.cyan,detail:"O sistema tradicional para aqui",ok:true}, {label:"Estava atento",pct:44,c:C.yellow,detail:"Maioria dos sistemas não vê",ok:false}, {label:"Aprendeu de verdade",pct:28,c:C.orange,detail:"A SADI lê o que os outros não veem",ok:false}, ] return
A CASCATA QUE NINGUÉM MEDE — TURMA ONLINE TÍPICA
{levels.map(({label,pct,c,detail,ok},i)=>
{label} {!ok&&SADI vê}
{step>=i?pct:0}%
=i?`${pct}%`:"0%",background:`linear-gradient(90deg,${c},${c}90)`,borderRadius:3,transition:"width 1s cubic-bezier(.4,0,.2,1)"}}/>
{detail}
)}
De 100 alunos que "assistiram", apenas 28 aprenderam de verdade. A SADI identifica os outros 72 antes de cancelarem.
} function LTVCard({active}){ const ltv=useCounter(28800,active,0) const cac=useCounter(4200,active,200) const risk=useCounter(11520,active,400) const fmt=v=>new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",maximumFractionDigits:0}).format(v) return
LIFETIME VALUE — ENSINO SUPERIOR (EXEMPLO)
{[ {label:"LTV médio por aluno (4 anos)",val:fmt(ltv),c:C.green,sub:"24 mensalidades × R$1.200"}, {label:"CAC — custo de aquisição",val:fmt(cac),c:C.orange,sub:"marketing + comercial + processo"}, {label:"Receita em risco por evasão (40%)",val:fmt(risk),c:C.red,sub:"se sair no 2º semestre"}, ].map(({label,val,c,sub})=>
{label}
{sub}
{val}
)}
Reter 1 aluno com a SADI
= {fmt(risk)} protegidos
} function Superior({go}){ const [cascRef,cascVis]=useInView(.15) const [ltvRef,ltvVis]=useInView(.15) return <> Acesso não é presença.
Presença não é aprendizado.
A diferença custa caro.} sub="Para EAD, graduação, preparatórios, idiomas e cursos técnicos: a SADI lê o que os seus sistemas atuais não veem — e entrega ação antes do cancelamento." cta="Agendar Demonstração" onCta={()=>go("contato")}/> {/* Segment strip */}
ATENDE {[{l:"EAD",c:C.cyan},{l:"Graduação",c:C.orange},{l:"Pós-Graduação",c:C.purple},{l:"Preparatórios",c:C.red},{l:"Idiomas",c:C.green},{l:"Técnicos",c:C.yellow},{l:"Livres & Corporativos",c:C.muted}].map(({l,c})=>{l})}
{/* The cascade */}
O Dado que Ninguém Mede

O seu sistema diz que
100% assistiram.
A SADI sabe que não.

Log de acesso é necessário. Não é suficiente. Aluno que abre a aba, muta o microfone e vai fazer outra coisa está presente tecnicamente — e ausente completamente. A SADI mede o que está entre o login e o aprendizado.

{[ {t:"O que o seu sistema atual vê",items:["Login e acesso","Tempo na plataforma","Entregas realizadas","Nota de prova"],c:"rgba(255,255,255,.2)"}, {t:"O que a SADI vê além disso",items:["Atenção real durante a aula","Estado emocional ao longo do módulo","Engajamento vs. presença passiva","Quem está perdendo o fio antes de cancelar"],c:C.cyan}, ].map(({t,items,c})=>
{t.toUpperCase()}
{items.map(it=>
{it}
)}
)}
{/* Cancelamento pattern */}
O Padrão do Cancelamento

Cancelamento é o final.
A SADI vê o processo inteiro.

Cada cancelamento seguiu o mesmo padrão — semanas antes. O problema não é que o aluno foi. É que ninguém viu quando ele começou a ir.

{[ {n:"1",fase:"Desconexão Emocional",prazo:"Semana 1–2",sinal:"Menos participação. Câmera começa a ficar off com mais frequência.",quem:"SADI detecta aqui",c:C.cyan}, {n:"2",fase:"Queda de Atenção",prazo:"Semana 3–4",sinal:"Acessa mas não absorve. Engajamento cai. Começa a atrasar entregas.",quem:"SADI alerta aqui",c:C.orange}, {n:"3",fase:"Afastamento Gradual",prazo:"Semana 5–6",sinal:"Frequência de acesso cai. NPS interno já estaria negativo se medido.",quem:"Sistema tradicional vê aqui",c:C.yellow}, {n:"4",fase:"Decisão de Sair",prazo:"Semana 7–8",sinal:"Aluno já decidiu. Pesquisou concorrentes. Está esperando o momento.",quem:"Tarde para agir",c:C.red}, {n:"5",fase:"Pedido de Cancelamento",prazo:"Semana 9–10",sinal:"Mensagem chega. Coordenação fica sabendo. A receita já foi.",quem:"Irrecuperável",c:"#7F1D1D"}, ].map(({n,fase,prazo,sinal,quem,c},i)=>
{n}
{prazo}
{fase}

{sinal}

{quem}
)}
9x
A SADI age até 9 semanas antes do cancelamento chegar.

Nessa janela, uma abordagem humanizada salva a matrícula sem desconto, sem atrito e sem urgência.

go("contato")} size="sm">Ver demonstração
{/* LTV + Financial */}
O Cálculo Financeiro

Retenção não é operacional.
É financeiro.

O LTV de um aluno de graduação supera R$ 28 mil. CAC para repor um aluno evadido ultrapassa R$ 4 mil. A conta é simples — o impacto é enorme.

{[ {title:"EAD com 10–15% de conclusão",desc:"Cada aluno que abandona antes de completar representa LTV parcial — e um custo de reposição integral. A SADI paga a si mesma retendo uma fração dos que estão em risco.",c:C.cyan,icon:}, {title:"Preparatório com ciclo intenso",desc:"Aluno que quebra na reta final é o mais caro de perder — estava quase lá. A SADI detecta burnout e exaustão antes da quebra.",c:C.red,icon:}, {title:"Idiomas com alta rotatividade",desc:"Cancelamento por falta de evolução percebida é previsível semanas antes. A SADI identifica quem parou de participar ativamente.",c:C.green,icon:}, ].map(({title,desc,c,icon})=>
{icon}
{title}

{desc}

)}
{/* NPS & Proof social */}
NPS e Prova Social

Aluno que conclui recomenda.
Aluno que cancela adverte.

No mercado de cursos e ensino superior privado, prova social é o principal motor de captação. A SADI protege o NPS ao proteger a experiência — antes que ela deteriore.

{[ {t:"NPS elevado",d:"Aluno que percebe cuidado real — ser contactado antes da crise, ter atenção ao longo do curso — avalia melhor. A SADI gera os momentos que constroem NPS alto.",c:C.green,n:"+47",nl:"NPS típico pós-SADI",ic:}, {t:"Boca a boca positivo",d:"Cada aluno que conclui satisfeito traz em média 2,3 novos leads orgânicos. A SADI aumenta a taxa de conclusão — e multiplica a captação orgânica.",c:C.cyan,n:"2.3x",nl:"leads orgânicos por conclusão",ic:}, {t:"Review e reputação",d:"Em plataformas de avaliação, a principal queixa de alunos que cancelam é falta de suporte e acompanhamento. A SADI resolve o problema antes que vire review negativo.",c:C.orange,n:"↑ NPS",nl:"com acompanhamento ativo",ic:}, {t:"Taxa de conclusão",d:"Mais conclusão = mais prova social = mais captação. O ciclo virtuoso começa no engajamento real que a SADI torna visível.",c:C.purple,n:"+18%",nl:"conclusão média",ic:}, ].map(({t,d,c,n,nl,ic})=>
{ic}
{n}
{nl}

{t}

{d}

)}
{/* Segment deep dive */}
{[ {s:"EAD & Online",dor:"Acesso sem presença real. Taxa de conclusão baixíssima. Aluno some sem avisar.",sadi:"Leitura de comportamento via webcam. Separação entre presença técnica e presença real. Alerta antes do sumiu.",c:C.cyan,ic:,n:"10–15%",nl:"conclusão sem intervenção"}, {s:"Graduação & Pós",dor:"Trancamento silencioso. Aluno vai desanimando ao longo dos semestres e desaparece.",sadi:"Engajamento por disciplina e período. Identificação de curvas de desmotivação por curso. Alerta antes do trancamento.",c:C.orange,ic:,n:"25–30%",nl:"evasão média no superior privado"}, {s:"Preparatórios",dor:"Burnout na reta final. Aluno que estava perto quebra exatamente quando mais importava.",sadi:"Monitoramento de estado emocional ao longo do ciclo. Detecta sobrecarga e exaustão. Permite redistribuição de carga.",c:C.purple,ic:,n:"Semanas",nl:"antes do colapso — a SADI detecta"}, {s:"Idiomas",dor:"Cancelamento por falta de evolução percebida. Aluno para de falar, de tentar, de participar.",sadi:"Leitura de participação oral e engajamento ativo — o principal preditor de cancelamento em idiomas.",c:C.green,ic:,n:"3x",nl:"mais cancelamentos sem SADI"}, {s:"Técnicos & Profissionalizantes",dor:"Formado sem competência. Aluno conclui no papel mas não absorveu o conteúdo técnico.",sadi:"Engajamento prático e teórico separados. Alerta quando absorção técnica cai abaixo do esperado.",c:C.yellow,ic:,n:"12%",nl:"formados sem competência real"}, {s:"Cursos Livres & Corporativos",dor:"Ciclos curtos, janela pequena. Problema não identificado em 2 semanas não tem mais tempo de ser resolvido.",sadi:"Monitoramento intensivo desde o início. Alta sensibilidade a mudança de padrão. CTA rápido para intervenção.",c:C.muted,ic:,n:"2 semanas",nl:"janela total de recuperação"}, ].map(({s,dor,sadi,c,ic,n,nl})=>
{ic}
{n}
{nl}

{s}

DOR

{dor}

SADI

{sadi}

)}
{/* Final CTA */}
Retenção com Evidência

Cada semana sem visibilidade é uma semana
mais perto de perder quem podia ser retido.

30 minutos de demonstração com dados reais da sua operação. Sem compromisso.

go("contato")} size="lg">Agendar Demonstração go("funciona")} size="lg">Como Funciona
} // ── COMO FUNCIONA ───────────────────────────────────────────────────────────── function ComoFunciona({go}){ const [ctx,setCtx]=useState("presencial") const [ref,vis]=useInView() const bars=useAnimatedBars(vis) const ctxData={ presencial:["Câmeras instaladas em sala capturam comportamento e atenção","Servidor local processa em tempo real — sem armazenamento de imagem","IA analisa padrões de cada aluno e turma continuamente","Dashboard atualizado ao vivo para coordenação","Alertas automáticos quando padrão sai do esperado"], online:["Webcam do aluno captura sinais durante aulas online","Análise além do log — presença real, não apenas acesso","Leitura de atenção e estado emocional em videoconferência","Integração com plataformas LMS e videochamada","Painel de engajamento por módulo e por aluno"], hibrido:["Leitura unificada de presencial e online em um painel","Identificação de assimetrias de engajamento entre contextos","Visão da jornada completa do aluno nos dois ambientes","Alerta quando há divergência entre presença física e digital","Relatório consolidado para a gestão da experiência híbrida"], } return <> Da sala de aula ao painel
da gestão — em tempo real.} sub="Comportamento, atenção e sinais emocionais lidos continuamente — e traduzidos em evidência acionável para quem decide." cta="Agendar Demo" onCta={()=>go("contato")}/>
{[ {n:"01",ic:,t:"Leitura contínua",d:"A SADI capta sinais de comportamento, atenção e emoção em sala presencial via câmera ou online via webcam — 100% do tempo de aula.",c:C.orange}, {n:"02",ic:,t:"Interpretação IA",d:"Nossa IA educacional identifica padrões anômalos: queda de atenção, desconexão emocional, mudança comportamental — antes de qualquer nota refletir.",c:C.cyan}, {n:"03",ic:,t:"Ação priorizada",d:"Coordenação recebe alertas e lista de quem atender — com contexto, histórico e recomendação. Decisão com evidência, não com achismo.",c:C.green}, ].map(({n,ic,t,d,c})=>
{ic}
PASSO {n}

{t}

{d}

)}
{[["presencial","Presencial"],["online","Online"],["hibrido","Híbrido"]].map(([k,l])=>)}
{ctxData[ctx].map((item,i)=>

{item}

)}
{[ {t:"Atenção",d:"Direção do olhar, tempo de foco, frequência de dispersão e retorno ao foco.",c:C.orange,bar:bars[0]||78}, {t:"Engajamento",d:"Participação ativa, interação com o ambiente e consistência comportamental.",c:C.cyan,bar:bars[1]||91}, {t:"Emoção",d:"Expressões faciais, variações de estado, sinais de frustração ou interesse.",c:C.purple,bar:bars[2]||65}, {t:"Risco",d:"Perfil de desengajamento, queda progressiva e predição de desconexão.",c:C.red,bar:bars[3]||45}, ].map(({t,d,c,bar})=>

{t}

{bar}%

{d}

)}
{[{n:"Até 15d",f:"Diagnóstico",d:"Mapeamento, objetivos e configuração inicial.",c:C.orange},{n:"Até 30d",f:"Implantação",d:"Instalação, treinamento e ativação.",c:C.cyan},{n:"60d",f:"Resultado",d:"Alertas e dados com resultado visível.",c:C.green}].map(f=>
{f.n}
{f.f}

{f.d}

)}
go("contato")} size="lg">Começar agora
} // ── QUEM SOMOS ──────────────────────────────────────────────────────────────── function QuemSomos({go}){ return <> Criada por quem viu.
Apoiada por quem
acredita.} sub="A SADI nasceu de uma observação real: crianças se perdendo em silêncio dentro das salas de aula — e ninguém com ferramenta para enxergar antes." cta="Agendar Demo" onCta={()=>go("contato")}/>

O Instituto Anexo completa 10 anos em 2026. Uma década dedicada a construir soluções com aplicação prática para desafios reais da sociedade — combinando visão de negócios, inovação e foco em impacto.

A SADI é a expressão mais representativa dessa visão: tecnologia que não apenas funciona, mas que contribui de forma objetiva para ampliar a capacidade de percepção das instituições.

{[{n:"10",l:"anos",c:C.cyan},{n:"3",l:"contextos",c:C.orange},{n:"+480",l:"alunos",c:C.green}].map(s=>
{s.n}
{s.l}
)}
{/* Team photo placeholder */}
10 anos de impacto real
{/* Founders */}
Os Fundadores

As pessoas por trás da ideia.

{/* Wister */}

Wister Alves

Fundador & CEO
Engenheiro · Instituto Anexo · Goiânia, GO

Com perfil pragmático, visão empreendedora e forte capacidade de execução, Wister representa uma liderança orientada por resultado — mas comprometida com propósito.

Sua forma de empreender parte de uma lógica clara: observar experiências, identificar problemas concretos e transformá-los em tecnologia e soluções estruturadas. Viu crianças se perdendo em silêncio dentro das salas de aula — e foi construir a ferramenta que faltava.

"Criei a SADI porque vi o problema com olhos de quem resolve — e não havia ferramenta. Então fui construir."

{/* Paulo */}

Paulo Vieira

Investidor
Fundador · Febracis · Maior escola de negócios da América Latina

Paulo Vieira é um dos maiores comunicadores do Brasil no campo de desenvolvimento humano. Fundador da Febracis, autor best-seller com múltiplos títulos de grande circulação e defensor histórico da educação como base da transformação social.

Investiu na SADI como consequência direta do que sempre defendeu: educação que cuida, não só que instrui. Ele viu no produto de Wister a prova concreta de um princípio que já pregava há anos.

"Investi porque acredito que é possível proteger a trajetória de cada criança. Isso começa por ser capaz de enxergar."

{/* Febracis badge */}
Febracis
Maior escola de negócios da AL
{[ {t:"Missão",d:"Transformar sinais invisíveis em evidências acionáveis para que nenhum aluno se perca sem que ninguém perceba.",c:C.orange}, {t:"Visão",d:"Ser a principal camada de inteligência educacional do Brasil — em qualquer tipo de instituição.",c:C.cyan}, {t:"Cuidado com Evidência",d:"O cuidado real começa quando há dado suficiente para agir no momento certo.",c:C.green}, {t:"Humano no Centro",d:"A tecnologia informa. A pessoa decide. A SADI nunca substitui o professor.",c:C.purple}, {t:"Antecipação",d:"Não somos feitos para reagir a crises — fomos feitos para evitá-las.",c:C.yellow}, {t:"Equidade",d:"Toda escola merece enxergar. Não só as que têm mais recursos.",c:C.muted}, ].map(({t,d,c})=>
{t.toUpperCase()}

{d}

)}
} // ── CONTATO ─────────────────────────────────────────────────────────────────── function Contato(){ const [form,setForm]=useState({nome:"",email:"",escola:"",tipo:"",msg:""}) const [sent,setSent]=useState(false) const handle=e=>setForm(f=>({...f,[e.target.name]:e.target.value})) const submit=e=>{e.preventDefault();setSent(true)} const inp={fontFamily:"'Plus Jakarta Sans',sans-serif",width:"100%",padding:"12px 16px",borderRadius:10,border:`1.5px solid ${C.lborder}`,fontSize:14,color:C.ldark,background:C.lbg,outline:"none",boxSizing:"border-box"} return <>
Demo Gratuita

30 minutos. Sem compromisso.

Mostramos a SADI funcionando com dados reais — no seu contexto específico.

{sent?

Recebemos sua solicitação!

Entraremos em contato em até 24 horas para confirmar o horário.

:

Agende sua demonstração

Preencha abaixo e nossa equipe retorna em até 24h.