/* NEBULA — Cosmic gradients, glassmorphism, orbs */ function NebulaHero({ accent }) { const mouse = useMouse(); const scroll = useScroll(); const [elRef, progress] = useElementScroll(); const [roas, setRoas] = useState(4.82); const [spend, setSpend] = useState(2847); const [convs, setConvs] = useState(318); useEffect(() => { const id = setInterval(() => { setRoas(r => Math.max(3.8, Math.min(6.2, r + (Math.random() - 0.5) * 0.12))); setSpend(s => s + Math.round(Math.random() * 40)); setConvs(c => c + (Math.random() > 0.6 ? 1 : 0)); }, 900); return () => clearInterval(id); }, []); const bars = useMemo(() => Array.from({length:32},(_,i)=>20 + Math.sin(i*.35)*15 + Math.random()*35 + i*1.4), []); return (
{/* cosmic orbs */}
{/* noise grain */}
\")",opacity:.06,pointerEvents:'none',mixBlendMode:'overlay'}}/>
Kern Agency · Santiago · En vivo

Publicidad que
convierte.
Sin promesas.
Con resultados.

{CONTENT.heroSub}

e.currentTarget.style.transform='translateY(-2px)'} onMouseLeave={e=>e.currentTarget.style.transform='translateY(0)'}> Cotizar por WhatsApp
{/* glass dashboard */}
Kern · Live ROAS
ONLINE
{roas.toFixed(2)}×
▲ 12.4%
{/* area chart svg */} {(() => { const pts = bars.map((h,i)=>`${(i/(bars.length-1))*320},${80 - (h/100)*70}`).join(' '); const area = `0,80 ${pts} 320,80`; return <> ; })()}
{[ {k:'Inversión', v:`$${(spend/1000).toFixed(1)}K`}, {k:'Conversiones', v:convs}, {k:'CPA', v:`$${Math.round(spend/Math.max(convs,1)).toLocaleString('es-CL')}`}, ].map((m,i)=>(
{m.k}
{m.v}
))}
{/* floating pill */}
+$18B GENERADOS
); } function NebulaSectionHead({ n, label, title, subtitle }) { return (
{n} {label}

{title}

{subtitle &&

{subtitle}

}
); } function NebulaServices() { const mouse = useMouse(); return (
Cuatro piezas.
Una máquina que vende.}/>
{CONTENT.services.map((s, i) => { const [r, visible] = useReveal(); const gradients = [ 'linear-gradient(135deg, rgba(124,58,237,.2), rgba(6,182,212,.1))', 'linear-gradient(135deg, rgba(236,72,153,.2), rgba(124,58,237,.1))', 'linear-gradient(135deg, rgba(6,182,212,.2), rgba(236,72,153,.1))', 'linear-gradient(135deg, rgba(253,224,71,.15), rgba(124,58,237,.1))', ]; return (
0{i+1}

{s.name}

{s.desc}

{s.points.map(p=>( {p} ))}
); })}
); } function NebulaStats() { const [ref, visible] = useReveal(); return (
{CONTENT.stats.map((s, i) => { const val = useCounter(s.v, { start: visible, decimals: s.decimals || 0 }); return (
{s.k}
{s.prefix||''}{val}{s.suffix||''}
{s.note &&
{s.note}
}
); })}
); } function NebulaPricing() { return (
Sin planes
prefabricados.} subtitle="Cada negocio es distinto. Cotizamos según industria, plataformas, volumen de campañas y necesidad creativa."/>
★ Cotización personalizada

Hablemos y armamos
tu propuesta.

Después de una llamada de 30 minutos entendemos tu negocio y armamos una propuesta clara con alcance, inversión sugerida en pauta y fee mensual.

    {CONTENT.plans[0].features.map(f=>(
  • {f}
  • ))}
Agendar llamada → WhatsApp
Qué define la inversión

4 variables clave

{CONTENT.pricingFactors.map((p,i)=>(
0{i+1} {p.k}

{p.d}

))}

* La inversión en anuncios se paga directo a Google/Meta. Nuestra fee es por gestión. Valores netos sin IVA.

); } function NebulaCases() { const [active, setActive] = useState(0); return (
Números que facturan.}/>
{CONTENT.cases.map((c, i) => ( ))}
CASO {String(active+1).padStart(2,'0')} · {CONTENT.cases[active].tag}

{CONTENT.cases[active].name}

Resultado
{CONTENT.cases[active].metric}
{CONTENT.cases[active].unit}
Crecimiento
{CONTENT.cases[active].delta}

{CONTENT.cases[active].copy}

); } function NebulaProcess() { return (
{CONTENT.process.map((p, i) => { const [r, visible] = useReveal(); return (
{p.n}

{p.title}

{p.desc}

); })}
); } function NebulaLogos() { return (
Confiaron en nosotros
{CONTENT.logos.map((l,i)=>( {l} ))}
); } function NebulaTestimonials() { const [i, setI] = useState(0); useEffect(()=>{const id=setInterval(()=>setI(x=>(x+1)%CONTENT.testimonials.length),6500);return()=>clearInterval(id);},[]); const t = CONTENT.testimonials[i]; return (
"{t.q}"
{t.who}
{t.role}
{CONTENT.testimonials.map((_,k)=>(
); } function NebulaCTA() { const [form, setForm] = useState({ name:'', company:'', phone:'', budget:'500K-1M' }); const [sent, setSent] = useState(false); const mouse = useMouse(); return (
[ Hablemos ]

Tu próximo
ROAS
empieza hoy.

TELÉFONO
{CONTENT.phone}
WHATSAPP
{CONTENT.whatsapp}
{e.preventDefault();setSent(true);}} style={{padding:40,borderRadius:28,background:'rgba(255,255,255,.04)',backdropFilter:'blur(24px)',border:'1px solid rgba(255,255,255,.1)'}}> {sent ? (

Recibido

Te escribimos por WhatsApp en menos de 24h.

) : ( <>
Cotizar en 60 segundos
{[ {k:'name',ph:'Tu nombre'}, {k:'company',ph:'Empresa'}, {k:'phone',ph:'WhatsApp o teléfono'}, ].map(f=>( setForm({...form,[f.k]:e.target.value})} style={{ width:'100%',background:'rgba(255,255,255,.04)',border:'1px solid rgba(255,255,255,.08)',padding:'16px 18px',fontSize:15,color:'#fff',fontFamily:'inherit',marginBottom:10,borderRadius:12,outline:'none', }}/> ))}
Inversión mensual estimada en pauta
{['<500K','500K-1M','1M-3M','3M+'].map(b=>( ))}
)}
); } function NebulaFooter() { return ( ); } function NebulaVariant({ animIntensity }) { return (
{/* global starfield / ambient bg */}
); } Object.assign(window, { NebulaVariant });