// Alvo Brando — marketing site components
// Each section is its own component. Composed in app.jsx.

const { useState } = React;

/* ============================================================
   Brand mark (used in header + footer)
   ============================================================ */
const BrandMark = ({ variant = 'light', size = 28 }) => {
  const src = variant === 'light'
    ? 'design-system/assets/logo-principal.svg'
    : 'design-system/assets/logo-reverso.svg';
  const color = variant === 'light' ? 'var(--ink)' : '#fff';
  return (
    <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
      <img src={src} alt="Alvo Brando" style={{ width: size, height: size }} />
      <span style={{
        fontFamily: 'var(--font-display)',
        fontWeight: 800,
        fontSize: size * 0.6,
        letterSpacing: '-0.03em',
        color,
        lineHeight: 1,
      }}>
        alvo<span style={{ color: 'var(--purple-500)' }}>brando</span>
      </span>
    </div>
  );
};

/* ============================================================
   Header
   ============================================================ */
const Header = () => {
  const navStyle = {
    position: 'sticky', top: 0, zIndex: 50,
    background: 'rgba(248, 244, 251, 0.78)',
    backdropFilter: 'blur(16px)',
    WebkitBackdropFilter: 'blur(16px)',
    borderBottom: '1px solid var(--border)',
  };
  const innerStyle = {
    display: 'flex', alignItems: 'center', gap: 8,
    height: 72, padding: '0 32px',
    maxWidth: 1320, margin: '0 auto',
  };
  const linkStyle = {
    fontFamily: 'var(--font-body)', fontSize: 14, fontWeight: 500,
    color: 'var(--slate)', padding: '8px 12px', borderRadius: 8,
    textDecoration: 'none', borderBottom: 0, cursor: 'pointer',
    whiteSpace: 'nowrap',
  };
  return (
    <header style={navStyle}>
      <div style={innerStyle}>
        <BrandMark variant="light" size={32} />
        <nav style={{ display: 'flex', gap: 2, marginLeft: 32 }}>
          <a style={linkStyle} href="#sistema">Sistema</a>
          <a style={linkStyle} href="#processo">Como funciona</a>
          <a style={linkStyle} href="#casos">Casos</a>
          <a style={linkStyle} href="#planos">Planos</a>
          <a style={linkStyle} href="#faq">FAQ</a>
        </nav>
        <div style={{ flex: 1 }} />
        <a className="btn btn-secondary" style={{ height: 44, fontSize: 14, padding: '0 16px', textDecoration: 'none' }} href="#login">Entrar</a>
        <a className="btn btn-primary" style={{ height: 44, fontSize: 14, padding: '0 18px', textDecoration: 'none' }} href="#contato">
          Falar com a gente <IconArrowRight size={16} />
        </a>
      </div>
    </header>
  );
};

/* ============================================================
   Hero
   ============================================================ */
const Hero = () => (
  <section style={{
    background: 'linear-gradient(180deg, var(--paper) 0%, #fff 100%)',
    padding: '64px 0 96px',
    position: 'relative',
    overflow: 'hidden',
  }}>
    {/* radial bloom */}
    <div style={{
      position: 'absolute', top: -120, right: -200, width: 760, height: 760,
      background: 'radial-gradient(circle, rgba(155,50,241,0.18) 0%, rgba(155,50,241,0) 60%)',
      pointerEvents: 'none',
    }} />
    <div className="container-wide" style={{ position: 'relative', display: 'grid', gridTemplateColumns: '1.1fr 0.9fr', gap: 56, alignItems: 'center' }}>
      <div>
        <span className="eyebrow"><span className="dot"></span>marketing com IA</span>
        <h1 style={{
          fontFamily: 'var(--font-display)', fontWeight: 800,
          fontSize: 'clamp(48px, 6vw, 88px)', lineHeight: 1.02,
          letterSpacing: '-0.028em', color: 'var(--ink)',
          margin: '24px 0 24px', textWrap: 'balance',
        }}>
          Atraímos. <br />
          Convertemos.<br />
          <span style={{ color: 'var(--purple-500)' }}>Vendemos.</span>
        </h1>
        <p style={{
          fontFamily: 'var(--font-body)', fontSize: 20, lineHeight: 1.6,
          color: 'var(--slate)', margin: 0, maxWidth: 540,
        }}>
          Tráfego pago, social media, automação no WhatsApp, páginas de
          vendas e CRM — um sistema só, com IA atravessando cada etapa
          do seu funil. Resultado mensurável, não promessa.
        </p>
        <div style={{ display: 'flex', gap: 12, marginTop: 32 }}>
          <button className="btn btn-primary">
            Falar com a gente <IconArrowRight size={18} />
          </button>
          <button className="btn btn-secondary">
            Ver casos reais
          </button>
        </div>
        <div style={{ display: 'flex', gap: 28, marginTop: 40 }}>
          <Stat n="312" label="campanhas ativas" />
          <Stat n="R$ 47Mi" label="em mídia gerida/ano" />
          <Stat n="4.7x" label="ROAS médio em 90 dias" />
        </div>
      </div>
      <HeroDashboard />
    </div>
  </section>
);

const Stat = ({ n, label }) => (
  <div>
    <div style={{ fontFamily: 'var(--font-mono)', fontSize: 28, fontWeight: 600, color: 'var(--ink)', letterSpacing: '-0.02em', lineHeight: 1 }}>{n}</div>
    <div style={{ fontFamily: 'var(--font-body)', fontSize: 12, color: 'var(--mute)', marginTop: 6, letterSpacing: '0.04em' }}>{label}</div>
  </div>
);

/* Mock dashboard panel on the right of hero */
const HeroDashboard = () => (
  <div style={{
    background: 'var(--ink)', color: '#fff',
    borderRadius: 24, padding: 24,
    boxShadow: 'var(--shadow-xl)',
    border: '1px solid var(--slate)',
    position: 'relative',
    overflow: 'hidden',
  }}>
    <div style={{
      position: 'absolute', top: -80, left: -80, width: 220, height: 220,
      background: 'radial-gradient(circle, rgba(155,50,241,0.45) 0%, rgba(155,50,241,0) 60%)',
      pointerEvents: 'none',
    }} />
    <div style={{ display: 'flex', alignItems: 'center', gap: 8, position: 'relative' }}>
      <span style={{
        fontFamily: 'var(--font-body)', fontSize: 11, fontWeight: 600,
        letterSpacing: '0.12em', textTransform: 'uppercase',
        color: 'var(--purple-300)',
        background: 'rgba(155,50,241,0.12)', padding: '6px 12px', borderRadius: 999,
        border: '1px solid rgba(155,50,241,0.3)',
        display: 'inline-flex', alignItems: 'center', gap: 6,
      }}>
        <span style={{ width: 6, height: 6, borderRadius: 999, background: 'var(--success-500)' }} />
        ao vivo
      </span>
      <span style={{ fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--soft)', marginLeft: 'auto' }}>últ. 30 dias</span>
    </div>
    <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 12, marginTop: 20 }}>
      <DashStat label="ROAS" value="4.7" suffix="x" delta="+0.6" />
      <DashStat label="CPL" value="R$ 18,40" delta="−R$ 3,10" />
      <DashStat label="Vendas" value="1 248" delta="+12,4%" />
      <DashStat label="LTV" value="R$ 1 240" delta="+R$ 92" />
    </div>
    <ChartLine />
    <div style={{
      marginTop: 16, padding: '12px 14px',
      background: 'rgba(155,50,241,0.08)',
      borderRadius: 10, border: '1px solid rgba(155,50,241,0.18)',
      display: 'flex', alignItems: 'center', gap: 10,
      fontFamily: 'var(--font-body)', fontSize: 13, color: '#fff',
    }}>
      <IconSparkle size={16} />
      <span><strong style={{ color: 'var(--purple-300)' }}>IA sugere:</strong> aumentar verba do criativo "depoimento Camila" em 30% — CTR 2.1x acima da média.</span>
    </div>
  </div>
);

const DashStat = ({ label, value, suffix, delta }) => {
  const positive = !delta?.startsWith('−') && !delta?.startsWith('-');
  return (
    <div style={{
      background: 'var(--charcoal)', borderRadius: 12, padding: 14,
      border: '1px solid var(--slate)',
    }}>
      <div style={{ fontFamily: 'var(--font-body)', fontSize: 11, color: 'var(--soft)', letterSpacing: '0.1em', textTransform: 'uppercase' }}>{label}</div>
      <div style={{ fontFamily: 'var(--font-mono)', fontSize: 28, fontWeight: 600, color: '#fff', marginTop: 4, lineHeight: 1 }}>
        {value}<span style={{ color: 'var(--purple-300)' }}>{suffix}</span>
      </div>
      <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, color: positive ? 'var(--success-500)' : 'var(--danger-500)', marginTop: 6 }}>{delta}</div>
    </div>
  );
};

const ChartLine = () => (
  <svg viewBox="0 0 320 80" style={{ width: '100%', height: 80, marginTop: 16 }}>
    <defs>
      <linearGradient id="g1" x1="0" x2="0" y1="0" y2="1">
        <stop offset="0%" stopColor="#9B32F1" stopOpacity="0.35"/>
        <stop offset="100%" stopColor="#9B32F1" stopOpacity="0"/>
      </linearGradient>
    </defs>
    <path d="M0 60 L40 55 L80 50 L120 45 L160 38 L200 30 L240 26 L280 18 L320 10 L320 80 L0 80 Z" fill="url(#g1)"/>
    <path d="M0 60 L40 55 L80 50 L120 45 L160 38 L200 30 L240 26 L280 18 L320 10" stroke="#BD8AF7" strokeWidth="2" fill="none" strokeLinecap="round" strokeLinejoin="round"/>
  </svg>
);

/* ============================================================
   Logos strip (social proof)
   ============================================================ */
const LogosStrip = () => {
  const names = ['ROSANA & CO', 'Maré Studio', 'Casa Verde', 'NORTE ATLETA', 'Café da Tarde', 'Dr. Mendonça', 'Studio Vincent'];
  return (
    <section style={{ padding: '40px 0 8px', background: '#fff' }}>
      <div className="container">
        <div style={{ fontFamily: 'var(--font-body)', fontSize: 12, fontWeight: 600, color: 'var(--mute)', letterSpacing: '0.16em', textTransform: 'uppercase', textAlign: 'center', marginBottom: 28 }}>
          Quem confia o crescimento à gente
        </div>
        <div style={{ display: 'flex', justifyContent: 'space-between', gap: 32, flexWrap: 'wrap', opacity: 0.7 }}>
          {names.map(n => (
            <div key={n} style={{ fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 16, letterSpacing: '0.04em', color: 'var(--slate)' }}>{n}</div>
          ))}
        </div>
      </div>
    </section>
  );
};

/* ============================================================
   System (4 pillars)
   ============================================================ */
const SystemSection = () => {
  const pillars = [
    { icon: IconTarget,    title: 'Tráfego pago',         body: 'Meta, Google e TikTok rodando como um único motor. Atribuição real, não suposição.' },
    { icon: IconInstagram, title: 'Social media',         body: 'Calendário, criativos e copy alinhados ao funil — não a métricas de vaidade.' },
    { icon: IconWhatsApp,  title: 'Automação WhatsApp',   body: 'Cada lead recebe a mensagem certa na hora certa. IA prioriza quem está mais quente.' },
    { icon: IconGrid,      title: 'CRM integrado',        body: 'Da primeira conversa à venda fechada. Um dashboard que todo mundo entende.' },
  ];
  return (
    <section id="sistema" style={{ background: 'var(--paper)' }}>
      <div className="container">
        <div className="section-head">
          <span className="eyebrow"><span className="dot"></span>o sistema</span>
          <h2>Quatro frentes. <br /><span style={{ color: 'var(--purple-500)' }}>Um sistema só.</span></h2>
          <p>Ao invés de juntar agências e ferramentas soltas, integramos tudo em uma camada operada por IA — atribuindo, otimizando e priorizando em tempo real.</p>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 16 }}>
          {pillars.map(p => <PillarCard key={p.title} {...p} />)}
        </div>
      </div>
    </section>
  );
};

const PillarCard = ({ icon: Icon, title, body }) => (
  <div style={{
    background: '#fff', border: '1px solid var(--border)',
    borderRadius: 20, padding: 24, height: '100%',
    transition: 'all 240ms var(--ease)',
    boxShadow: 'var(--shadow-xs)',
  }}>
    <div style={{
      width: 48, height: 48, borderRadius: 12,
      background: 'var(--purple-50)', color: 'var(--purple-600)',
      display: 'grid', placeItems: 'center',
    }}>
      <Icon size={24} />
    </div>
    <h3 style={{
      fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 22,
      letterSpacing: '-0.012em', color: 'var(--ink)',
      margin: '20px 0 8px',
    }}>{title}</h3>
    <p style={{ fontFamily: 'var(--font-body)', fontSize: 14, lineHeight: 1.55, color: 'var(--slate)', margin: 0 }}>{body}</p>
  </div>
);

/* ============================================================
   Process (4 steps)
   ============================================================ */
const ProcessSection = () => {
  const steps = [
    { n: '01', title: 'Diagnóstico',  body: 'Auditamos canais, criativos, funil e CRM. Identificamos onde está vazando dinheiro.' },
    { n: '02', title: 'Plano de ataque', body: 'Mapa de 90 dias por canal, com metas de CAC, CPL e ROAS já validadas com você.' },
    { n: '03', title: 'Operação',     body: 'Time roda tráfego, social, automação e CRM. IA prioriza leads quentes em tempo real.' },
    { n: '04', title: 'Resultado',    body: 'Dashboard ao vivo, reuniões quinzenais, ajustes semanais. Sem surpresas no relatório.' },
  ];
  return (
    <section id="processo" style={{ background: '#fff' }}>
      <div className="container">
        <div className="section-head">
          <span className="eyebrow"><span className="dot"></span>como funciona</span>
          <h2>Do diagnóstico ao primeiro pico de vendas em <span style={{ color: 'var(--purple-500)' }}>até 90 dias</span>.</h2>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 16, position: 'relative' }}>
          {steps.map((s, i) => (
            <div key={s.n} style={{ position: 'relative' }}>
              {i < 3 && (
                <div style={{ position: 'absolute', top: 36, left: '88%', right: '-12%', height: 1, background: 'var(--purple-200)', zIndex: 0 }} />
              )}
              <div style={{ position: 'relative', zIndex: 1 }}>
                <div style={{
                  width: 72, height: 72, borderRadius: 999,
                  border: '1px solid var(--purple-200)', background: '#fff',
                  display: 'grid', placeItems: 'center',
                  fontFamily: 'var(--font-mono)', fontWeight: 600, fontSize: 22,
                  color: 'var(--purple-600)',
                  boxShadow: 'var(--shadow-xs)',
                }}>{s.n}</div>
                <h3 style={{ fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 20, color: 'var(--ink)', margin: '20px 0 6px' }}>{s.title}</h3>
                <p style={{ fontFamily: 'var(--font-body)', fontSize: 14, lineHeight: 1.55, color: 'var(--slate)', margin: 0, maxWidth: 240 }}>{s.body}</p>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

/* ============================================================
   Cases
   ============================================================ */
const CasesSection = () => {
  const cases = [
    { tag: 'E-commerce moda', name: 'Maré Studio', metric: '6.2x', sub: 'ROAS em 4 meses', body: 'Reestruturação de funil + automação no WhatsApp. Saímos de 1.8x para 6.2x sem aumentar verba.', hue: 'linear-gradient(135deg,#9B32F1,#5F148F)' },
    { tag: 'Serviços locais', name: 'Dr. Mendonça',  metric: '−R$ 22', sub: 'CPL em 60 dias',   body: 'Anúncios geo-segmentados, landing page nova e IA filtrando leads. CPL caiu de R$ 38 para R$ 16.', hue: 'linear-gradient(135deg,#A95BF4,#7517B5)' },
    { tag: 'Infoproduto',     name: 'Norte Atleta',  metric: '+312%',  sub: 'vendas/semana',    body: 'Pipeline construído do zero com criativos UGC, CRM e disparo segmentado. Triplicou em 90 dias.', hue: 'linear-gradient(135deg,#BD8AF7,#8C1EDB)' },
  ];
  return (
    <section id="casos" style={{ background: 'var(--paper)' }}>
      <div className="container">
        <div className="section-head">
          <span className="eyebrow"><span className="dot"></span>casos</span>
          <h2>Resultados que <span style={{ color: 'var(--purple-500)' }}>cabem na sua planilha</span>.</h2>
          <p>Cada caso aqui é número auditado, com cliente que topa entrar na call de venda. Sem print de dashboard sem contexto.</p>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 20 }}>
          {cases.map(c => <CaseCard key={c.name} {...c} />)}
        </div>
      </div>
    </section>
  );
};

const CaseCard = ({ tag, name, metric, sub, body, hue }) => (
  <div style={{
    background: '#fff', borderRadius: 20, overflow: 'hidden',
    border: '1px solid var(--border)', boxShadow: 'var(--shadow-sm)',
    display: 'flex', flexDirection: 'column',
  }}>
    <div style={{
      height: 180, background: hue, position: 'relative',
      display: 'flex', alignItems: 'flex-end', padding: 20,
    }}>
      <div style={{
        position: 'absolute', top: 16, left: 16,
        fontFamily: 'var(--font-body)', fontSize: 11, fontWeight: 600,
        letterSpacing: '0.12em', textTransform: 'uppercase',
        color: '#fff', background: 'rgba(255,255,255,0.18)',
        backdropFilter: 'blur(8px)', WebkitBackdropFilter: 'blur(8px)',
        padding: '5px 10px', borderRadius: 999,
      }}>{tag}</div>
      <div style={{
        fontFamily: 'var(--font-display)', fontWeight: 700, fontSize: 22,
        letterSpacing: '-0.012em', color: '#fff',
      }}>{name}</div>
    </div>
    <div style={{ padding: 24, flex: 1, display: 'flex', flexDirection: 'column' }}>
      <div style={{ display: 'flex', alignItems: 'baseline', gap: 8 }}>
        <div style={{ fontFamily: 'var(--font-mono)', fontSize: 40, fontWeight: 600, color: 'var(--purple-500)', letterSpacing: '-0.02em', lineHeight: 1 }}>{metric}</div>
        <div style={{ fontFamily: 'var(--font-body)', fontSize: 13, color: 'var(--mute)' }}>{sub}</div>
      </div>
      <p style={{ fontFamily: 'var(--font-body)', fontSize: 14, lineHeight: 1.55, color: 'var(--slate)', margin: '12px 0 16px', flex: 1 }}>{body}</p>
      <a style={{ fontFamily: 'var(--font-body)', fontSize: 13, fontWeight: 600, color: 'var(--purple-700)', display: 'inline-flex', alignItems: 'center', gap: 6, cursor: 'pointer', borderBottom: 0 }}>
        Ler o caso completo <IconArrowUpRight size={14} />
      </a>
    </div>
  </div>
);

/* ============================================================
   Pricing
   ============================================================ */
const PricingSection = () => (
  <section id="planos" style={{ background: '#fff' }}>
    <div className="container">
      <div className="section-head">
        <span className="eyebrow"><span className="dot"></span>planos</span>
        <h2>Pague pelo sistema que <span style={{ color: 'var(--purple-500)' }}>roda pra você</span>.</h2>
        <p>Sem fee de setup, sem contrato fechado de 12 meses. Trimestre fechado, renovação opcional.</p>
      </div>
      <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 24, maxWidth: 920 }}>
        <PricingCard
          name="Alvo"
          price="R$ 5.900"
          period="/mês"
          summary="Pra quem quer começar com previsibilidade no topo do funil."
          features={[
            'Tráfego pago (Meta + Google)',
            'Landing page de conversão',
            'Dashboard semanal',
            '1 reunião mensal',
            'Suporte por WhatsApp',
          ]}
        />
        <PricingCard
          name="Brando"
          price="R$ 12.400"
          period="/mês"
          summary="O sistema completo. IA, automação e CRM integrados."
          features={[
            'Tudo do Alvo +',
            'Social media (4 canais)',
            'Automação no WhatsApp com IA',
            'CRM integrado e qualificação',
            'Reunião quinzenal + Slack dedicado',
            'Atribuição multi-touch',
          ]}
          featured
        />
      </div>
      <div style={{ marginTop: 24, fontFamily: 'var(--font-body)', fontSize: 13, color: 'var(--mute)' }}>
        Verba de mídia paga à parte. Pra projetos enterprise (acima de R$ 200k/mês em mídia), fala com a gente — fazemos plano sob medida.
      </div>
    </div>
  </section>
);

const PricingCard = ({ name, price, period, summary, features, featured }) => (
  <div style={{
    background: featured ? 'var(--ink)' : '#fff',
    color: featured ? '#fff' : 'var(--ink)',
    border: featured ? '1px solid var(--slate)' : '1px solid var(--border)',
    borderRadius: 24, padding: 32,
    boxShadow: featured ? 'var(--shadow-lg)' : 'var(--shadow-sm)',
    position: 'relative',
    overflow: 'hidden',
  }}>
    {featured && (
      <>
        <div style={{
          position: 'absolute', top: 0, right: 0, width: 240, height: 240,
          background: 'radial-gradient(circle, rgba(155,50,241,0.35) 0%, rgba(155,50,241,0) 60%)',
          pointerEvents: 'none',
        }} />
        <div style={{
          position: 'absolute', top: 20, right: 20,
          background: 'var(--purple-500)', color: '#fff',
          fontFamily: 'var(--font-body)', fontWeight: 600, fontSize: 11,
          padding: '5px 12px', borderRadius: 999, letterSpacing: '0.06em',
        }}>RECOMENDADO</div>
      </>
    )}
    <div style={{ fontFamily: 'var(--font-body)', fontSize: 11, fontWeight: 600, letterSpacing: '0.12em', textTransform: 'uppercase', color: featured ? 'var(--purple-300)' : 'var(--purple-600)' }}>Plano</div>
    <h3 style={{ fontFamily: 'var(--font-display)', fontWeight: 800, fontSize: 36, letterSpacing: '-0.02em', margin: '8px 0 12px' }}>{name}</h3>
    <p style={{ fontFamily: 'var(--font-body)', fontSize: 14, lineHeight: 1.55, color: featured ? 'var(--soft)' : 'var(--slate)', margin: '0 0 24px' }}>{summary}</p>
    <div style={{ display: 'flex', alignItems: 'baseline', gap: 6, marginBottom: 24 }}>
      <span style={{ fontFamily: 'var(--font-mono)', fontSize: 40, fontWeight: 600, letterSpacing: '-0.02em', lineHeight: 1 }}>{price}</span>
      <span style={{ fontFamily: 'var(--font-body)', fontSize: 14, color: featured ? 'var(--soft)' : 'var(--mute)' }}>{period}</span>
    </div>
    <ul style={{ listStyle: 'none', padding: 0, margin: '0 0 24px', display: 'flex', flexDirection: 'column', gap: 10 }}>
      {features.map(f => (
        <li key={f} style={{ display: 'flex', gap: 10, alignItems: 'flex-start', fontFamily: 'var(--font-body)', fontSize: 14, color: featured ? '#fff' : 'var(--slate)' }}>
          <span style={{ color: featured ? 'var(--purple-300)' : 'var(--purple-500)', flex: '0 0 18px', marginTop: 1 }}><IconCheck size={18}/></span>
          {f}
        </li>
      ))}
    </ul>
    <button className={featured ? 'btn btn-primary' : 'btn btn-secondary'} style={{ width: '100%' }}>
      Falar com a gente <IconArrowRight size={18}/>
    </button>
  </div>
);

/* ============================================================
   FAQ
   ============================================================ */
const FaqSection = () => {
  const qs = [
    ['Em quanto tempo eu vejo resultado?', 'Os primeiros sinais aparecem nas 2–3 primeiras semanas (CPM, CTR, taxa de resposta no WhatsApp). Vendas atribuídas tendem a estabilizar entre o dia 45 e 90, dependendo do ciclo de compra do seu negócio.'],
    ['Vocês trabalham com qualquer segmento?', 'Não. Não atendemos cripto, jogos de azar, infoproduto de "ganhe dinheiro fácil", ou qualquer negócio que não tope ter as métricas auditadas publicamente. Nosso forte é varejo, serviços locais e infoprodutos educacionais sérios.'],
    ['Preciso já ter CRM e WhatsApp Business?', 'Não. A gente sobe a estrutura do zero pra você ou integra ao que já existe (RD Station, HubSpot, Pipedrive, Kommo). WhatsApp roda na API oficial — sem risco de banimento.'],
    ['Quem é o dono da minha conta de anúncios?', 'Você. Sempre. A gente opera com perfil de gestor, nunca cria contas no nosso CNPJ. Se um dia decidir sair, leva tudo: histórico, pixel, públicos.'],
    ['Como funciona o contrato?', 'Trimestre fechado, renovação opcional ao fim de cada ciclo. Cláusula de saída sem multa se a gente não bater as metas combinadas no plano de 90 dias.'],
  ];
  const [open, setOpen] = useState(0);
  return (
    <section id="faq" style={{ background: 'var(--paper)' }}>
      <div className="container" style={{ maxWidth: 880 }}>
        <div className="section-head">
          <span className="eyebrow"><span className="dot"></span>perguntas</span>
          <h2>O que a gente já ouviu <span style={{ color: 'var(--purple-500)' }}>antes de assinar</span>.</h2>
        </div>
        <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>
          {qs.map(([q, a], i) => (
            <FaqRow key={q} q={q} a={a} open={open === i} onToggle={() => setOpen(open === i ? -1 : i)} />
          ))}
        </div>
      </div>
    </section>
  );
};

const FaqRow = ({ q, a, open, onToggle }) => (
  <div style={{
    background: '#fff', border: '1px solid var(--border)',
    borderRadius: 14, padding: '4px 4px',
    boxShadow: open ? 'var(--shadow-sm)' : 'none',
    transition: 'box-shadow 200ms var(--ease)',
  }}>
    <button onClick={onToggle} style={{
      width: '100%', background: 'transparent', border: 0, padding: '16px 18px',
      display: 'flex', alignItems: 'center', gap: 12, textAlign: 'left',
      fontFamily: 'var(--font-display)', fontWeight: 600, fontSize: 17,
      color: 'var(--ink)', cursor: 'pointer',
    }}>
      <span style={{ flex: 1 }}>{q}</span>
      <span style={{
        transition: 'transform 240ms var(--ease)',
        transform: open ? 'rotate(180deg)' : 'rotate(0)',
        color: 'var(--purple-600)',
      }}>
        <IconChevronDown size={20}/>
      </span>
    </button>
    {open && (
      <div style={{
        padding: '0 18px 18px',
        fontFamily: 'var(--font-body)', fontSize: 15, lineHeight: 1.6,
        color: 'var(--slate)',
      }}>{a}</div>
    )}
  </div>
);

/* ============================================================
   CTA band
   ============================================================ */
const CtaBand = () => {
  const [sent, setSent] = useState(false);
  return (
    <section style={{ background: 'var(--ink)', color: '#fff', position: 'relative', overflow: 'hidden' }}>
      <div style={{
        position: 'absolute', top: -200, left: '50%', transform: 'translateX(-50%)',
        width: 900, height: 600,
        background: 'radial-gradient(circle, rgba(155,50,241,0.32) 0%, rgba(155,50,241,0) 60%)',
        pointerEvents: 'none',
      }} />
      <div className="container" style={{ position: 'relative', textAlign: 'center', padding: '24px 0' }}>
        <span className="eyebrow" style={{ background: 'rgba(155,50,241,0.12)', color: 'var(--purple-300)', borderColor: 'rgba(155,50,241,0.3)' }}>
          <span className="dot"></span>direto no whatsapp
        </span>
        <h2 style={{ fontFamily: 'var(--font-display)', fontWeight: 800, fontSize: 'clamp(36px, 5vw, 64px)', lineHeight: 1.05, letterSpacing: '-0.025em', color: '#fff', margin: '20px auto 16px', maxWidth: 720, textWrap: 'balance' }}>
          Vamos olhar o seu funil agora?
        </h2>
        <p style={{ fontFamily: 'var(--font-body)', fontSize: 18, lineHeight: 1.6, color: 'var(--soft)', margin: '0 auto 28px', maxWidth: 560 }}>
          Em 15 minutos a gente mapeia onde está vazando dinheiro no seu marketing — e o que dá pra apertar primeiro.
        </p>
        {!sent ? (
          <form onSubmit={(e) => { e.preventDefault(); setSent(true); }} style={{ display: 'flex', gap: 8, maxWidth: 440, margin: '0 auto', justifyContent: 'center' }}>
            <input
              placeholder="Seu WhatsApp com DDD"
              style={{
                flex: 1, height: 52, padding: '0 16px',
                background: 'rgba(255,255,255,0.06)', border: '1px solid var(--slate)',
                borderRadius: 14, color: '#fff', fontFamily: 'var(--font-body)', fontSize: 15,
                outline: 'none',
              }}
            />
            <button type="submit" className="btn btn-primary" style={{ height: 52 }}>
              Chamar a gente <IconWhatsApp size={18} />
            </button>
          </form>
        ) : (
          <div style={{
            display: 'inline-flex', alignItems: 'center', gap: 10,
            background: 'rgba(31,206,124,0.12)', border: '1px solid rgba(31,206,124,0.3)',
            color: 'var(--success-500)', padding: '14px 22px', borderRadius: 14,
            fontFamily: 'var(--font-body)', fontSize: 15, fontWeight: 600,
          }}>
            <IconCheck size={18}/> Recebemos. Te chamamos em até 1 dia útil.
          </div>
        )}
      </div>
    </section>
  );
};

/* ============================================================
   Footer
   ============================================================ */
const Footer = () => (
  <footer style={{ background: 'var(--ink)', color: 'var(--soft)', padding: '56px 0 32px', borderTop: '1px solid var(--slate)' }}>
    <div className="container" style={{ display: 'grid', gridTemplateColumns: '2fr 1fr 1fr 1fr', gap: 32 }}>
      <div>
        <BrandMark variant="dark" size={32} />
        <p style={{ fontFamily: 'var(--font-body)', fontSize: 13, lineHeight: 1.6, color: 'var(--soft)', margin: '16px 0 0', maxWidth: 320 }}>
          Marketing com IA que gera venda — não só lead.
        </p>
        <div style={{ display: 'flex', gap: 8, marginTop: 16 }}>
          <SocialBtn><IconInstagram size={18}/></SocialBtn>
          <SocialBtn><IconLinkedin size={18}/></SocialBtn>
          <SocialBtn><IconYoutube size={18}/></SocialBtn>
        </div>
      </div>
      <FooterCol title="Sistema" links={['Tráfego pago', 'Social media', 'WhatsApp', 'CRM', 'Páginas']} />
      <FooterCol title="Empresa" links={['Casos', 'Sobre', 'Blog', 'Carreiras', 'Imprensa']} />
      <FooterCol title="Contato" links={['comercial@alvobrando.com.br', 'WhatsApp +55 11 98 ...', 'São Paulo · BR']} />
    </div>
    <div className="container" style={{ marginTop: 48, paddingTop: 24, borderTop: '1px solid var(--slate)', display: 'flex', justifyContent: 'space-between', flexWrap: 'wrap', gap: 12, fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--mute)' }}>
      <div>© 2026 Alvo Brando · Marketing com IA · CNPJ 00.000.000/0001-00</div>
      <div style={{ display: 'flex', gap: 16 }}>
        <a style={{ color: 'var(--mute)', borderBottom: 0 }}>Política de privacidade</a>
        <a style={{ color: 'var(--mute)', borderBottom: 0 }}>Termos</a>
      </div>
    </div>
  </footer>
);

const FooterCol = ({ title, links }) => (
  <div>
    <div style={{ fontFamily: 'var(--font-body)', fontSize: 12, fontWeight: 600, letterSpacing: '0.12em', textTransform: 'uppercase', color: 'var(--purple-300)', marginBottom: 14 }}>{title}</div>
    <ul style={{ listStyle: 'none', padding: 0, margin: 0, display: 'flex', flexDirection: 'column', gap: 10 }}>
      {links.map(l => (
        <li key={l} style={{ fontFamily: 'var(--font-body)', fontSize: 14, color: 'var(--soft)' }}>{l}</li>
      ))}
    </ul>
  </div>
);

const SocialBtn = ({ children }) => (
  <button style={{
    width: 36, height: 36, borderRadius: 999,
    background: 'rgba(255,255,255,0.06)', border: '1px solid var(--slate)',
    color: 'var(--soft)', display: 'grid', placeItems: 'center',
    transition: 'all 180ms var(--ease)',
  }}>{children}</button>
);

Object.assign(window, {
  BrandMark, Header, Hero, LogosStrip, SystemSection, ProcessSection,
  CasesSection, PricingSection, FaqSection, CtaBand, Footer,
});
