/* global React, Icon, Button, Eyebrow, Badge, Droplets, Container */

const FTb = window.FT || {
  deep:   '#0B4A35',
  mid:    '#166D4E',
  glow:   '#5DBF95',
  bg:     '#EDFAF4',
  bgDark: '#052318',
};

// ============================================================
// EL EMBUDO FINTECH
// ============================================================
function FtEmbudo() {
  const steps = [
    {
      n: '01', icon: 'search',
      title: 'Prospecto busca — y te encuentra primero',
      body: 'SEO Pulse posiciona tu oferta en búsquedas de alta intención: "crédito PyME CDMX", "mejores tasas inversión México", "seguro empresarial". Orgánico y en motores IA.',
      tag: 'SEO Pulse · AEO',
    },
    {
      n: '02', icon: 'target',
      title: 'Lead Engine captura y pre-califica',
      body: 'Formulario inteligente o conversación por WhatsApp: ingresos, tipo de empresa, producto buscado, historial crediticio básico. Todo antes de que toque a un asesor.',
      tag: 'Lead Engine AI · WhatsApp',
    },
    {
      n: '03', icon: 'sparkles',
      title: 'Score de compliance automático',
      body: 'La IA evalúa si el prospecto cumple el perfil regulatorio para el producto específico. Pasa al pipeline, entra a revisión o se descarta — con razón clara registrada.',
      tag: 'Score · CNBV · CONDUSEF',
    },
    {
      n: '04', icon: 'brain',
      title: 'Nurturing regulatorio con NeuroCopy',
      body: 'Mensajes de seguimiento que respetan normativas y aun así convierten. Emails, WhatsApp y secuencias automáticas que mantienen el prospecto tibio sin pisar líneas rojas.',
      tag: 'NeuroCopy · Compliance',
    },
    {
      n: '05', icon: 'briefcase',
      title: 'Asesor recibe al prospecto listo para cerrar',
      body: 'Perfil financiero completo, historial de interacciones, producto de interés y nivel de urgencia — todo en el CRM antes de la primera llamada. El asesor entra a cerrar, no a calificar.',
      tag: 'CRM · Contexto 360°',
    },
  ];

  return (
    <section id="embudo" style={{ background: '#fff' }}>
      <Container style={{ padding: '100px 32px' }}>
        <div style={{ maxWidth: 720, marginBottom: 52 }}>
          <Eyebrow color={FTb.mid}>EL EMBUDO FINTECH IA</Eyebrow>
          <h2 style={{
            fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 'clamp(28px, 3.6vw, 48px)',
            lineHeight: 1.05, letterSpacing: '-0.03em',
            margin: '14px 0 0', color: 'var(--fg1)',
          }}>
            Del primer clic al cierre de cuenta.{' '}
            <span style={{ color: FTb.deep }}>Cumpliendo en cada paso.</span>
          </h2>
        </div>

        <div style={{ display: 'flex', flexDirection: 'column', gap: 14, maxWidth: 980 }}>
          {steps.map((s, i) => (
            <div key={s.n} style={{
              background: 'var(--ink-25)', border: '1px solid var(--border)',
              borderRadius: 22, padding: '22px 28px',
              display: 'grid', gridTemplateColumns: '68px 1fr auto',
              gap: 28, alignItems: 'center',
              transition: 'all var(--dur-base) var(--ease-out)',
            }}
              onMouseEnter={e => {
                e.currentTarget.style.borderColor = FTb.mid;
                e.currentTarget.style.boxShadow = 'var(--shadow-md)';
                e.currentTarget.style.background = '#fff';
              }}
              onMouseLeave={e => {
                e.currentTarget.style.borderColor = 'var(--border)';
                e.currentTarget.style.boxShadow = '';
                e.currentTarget.style.background = 'var(--ink-25)';
              }}>
              <div style={{ textAlign: 'center' }}>
                <div style={{
                  fontFamily: 'var(--font-mono)', fontSize: 10.5, fontWeight: 600,
                  color: 'var(--fg3)', letterSpacing: '0.06em', marginBottom: 8,
                }}>{s.n}</div>
                <div style={{
                  width: 44, height: 44, borderRadius: 12,
                  background: i === steps.length - 1 ? FTb.deep : FTb.bg,
                  color: i === steps.length - 1 ? '#fff' : FTb.deep,
                  display: 'grid', placeItems: 'center', margin: '0 auto',
                }}>
                  <Icon name={s.icon} size={20} />
                </div>
              </div>
              <div>
                <h3 style={{
                  fontFamily: 'var(--font-display)', fontSize: 19, fontWeight: 700,
                  letterSpacing: '-0.02em', margin: '0 0 7px', color: 'var(--fg1)',
                }}>{s.title}</h3>
                <p style={{ fontSize: 14.5, lineHeight: 1.55, color: 'var(--fg2)', margin: 0 }}>{s.body}</p>
              </div>
              <div style={{
                fontFamily: 'var(--font-mono)', fontSize: 11, padding: '5px 12px',
                background: '#fff', border: '1px solid var(--border)', borderRadius: 8,
                color: 'var(--fg3)', whiteSpace: 'nowrap', flexShrink: 0,
              }}>{s.tag}</div>
            </div>
          ))}
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// RESULTADOS
// ============================================================
function FtResultados() {
  const stats = [
    { n: '+45%', l: 'leads que pasan pre-calificación automática',   src: 'Pilotos fintech MX' },
    { n: '−60%', l: 'tiempo en prospectos que no cumplen el perfil', src: 'Score de compliance IA' },
    { n: '3×',   l: 'velocidad del ciclo de venta con nurturing IA', src: 'NeuroCopy + Lead Engine' },
    { n: '+35%', l: 'conversión con copy regulatorio optimizado',    src: 'NeuroCopy Lab' },
  ];

  return (
    <section style={{ background: 'var(--grad-deep)', color: '#fff', position: 'relative', overflow: 'hidden' }}>
      <div style={{
        position: 'absolute', right: -120, top: -100, width: 420, height: 420, borderRadius: 999,
        background: 'radial-gradient(circle, rgba(0,218,227,0.2), transparent 65%)',
      }} />
      <div style={{
        position: 'absolute', left: -140, bottom: -120, width: 460, height: 460, borderRadius: 999,
        background: `radial-gradient(circle, rgba(22,109,78,0.4), transparent 65%)`,
      }} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-end', gap: 40, marginBottom: 60 }}>
          <div style={{ maxWidth: 680 }}>
            <Eyebrow dark>RESULTADOS · FINTECH & SERVICIOS FINANCIEROS</Eyebrow>
            <h2 style={{
              fontFamily: 'var(--font-display)', fontSize: 'clamp(28px, 3.8vw, 50px)', fontWeight: 700,
              letterSpacing: '-0.03em', lineHeight: 1.05, margin: '16px 0 16px', color: '#fff',
            }}>
              Menos tiempo en prospectos que no van a comprar. Más tiempo cerrando.
            </h2>
            <p style={{ fontSize: 16, color: 'rgba(255,255,255,0.7)', lineHeight: 1.55, margin: 0, maxWidth: 500 }}>
              Datos de pilotos con fintechs, aseguradoras e instituciones financieras en México.
            </p>
          </div>
          <Button variant="inverse" size="md" icon="arrow-right">Ver casos de éxito</Button>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 22 }}>
          {stats.map((s, i) => (
            <div key={i} style={{
              background: 'rgba(255,255,255,0.06)', border: '1px solid rgba(255,255,255,0.12)',
              borderRadius: 24, padding: '28px 24px', backdropFilter: 'blur(8px)',
            }}>
              <div style={{
                fontFamily: 'var(--font-display)', fontWeight: 700,
                fontSize: 'clamp(40px, 4vw, 56px)', letterSpacing: '-0.035em',
                lineHeight: 1, color: 'var(--cyan-300)', marginBottom: 14,
              }}>{s.n}</div>
              <div style={{ fontSize: 15, lineHeight: 1.5, color: '#fff', marginBottom: 12 }}>{s.l}</div>
              <div style={{
                fontSize: 10.5, fontWeight: 600, letterSpacing: '0.12em',
                textTransform: 'uppercase', color: 'rgba(255,255,255,0.5)',
              }}>{s.src}</div>
            </div>
          ))}
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// CASO DESTACADO
// ============================================================
function FtCaso() {
  return (
    <section style={{ background: 'var(--ink-50)' }}>
      <Container style={{ padding: '100px 32px' }}>
        <Eyebrow color={FTb.mid}>CASO DESTACADO</Eyebrow>
        <div style={{
          marginTop: 28, background: '#fff', borderRadius: 32,
          border: '1px solid var(--border)', overflow: 'hidden',
          display: 'grid', gridTemplateColumns: '1fr 1fr',
        }}>
          <div style={{ padding: '52px 52px', position: 'relative', overflow: 'hidden' }}>
            <Droplets style={{ left: -40, bottom: -30 }} color={FTb.glow} opacity={0.45} size={200} />
            <div style={{ position: 'relative' }}>
              <div style={{ marginBottom: 24 }}>
                <Icon name="quote" size={40} style={{ color: FTb.glow }} />
              </div>
              <blockquote style={{
                fontFamily: 'var(--font-display)', fontSize: 'clamp(19px, 2vw, 26px)',
                fontWeight: 700, lineHeight: 1.3, letterSpacing: '-0.02em',
                margin: '0 0 32px', color: 'var(--fg1)',
              }}>
                "Antes el 70% de los leads que llegaban a nuestros asesores no tenían el perfil. Hoy ese número bajó al 18%. El equipo cierra más con la mitad del esfuerzo."
              </blockquote>
              <div>
                <div style={{ fontWeight: 700, fontSize: 16, color: 'var(--fg1)' }}>VP Comercial</div>
                <div style={{ fontSize: 13.5, color: 'var(--fg3)', marginTop: 4 }}>
                  Fintech de crédito PyME · Ciudad de México
                </div>
              </div>
              <div style={{ marginTop: 28 }}>
                <a style={{
                  display: 'inline-flex', alignItems: 'center', gap: 6,
                  fontSize: 14, fontWeight: 600, color: FTb.mid, cursor: 'pointer',
                }}>
                  Ver caso completo <Icon name="arrow-right" size={14} />
                </a>
              </div>
            </div>
          </div>

          <div style={{
            background: `linear-gradient(160deg, ${FTb.bgDark} 0%, #020f0b 100%)`,
            padding: '52px 48px', color: '#fff',
            position: 'relative', overflow: 'hidden',
          }}>
            <Droplets style={{ right: -40, top: -20 }} color={FTb.glow} opacity={0.2} size={180} />
            <div style={{ position: 'relative' }}>
              <div style={{
                fontSize: 10.5, fontWeight: 700, letterSpacing: '0.14em',
                textTransform: 'uppercase', color: FTb.glow, marginBottom: 32,
              }}>RESULTADOS · 60 DÍAS</div>
              <div style={{ display: 'flex', flexDirection: 'column', gap: 28 }}>
                {[
                  { label: 'Leads sin perfil al equipo', before: '70%', after: '18%' },
                  { label: 'Cierres por asesor / mes',   before: '4',   after: '11' },
                  { label: 'Costo por cliente adquirido', before: '$4,200', after: '$1,850' },
                ].map(m => (
                  <div key={m.label}>
                    <div style={{ fontSize: 12, color: 'rgba(255,255,255,0.55)', letterSpacing: '0.04em', marginBottom: 10 }}>{m.label}</div>
                    <div style={{ display: 'flex', alignItems: 'center', gap: 16 }}>
                      <div style={{
                        fontFamily: 'var(--font-display)', fontWeight: 700,
                        fontSize: 30, color: 'rgba(255,255,255,0.38)',
                        letterSpacing: '-0.025em', lineHeight: 1,
                      }}>{m.before}</div>
                      <Icon name="arrow-right" size={18} style={{ color: 'rgba(255,255,255,0.28)' }} />
                      <div style={{
                        fontFamily: 'var(--font-display)', fontWeight: 700,
                        fontSize: 40, color: FTb.glow,
                        letterSpacing: '-0.03em', lineHeight: 1,
                      }}>{m.after}</div>
                    </div>
                  </div>
                ))}
              </div>
            </div>
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// CTA FINAL
// ============================================================
function FtCta({ onCta }) {
  return (
    <section style={{ background: FTb.bg, position: 'relative', overflow: 'hidden' }}>
      <Droplets style={{ right: -60, top: -40 }} color={FTb.glow} opacity={0.55} size={260} />
      <Droplets style={{ left: -80, bottom: -60 }} color={FTb.mid} opacity={0.15} size={300} />
      <Container style={{ padding: '100px 32px', position: 'relative' }}>
        <div style={{ maxWidth: 760, margin: '0 auto', textAlign: 'center' }}>
          <div style={{
            display: 'inline-flex', alignItems: 'center', gap: 8,
            background: '#fff', border: `1px solid ${FTb.glow}`,
            borderRadius: 999, padding: '5px 16px',
            fontSize: 11, fontWeight: 700, letterSpacing: '0.14em',
            textTransform: 'uppercase', color: FTb.deep, marginBottom: 28,
          }}>
            <Icon name="sparkles" size={12} />
            DIAGNÓSTICO DE FUNNEL · GRATIS
          </div>
          <h2 style={{
            fontFamily: 'var(--font-display)', fontWeight: 700,
            fontSize: 'clamp(32px, 5vw, 62px)',
            lineHeight: 1.04, letterSpacing: '-0.035em',
            margin: '0 0 20px', color: 'var(--fg1)',
          }}>
            30 minutos para saber<br />
            <span style={{ color: FTb.deep, fontStyle: 'italic' }}>dónde se pierden tus clientes potenciales.</span>
          </h2>
          <p style={{ fontSize: 18, lineHeight: 1.6, color: 'var(--fg2)', maxWidth: 540, margin: '0 auto 36px' }}>
            Un estratega FRSKO con experiencia en servicios financieros revisa tu proceso de captación y te dice qué optimizaría primero — sin compromiso.
          </p>
          <div style={{ display: 'flex', gap: 14, justifyContent: 'center', flexWrap: 'wrap', marginBottom: 28 }}>
            <Button variant="cta" size="lg" icon="arrow-right" onClick={onCta}>
              Agendar diagnóstico gratuito
            </Button>
            <Button variant="ghost" size="lg" icon="arrow-up-right">
              Ver casos de éxito
            </Button>
          </div>
          <div style={{ display: 'flex', gap: 24, justifyContent: 'center', flexWrap: 'wrap' }}>
            {['Sin costo · Sin compromiso', 'Respuesta en menos de 24h', 'Experiencia en fintech MX'].map(t => (
              <div key={t} style={{ display: 'flex', alignItems: 'center', gap: 6, fontSize: 13, color: 'var(--fg3)' }}>
                <Icon name="check" size={13} stroke={2} style={{ color: FTb.deep }} />
                {t}
              </div>
            ))}
          </div>
        </div>
      </Container>
    </section>
  );
}

// ============================================================
// OTRAS INDUSTRIAS
// ============================================================
function FtOtrasIndustrias() {
  const other = [
    { icon: 'home',     label: 'Bienes Raíces',       sub: 'Calificación automática de leads. WhatsApp + portales.',     href: 'FRSKO Industrias Bienes Raíces.html' },
    { icon: 'shopping', label: 'Retail & E-commerce',  sub: '10× creatividades. Menor CPM. ROAS que no para de subir.',   href: 'FRSKO Industrias Retail E-commerce.html' },
    { icon: 'heart',    label: 'Salud',                sub: 'Captación de pacientes con contenido educativo y medible.',   href: '#' },
    { icon: 'scale',    label: 'Legal',                sub: 'Autoridad digital para despachos. SEO + leads de calidad.',   href: '#' },
  ];

  return (
    <section style={{ background: '#fff', borderTop: '1px solid var(--border)' }}>
      <Container style={{ padding: '80px 32px' }}>
        <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 36 }}>
          <div>
            <Eyebrow>OTRAS INDUSTRIAS</Eyebrow>
            <h3 style={{
              fontFamily: 'var(--font-display)', fontSize: 'clamp(22px, 2.8vw, 34px)', fontWeight: 700,
              letterSpacing: '-0.025em', margin: '10px 0 0', color: 'var(--fg1)',
            }}>Llegamos con playbooks ya probados en cada vertical.</h3>
          </div>
          <Button variant="ghost" size="md" icon="arrow-right">Ver todas las industrias</Button>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 16 }}>
          {other.map(v => (
            <a key={v.label} href={v.href} style={{
              background: 'var(--ink-25)', border: '1px solid var(--border)', borderRadius: 20,
              padding: '22px 22px 24px', display: 'flex', flexDirection: 'column', gap: 12,
              transition: 'all var(--dur-base) var(--ease-out)', cursor: 'pointer', textDecoration: 'none',
            }}
              onMouseEnter={e => { e.currentTarget.style.boxShadow = 'var(--shadow-sm)'; e.currentTarget.style.borderColor = 'var(--teal-200)'; e.currentTarget.style.transform = 'translateY(-2px)'; }}
              onMouseLeave={e => { e.currentTarget.style.boxShadow = ''; e.currentTarget.style.borderColor = 'var(--border)'; e.currentTarget.style.transform = ''; }}>
              <div style={{
                width: 40, height: 40, borderRadius: 12,
                background: 'var(--teal-50)', color: 'var(--brand)',
                display: 'grid', placeItems: 'center',
              }}>
                <Icon name={v.icon} size={18} />
              </div>
              <div>
                <div style={{ fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 16, color: 'var(--fg1)', marginBottom: 5 }}>{v.label}</div>
                <div style={{ fontSize: 13, lineHeight: 1.5, color: 'var(--fg3)' }}>{v.sub}</div>
              </div>
            </a>
          ))}
        </div>
      </Container>
    </section>
  );
}

Object.assign(window, { FtEmbudo, FtResultados, FtCaso, FtCta, FtOtrasIndustrias });
