import { Fragment, type CSSProperties, type ReactNode } from "react"; import GlobeCanvas from "@/components/globe-canvas"; import StatCounter from "@/components/stat-counter"; import RevealObserver from "@/components/reveal-observer"; import Capabilities from "@/components/capabilities"; import QueryTicker from "@/components/query-ticker"; import ProductVisual from "@/components/product-visuals"; import Link from "next/link"; import { home } from "@/content/home"; import { localize } from "@/i18n/config"; import { getLocale } from "@/i18n/server"; type Vars = CSSProperties & Record<`--${string}`, string | number>; const delay = (ms: number) => ({ "--d": `${ms}ms` }) as Vars; const Arrow = () => →; function Eyebrow({ index, children }: { index?: string; children: ReactNode }) { return (

{index && {index}} {children}

); } export default async function Home() { const locale = await getLocale(); const c = home[locale]; const to = (path: string) => localize(path, locale); const { hero, numbers, capabilities, technology, discovery, journey, difference, cta } = c; return ( <> {/* ───────────────────────── Hero ───────────────────────── */}
{hero.eyebrow}

{hero.title}

{hero.lead}

{hero.leadMuted}

{hero.body}

{hero.highlight}

{hero.primary} {hero.secondary}
{hero.scroll}
{/* ───────────────────────── Numbers ───────────────────────── */}
{numbers.eyebrow}

{numbers.title}

{numbers.stats.map((s, i) => (
{s.label}
))}
{/* ───────────────────────── Capabilities ───────────────────────── */}
{capabilities.eyebrow}

{capabilities.title[0]}
{capabilities.title[1]}

{capabilities.lead}

{capabilities.copy}

{capabilities.highlight}

{capabilities.after}

({ ...it, href: to(it.href) }))} core={capabilities.core} />
{/* ───────────────────────── Proprietary technology ───────────────────────── */}
{technology.eyebrow}

{technology.title}

{technology.lead}

{technology.leadMuted}

{technology.copy}

{technology.closing} {technology.closingHighlight}

{technology.products.map((p, i) => (
{String(i + 1).padStart(2, "0")} / 03 {p.kind}

{p.name}

{p.headline}

{p.body.map((b) => (

{b}

))}
{p.cta}
))}
{/* ───────────────────────── Discovery ───────────────────────── */}
{discovery.eyebrow}

{discovery.title}

{discovery.queryLabel}
{discovery.searchPills.map((p) => ( {p} ))}
{discovery.yourBrand}
ChatGPT Gemini AI Overviews Perplexity

{discovery.lead}

{discovery.leadMuted}

{discovery.highlight}

{discovery.copy.map((p) => (

{p}

))}
{discovery.cta}
{/* ───────────────────────── Attention to action ───────────────────────── */}
{journey.eyebrow}

{journey.title}

    {journey.steps.map((s, i) => (
  1. {String(i + 1).padStart(2, "0")} — {s.channel} {s.label}
  2. ))}

{journey.question}

{journey.copy.map((p) => (

{p}

))}
{journey.quoteEyebrow}
{journey.quote}

{journey.caption}

{journey.captionHighlight}

{journey.cta}
{/* ───────────────────────── Connections ───────────────────────── */}
{difference.eyebrow}

{difference.title}

    {difference.gaps.map((g, i) => (
  • {g}
  • ))}

{difference.gapTitle}

{difference.copy}

{difference.highlight}

{difference.nos.map((n, i) => (
{difference.noLabel} {String(i + 1).padStart(2, "0")} {n}
))}

{difference.closing}

{/* ───────────────────────── CTA ───────────────────────── */}
{cta.eyebrow}

{cta.title}

{cta.copy.map((p) => (

{p}

))}

{cta.lead}

{cta.leadMuted}

{cta.button}
); }