/* sections.jsx — CherryMarket landing — shared components & sections */

const { useState, useEffect, useRef, useMemo } = React;

const BOOKING_URL = "https://cal.com/juan-pablo-grez-p8la8s/30min";

/* ────────────────────────────────────────────────────────── icons */
const IconBars = ({ size = 26, color = "var(--brand)" }) => (
  <svg viewBox="0 0 64 64" width={size} height={size} aria-hidden="true">
    <rect x="4" y="32" width="14" height="28" rx="7" fill={color} />
    <rect x="22" y="6" width="14" height="54" rx="7" fill={color} />
    <rect x="40" y="18" width="14" height="42" rx="7" fill={color} />
  </svg>
);

const IconArrow = ({ size = 14 }) => (
  <svg
    width={size}
    height={size}
    viewBox="0 0 20 20"
    className="arrow"
    fill="none"
  >
    <path
      d="M4 10h11M11 6l4 4-4 4"
      stroke="currentColor"
      strokeWidth="1.8"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

const IconSearch = ({ size = 13 }) => (
  <svg width={size} height={size} viewBox="0 0 20 20" fill="none">
    <circle cx="9" cy="9" r="5.5" stroke="currentColor" strokeWidth="1.6" />
    <path
      d="m14 14 3.5 3.5"
      stroke="currentColor"
      strokeWidth="1.6"
      strokeLinecap="round"
    />
  </svg>
);

const IconCheck = () => (
  <svg width="12" height="12" viewBox="0 0 16 16" fill="none">
    <path
      d="m3.5 8.5 3 3 6-7"
      stroke="currentColor"
      strokeWidth="2.2"
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  </svg>
);

/* ────────────────────────────────────────────────────────── reveal hook */
function useReveal() {
  useEffect(() => {
    const els = document.querySelectorAll(".reveal");
    const io = new IntersectionObserver(
      (entries) =>
        entries.forEach(
          (e) => e.isIntersecting && e.target.classList.add("in"),
        ),
      { threshold: 0.12 },
    );
    els.forEach((el) => io.observe(el));
    return () => io.disconnect();
  }, []);
}

/* ────────────────────────────────────────────────────────── animated counter */
function Counter({
  to,
  prefix = "",
  suffix = "",
  decimals = 0,
  durationMs = 1200,
}) {
  const ref = useRef(null);
  const [val, setVal] = useState(0);
  useEffect(() => {
    let raf;
    const io = new IntersectionObserver(
      (entries) => {
        entries.forEach((e) => {
          if (e.isIntersecting) {
            const t0 = performance.now();
            const tick = (now) => {
              const p = Math.min(1, (now - t0) / durationMs);
              const eased = 1 - Math.pow(1 - p, 3);
              setVal(to * eased);
              if (p < 1) raf = requestAnimationFrame(tick);
            };
            raf = requestAnimationFrame(tick);
            io.disconnect();
          }
        });
      },
      { threshold: 0.4 },
    );
    if (ref.current) io.observe(ref.current);
    return () => {
      io.disconnect();
      cancelAnimationFrame(raf);
    };
  }, [to, durationMs]);
  const fmt = val.toLocaleString("es-CL", {
    maximumFractionDigits: decimals,
    minimumFractionDigits: decimals,
  });
  return (
    <span ref={ref}>
      {prefix}
      {fmt}
      {suffix}
    </span>
  );
}

/* ────────────────────────────────────────────────────────── NAV */
function Nav({ theme, onTheme }) {
  const [open, setOpen] = useState(false);

  useEffect(() => {
    document.body.style.overflow = open ? "hidden" : "";
    return () => {
      document.body.style.overflow = "";
    };
  }, [open]);

  const close = () => setOpen(false);

  return (
    <>
      <header className="nav">
        <div className="wrap nav-row">
          <a
            className="brand"
            href="#top"
            aria-label="cherry.market home"
            onClick={close}
          >
            <img
              src={
                theme === "dark"
                  ? "assets/white-full-logo.png"
                  : "assets/full-logo.png"
              }
              alt="cherry.market"
              style={{ height: 28, width: "auto", display: "block" }}
            />
          </a>
          <nav className="nav-links">
            <a href="#producto">Producto</a>
            <a href="#modulos">Módulos</a>
            <a href="#benchmark">Benchmark</a>
            <a href="#para-quien">Para quién</a>
            <a href="#fruitmarkets">FruitMarkets</a>
            <a href="#demo">Contacto</a>
          </nav>
          <div className="nav-cta">
            <a
              className="nav-pill"
              href="https://portal.cherrymarket.cl"
              target="_blank"
              rel="noopener noreferrer"
            >
              Iniciar sesión
            </a>
            <a
              className="btn btn-primary"
              href={BOOKING_URL}
              target="_blank"
              rel="noopener noreferrer"
            >
              Agendar demo <IconArrow />
            </a>
            <button
              className={`menu-btn ${open ? "is-on" : ""}`}
              type="button"
              aria-label="Abrir menú"
              aria-expanded={open}
              onClick={() => setOpen((v) => !v)}
            >
              <span />
            </button>
          </div>
        </div>
      </header>
      <div className={`mobile-sheet ${open ? "is-on" : ""}`}>
        <a href="#producto" onClick={close}>
          Producto <span>El problema</span>
        </a>
        <a href="#modulos" onClick={close}>
          Módulos <span>4 vistas</span>
        </a>
        <a href="#benchmark" onClick={close}>
          Benchmark <span>Industria</span>
        </a>
        <a href="#para-quien" onClick={close}>
          Para quién <span>Equipos</span>
        </a>
        <a href="#fruitmarkets" onClick={close}>
          FruitMarkets <span>Nuevo</span>
        </a>
        <a href="#demo" onClick={close}>
          Conversemos <span>Demo</span>
        </a>
        <a
          href="https://portal.cherrymarket.cl"
          target="_blank"
          rel="noopener noreferrer"
          onClick={close}
        >
          Iniciar sesión <span>Portal</span>
        </a>
        <a
          className="btn btn-primary"
          href={BOOKING_URL}
          target="_blank"
          rel="noopener noreferrer"
        >
          Agendar demo <IconArrow />
        </a>
      </div>
    </>
  );
}

/* ────────────────────────────────────────────────────────── HERO MOCK */
const MARKETS = ["Mercado", "Liquidaciones", "Comparativas", "Preliquidación"];

function HeroMock() {
  const [tab, setTab] = useState(0);
  // simulated live data; small jitter
  const [tick, setTick] = useState(0);
  useEffect(() => {
    const i = setInterval(() => setTick((t) => t + 1), 2400);
    return () => clearInterval(i);
  }, []);

  // chart series, two lines (your average vs market reference)
  const seriesA = useMemo(
    () => [3.2, 3.4, 3.55, 3.7, 3.6, 3.85, 4.1, 4.2, 4.4, 4.55, 4.7, 4.85],
    [],
  );
  const seriesB = useMemo(
    () => [3.0, 3.1, 3.15, 3.2, 3.35, 3.45, 3.5, 3.6, 3.75, 3.85, 3.95, 4.05],
    [],
  );

  const w = 460,
    h = 160,
    pad = 8;
  const max = 5.2,
    min = 2.8;
  const sx = (i, arr) => pad + (i / (arr.length - 1)) * (w - pad * 2);
  const sy = (v) => h - pad - ((v - min) / (max - min)) * (h - pad * 2);
  const toPath = (arr) =>
    arr
      .map(
        (v, i) =>
          `${i === 0 ? "M" : "L"}${sx(i, arr).toFixed(1)},${sy(v).toFixed(1)}`,
      )
      .join(" ");
  const toArea = (arr) =>
    `${toPath(arr)} L${sx(arr.length - 1, arr)},${h - pad} L${sx(0, arr)},${h - pad} Z`;

  // last point with jitter
  const last = seriesA[seriesA.length - 1] + Math.sin(tick) * 0.04;

  return (
    <div
      className="mock"
      role="img"
      aria-label="Vista previa del panel cherry.market"
    >
      <div className="mock-head">
        <div className="mock-tabs">
          {MARKETS.map((m, i) => (
            <div
              key={m}
              className={`mock-tab ${tab === i ? "is-on" : ""}`}
              onClick={() => setTab(i)}
            >
              {m}
            </div>
          ))}
        </div>
        <div className="mock-search">
          <IconSearch /> <span>Cerezas · Lapins · 28mm…</span>{" "}
          <span className="kbd">⌘K</span>
        </div>
      </div>
      <div className="mock-body">
        <div className="kpi-row">
          <div className="kpi">
            <div className="lbl">Retorno promedio</div>
            <div className="val">
              USD <Counter to={4.82} decimals={2} />
            </div>
            <div className="chg up">▲ +12,4% vs semana ant.</div>
          </div>
          <div className="kpi">
            <div className="lbl">Cajas liquidadas</div>
            <div className="val">
              <Counter to={184250} />
            </div>
            <div className="chg up">▲ +8,1%</div>
          </div>
          <div className="kpi">
            <div className="lbl">Spread vs mercado</div>
            <div className="val">
              +USD <Counter to={0.42} decimals={2} />
            </div>
            <div className="chg down">▼ −0,08 esta sem.</div>
          </div>
        </div>

        <div className="chart" aria-hidden="true">
          <div className="chart-legend">
            <span className="sw">
              <i style={{ background: "var(--brand)" }} /> Tu retorno
            </span>
            <span className="sw">
              <i
                style={{
                  background:
                    "color-mix(in oklab, var(--ink) 30%, transparent)",
                }}
              />{" "}
              Referencia mercado
            </span>
          </div>
          <div className="chart-grid">
            <div />
            <div />
            <div />
            <div />
          </div>
          <svg viewBox={`0 0 ${w} ${h}`} preserveAspectRatio="none">
            <defs>
              <linearGradient id="g1" x1="0" x2="0" y1="0" y2="1">
                <stop offset="0%" stopColor="var(--brand)" stopOpacity="0.32" />
                <stop offset="100%" stopColor="var(--brand)" stopOpacity="0" />
              </linearGradient>
            </defs>
            <path d={toArea(seriesA)} fill="url(#g1)" />
            <path
              d={toPath(seriesB)}
              fill="none"
              stroke="color-mix(in oklab, var(--ink) 35%, transparent)"
              strokeWidth="1.6"
              strokeDasharray="4 4"
            />
            <path
              d={toPath(seriesA)}
              fill="none"
              stroke="var(--brand)"
              strokeWidth="2.4"
              strokeLinecap="round"
              strokeLinejoin="round"
            />
            <circle
              cx={sx(seriesA.length - 1, seriesA)}
              cy={sy(last)}
              r="5"
              fill="#fff"
              stroke="var(--brand)"
              strokeWidth="2.4"
            />
          </svg>
          <div
            className="chart-tooltip"
            style={{
              left: `calc(${(sx(seriesA.length - 1, seriesA) / w) * 100}% - 0px)`,
              top: `${(sy(last) / h) * 100}%`,
            }}
          >
            S12 · USD {last.toFixed(2)}/kg
          </div>
        </div>

        <div className="lq-rows">
          <div className="lq-head">
            <div>Recibidor</div>
            <div>Producto</div>
            <div className="num">Retorno</div>
            <div>Δ vs avg</div>
          </div>
          {[
            ["Pacific Fruit Co.", "Lapins 28mm", "USD 5.12", "+0.30", "green"],
            ["Hong Kong Direct", "Regina 30mm", "USD 4.95", "+0.13", "green"],
            ["Shanghai Trading", "Santina 26mm", "USD 4.41", "−0.41", "red"],
          ].map((r, i) => (
            <div className="lq-row" key={i}>
              <div>
                <b>{r[0]}</b>
              </div>
              <div>{r[1]}</div>
              <div className="num">
                <b>{r[2]}</b>
              </div>
              <div>
                <span className={`pill ${r[4]}`}>{r[3]}</span>
              </div>
            </div>
          ))}
        </div>
      </div>

      <div className="mock-note">
        <div className="badge">!</div>
        <div>
          <b>Alerta de spread</b>
          <span>
            Shanghai Trading paga 8% bajo el avg de la semana en Santina 26mm.
          </span>
        </div>
      </div>
    </div>
  );
}

/* ────────────────────────────────────────────────────────── HERO */
function Hero() {
  return (
    <section id="top" className="hero">
      <div className="wrap hero-grid">
        <div className="reveal">
          <span className="eyebrow">
            <span className="dot" />{" "}
            {"Liquidaciones, mercado y retornos en un solo lugar"}
          </span>
          <h1 className="display">
            Inteligencia comercial
            <br />
            <em>en tiempo real</em> para
            <br />
            exportadoras de fruta.
          </h1>
          <p className="hero-sub">
            Consolidamos tus liquidaciones, ventas, costos y precios de mercado
            en una sola plataforma. Tu equipo comercial compara recibidores,
            detecta oportunidades y toma mejores decisiones durante toda la
            temporada.
          </p>
          <div className="hero-cta">
            <a
              className="btn btn-primary"
              href={BOOKING_URL}
              target="_blank"
              rel="noopener noreferrer"
            >
              Agendar demo <IconArrow />
            </a>
            <a className="btn btn-ghost" href="#producto">
              Ver cómo funciona
            </a>
          </div>
          <div className="hero-trust">
            <div className="stack">
              <span className="avatar" />
              <span className="avatar" />
              <span className="avatar" />
              <span className="avatar" />
            </div>
            <span>
              Más de <b style={{ color: "var(--ink)" }}>30 exportadoras</b> ya
              analizan su temporada con cherry.market
            </span>
          </div>
        </div>
        <div className="reveal" style={{ position: "relative" }}>
          <HeroMock />
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── METRICS */
function Metrics() {
  return (
    <section className="wrap reveal">
      <div className="metrics">
        <div className="metrics-grid">
          <div className="metric">
            <div className="big">
              <span className="accent">+</span>
              <Counter to={30} />
            </div>
            <div className="lbl">
              Exportadoras confían en cherry.market para ordenar y analizar su
              información comercial.
            </div>
          </div>
          <div className="metric">
            <div className="big">
              <span className="accent">~</span>
              <Counter to={25} />%
            </div>
            <div className="lbl">
              Del volumen chileno de cerezas cubierto en nuestras comparativas
              de mercado.
            </div>
          </div>
          <div className="metric">
            <div className="big">
              <span className="accent">+</span>USD 1B
            </div>
            <div className="lbl">
              En liquidaciones procesadas y analizadas a lo largo de la
              temporada.
            </div>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── PROBLEM */
function Problem() {
  return (
    <section id="producto" className="s">
      <div className="wrap">
        <div className="reveal">
          <span className="s-eyebrow">El problema</span>
          <h2 className="s-title">
            El problema no es la falta de datos. Es tenerlos tarde, dispersos y
            difíciles de comparar.
          </h2>
          <p className="s-lead">
            Durante la temporada, tu equipo recibe liquidaciones, ventas, costos
            y reportes desde múltiples fuentes. La información existe, pero
            llega en planillas distintas, con criterios distintos, y casi
            siempre demasiado tarde para tomar decisiones comerciales oportunas.
          </p>
        </div>

        <div className="problem-grid">
          <div className="messy reveal" aria-hidden="true">
            <div className="file xls f1">
              <span className="ico" />
              <div>
                Liquidacion_PacificFruit.xlsx
                <div className="meta">recibido 14 nov · 12:42</div>
              </div>
            </div>
            <div className="file pdf f2">
              <span className="ico" />
              <div>
                Reporte_China_S08.pdf<div className="meta">manuel@…</div>
              </div>
            </div>
            <div className="file csv f3">
              <span className="ico" />
              <div>
                costos_packing_v3.csv
                <div className="meta">v3 · final FINAL</div>
              </div>
            </div>
            <div className="file xls f4">
              <span className="ico" />
              <div>
                Ventas_FOB_Lapins.xlsx<div className="meta">28 oct</div>
              </div>
            </div>
            <div className="file pdf f5">
              <span className="ico" />
              <div>
                Settlement_HK.pdf<div className="meta">recibidor envió</div>
              </div>
            </div>
            <div className="file xls f6">
              <span className="ico" />
              <div>
                Precio_mercado_S10.xlsx<div className="meta">whatsapp</div>
              </div>
            </div>
            <div className="file csv f7">
              <span className="ico" />
              <div>
                retornos_v_final.csv
                <div className="meta">¿la versión buena?</div>
              </div>
            </div>
            <div className="arrow-x">
              // múltiples fuentes &nbsp;·&nbsp; diferentes criterios
            </div>
          </div>
          <div className="clean-card reveal">
            <div className="label">Con cherry.market</div>
            <div className="h">
              Una sola plataforma, una sola verdad comercial.
            </div>
            <ul>
              <li>
                <span className="tick">
                  <IconCheck />
                </span>
                <div>
                  <b>Ordena lo disperso.</b> Consolidamos liquidaciones, ventas,
                  costos y precios de mercado en un mismo modelo de datos.
                </div>
              </li>
              <li>
                <span className="tick">
                  <IconCheck />
                </span>
                <div>
                  <b>Analiza, no formatea.</b> Tu equipo deja de armar planillas
                  y empieza a tomar decisiones.
                </div>
              </li>
              <li>
                <span className="tick">
                  <IconCheck />
                </span>
                <div>
                  <b>Decisiones a tiempo.</b> Información lista durante la
                  temporada — no tres meses después.
                </div>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── MODULES */
const MODULES = [
  {
    n: "01",
    t: "Mercado",
    d: "Referencias de precios y comportamiento comercial por especie, variedad, calibre, color, formato y mercado.",
    kind: "line",
  },
  {
    n: "02",
    t: "Liquidaciones",
    d: "Centraliza y analiza tus liquidaciones por cliente, recibidor, producto, fecha y destino.",
    kind: "bars",
  },
  {
    n: "03",
    t: "Comparativas",
    d: "Compara recibidores y mercados para entender diferencias reales de retorno, costos y desempeño.",
    kind: "split",
  },
  {
    n: "04",
    t: "Preliquidación",
    d: "Proyecta retornos a productor con información actualizada y criterios consistentes.",
    kind: "dots",
  },
];

function ModMicro({ kind, hot }) {
  if (kind === "line") {
    const pts = [22, 30, 26, 38, 34, 46, 42, 56, 52, 60, 58];
    const w = 200,
      h = 60;
    const d = pts
      .map((v, i) => `${i ? "L" : "M"}${(i / (pts.length - 1)) * w},${h - v}`)
      .join(" ");
    return (
      <div className="micro-line">
        <svg viewBox={`0 0 ${w} ${h}`} preserveAspectRatio="none">
          <path
            d={d}
            fill="none"
            stroke="var(--brand)"
            strokeWidth="2.4"
            strokeLinecap="round"
          />
          <circle cx={w} cy={h - pts.at(-1)} r="3.5" fill="var(--brand)" />
        </svg>
      </div>
    );
  }
  if (kind === "bars") {
    const bars = [40, 60, 35, 80, 50, 70, 95, 75];
    return (
      <div className="micro">
        {bars.map((b, i) => (
          <span
            key={i}
            style={{
              height: `${b}%`,
              opacity: hot ? 1 : 0.7 + (i / bars.length) * 0.3,
            }}
          />
        ))}
      </div>
    );
  }
  if (kind === "split") {
    return (
      <div className="micro-line">
        <svg viewBox="0 0 200 60" preserveAspectRatio="none">
          <path
            d="M0,50 C40,42 80,46 100,30 C120,14 160,18 200,12"
            fill="none"
            stroke="var(--brand)"
            strokeWidth="2.4"
            strokeLinecap="round"
          />
          <path
            d="M0,38 C40,42 80,30 100,30 C120,30 160,38 200,40"
            fill="none"
            stroke="color-mix(in oklab, var(--ink) 30%, transparent)"
            strokeWidth="1.8"
            strokeDasharray="4 4"
          />
        </svg>
      </div>
    );
  }
  // dots
  return (
    <div className="micro-line">
      <svg viewBox="0 0 200 60" preserveAspectRatio="none">
        {Array.from({ length: 12 }).map((_, i) => {
          const x = (i / 11) * 200;
          const y = 30 + Math.sin(i * 0.9) * 16 + Math.random() * 0;
          return (
            <circle
              key={i}
              cx={x}
              cy={y}
              r={i === 11 ? 5 : 3}
              fill={
                i === 11
                  ? "var(--brand)"
                  : "color-mix(in oklab, var(--brand) 35%, transparent)"
              }
            />
          );
        })}
      </svg>
    </div>
  );
}

function Modules({ active, setActive }) {
  return (
    <section id="modulos" className="s">
      <div className="wrap">
        <div className="reveal">
          <span className="s-eyebrow">La solución</span>
          <h2 className="s-title">
            Todo lo que necesitas para entender tu resultado comercial, en un
            solo lugar.
          </h2>
          <p className="s-lead">
            Analiza retornos, compara recibidores, revisa costos y contrasta tus
            resultados con información de mercado. Entiende qué clientes,
            mercados y combinaciones de producto están generando los mejores
            resultados — y por qué.
          </p>
        </div>

        <div className="modules reveal">
          {MODULES.map((m, i) => (
            <div
              key={m.n}
              className={`mod ${active === i ? "is-on" : ""}`}
              onClick={() => setActive(i)}
            >
              <div
                style={{
                  display: "flex",
                  justifyContent: "space-between",
                  alignItems: "center",
                }}
              >
                <span className="num">/ {m.n}</span>
                <IconBars
                  size={18}
                  color={
                    active === i
                      ? "var(--brand)"
                      : "color-mix(in oklab, var(--ink) 30%, transparent)"
                  }
                />
              </div>
              <div>
                <h3>{m.t}</h3>
                <p>{m.d}</p>
              </div>
              <ModMicro kind={m.kind} hot={active === i} />
            </div>
          ))}
        </div>

        <ModulePreview active={active} />
      </div>
    </section>
  );
}

/* per-module live preview */
function ModulePreview({ active }) {
  const m = MODULES[active];
  return (
    <div className="showcase" key={active}>
      <div>
        <span className="s-eyebrow" style={{ color: "var(--ink-2)" }}>
          Vista del módulo
        </span>
        <h4>{m.t}</h4>
        <p>
          {active === 0
            ? "Curva de precios FOB por variedad y mercado, con bandas de referencia y alertas cuando tu retorno se aleja del benchmark."
            : active === 1
              ? "Cada liquidación con su detalle de cliente, producto, fecha, costos y retorno final — comparable contra cualquier dimensión."
              : active === 2
                ? "Ranking automático de recibidores y mercados por retorno neto, ajustado por mix de producto y calibre."
                : "Proyecta el retorno a productor con la última información disponible, aplicando los mismos criterios para toda la temporada."}
        </p>
        <a
          className="btn btn-ghost"
          href={BOOKING_URL}
          target="_blank"
          rel="noopener noreferrer"
          style={{ padding: "10px 16px", fontSize: 13 }}
        >
          Ver en una demo <IconArrow />
        </a>
      </div>
      <div className={`preview preview-${active}`}>
        {active === 0 && <PrevMercado />}
        {active === 1 && <PrevLiq />}
        {active === 2 && <PrevComp />}
        {active === 3 && <PrevPre />}
      </div>
    </div>
  );
}

function PrevMercado() {
  // Multi-line bench chart
  const w = 460,
    h = 240,
    pad = 16;
  const A = [4.1, 4.4, 4.55, 4.7, 4.95, 5.2, 5.0, 4.85, 4.7, 4.6, 4.55, 4.5];
  const B = [3.9, 4.0, 4.1, 4.3, 4.6, 4.8, 4.9, 4.85, 4.7, 4.55, 4.45, 4.4];
  const C = [3.5, 3.6, 3.8, 4.0, 4.3, 4.5, 4.6, 4.55, 4.4, 4.3, 4.2, 4.1];
  const max = 5.4,
    min = 3.2;
  const sx = (i, arr) => pad + (i / (arr.length - 1)) * (w - pad * 2);
  const sy = (v) => h - pad - ((v - min) / (max - min)) * (h - pad * 2);
  const path = (arr) =>
    arr.map((v, i) => `${i ? "L" : "M"}${sx(i, arr)},${sy(v)}`).join(" ");
  return (
    <div>
      <div
        style={{
          display: "flex",
          justifyContent: "space-between",
          alignItems: "center",
          marginBottom: 10,
          fontSize: 12,
          color: "var(--muted)",
        }}
      >
        <b style={{ color: "var(--ink)", fontSize: 13, fontWeight: 700 }}>
          Lapins · 28mm · China
        </b>
        <span>Sem 40 → 51</span>
      </div>
      <svg viewBox={`0 0 ${w} ${h}`} style={{ width: "100%", height: "auto" }}>
        {[0, 1, 2, 3].map((i) => (
          <line
            key={i}
            x1={pad}
            x2={w - pad}
            y1={pad + i * ((h - pad * 2) / 3)}
            y2={pad + i * ((h - pad * 2) / 3)}
            stroke="var(--line)"
            strokeDasharray="4 4"
          />
        ))}
        <path
          d={`${path(A)} L${w - pad},${h - pad} L${pad},${h - pad} Z`}
          fill="color-mix(in oklab, var(--brand) 12%, transparent)"
        />
        <path
          d={path(A)}
          fill="none"
          stroke="var(--brand)"
          strokeWidth="2.4"
          strokeLinecap="round"
        />
        <path d={path(B)} fill="none" stroke="var(--ink)" strokeWidth="1.6" />
        <path
          d={path(C)}
          fill="none"
          stroke="color-mix(in oklab, var(--ink) 35%, transparent)"
          strokeWidth="1.6"
          strokeDasharray="5 4"
        />
        {A.map((v, i) => (
          <circle
            key={i}
            cx={sx(i, A)}
            cy={sy(v)}
            r="2.6"
            fill="var(--brand)"
          />
        ))}
      </svg>
      <div
        style={{
          display: "flex",
          gap: 14,
          marginTop: 8,
          fontSize: 11.5,
          color: "var(--muted)",
          flexWrap: "wrap",
        }}
      >
        <span>
          <i
            style={{
              display: "inline-block",
              width: 10,
              height: 10,
              background: "var(--brand)",
              borderRadius: 3,
              marginRight: 6,
              verticalAlign: "middle",
            }}
          />
          Tu retorno
        </span>
        <span>
          <i
            style={{
              display: "inline-block",
              width: 10,
              height: 10,
              background: "var(--ink)",
              borderRadius: 3,
              marginRight: 6,
              verticalAlign: "middle",
            }}
          />
          Top 5 mercado
        </span>
        <span>
          <i
            style={{
              display: "inline-block",
              width: 10,
              height: 10,
              background: "color-mix(in oklab, var(--ink) 35%, transparent)",
              borderRadius: 3,
              marginRight: 6,
              verticalAlign: "middle",
            }}
          />
          Promedio mercado
        </span>
      </div>
    </div>
  );
}

function PrevLiq() {
  const rows = [
    [
      "L-2406",
      "Pacific Fruit",
      "Lapins 28mm",
      "Shanghai",
      "USD 5.12",
      "+0.30",
      "ok",
    ],
    [
      "L-2407",
      "HK Direct",
      "Regina 30mm",
      "Hong Kong",
      "USD 4.95",
      "+0.13",
      "ok",
    ],
    [
      "L-2408",
      "Shanghai Trad.",
      "Santina 26mm",
      "Shanghai",
      "USD 4.41",
      "−0.41",
      "no",
    ],
    [
      "L-2409",
      "Pacific Fruit",
      "Kordia 28mm",
      "Shanghai",
      "USD 4.78",
      "+0.06",
      "ok",
    ],
    [
      "L-2410",
      "Singapore Co.",
      "Lapins 26mm",
      "Singapur",
      "USD 4.62",
      "−0.05",
      "no",
    ],
  ];
  return (
    <div style={{ fontSize: 12.5 }}>
      <div
        style={{
          display: "grid",
          gridTemplateColumns: "60px 1.3fr 1.1fr .9fr 1fr .7fr",
          gap: 8,
          padding: "6px 8px",
          color: "var(--muted)",
          fontSize: 10.5,
          letterSpacing: ".05em",
          textTransform: "uppercase",
          fontWeight: 700,
        }}
      >
        <div>ID</div>
        <div>Recibidor</div>
        <div>Producto</div>
        <div>Mercado</div>
        <div>Retorno</div>
        <div>Δ</div>
      </div>
      {rows.map((r, i) => (
        <div
          key={i}
          style={{
            display: "grid",
            gridTemplateColumns: "60px 1.3fr 1.1fr .9fr 1fr .7fr",
            gap: 8,
            padding: "10px 8px",
            borderTop: "1px solid var(--line)",
            alignItems: "center",
          }}
        >
          <div
            style={{
              fontFamily: "'JetBrains Mono',monospace",
              color: "var(--muted)",
            }}
          >
            {r[0]}
          </div>
          <div style={{ fontWeight: 700 }}>{r[1]}</div>
          <div>{r[2]}</div>
          <div style={{ color: "var(--muted)" }}>{r[3]}</div>
          <div style={{ fontWeight: 700, fontVariantNumeric: "tabular-nums" }}>
            {r[4]}
          </div>
          <div>
            <span
              style={{
                fontSize: 11,
                fontWeight: 700,
                padding: "2px 7px",
                borderRadius: 999,
                background:
                  r[6] === "ok"
                    ? "color-mix(in oklab, var(--ok) 14%, var(--surface))"
                    : "color-mix(in oklab, var(--brand) 12%, var(--surface))",
                color: r[6] === "ok" ? "var(--ok)" : "var(--brand)",
              }}
            >
              {r[5]}
            </span>
          </div>
        </div>
      ))}
    </div>
  );
}

function PrevComp() {
  const list = [
    { name: "Pacific Fruit Co.", v: 5.12, w: 92 },
    { name: "Hong Kong Direct", v: 4.95, w: 84 },
    { name: "Singapore Co.", v: 4.62, w: 72 },
    { name: "Shanghai Trading", v: 4.41, w: 60 },
    { name: "Taipei Imports", v: 4.2, w: 50 },
  ];
  return (
    <div
      style={{
        display: "flex",
        flexDirection: "column",
        gap: 10,
        fontSize: 13,
      }}
    >
      <div
        style={{
          display: "flex",
          justifyContent: "space-between",
          fontSize: 11.5,
          color: "var(--muted)",
          letterSpacing: ".04em",
          textTransform: "uppercase",
          fontWeight: 700,
        }}
      >
        <span>Recibidor</span>
        <span>Retorno neto</span>
      </div>
      {list.map((r, i) => (
        <div key={i} style={{ display: "flex", alignItems: "center", gap: 12 }}>
          <div style={{ width: 140, fontWeight: 700, fontSize: 13 }}>
            {r.name}
          </div>
          <div
            style={{
              flex: 1,
              height: 14,
              background: "var(--chip)",
              borderRadius: 7,
              overflow: "hidden",
            }}
          >
            <div
              style={{
                height: "100%",
                width: `${r.w}%`,
                background:
                  i < 2
                    ? "var(--brand)"
                    : "color-mix(in oklab, var(--ink) 25%, transparent)",
                borderRadius: 7,
                transition: "width .5s",
              }}
            />
          </div>
          <div
            style={{
              width: 70,
              textAlign: "right",
              fontWeight: 800,
              fontVariantNumeric: "tabular-nums",
            }}
          >
            USD {r.v}
          </div>
        </div>
      ))}
    </div>
  );
}

function PrevPre() {
  return (
    <div
      style={{
        display: "grid",
        gridTemplateColumns: "1fr 1fr",
        gap: 12,
        fontSize: 13,
      }}
    >
      {[
        ["Productor Las Lomas", "USD 3.85/kg", "↑ +6%", "ok"],
        ["Productor El Carmen", "USD 3.42/kg", "↓ −3%", "no"],
        ["Productor San Esteb.", "USD 3.95/kg", "↑ +9%", "ok"],
        ["Productor La Higuera", "USD 3.10/kg", "↓ −8%", "no"],
      ].map((r, i) => (
        <div
          key={i}
          style={{
            padding: "14px",
            border: "1px solid var(--line)",
            borderRadius: 10,
            background: "var(--surface)",
          }}
        >
          <div
            style={{
              fontSize: 11,
              color: "var(--muted)",
              fontWeight: 600,
              letterSpacing: ".04em",
              textTransform: "uppercase",
            }}
          >
            {r[0]}
          </div>
          <div
            style={{
              fontSize: 20,
              fontWeight: 800,
              letterSpacing: "-.02em",
              marginTop: 4,
              fontVariantNumeric: "tabular-nums",
            }}
          >
            {r[1]}
          </div>
          <div
            style={{
              fontSize: 11.5,
              fontWeight: 700,
              marginTop: 2,
              color: r[3] === "ok" ? "var(--ok)" : "var(--brand)",
            }}
          >
            {r[2]} vs proyección
          </div>
        </div>
      ))}
    </div>
  );
}

/* ────────────────────────────────────────────────────────── BENCHMARK */
const BENCHMARK_ROWS = [
  {
    product: "Santina 26mm",
    meta: "China · FOB · n=28",
    segments: ["25%", "22.5%", "21.25%", "31.25%"],
    peers: [8, 18, 22, 31, 40, 48, 55, 62, 68, 74, 80, 88],
    mark: "77.5%",
    pin: "Tú · USD 5.12",
    axis: ["USD 3.80", "Mediana 4.62", "USD 5.50"],
    percentile: "P78",
    badge: "Top Q4",
    badgeClass: "top",
  },
  {
    product: "Lapins 28mm",
    meta: "China · FOB · n=31",
    segments: ["22.22%", "25%", "25%", "27.78%"],
    peers: [6, 14, 22, 30, 36, 44, 52, 58, 66, 72, 78, 86, 92],
    mark: "62.22%",
    pin: "Tú · USD 4.92",
    axis: ["USD 3.70", "Mediana 4.65", "USD 5.60"],
    percentile: "P62",
    badge: "Q3",
    badgeClass: "top",
  },
  {
    product: "Regina 30mm",
    meta: "Asia · CIF · n=24",
    segments: ["25%", "28.125%", "21.875%", "25%"],
    peers: [10, 16, 24, 30, 38, 46, 52, 60, 66, 74, 82, 90],
    mark: "72%",
    pin: "Tú · USD 5.38",
    axis: ["USD 4.10", "Mediana 4.95", "USD 6.00"],
    percentile: "P72",
    badge: "Q3 alto",
    badgeClass: "top",
  },
  {
    product: "Sweetheart 28mm",
    meta: "USA · FOB · n=19",
    segments: ["27.27%", "22.73%", "22.73%", "27.27%"],
    peers: [8, 18, 26, 34, 42, 50, 58, 66, 74, 82, 90],
    mark: "36.5%",
    pin: "Tú · USD 4.18",
    axis: ["USD 3.50", "Mediana 4.35", "USD 5.25"],
    percentile: "P36",
    badge: "Q2",
    badgeClass: "mid",
  },
  {
    product: "Kordia 30mm",
    meta: "Europa · CIF · n=22",
    segments: ["29.41%", "23.53%", "23.53%", "23.53%"],
    peers: [10, 18, 26, 34, 40, 48, 54, 62, 70, 78, 86],
    mark: "82%",
    pin: "Tú · USD 5.74",
    axis: ["USD 4.20", "Mediana 5.10", "USD 6.10"],
    percentile: "P82",
    badge: "Top Q4",
    badgeClass: "top",
  },
  {
    product: "Bing 26mm",
    meta: "China · FOB · n=16",
    segments: ["23.81%", "23.81%", "23.81%", "28.57%"],
    peers: [8, 16, 24, 32, 42, 50, 58, 66, 74, 82],
    mark: "34%",
    pin: "Tú · USD 4.05",
    axis: ["USD 3.60", "Mediana 4.28", "USD 5.00"],
    percentile: "P34",
    badge: "Q2",
    badgeClass: "mid",
  },
];

function Benchmark() {
  return (
    <section id="benchmark" className="s bench-section">
      <div className="wrap">
        <div className="bench-hero reveal">
          <div>
            <span className="s-eyebrow">
              Feature destacada · Benchmark Industria
            </span>
            <h2 className="s-title">
              Compárate anónimamente con el resto de la industria.
            </h2>
          </div>
          <p className="s-lead">
            Revisa un análisis anonimizado por cuartiles del desempeño
            comercial de tu exportadora vs el resto de nuestra base de
            exportadoras.
          </p>
        </div>

        <div className="bench-card reveal">
          <div className="bench-card-head">
            <div className="ttl">
              <span className="dot" /> Benchmark Industria · Cerezas 25/26
            </div>
            <div className="meta">
              <span>
                Corte <b>S52 · Dic 2025</b>
              </span>
              <span>
                Universo <b>30 exportadoras</b>
              </span>
              <span className="anon">100% anonimizado</span>
            </div>
          </div>

          <div className="bench-legend">
            <span className="lg">
              <i className="q1" /> Q1
            </span>
            <span className="lg">
              <i className="q2" /> Q2
            </span>
            <span className="lg">
              <i className="q3" /> Q3
            </span>
            <span className="lg">
              <i className="q4" /> Q4
            </span>
            <span className="sep" />
            <span className="lg">
              <i className="peer" /> Exportadora anónima
            </span>
            <span className="lg you">
              <i /> Tu posición
            </span>
          </div>

          <div className="bench-rows">
            {BENCHMARK_ROWS.map((row) => (
              <div className="bench-row" key={row.product}>
                <div className="bench-prod">
                  <b>{row.product}</b>
                  <span>{row.meta}</span>
                </div>
                <div className="bench-bar-wrap">
                  <div className="bench-bar">
                    {row.segments.map((width, index) => (
                      <div
                        key={index}
                        className={`bench-seg q${index + 1}`}
                        style={{ width }}
                      />
                    ))}
                    {row.peers.map((left, index) => (
                      <span
                        key={index}
                        className="bench-peer"
                        style={{ left: `${left}%` }}
                      />
                    ))}
                    <div className="bench-mark" style={{ left: row.mark }}>
                      <div className="bench-pin">{row.pin}</div>
                    </div>
                  </div>
                  <div className="bench-axis">
                    <span>{row.axis[0]}</span>
                    <span>{row.axis[1]}</span>
                    <span>{row.axis[2]}</span>
                  </div>
                </div>
                <div className="bench-pct">
                  <div className="v">{row.percentile}</div>
                  <span className={`p ${row.badgeClass}`}>{row.badge}</span>
                </div>
              </div>
            ))}
          </div>
        </div>

        <div className="bench-feats reveal">
          <div className="bench-feat">
            <div className="ix">01</div>
            <h4>Anonimato garantizado</h4>
            <p>
              Solo ves tu propia posición vs datos anonimizados del resto de la
              industria.
            </p>
          </div>
          <div className="bench-feat">
            <div className="ix">02</div>
            <h4>Mismos criterios para todos</h4>
            <p>
              Comparamos mismos productos, mercados, calibres, etc para hacer
              las comparaciones de forma consistente.
            </p>
          </div>
          <div className="bench-feat">
            <div className="ix">03</div>
            <h4>Actualizado continuamente</h4>
            <p>
              A medida que se van cargando las liquidaciones los resultados se
              actualizan automáticamente.
            </p>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── AUDIENCE */
const AUD = [
  {
    role: "Gerencia",
    who: "CEO, gerencias comerciales",
    h: "Visión global de la temporada — sin esperar el cierre.",
    p: "Una sola vista de retorno, volumen y desempeño por mercado y producto. Decide dónde focalizar el esfuerzo comercial mientras la temporada todavía está en curso.",
    bullets: [
      "Dashboard de temporada con KPI’s vivos",
      "Reportes ejecutivos exportables a directorio",
      "Alertas automáticas de desvíos relevantes",
    ],
    stat: ["90%", "menos tiempo armando reportes ejecutivos."],
  },
  {
    role: "Equipo comercial",
    who: "Sales, KAMs, traders",
    h: "Decide rápido, con datos de mercado al lado de los tuyos.",
    p: "Cada negociación con el contexto: cómo paga ese recibidor, cómo está el mercado, cómo te fue con él el año pasado. Cierras mejor sin abrir cinco planillas.",
    bullets: [
      "Ficha completa de cada recibidor",
      "Benchmarks de precio por variedad y calibre",
      "Histórico de retornos por relación comercial",
    ],
    stat: ["100%", "del contexto necesario para tomar decisiones."],
  },
  {
    role: "Administración y control",
    who: "Finanzas, control de gestión",
    h: "Trazabilidad de cada liquidación, de origen a productor.",
    p: "Reconciliación de liquidaciones, costos y retornos con auditabilidad total. Los criterios son explícitos, consistentes y compartidos por toda la organización.",
    bullets: [
      "Conciliación automática de liquidaciones",
      "Auditabilidad de cálculo de retorno",
      "Integración con tu ERP / contabilidad",
    ],
    stat: ["100%", "de las liquidaciones con detalle reconciliado."],
  },
  {
    role: "Exportadoras que profesionalizan",
    who: "Equipos completos",
    h: "Profesionaliza tu análisis comercial sin armar un equipo de BI.",
    p: "Cero infraestructura: cargas tus archivos como siempre y la plataforma se encarga del modelo, los criterios y los reportes. Tu equipo se concentra en decisiones, no en planillas.",
    bullets: [
      "Onboarding guiado en menos de 2 días",
      "Sin proyectos de BI ni consultorías largas",
      "Soporte temporada con equipo dedicado",
    ],
    stat: ["<2 días.", "para tener tu primera temporada cargada."],
  },
];

function Audience() {
  const [i, setI] = useState(0);
  const a = AUD[i];
  return (
    <section id="para-quien" className="s">
      <div className="wrap">
        <div className="reveal">
          <span className="s-eyebrow">Para quién</span>
          <h2 className="s-title">
            Una plataforma para todo el equipo comercial.
          </h2>
          <p className="s-lead">
            Gerencias, equipos comerciales, administración y control: cada rol
            entra al mismo dato con la vista que necesita.
          </p>
        </div>

        <div className="aud reveal">
          <div className="aud-tabs">
            {AUD.map((x, k) => (
              <button
                key={x.role}
                className={`aud-tab ${i === k ? "is-on" : ""}`}
                onClick={() => setI(k)}
              >
                <div>
                  <div className="role">{x.role}</div>
                  <div className="who">{x.who}</div>
                </div>
                <span className="chev">→</span>
              </button>
            ))}
          </div>
          <div className="aud-card" key={i}>
            <div className="h">{a.h}</div>
            <p style={{ marginTop: 10 }}>{a.p}</p>
            <div className="bullets">
              {a.bullets.map((b, k) => (
                <div key={k}>{b}</div>
              ))}
            </div>
            <div className="stat">
              <div className="v">{a.stat[0]}</div>
              <div className="l">{a.stat[1]}</div>
            </div>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── CLIENT STRIP */
const CLIENTS = [
  { name: "Frusan", mark: "F", style: "thin" },
  { name: "Unifrutti", mark: "U", style: "caps" },
  { name: "David del Curto", mark: "D", style: "serif" },
  { name: "Nature South", mark: "N", style: "" },
  { name: "Exportadora del Sur", mark: "S", style: "caps" },
  { name: "Agua Santa", mark: "A", style: "" },
  { name: "Rucaray", mark: "R", style: "serif" },
  { name: "Blossom Export", mark: "B", style: "mono" },
];

function ClientStrip() {
  const items = [...CLIENTS, ...CLIENTS]; // duplicate for seamless marquee
  return (
    <section className="clients">
      <div className="wrap">
        <div className="clients-lbl">
          Trabajamos con las principales exportadoras de Chile
        </div>
      </div>
      <div className="marquee">
        <div className="marquee-track">
          {items.map((c, i) => (
            <span key={i} className={`client-mark ${c.style}`}>
              <span className="mk">{c.mark}</span>
              {c.name}
            </span>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── FRUITMARKETS */
function FruitMarkets() {
  return (
    <section id="fruitmarkets" className="fm">
      <div className="wrap fm-inner">
        <div className="reveal">
          <span className="fm-tag">
            <span className="pulse" /> Novedad temporada 25/26
          </span>
          <h2>
            Soporte a otras especies,
            <br />
            ahora vía <span className="grad">FruitMarkets</span>.
          </h2>
          <p>
            Llevamos la misma inteligencia comercial de cherry.market a
            manzanas, arándanos, uvas, kiwis y más. Una plataforma diseñada para
            exportadoras, con el mismo rigor en datos, mercado y liquidaciones.
          </p>
          <div className="fm-chips">
            <span className="fm-chip">
              <span className="d" style={{ background: "#D9376A" }} /> Manzanas
            </span>
            <span className="fm-chip">
              <span className="d" style={{ background: "#3D6FD9" }} /> Arándanos
            </span>
            <span className="fm-chip">
              <span className="d" style={{ background: "#7B61FF" }} /> Uvas
            </span>
            <span className="fm-chip">
              <span className="d" style={{ background: "#5BCB4A" }} /> Kiwis
            </span>
            <span className="fm-chip">
              <span className="d" style={{ background: "#E89B2E" }} /> + más
            </span>
          </div>
          <a
            className="btn-fm"
            href="https://fruitmarkets.com"
            target="_blank"
            rel="noopener noreferrer"
          >
            Conocer FruitMarkets
            <span className="arrow-fm">
              <svg width="12" height="12" viewBox="0 0 20 20" fill="none">
                <path
                  d="M4 10h11M11 6l4 4-4 4"
                  stroke="#fff"
                  strokeWidth="2"
                  strokeLinecap="round"
                  strokeLinejoin="round"
                />
              </svg>
            </span>
          </a>
        </div>

        <div className="reveal fm-vis" aria-hidden="true">
          <div className="fm-grid" />
          <div className="fm-orbit">
            <div className="fm-ring r2" />
            <div className="fm-ring r1" />
            <div className="fm-core">
              FruitMarkets
              <br />
              OS
            </div>
          </div>
          <div className="fm-fruit f-cherry">
            <span className="bub">🍒</span>Cerezas
          </div>
          <div className="fm-fruit f-apple">
            <span className="bub">🍎</span>Manzanas
          </div>
          <div className="fm-fruit f-blue">
            <span className="bub">🫐</span>Arándanos
          </div>
          <div className="fm-fruit f-grape">
            <span className="bub">🍇</span>Uvas
          </div>
          <div className="fm-fruit f-kiwi">
            <span className="bub">🥝</span>Kiwis
          </div>
          <div className="fm-logo-stamp">
            <span>Powered by</span>
            <img src="assets/fruitmarkets-logo.png" alt="FruitMarkets" />
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── CTA */
function CTA() {
  return (
    <section id="demo" className="cta">
      <div className="wrap cta-inner">
        <div className="reveal">
          <span className="s-eyebrow" style={{ color: "var(--brand)" }}>
            Conversemos
          </span>
          <h2>
            Conversemos sobre cómo está tomando decisiones comerciales tu
            exportadora.
          </h2>
          <p>
            Agenda una demo y te mostramos cómo cherry.market puede ayudarte a
            ordenar liquidaciones, comparar recibidores y analizar resultados
            durante la temporada.
          </p>
          <div className="cta-meta">
            <div>
              Demo en vivo &middot; <b>30 min</b>
            </div>
            <div>
              Onboarding en <b>&lt; 2 días</b>
            </div>
            <div>
              Soporte <b>temporada completa</b>
            </div>
          </div>
        </div>
        <div className="cta-form reveal" style={{ textAlign: "center" }}>
          <div style={{ fontSize: 42, marginBottom: 10, lineHeight: 1 }}>
            🍒
          </div>
          <div
            style={{
              fontSize: 22,
              fontWeight: 800,
              letterSpacing: "-.02em",
              color: "#fff",
              marginBottom: 6,
            }}
          >
            30 minutos. Sin compromiso.
          </div>
          <p
            style={{
              color: "#9CA0AC",
              fontSize: 14,
              lineHeight: 1.55,
              margin: "0 auto 22px",
              maxWidth: 320,
            }}
          >
            Elige un horario que te acomode y te mostramos la plataforma con
            casos reales de la temporada en curso.
          </p>
          <a
            className="btn btn-primary"
            href={BOOKING_URL}
            target="_blank"
            rel="noopener noreferrer"
            style={{ width: "100%", justifyContent: "center" }}
          >
            Agendar demo <IconArrow />
          </a>
          <div style={{ fontSize: 12, color: "#9CA0AC", marginTop: 14 }}>
            O escríbenos a{" "}
            <a
              href="mailto:jp@cherrymarket.cl"
              style={{ color: "#fff", fontWeight: 700 }}
            >
              jp@cherrymarket.cl
            </a>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ────────────────────────────────────────────────────────── FOOTER */
function Footer() {
  return (
    <footer>
      <div className="wrap foot">
        <div className="col">
          <a
            className="brand"
            href="#top"
            style={{ color: "#fff", marginBottom: 14, display: "inline-block" }}
          >
            <img
              src="assets/white-full-logo.png"
              alt="cherry.market"
              style={{
                height: 26,
                width: "auto",
                display: "block",
                marginBottom: 14,
              }}
            />
          </a>
          <p className="foot-brand">
            Inteligencia comercial en tiempo real para exportadoras de fruta.
            Hecho con 🍒 en Chile.
          </p>
        </div>
        {/* <div className="col">
          <h3>Producto</h3>
          <a href="#modulos">Mercado</a>
          <a href="#modulos">Liquidaciones</a>
          <a href="#modulos">Comparativas</a>
          <a href="#modulos">Preliquidación</a>
        </div>
        <div className="col">
          <h3>Compañía</h3>
          <a href="#">Sobre nosotros</a>
          <a href="#">Clientes</a>
          <a href="#">Blog</a>
          <a href="#">Contacto</a>
        </div>
        <div className="col">
          <h3>Legal</h3>
          <a href="#">Privacidad</a>
          <a href="#">Términos</a>
          <a href="#">Seguridad</a>
        </div> */}
      </div>
      <div className="wrap foot-bottom">
        <div>© 2026 cherry.market · Todos los derechos reservados</div>
        <div style={{ display: "flex", gap: 18 }}>
          {/* <a href="#">LinkedIn</a> */}
          <a href="mailto:jp@cherrymarket.cl">jp@cherrymarket.cl</a>
        </div>
      </div>
    </footer>
  );
}

Object.assign(window, {
  Nav,
  Hero,
  Metrics,
  ClientStrip,
  Problem,
  Modules,
  Audience,
  FruitMarkets,
  CTA,
  Footer,
  IconBars,
  IconArrow,
  useReveal,
});
