/* eslint-disable */
/* global React, ReactDOM, useLang, LangProvider, NavBar, Footer, CLIENT_LOGOS */
/* cpg.jsx — Landing por industria: CPG / Bebidas / Multi-embotellador.
   Same template as agro.jsx — only copy/icons/casos + hero-illustration change.
   Textos definitivos del cliente: no reescribir. */

const { useState: useStateInd, useEffect: useEffectInd, useRef: useRefInd } = React;

const useScrollReveal = (rootRef) => {
  useEffectInd(() => {
    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
    const root = rootRef.current;
    if (!root) return;
    const groups = [];
    root.querySelectorAll('section').forEach((sec) => {
      const wrap = sec.firstElementChild && sec.children.length === 1 ? sec.firstElementChild : sec;
      const kids = Array.from(wrap.children).filter((el) => el.nodeType === 1);
      if (kids.length) groups.push(kids);
    });
    const io = new IntersectionObserver((entries) => {
      entries.forEach((en) => {
        if (en.isIntersecting) {
          en.target.classList.add('rv-in');
          io.unobserve(en.target);
        }
      });
    }, { rootMargin: '0px 0px -12% 0px', threshold: 0.08 });
    groups.forEach((kids) => kids.forEach((el, i) => {
      el.classList.add('rv');
      el.style.transitionDelay = Math.min(i, 4) * 80 + 'ms';
      io.observe(el);
    }));
    return () => io.disconnect();
  }, []);
};

/* ── Illustrations — framing IA: góndola, fuentes de embotellador sin conectar.
   La ilustración del hero fue reemplazada por HeroIndustria (hero-industria.jsx). ── */

const CpgFramingIllustration = () => (
  <div className="tm-ind-anim">
    <svg viewBox="0 0 420 210" width="100%" style={{ maxWidth: 420, height: 'auto', overflow: 'visible' }} fill="none" role="img" aria-label="Góndola con cuatro fuentes de embotellador y una sin conectar">
      <defs>
        <filter id="cpg-sfv" x="-60%" y="-60%" width="220%" height="220%"><feDropShadow dx="0" dy="24" stdDeviation="26" floodColor="#2A3BD4" floodOpacity="0.13" /></filter>
        <filter id="cpg-stv" x="-60%" y="-60%" width="220%" height="220%"><feDropShadow dx="0" dy="4" stdDeviation="6" floodColor="#2A3BD4" floodOpacity="0.07" /></filter>
        <linearGradient id="cpg-surfv" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stopColor="#FFFFFF" /><stop offset="1" stopColor="#F3F5FC" /></linearGradient>
        <linearGradient id="cpg-periv" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stopColor="#EEF0FE" /><stop offset="1" stopColor="#E1E5FD" /></linearGradient>
        <clipPath id="cpg-tilev"><rect x="14" y="18" width="340" height="164" rx="36" /></clipPath>
      </defs>
      <g className="tm-ind-anim-main">
        <g filter="url(#cpg-sfv)"><rect x="14" y="18" width="340" height="164" rx="36" fill="url(#cpg-surfv)" stroke="#E6E9F5" strokeWidth="2" /></g>
        <g clipPath="url(#cpg-tilev)">
          <rect x="14" y="18" width="122" height="164" fill="url(#cpg-periv)" />
          <g className="tm-ind-anim-node">
            <path d="M75 68 v-6 h10 v6 l5 8 v24 a5 5 0 0 1 -5 5 h-10 a5 5 0 0 1 -5 -5 v-24 z" stroke="#5A6DF3" strokeWidth="2.5" fill="none" />
          </g>
        </g>
        <line x1="136" y1="18" x2="136" y2="182" stroke="#E6E9F5" strokeWidth="2" />
        <path d="M162 76 q30 -13 60 0 q30 13 60 0" stroke="#D9DDEF" strokeWidth="2.5" strokeLinecap="round" />
        <path d="M162 100 q30 -13 60 0 q30 13 60 0" stroke="#E6E9F5" strokeWidth="2.5" strokeLinecap="round" />
        <path className="tm-ind-anim-ants" d="M162 124 q30 -13 60 0 q30 13 60 0" stroke="#D9DDEF" strokeWidth="2.5" strokeLinecap="round" strokeDasharray="7 7" />
        <rect className="tm-ind-anim-key" x="162" y="146" width="52" height="9" rx="4.5" fill="#253DE5" style={{ transformBox: 'fill-box', transformOrigin: 'left center' }} />
        <g className="tm-ind-anim-breathe" style={{ transformBox: 'fill-box', transformOrigin: 'center' }}>
          <g filter="url(#cpg-stv)"><circle cx="350" cy="100" r="26" fill="#FFFFFF" stroke="#D9DDEF" strokeWidth="2" /></g>
          <circle cx="350" cy="100" r="11" fill="#91DFC8" />
          <path d="M345.5 100.5 l3 3 l6 -6.5" stroke="#FFFFFF" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" fill="none" />
        </g>
      </g>
    </svg>
  </div>
);

/* ── Content (definitivo — no reescribir) ────────────────────── */

const AREAS = [
  { label: 'Reposición', cases: [
    { icon: 'bell', title: 'Motor de alertas por tienda × SKU', body: 'Stock, in-stock, venta media, OC, pendientes.' },
    { icon: 'squares-four', title: 'Vista consolidada de reposición', body: '4 fuentes de embotelladores en una sola tabla operable.' },
    { icon: 'arrows-left-right', title: 'Comparación de catálogo', body: 'Por embotellador contra productos activos por tienda.' }
  ] },
  { label: 'Comercial', cases: [
    { icon: 'target', title: 'Detección de SKUs a activar / dar de baja / corregir PCB', body: 'Por punto de venta.' },
    { icon: 'trend-up', title: 'Venta media por tienda', body: 'Contra objetivo y contra promedio histórico.' },
    { icon: 'rows', title: 'Pendientes por tienda × embotellador', body: '' }
  ] },
  { label: 'Operaciones', cases: [
    { icon: 'shield-check', title: 'Órdenes de compra en riesgo', body: 'Desvíos vs. contrato o vs. mercado.' },
    { icon: 'bell-ringing', title: 'Alertas push', body: 'El equipo comercial se entera en el momento, no en la revisión semanal.' },
    { icon: 'magnifying-glass', title: 'Auditoría de mapeos proveedor → embotellador', body: 'Con detección de cambios.' }
  ] }
];

const OBJECTIONS = [
  { q: '"No todos los embotelladores tienen API B2B."', a: 'Se puede arrancar en modo manual con CSV/planillas por embotellador y automatizar los que sí tengan API. Es la ruta que están tomando varios clientes hoy.' },
  { q: '"Ya tenemos alertas en Excel."', a: 'El problema no es alertar. Es hacerlo por tienda × SKU en tiempo real cruzando 4 fuentes. Una alerta que llega tarde no es una alerta, es un post-mortem.' },
  { q: '"El equipo comercial no adopta herramientas nuevas."', a: 'La adopción de Coca-Cola fue inmediata porque las alertas llegan por push a donde ya están (no requieren abrir una aplicación nueva).' }
];

const CASO_ROWS = [
  { antes: 'Revisiones manuales periódicas en planillas por cada embotellador', con: 'Vista consolidada de reposición uniendo las 4 fuentes en una sola tabla operable', despues: 'El equipo comercial actúa en el momento en que ocurre la desviación, no horas después' },
  { antes: 'Cuando se detecta un quiebre, el tiempo de reacción ya pasó', con: '+100 alertas activas por tienda × SKU (stock, in-stock, venta media, OC, pendientes)', despues: 'Adopción inmediata del equipo comercial, sin curva de aprendizaje' },
  { antes: 'Cada análisis lo prepara el equipo de datos manualmente', con: 'Mapping automático proveedor → embotellador; catálogos comparados por tienda', despues: 'El equipo pasa de monitorear datos a actuar sobre ellos' }
];

const HOW_STEPS = [
  { title: 'Conectá tus sistemas', icon: 'plugs-connected', body: 'FEMSA, ARCA, Reginald Lee, Andina y tus sistemas B2B. Sin migrar datos. Teramot los lee donde están.' },
  { title: 'La IA entiende tu multi-embotellador', icon: 'brain', body: '50+ agentes especializados analizan, limpian y modelan reposición, catálogos y alertas de forma autónoma.' },
  { title: 'Preguntá lo que necesites', icon: 'chat-circle-text', body: 'Cualquier persona consulta en lenguaje natural y obtiene respuestas sobre datos reales, verificables, actualizados. El conocimiento se acumula, no desaparece.' }
];

/* ── Sections ─────────────────────────────────────────────────── */

const CpgHero = () => {
  const { c } = useLang();
  return (
    <section className="tm-ind-hero-bleed">
      <div className="tm-ind-hero-copy">
        <div className="tm-ind-kicker">
          <span className="tm-ind-kicker-dot" />
          <span className="tm-ind-eyebrow">CPG / Bebidas / Multi-embotellador</span>
        </div>
        <h1 className="tm-ind-h1">Unificá 4 embotelladores en una sola vista de reposición y alertas por tienda.</h1>
        <p className="tm-ind-sub">Conectá los sistemas de FEMSA, ARCA, Reginald Lee, Andina, o los distribuidores que tengas. Teramot mapea catálogos, alinea reglas de surtido y dispara alertas de stock, quiebre y venta media por tienda × SKU.</p>
        <div className="tm-ind-hero-actions">
          <a className="tm-btn tm-btn-primary tm-btn-lg" href={c.links.app}>Empezar gratis <i className="ph-bold ph-arrow-right" /></a>
          <a className="tm-btn tm-btn-ghost tm-btn-lg" href={c.links.call} target="_blank" rel="noopener noreferrer">Ver demo en vivo</a>
        </div>
        <div className="tm-ind-pills">
          <span className="tm-ind-pill"><i className="ph ph-shield-check" />SOC 2 Certified</span>
          <span className="tm-ind-pill"><i className="ph ph-credit-card" />Sin tarjeta de crédito</span>
          <span className="tm-ind-pill"><i className="ph ph-clock" />Listo en 1 hora</span>
        </div>
      </div>
      <HeroIndustria industria="cpg" />
    </section>
  );
};

const TALL_LOGOS = new Set(['The Coca-Cola Company', 'Grupo Sancor Seguros', 'La Segunda', 'Bolsa de Comercio de Rosario', 'Digital House', 'Los Pumas', 'UAR']);

const IndProof = () => {
  const { c } = useLang();
  const track = [...CLIENT_LOGOS, ...CLIENT_LOGOS];
  return (
    <section className="tm-ind-proof">
      <div className="tm-ind-container tm-ind-proof-grid">
        <div className="tm-ind-proof-copy">
          <span className="tm-ind-proof-count">{c.proof.more}</span>
          <span className="tm-ind-proof-caption">{c.proof.label}</span>
        </div>
        <div className="tm-ind-proof-divider" />
        <div className="tm-ind-proof-marquee">
          <div className="tm-ind-proof-track" aria-label="Client logos">
            {track.map(({ name, Cmp }, i) => (
              <span key={name + i} title={name} aria-hidden={i >= CLIENT_LOGOS.length}>
                <Cmp className={TALL_LOGOS.has(name) ? 'is-tall' : ''} />
              </span>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
};

const CpgSources = () => (
  <section className="tm-ind-sources">
    <div className="tm-ind-container tm-ind-sources-inner">
      <span className="tm-ind-eyebrow-accent" style={{ color: 'var(--muted-2)' }}>Conecta con</span>
      <div className="tm-ind-sources-list">
        <span>FEMSA</span><span>ARCA</span><span>Reginald Lee</span><span>Andina</span><span>Sistemas B2B</span>
      </div>
    </div>
  </section>
);

const CpgProblem = () => (
  <section className="tm-ind-gradient">
    <div className="tm-ind-container tm-ind-problem-inner">
      <div className="tm-ind-problem-copy">
        <div className="tm-ind-problem-kicker">
          <i className="ph-bold ph-warning-diamond" />
          <span className="tm-ind-problem-eyebrow">El problema actual</span>
        </div>
        <p className="tm-ind-statement">Tu operación depende de 4 sistemas de embotellador que no se hablan entre sí. Cada uno tiene su catálogo, sus reglas de surtido, su ritmo de reposición. Tu equipo comercial hace revisiones manuales periódicas en planillas. Cuando se detecta una desviación, el tiempo de reacción ya es demasiado largo para corregirla a tiempo.</p>
        <p className="tm-ind-problem-body">No es un problema de talento. Es un problema de infraestructura. Tres o cuatro proveedores distintos, mapeos que nadie mantiene, y horas dedicadas a control en vez de a decisión.</p>
      </div>
      <div style={{ display: 'flex', flexDirection: 'column', gap: 12, justifyContent: 'center' }}>
        <div className="tm-ind-glass-grid">
          <div className="tm-ind-glass-card"><span className="tm-ind-glass-icon"><i className="ph ph-plugs" /></span><div className="tm-ind-glass-label">FEMSA</div></div>
          <div className="tm-ind-glass-card"><span className="tm-ind-glass-icon"><i className="ph ph-plugs" /></span><div className="tm-ind-glass-label">ARCA</div></div>
          <div className="tm-ind-glass-card"><span className="tm-ind-glass-icon"><i className="ph ph-plugs" /></span><div className="tm-ind-glass-label">Reginald Lee</div></div>
          <div className="tm-ind-glass-card"><span className="tm-ind-glass-icon"><i className="ph ph-plugs" /></span><div className="tm-ind-glass-label">Andina</div></div>
        </div>
        <div className="tm-ind-glass-footnote"><span>SIN CAPA DE INTEGRACIÓN</span></div>
      </div>
    </div>
  </section>
);

const CpgFraming = () => (
  <section className="tm-ind-container tm-ind-framing-inner">
    <div className="tm-ind-framing-left">
      <h2 className="tm-h2 tm-ind-framing-h2">No te falta IA.<br /><span style={{ color: 'var(--accent)' }}>Le falta ver tus datos.</span></h2>
      <CpgFramingIllustration />
    </div>
    <div className="tm-ind-framing-right">
      <p className="tm-ind-framing-lead">La inteligencia ya existe. El problema es que no ve simultáneamente:</p>
      <div className="tm-ind-framing-rows">
        <div className="tm-ind-framing-row"><i className="ph ph-package" /><span>el stock de FEMSA</span></div>
        <div className="tm-ind-framing-row"><i className="ph ph-clock-countdown" /><span>el pedido pendiente de ARCA</span></div>
        <div className="tm-ind-framing-row"><i className="ph ph-trend-up" /><span>la venta media de Reginald Lee</span></div>
        <div className="tm-ind-framing-row"><i className="ph ph-rows" /><span>el catálogo activo de Andina</span></div>
      </div>
    </div>
  </section>
);

const CpgHowItWorks = () => (
  <section className="tm-ind-how">
    <div className="tm-ind-container tm-ind-how-inner">
      <div className="tm-ind-how-head">
        <span className="tm-ind-eyebrow-accent">Cómo funciona</span>
        <h2 className="tm-h2 tm-ind-how-h2">De cero a la primera respuesta en menos de una hora.</h2>
      </div>
      <div className="tm-ind-how-steps">
        {HOW_STEPS.map((s, i) => (
          <div className="tm-ind-how-step" key={i}>
            <div className="tm-ind-how-node"><i className={`ph-bold ph-${s.icon}`} /></div>
            <h3 className="tm-ind-how-title">{s.title}</h3>
            <p className="tm-ind-how-body">{s.body}</p>
          </div>
        ))}
      </div>
    </div>
  </section>
);

const CpgCase = () => (
  <section className="tm-ind-section-white">
    <div className="tm-ind-container tm-ind-section tm-ind-case">
      <div className="tm-ind-head">
        <span className="tm-ind-eyebrow-accent">El caso que lo demuestra</span>
        <h2 className="tm-h2 tm-ind-h2">Motor de alertas multi-embotellador (LATAM)</h2>
      </div>
      <div className="tm-ind-stat-grid">
        <div className="tm-ind-stat-card is-highlight">
          <span className="tm-ind-stat-icon"><i className="ph ph-squares-four" /></span>
          <div className="tm-ind-stat-number">4 fuentes → 1 vista</div>
          <div className="tm-ind-stat-desc">reposición consolidada y operable</div>
        </div>
        <div className="tm-ind-stat-card">
          <span className="tm-ind-stat-icon"><i className="ph ph-bell-ringing" /></span>
          <div className="tm-ind-stat-number">+100 alertas activas</div>
          <div className="tm-ind-stat-desc">por tienda × SKU en tiempo real</div>
        </div>
        <div className="tm-ind-stat-card">
          <span className="tm-ind-stat-icon"><i className="ph ph-rows" /></span>
          <div className="tm-ind-stat-number">Adopción inmediata</div>
          <div className="tm-ind-stat-desc">sin curva de aprendizaje del equipo comercial</div>
        </div>
      </div>
      <div className="tm-ind-table">
        <div className="tm-ind-table-head">
          <div><span>Antes</span></div>
          <div className="is-highlight"><span>Con la herramienta</span></div>
          <div><span>Después</span></div>
        </div>
        {CASO_ROWS.map((row, i) => (
          <div className="tm-ind-table-row" key={i}>
            <div className="tm-ind-table-cell-before"><p>{row.antes}</p></div>
            <div className="tm-ind-table-cell-with"><p>{row.con}</p></div>
            <div className="tm-ind-table-cell-after"><i className="ph-bold ph-check" /><p>{row.despues}</p></div>
          </div>
        ))}
      </div>
    </div>
  </section>
);

const CpgMoreCases = () => {
  const [area, setArea] = useStateInd(0);
  return (
    <section className="tm-ind-container tm-ind-section tm-ind-cases">
      <div className="tm-ind-head">
        <span className="tm-ind-eyebrow-accent">Más casos por área</span>
        <h2 className="tm-h2 tm-ind-h2">Lo que se desbloquea cuando los maestros existen</h2>
      </div>
      <div className="tm-ind-tabs">
        {AREAS.map((a, i) => (
          <button key={a.label} type="button" className={`tm-ind-tab ${area === i ? 'is-active' : ''}`} onClick={() => setArea(i)}>{a.label}</button>
        ))}
      </div>
      <div className="tm-ind-case-grid">
        {AREAS[area].cases.map((c, i) => (
          <div className="tm-ind-case-card" key={i}>
            <i className={`ph ph-${c.icon}`} />
            <div className="tm-ind-case-title">{c.title}</div>
            {c.body && <p className="tm-ind-case-body">{c.body}</p>}
          </div>
        ))}
      </div>
    </section>
  );
};

const CpgAdopters = () => (
  <section className="tm-ind-section-white">
    <div className="tm-ind-container tm-ind-section tm-ind-adopters">
      <span className="tm-ind-eyebrow-accent">Quién ya lo hace</span>
      <div className="tm-ind-adopters-grid">
        <div className="tm-ind-adopter-card">
          <span className="tm-ind-adopter-label">Multinacional de bebidas</span>
          <p className="tm-ind-adopter-body">4 embotelladores unificados. +100 alertas activas por tienda × SKU. Adopción inmediata del comercial.</p>
        </div>
        <div className="tm-ind-adopter-card">
          <span className="tm-ind-adopter-label">Canal B2B de bebidas</span>
          <p className="tm-ind-adopter-body">Smart Alerts 2.0 replicando la lógica del pipeline retail sobre operación indirecta.</p>
        </div>
        <div className="tm-ind-adopter-card">
          <span className="tm-ind-adopter-label">Cadena de distribución</span>
          <p className="tm-ind-adopter-body">Base consolidada de replenishment por tienda × SKU.</p>
        </div>
      </div>
      <div className="tm-ind-pipeline">
        <div className="tm-ind-pipeline-panel">
          <span className="tm-ind-pipeline-icon"><i className="ph ph-plugs" /></span>
          <span className="tm-ind-pipeline-eyebrow">Sistemas</span>
          <div className="tm-ind-pipeline-chips">
            <span className="tm-ind-pipeline-chip">FEMSA</span>
            <span className="tm-ind-pipeline-chip">ARCA</span>
            <span className="tm-ind-pipeline-chip">Reginald Lee</span>
            <span className="tm-ind-pipeline-chip">Andina</span>
            <span className="tm-ind-pipeline-chip">Sistemas B2B</span>
          </div>
        </div>
        <div className="tm-ind-pipeline-arrow"><i className="ph-bold ph-arrow-right" /></div>
        <div className="tm-ind-pipeline-panel is-core">
          <span className="tm-ind-pipeline-icon"><i className="ph-fill ph-circles-three" /></span>
          <span className="tm-ind-pipeline-eyebrow">Plataforma</span>
          <div className="tm-ind-pipeline-chips">
            <span className="tm-ind-pipeline-chip">Conectores</span>
            <span className="tm-ind-pipeline-chip">Mapeo proveedor-embotellador</span>
            <span className="tm-ind-pipeline-chip">Motor de reglas</span>
          </div>
        </div>
        <div className="tm-ind-pipeline-arrow"><i className="ph-bold ph-arrow-right" /></div>
        <div className="tm-ind-pipeline-panel">
          <span className="tm-ind-pipeline-icon"><i className="ph ph-sparkle" /></span>
          <span className="tm-ind-pipeline-eyebrow">IA</span>
          <div className="tm-ind-pipeline-chips">
            <span className="tm-ind-pipeline-chip">Alertas por tienda</span>
            <span className="tm-ind-pipeline-chip">Reposición</span>
            <span className="tm-ind-pipeline-chip">Auditoría de catálogo</span>
          </div>
        </div>
      </div>
    </div>
  </section>
);

const CpgObjections = () => {
  const [open, setOpen] = useStateInd(0);
  return (
    <section className="tm-ind-container tm-ind-section tm-ind-objections-inner">
      <div className="tm-ind-head">
        <span className="tm-ind-eyebrow-accent">Objeciones frecuentes</span>
        <h2 className="tm-h2 tm-ind-h2">Tu objeción, la de tu industria</h2>
      </div>
      <div className="tm-ind-accordion">
        {OBJECTIONS.map((o, i) => {
          const isOpen = open === i;
          return (
            <div className="tm-ind-accordion-item" key={i}>
              <button type="button" className="tm-ind-accordion-trigger" onClick={() => setOpen(isOpen ? -1 : i)}>
                <span className="tm-ind-accordion-q">{o.q}</span>
                <i className={`ph-bold ${isOpen ? 'ph-minus' : 'ph-plus'}`} />
              </button>
              {isOpen && <p className="tm-ind-accordion-a">{o.a}</p>}
            </div>
          );
        })}
      </div>
    </section>
  );
};

const IndAlternatives = () => (
  <section className="tm-ind-section-white">
    <div className="tm-ind-container tm-ind-section" style={{ display: 'flex', flexDirection: 'column', gap: 32 }}>
      <span className="tm-ind-eyebrow-accent">Las alternativas</span>
      <div className="tm-ind-alt-grid">
        <div className="tm-ind-alt-card">
          <span className="tm-ind-eyebrow-accent" style={{ color: 'var(--muted-2)' }}>Proyecto tradicional</span>
          <div className="tm-ind-alt-word">meses</div>
          <p className="tm-ind-alt-desc">Consultoría + integración + validación + go-live.</p>
        </div>
        <div className="tm-ind-alt-card">
          <span className="tm-ind-eyebrow-accent" style={{ color: 'var(--muted-2)' }}>Equipo propio</span>
          <div className="tm-ind-alt-word">caro</div>
          <p className="tm-ind-alt-desc">Data engineers, ML engineers, infraestructura y mantenimiento.</p>
        </div>
        <div className="tm-ind-alt-card">
          <span className="tm-ind-eyebrow-accent" style={{ color: 'var(--muted-2)' }}>IA genérica</span>
          <div className="tm-ind-alt-word">no sirve</div>
          <p className="tm-ind-alt-desc">Modelos generales que no conocen tus datos ni tu regulación.</p>
        </div>
        <div className="tm-ind-alt-card is-highlight">
          <span className="tm-ind-eyebrow-accent">Esta herramienta</span>
          <div className="tm-ind-alt-word">1 hora</div>
          <p className="tm-ind-alt-desc">Conectás tus fuentes, entrenás con tus datos, entregás.</p>
        </div>
      </div>
    </div>
  </section>
);

const CpgCta = () => {
  const { c } = useLang();
  return (
    <section id="cta" className="tm-ind-gradient tm-ind-cta">
      <div className="tm-ind-cta-blob" />
      <div className="tm-ind-container tm-ind-cta-inner">
        <div className="tm-ind-cta-copy">
          <h2 className="tm-h2 tm-ind-cta-h2">Tus datos ya están. <em>Solo falta conectarlos.</em></h2>
          <p className="tm-ind-cta-sub">Sin compromisos. Sin tarjeta. Tus primeras alertas por tienda × SKU en menos de una hora.</p>
        </div>
        <div className="tm-ind-cta-actions">
          <a className="tm-btn tm-btn-lg tm-ind-btn-white" href={c.links.app}>Empezar gratis <i className="ph-bold ph-arrow-right" /></a>
          <a className="tm-btn tm-btn-lg tm-ind-btn-outline-light" href={c.links.call} target="_blank" rel="noopener noreferrer">Ver demo en vivo</a>
        </div>
      </div>
    </section>
  );
};

const CpgApp = () => {
  const rootRef = useRefInd(null);
  useScrollReveal(rootRef);
  return (
    <LangProvider>
      <NavBar current="cpg" />
      <main ref={rootRef}>
        <CpgHero />
        <IndProof />
        <CpgSources />
        <CpgProblem />
        <CpgFraming />
        <CpgHowItWorks />
        <CpgCase />
        <CpgMoreCases />
        <CpgAdopters />
        <CpgObjections />
        <IndAlternatives />
        <CpgCta />
      </main>
      <Footer />
    </LangProvider>
  );
};

ReactDOM.createRoot(document.getElementById('root')).render(<CpgApp />);
