/* global React */
/*
  Site narrative sections: DualPain, ProductShowcase, FinalCTA, Footer
  Each takes variant prop "v1" (storytelling) or "v2" (operational console)
*/

/* ---------- Dual Pain section ---------- */

const GUEST_PAINS = [
  { icon: "fa-phone-slash", title: "Liga pra recepção e ninguém atende.", t: "23:14" },
  { icon: "fa-clock-rotate-left", title: "Pediu há 40min. Ainda nada.", t: "00:02" },
  { icon: "fa-circle-question", title: "Não sabe o que tem disponível.", t: "08:47" },
  { icon: "fa-calendar-xmark", title: "Quer agendar o spa. Tem que descer pra confirmar.", t: "16:30" },
];

const MANAGER_PAINS = [
  { icon: "fa-arrows-turn-to-dots", title: "Pedido foi para o setor errado.", t: "loops" },
  { icon: "fa-headset", title: "Recepção como central telefônica.", t: "saturada" },
  { icon: "fa-chart-line-down", title: "Sem dados, sem decisão.", t: "intuição" },
  { icon: "fa-money-bill-transfer", title: "Receita vazando todo dia.", t: "invisível" },
];

function DualPainV1() {
  const ref = window.useReveal();
  return (
    <section ref={ref} className="section bg-deeper" id="problema">
      <div style={{ maxWidth: 1440, margin: "0 auto", padding: "0 56px" }}>
        {/* Header */}
        <div className="reveal" style={{ textAlign: "center", marginBottom: 64 }}>
          <span className="lh-badge" style={{ marginBottom: 22 }}>
            <span className="dot"></span>
            <span>Duas dores. Um problema.</span>
          </span>
          <h2
            style={{
              fontSize: 76,
              fontWeight: 900,
              letterSpacing: "-0.045em",
              lineHeight: 0.95,
              margin: "0 auto",
              color: "#fff",
              maxWidth: 980,
              textWrap: "balance",
            }}
          >
            De um lado o <span className="lh-laser">hóspede</span>.<br />
            Do outro o <span className="lh-laser">gestor</span>.<br />
            <span style={{ color: "rgba(255,255,255,0.5)", fontWeight: 900 }}>
              No meio,
            </span>{" "}
            o ruído que custa caro.
          </h2>
        </div>

        {/* Two columns + bridge */}
        <div
          style={{
            display: "grid",
            gridTemplateColumns: "1fr auto 1fr",
            gap: 36,
            alignItems: "stretch",
          }}
        >
          {/* GUEST */}
          <div className="reveal delay-1">
            <PainColumn
              role="O hóspede"
              icon="fa-user"
              tag="Sente"
              pains={GUEST_PAINS}
              caption="«Para um simples pedido, parece que tenho que organizar uma expedição.»"
            />
          </div>

          {/* BRIDGE */}
          <div
            className="reveal delay-2"
            style={{
              display: "flex",
              alignItems: "stretch",
              justifyContent: "center",
              minWidth: 110,
            }}
          >
            <BridgeColumn />
          </div>

          {/* MANAGER */}
          <div className="reveal delay-3">
            <PainColumn
              role="O gestor"
              icon="fa-briefcase"
              tag="Vive"
              pains={MANAGER_PAINS}
              caption="«Apaguei incêndio o dia todo. Não fiz nada do que era pra fazer.»"
              align="right"
            />
          </div>
        </div>

        {/* Bottom verdict */}
        <div
          className="reveal delay-4"
          style={{
            marginTop: 56,
            textAlign: "center",
            padding: "28px 32px",
            borderRadius: 999,
            background: "rgba(47,107,255,0.08)",
            border: "1px solid rgba(47,107,255,0.25)",
            display: "inline-flex",
            margin: "56px auto 0",
            alignItems: "center",
            gap: 14,
            position: "relative",
            left: "50%",
            transform: "translateX(-50%)",
          }}
        >
          <i className="fa-solid fa-arrow-down" style={{ color: "#7aa8ff", fontSize: 14 }}></i>
          <span style={{ fontSize: 13, color: "rgba(255,255,255,0.85)", fontWeight: 500 }}>
            A LOMIENS resolve os dois lados num só fluxo.
          </span>
        </div>
      </div>
    </section>
  );
}

function PainColumn({ role, icon, tag, pains, caption, align = "left" }) {
  return (
    <div
      className="lh-card"
      style={{
        borderRadius: 32,
        padding: "32px 28px",
        height: "100%",
        display: "flex",
        flexDirection: "column",
        gap: 18,
      }}
    >
      <div
        style={{
          display: "flex",
          alignItems: "center",
          gap: 14,
          paddingBottom: 18,
          borderBottom: "1px solid rgba(255,255,255,0.06)",
          flexDirection: align === "right" ? "row-reverse" : "row",
        }}
      >
        <div
          style={{
            width: 48,
            height: 48,
            borderRadius: 14,
            background: "rgba(47,107,255,0.15)",
            border: "1px solid rgba(47,107,255,0.3)",
            display: "flex",
            alignItems: "center",
            justifyContent: "center",
          }}
        >
          <i className={`fa-solid ${icon}`} style={{ fontSize: 18, color: "#7aa8ff" }}></i>
        </div>
        <div style={{ flex: 1, textAlign: align === "right" ? "right" : "left" }}>
          <span
            style={{
              fontSize: 9,
              fontWeight: 900,
              color: "rgba(255,255,255,0.45)",
              letterSpacing: "0.32em",
              textTransform: "uppercase",
            }}
          >
            {tag}
          </span>
          <h3
            style={{
              fontSize: 26,
              fontWeight: 900,
              letterSpacing: "-0.025em",
              margin: "4px 0 0",
              color: "#fff",
            }}
          >
            {role}
          </h3>
        </div>
      </div>

      <div style={{ display: "flex", flexDirection: "column", gap: 10, flex: 1 }}>
        {pains.map((p, i) => (
          <div
            key={i}
            style={{
              display: "flex",
              alignItems: "center",
              gap: 12,
              padding: "14px 16px",
              background: "rgba(255,255,255,0.03)",
              border: "1px solid rgba(255,255,255,0.06)",
              borderRadius: 14,
              flexDirection: align === "right" ? "row-reverse" : "row",
            }}
          >
            <i className={`fa-solid ${p.icon}`} style={{ fontSize: 14, color: "rgba(255,255,255,0.5)" }}></i>
            <span style={{ flex: 1, fontSize: 14, color: "rgba(255,255,255,0.85)", fontWeight: 500, textAlign: align === "right" ? "right" : "left" }}>
              {p.title}
            </span>
            <span
              style={{
                fontSize: 9,
                fontWeight: 900,
                color: "rgba(255,255,255,0.35)",
                letterSpacing: "0.18em",
                textTransform: "uppercase",
                fontVariantNumeric: "tabular-nums",
              }}
            >
              {p.t}
            </span>
          </div>
        ))}
      </div>

      <p
        style={{
          color: "rgba(255,255,255,0.5)",
          fontSize: 13,
          fontStyle: "italic",
          margin: 0,
          lineHeight: 1.5,
          textAlign: align === "right" ? "right" : "left",
          paddingTop: 8,
          borderTop: "1px solid rgba(255,255,255,0.06)",
        }}
      >
        {caption}
      </p>
    </div>
  );
}

function BridgeColumn() {
  return (
    <div
      style={{
        display: "flex",
        flexDirection: "column",
        alignItems: "center",
        justifyContent: "center",
        gap: 12,
        position: "relative",
      }}
    >
      {/* Top line */}
      <div
        style={{
          width: 1,
          flex: 1,
          background: "linear-gradient(to bottom, transparent, rgba(47,107,255,0.6))",
          minHeight: 50,
        }}
      ></div>
      {/* Center logo bubble */}
      <div
        style={{
          width: 92,
          height: 92,
          borderRadius: "50%",
          background: "linear-gradient(180deg, #2f6bff 0%, #1a48c4 100%)",
          display: "flex",
          alignItems: "center",
          justifyContent: "center",
          boxShadow: "0 0 60px rgba(47,107,255,0.6), inset 0 1px 0 rgba(255,255,255,0.3)",
          border: "2px solid rgba(255,255,255,0.15)",
          position: "relative",
        }}
      >
        <div
          style={{
            position: "absolute",
            inset: -10,
            borderRadius: "50%",
            border: "1px solid rgba(47,107,255,0.4)",
            animation: "pulse-ring 2.4s ease-out infinite",
          }}
        ></div>
        <img src="assets/logo.png" alt="" style={{ width: 38, height: 38, filter: "brightness(0) invert(1)" }} />
      </div>
      <span
        style={{
          fontSize: 10,
          fontWeight: 900,
          color: "#fff",
          letterSpacing: "0.32em",
          textTransform: "uppercase",
          marginTop: 4,
        }}
      >
        Lomiens
      </span>
      <span
        style={{
          fontSize: 9,
          fontWeight: 700,
          color: "#7aa8ff",
          letterSpacing: "0.25em",
          textTransform: "uppercase",
        }}
      >
        a ponte
      </span>
      {/* Bottom line */}
      <div
        style={{
          width: 1,
          flex: 1,
          background: "linear-gradient(to top, transparent, rgba(47,107,255,0.6))",
          minHeight: 50,
        }}
      ></div>
    </div>
  );
}

/* V2 variant — operational console feel */
function DualPainV2() {
  const ref = window.useReveal();
  return (
    <section ref={ref} className="section bg-deeper" id="problema">
      <div style={{ maxWidth: 1440, margin: "0 auto", padding: "0 56px" }}>
        <div className="reveal" style={{ marginBottom: 56 }}>
          <div className="divider-label">
            <span>O sinal antes do ruído</span>
          </div>
          <div style={{ display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 56, alignItems: "end" }}>
            <h2
              style={{
                fontSize: 76,
                fontWeight: 900,
                letterSpacing: "-0.045em",
                lineHeight: 0.95,
                margin: 0,
                color: "#fff",
                textWrap: "balance",
              }}
            >
              Dois sintomas, <span className="lh-laser">uma fratura operacional</span>.
            </h2>
            <p style={{ color: "rgba(255,255,255,0.65)", fontSize: 17, lineHeight: 1.6, margin: 0, fontWeight: 300 }}>
              Mapeamos o que o hóspede sente e o que a equipe vive, e operamos sobre a causa, não sobre o efeito.
            </p>
          </div>
        </div>

        {/* Console-feel two panels */}
        <div className="reveal delay-1" style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 18 }}>
          <ConsolePanel
            tag="01 · Guest stream"
            title="O hóspede"
            icon="fa-user"
            pains={GUEST_PAINS}
            color="#ff8a4c"
          />
          <ConsolePanel
            tag="02 · Operations stream"
            title="O gestor"
            icon="fa-briefcase"
            pains={MANAGER_PAINS}
            color="#7aa8ff"
          />
        </div>

        {/* Unified output */}
        <div className="reveal delay-2" style={{ marginTop: 18 }}>
          <div
            className="lh-card"
            style={{
              borderRadius: 24,
              padding: "24px 28px",
              display: "flex",
              alignItems: "center",
              gap: 24,
              background: "linear-gradient(90deg, rgba(47,107,255,0.18) 0%, rgba(22,40,77,1) 60%)",
            }}
          >
            <div
              style={{
                width: 56, height: 56, borderRadius: 16,
                background: "#2f6bff", display: "flex", alignItems: "center", justifyContent: "center",
                boxShadow: "0 0 30px rgba(47,107,255,0.5)",
              }}
            >
              <img src="assets/logo.png" alt="" style={{ width: 24, height: 24, filter: "brightness(0) invert(1)" }} />
            </div>
            <div style={{ flex: 1 }}>
              <span style={{ fontSize: 10, fontWeight: 900, color: "#7aa8ff", letterSpacing: "0.3em", textTransform: "uppercase" }}>
                Output unificado
              </span>
              <p style={{ color: "#fff", fontSize: 22, fontWeight: 800, letterSpacing: "-0.015em", lineHeight: 1.25, margin: "4px 0 0", textWrap: "balance" }}>
                A LOMIENS reduz os dois streams a um só fluxo, do hóspede à decisão do gestor.
              </p>
            </div>
            <i className="fa-solid fa-arrow-down" style={{ color: "#7aa8ff", fontSize: 18 }}></i>
          </div>
        </div>
      </div>
    </section>
  );
}

function ConsolePanel({ tag, title, icon, pains, color }) {
  return (
    <div className="lh-card" style={{ borderRadius: 28, padding: "26px 26px 24px" }}>
      <div style={{ display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: 20 }}>
        <div style={{ display: "flex", alignItems: "center", gap: 12 }}>
          <div
            style={{
              width: 38, height: 38, borderRadius: 10,
              background: `${color}22`, border: `1px solid ${color}55`,
              display: "flex", alignItems: "center", justifyContent: "center",
            }}
          >
            <i className={`fa-solid ${icon}`} style={{ fontSize: 14, color: color }}></i>
          </div>
          <div>
            <span style={{ fontSize: 9, fontWeight: 900, color: "rgba(255,255,255,0.4)", letterSpacing: "0.3em", textTransform: "uppercase", display: "block" }}>
              {tag}
            </span>
            <h3 style={{ fontSize: 22, fontWeight: 900, letterSpacing: "-0.02em", margin: "2px 0 0", color: "#fff" }}>
              {title}
            </h3>
          </div>
        </div>
        <span
          style={{
            fontSize: 9,
            fontWeight: 900,
            color: color,
            letterSpacing: "0.2em",
            textTransform: "uppercase",
            padding: "5px 10px",
            border: `1px solid ${color}55`,
            background: `${color}11`,
            borderRadius: 999,
          }}
        >
          ● {pains.length} eventos
        </span>
      </div>
      <div style={{ display: "flex", flexDirection: "column", fontFamily: "ui-monospace, 'SF Mono', Menlo, monospace" }}>
        {pains.map((p, i) => (
          <div
            key={i}
            style={{
              display: "grid",
              gridTemplateColumns: "60px 22px 1fr",
              gap: 14,
              alignItems: "center",
              padding: "12px 0",
              borderTop: i === 0 ? "none" : "1px dashed rgba(255,255,255,0.06)",
            }}
          >
            <span style={{ fontSize: 10, fontWeight: 700, color: "rgba(255,255,255,0.4)", letterSpacing: "0.05em" }}>
              {p.t}
            </span>
            <i className={`fa-solid ${p.icon}`} style={{ fontSize: 12, color: `${color}` }}></i>
            <span style={{ fontSize: 13, color: "rgba(255,255,255,0.85)", fontFamily: "Inter", fontWeight: 500 }}>
              {p.title}
            </span>
          </div>
        ))}
      </div>
    </div>
  );
}

/* ---------- Product Showcase ---------- */

const PRODUCT_SURFACES = [
  {
    persona: "Para o hóspede",
    title: "Concierge digital",
    sub: "WebApp via QR Code",
    desc: "Aponta o celular pro QR. Pede comida, agenda spa, pede check-out. Sem instalar nada.",
    img: "assets/LOMIENS_APP_home.png",
    chip: "QR · Sem app",
    icon: "fa-mobile-screen",
  },
  {
    persona: "Para a equipe",
    title: "Painel único",
    sub: "Operação sem ruído",
    desc: "Cada pedido chega no setor certo, com timer e prioridade. Recepção liberada da central telefônica.",
    img: "assets/colaborador_lomiens.png",
    chip: "Operacional · Real-time",
    icon: "fa-display",
  },
  {
    persona: "Para o gestor",
    title: "Dashboard com IA",
    sub: "Dados que decidem",
    desc: "Gargalos aparecem antes de virar reclamação. Receita extra, NPS e produtividade num só painel.",
    img: "assets/lomiens_dash.png",
    chip: "IA · Decisão",
    icon: "fa-chart-line",
  },
];

function ProductShowcaseV1() {
  const ref = window.useReveal();
  return (
    <section ref={ref} className="section" id="produto">
      <div style={{ maxWidth: 1440, margin: "0 auto", padding: "0 56px" }}>
        <div className="reveal" style={{ marginBottom: 64, maxWidth: 880 }}>
          <span className="lh-badge" style={{ marginBottom: 22 }}>
            <span className="dot"></span>
            <span>Três superfícies. Um ecossistema.</span>
          </span>
          <h2
            style={{
              fontSize: 72,
              fontWeight: 900,
              letterSpacing: "-0.045em",
              lineHeight: 0.95,
              margin: 0,
              color: "#fff",
              textWrap: "balance",
            }}
          >
            Do <span className="lh-laser">QR Code</span> à{" "}
            <span className="lh-laser">decisão do gestor</span>, sem ruído no meio.
          </h2>
        </div>

        <div style={{ display: "flex", flexDirection: "column", gap: 80 }}>
          {PRODUCT_SURFACES.map((s, i) => (
            <SurfaceRow key={i} surface={s} index={i} reversed={i % 2 === 1} />
          ))}
        </div>
      </div>
    </section>
  );
}

function SurfaceRow({ surface, index, reversed }) {
  return (
    <div
      className="reveal"
      style={{
        display: "grid",
        gridTemplateColumns: "1fr 1fr",
        gap: 64,
        alignItems: "center",
        direction: reversed ? "rtl" : "ltr",
      }}
    >
      <div style={{ direction: "ltr" }}>
        <span style={{ fontSize: 10, fontWeight: 900, color: "#2f6bff", letterSpacing: "0.36em", textTransform: "uppercase" }}>
          {String(index + 1).padStart(2, "0")} · {surface.persona}
        </span>
        <h3
          style={{
            fontSize: 56,
            fontWeight: 900,
            letterSpacing: "-0.035em",
            lineHeight: 1,
            margin: "14px 0 6px",
            color: "#fff",
          }}
        >
          {surface.title}
        </h3>
        <p className="lh-laser" style={{ fontSize: 20, fontWeight: 800, letterSpacing: "-0.015em", margin: "0 0 24px" }}>
          {surface.sub}
        </p>
        <p style={{ color: "rgba(255,255,255,0.65)", fontSize: 17, fontWeight: 300, lineHeight: 1.6, margin: 0, maxWidth: 460 }}>
          {surface.desc}
        </p>
        <div style={{ display: "flex", gap: 10, marginTop: 28 }}>
          <span className="lh-badge" style={{ fontSize: 9 }}>
            <span className="dot"></span>
            <span>{surface.chip}</span>
          </span>
        </div>
      </div>
      <div style={{ direction: "ltr", position: "relative", height: 460, display: "flex", alignItems: "center", justifyContent: "center" }}>
        <div
          style={{
            position: "absolute",
            inset: "10%",
            borderRadius: "50%",
            background: "rgba(47,107,255,0.25)",
            filter: "blur(70px)",
            zIndex: 0,
          }}
        ></div>
        <div
          className="lh-card bob"
          style={{
            position: "relative",
            zIndex: 1,
            borderRadius: 28,
            padding: 8,
            maxWidth: 460,
            transform: reversed ? "rotate(2deg)" : "rotate(-2deg)",
            boxShadow: "0 30px 80px -25px rgba(0,0,0,0.8), 0 0 60px -20px rgba(47,107,255,0.4)",
          }}
        >
          <img src={surface.img} alt={surface.title} style={{ width: "100%", borderRadius: 22, display: "block" }} />
        </div>
      </div>
    </div>
  );
}

function ProductShowcaseV2() {
  const ref = window.useReveal();
  return (
    <section ref={ref} className="section" id="produto">
      <div style={{ maxWidth: 1440, margin: "0 auto", padding: "0 56px" }}>
        <div className="reveal" style={{ marginBottom: 56 }}>
          <div className="divider-label"><span>Stack operacional</span></div>
          <div style={{ display: "grid", gridTemplateColumns: "1.3fr 1fr", gap: 64, alignItems: "end" }}>
            <h2
              style={{
                fontSize: 72,
                fontWeight: 900,
                letterSpacing: "-0.045em",
                lineHeight: 0.95,
                margin: 0,
                color: "#fff",
                textWrap: "balance",
              }}
            >
              Três superfícies, <span className="lh-laser">um fluxo único</span>.
            </h2>
            <p style={{ color: "rgba(255,255,255,0.65)", fontSize: 17, fontWeight: 300, lineHeight: 1.6, margin: 0 }}>
              QR Code do hóspede → painel da equipe → dashboard do gestor. O mesmo dado, três visões.
            </p>
          </div>
        </div>

        <div className="reveal delay-1" style={{ display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: 18 }}>
          {PRODUCT_SURFACES.map((s, i) => (
            <SurfaceTile key={i} surface={s} index={i} />
          ))}
        </div>
      </div>
    </section>
  );
}

function SurfaceTile({ surface, index }) {
  return (
    <div
      className="lh-card"
      style={{
        borderRadius: 28,
        padding: 24,
        display: "flex",
        flexDirection: "column",
        gap: 18,
      }}
    >
      <div style={{ display: "flex", alignItems: "center", justifyContent: "space-between" }}>
        <div style={{ display: "flex", alignItems: "center", gap: 10 }}>
          <div
            style={{
              width: 36, height: 36, borderRadius: 10,
              background: "rgba(47,107,255,0.15)", border: "1px solid rgba(47,107,255,0.3)",
              display: "flex", alignItems: "center", justifyContent: "center",
            }}
          >
            <i className={`fa-solid ${surface.icon}`} style={{ fontSize: 14, color: "#7aa8ff" }}></i>
          </div>
          <span style={{ fontSize: 9, fontWeight: 900, color: "rgba(255,255,255,0.45)", letterSpacing: "0.3em", textTransform: "uppercase" }}>
            0{index + 1} · {surface.persona}
          </span>
        </div>
        <span className="live-tick">Live</span>
      </div>

      <div
        style={{
          background: "#0a1830",
          borderRadius: 18,
          overflow: "hidden",
          aspectRatio: "16 / 11",
          position: "relative",
          border: "1px solid rgba(255,255,255,0.06)",
        }}
      >
        <img
          src={surface.img}
          alt={surface.title}
          style={{
            width: "100%",
            height: "100%",
            objectFit: "cover",
            objectPosition: "top",
          }}
        />
      </div>

      <div>
        <h3 style={{ fontSize: 28, fontWeight: 900, letterSpacing: "-0.025em", margin: "0 0 4px", color: "#fff", lineHeight: 1 }}>
          {surface.title}
        </h3>
        <p className="lh-laser" style={{ fontSize: 14, fontWeight: 800, letterSpacing: "-0.01em", margin: "0 0 12px" }}>
          {surface.sub}
        </p>
        <p style={{ color: "rgba(255,255,255,0.65)", fontSize: 13, fontWeight: 300, lineHeight: 1.5, margin: 0 }}>
          {surface.desc}
        </p>
      </div>
    </div>
  );
}

/* ---------- Final CTA ---------- */

function SiteFinalCTA({ variant = "v1" }) {
  const ref = window.useReveal();
  return (
    <section ref={ref} className="section" id="contato">
      <div style={{ maxWidth: 1440, margin: "0 auto", padding: "0 56px" }}>
        <div
          className="reveal lh-card"
          style={{
            borderRadius: 40,
            padding: "72px 56px",
            position: "relative",
            overflow: "hidden",
            background: "linear-gradient(180deg, rgba(47,107,255,0.22) 0%, rgba(16,30,61,1) 70%)",
          }}
        >
          {/* hex bg */}
          <div className="lh-hex" style={{ opacity: 0.4 }}></div>
          <div style={{ position: "relative", zIndex: 1, display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 56, alignItems: "center" }}>
            <div>
              <div style={{ display: "flex", alignItems: "center", gap: 12, marginBottom: 24 }}>
                <span className="pulse-dot"></span>
                <span style={{ fontSize: 10, fontWeight: 900, color: "#7aa8ff", letterSpacing: "0.36em", textTransform: "uppercase" }}>
                  Vagas limitadas · piloto
                </span>
              </div>
              <h2
                style={{
                  fontSize: 76,
                  fontWeight: 900,
                  letterSpacing: "-0.045em",
                  lineHeight: 0.95,
                  margin: "0 0 22px",
                  color: "#fff",
                  textWrap: "balance",
                }}
              >
                Pare de <span style={{ color: "rgba(255,255,255,0.4)" }}>apagar incêndio</span>.<br />
                Comece a <span className="lh-laser">capturar receita</span>.
              </h2>
              <p style={{ color: "rgba(255,255,255,0.7)", fontSize: 18, fontWeight: 300, lineHeight: 1.5, margin: "0 0 36px", maxWidth: 580 }}>
                Em 30 minutos, mostro como a LOMIENS organiza seu hotel num só fluxo. Sem ligação fria, sem compromisso.
              </p>
              <div style={{ display: "flex", gap: 14, flexWrap: "wrap" }}>
                <button className="lh-btn-primary btn-arrow-anim">
                  Agendar diagnóstico
                  <i className="fa-solid fa-arrow-right" style={{ fontSize: 10 }}></i>
                </button>
                <button className="lh-btn-outline">
                  <i className="fa-brands fa-whatsapp" style={{ fontSize: 12 }}></i>
                  WhatsApp direto
                </button>
              </div>
            </div>
            <div>
              <div
                className="lh-card kpi-card"
                style={{
                  borderRadius: 24,
                  padding: 28,
                }}
              >
                <span style={{ fontSize: 10, fontWeight: 900, color: "#7aa8ff", letterSpacing: "0.3em", textTransform: "uppercase" }}>
                  O que entra no diagnóstico
                </span>
                <div style={{ marginTop: 18, display: "flex", flexDirection: "column", gap: 12 }}>
                  {[
                    "Mapa dos gargalos atuais do seu hotel",
                    "Estimativa de receita perdida por mês",
                    "Plano de implementação em 30 dias",
                    "Demo do app, painel e dashboard ao vivo",
                  ].map((item, i) => (
                    <div
                      key={i}
                      style={{
                        display: "flex",
                        alignItems: "flex-start",
                        gap: 12,
                        padding: "10px 12px",
                        background: "rgba(255,255,255,0.04)",
                        borderRadius: 12,
                        border: "1px solid rgba(255,255,255,0.06)",
                      }}
                    >
                      <i className="fa-solid fa-check" style={{ color: "#2f6bff", fontSize: 12, marginTop: 4 }}></i>
                      <span style={{ fontSize: 14, color: "rgba(255,255,255,0.85)", fontWeight: 500 }}>{item}</span>
                    </div>
                  ))}
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ---------- Footer ---------- */

function SiteFooter() {
  return (
    <footer style={{ padding: "64px 56px 32px", background: "#001529", borderTop: "1px solid rgba(255,255,255,0.06)" }}>
      <div style={{ maxWidth: 1440, margin: "0 auto" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1.5fr 1fr 1fr 1fr", gap: 48, marginBottom: 48 }}>
          <div>
            <div className="lh-lockup" style={{ marginBottom: 18 }}>
              <div className="mark">
                <img src="assets/logo.png" alt="" />
              </div>
              <div className="word">
                <span className="name">LOMIENS</span>
                <span className="tag">data analysis</span>
              </div>
            </div>
            <p style={{ color: "rgba(255,255,255,0.55)", fontSize: 14, fontWeight: 300, lineHeight: 1.6, margin: "0 0 18px", maxWidth: 360 }}>
              Inteligência operacional e experiência premium para hotéis, resorts e pousadas.
            </p>
            <div style={{ display: "flex", gap: 12 }}>
              {["instagram", "linkedin-in", "whatsapp"].map((n) => (
                <a key={n} href="#"
                  style={{
                    width: 36, height: 36, borderRadius: 10,
                    background: "rgba(255,255,255,0.05)", border: "1px solid rgba(255,255,255,0.08)",
                    display: "flex", alignItems: "center", justifyContent: "center",
                    color: "rgba(255,255,255,0.6)", textDecoration: "none",
                  }}
                >
                  <i className={`fa-brands fa-${n}`} style={{ fontSize: 13 }}></i>
                </a>
              ))}
            </div>
          </div>
          <FooterColumn title="Produto" items={["Concierge digital", "Painel da equipe", "Dashboard com IA", "Integrações"]} />
          <FooterColumn title="Empresa" items={["Metodologia", "Casos", "Equipe", "Carreiras"]} />
          <FooterColumn title="Contato" items={["contato@lomiens.com", "+55 11 99999-9999", "São Paulo · Brasil"]} />
        </div>
        <div
          style={{
            paddingTop: 24,
            borderTop: "1px solid rgba(255,255,255,0.06)",
            display: "flex",
            justifyContent: "space-between",
            alignItems: "center",
            flexWrap: "wrap",
            gap: 14,
          }}
        >
          <span style={{ fontSize: 11, color: "rgba(255,255,255,0.4)", fontWeight: 500, letterSpacing: "0.05em" }}>
            © {new Date().getFullYear()} LOMIENS · CNPJ 00.000.000/0001-00
          </span>
          <span style={{ fontSize: 9, fontWeight: 900, color: "rgba(255,255,255,0.3)", letterSpacing: "0.32em", textTransform: "uppercase" }}>
            Sofisticado · Técnico · Confiante
          </span>
        </div>
      </div>
    </footer>
  );
}

function FooterColumn({ title, items }) {
  return (
    <div>
      <span style={{ fontSize: 10, fontWeight: 900, color: "#7aa8ff", letterSpacing: "0.32em", textTransform: "uppercase", display: "block", marginBottom: 18 }}>
        {title}
      </span>
      <ul style={{ listStyle: "none", padding: 0, margin: 0, display: "flex", flexDirection: "column", gap: 10 }}>
        {items.map((i) => (
          <li key={i}>
            <a href="#" style={{ color: "rgba(255,255,255,0.6)", fontSize: 13, fontWeight: 400, textDecoration: "none" }}>
              {i}
            </a>
          </li>
        ))}
      </ul>
    </div>
  );
}

/* ---------- Marquee strip (used between sections) ---------- */

function MarqueeStrip({ variant = "v1" }) {
  const items = variant === "v1"
    ? ["Hotéis", "Resorts", "Pousadas", "Chalés", "Room service", "Concierge digital", "Spa", "Restaurante"]
    : ["88% problemas com pedidos", "69% evitam ligar", "96% querem agendar pelo app", "76% preferem QR Code", "Real-time", "Sem instalar nada", "IA · Decisão"];

  return (
    <div style={{ padding: "28px 0", borderTop: "1px solid rgba(255,255,255,0.06)", borderBottom: "1px solid rgba(255,255,255,0.06)", background: "rgba(0,0,0,0.2)" }}>
      <div className="marquee">
        {[0, 1].map((j) => (
          <div className="marquee-track" key={j}>
            {items.map((it, i) => (
              <span
                key={i}
                style={{
                  fontSize: 14,
                  fontWeight: 900,
                  letterSpacing: "0.3em",
                  textTransform: "uppercase",
                  color: i % 3 === 0 ? "#fff" : "rgba(255,255,255,0.4)",
                  display: "inline-flex",
                  alignItems: "center",
                  gap: 24,
                }}
              >
                {it}
                <span style={{ color: "#2f6bff" }}>◆</span>
              </span>
            ))}
          </div>
        ))}
      </div>
    </div>
  );
}

Object.assign(window, {
  DualPainV1, DualPainV2, PainColumn, BridgeColumn, ConsolePanel,
  ProductShowcaseV1, ProductShowcaseV2, SurfaceRow, SurfaceTile,
  SiteFinalCTA, SiteFooter, FooterColumn, MarqueeStrip,
});
