"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import { ArrowRight } from "lucide-react"; import { site } from "@/content/site"; import { HeroGrantLine } from "@/components/home/HeroGrantLine"; import { TopoCurvyExtend } from "@/components/brand/TopoCurvyExtend"; import { HeroTopographyBackground } from "@/components/home/HeroTopographyBackground"; import { HeroRiftParticles } from "@/components/home/HeroRiftParticles"; import { TopoProseSurface } from "@/components/layout/TopoProseSurface"; import { TopoSectionProvider } from "@/components/layout/TopoSectionContext"; import { ScrollReveal } from "@/components/motion/ScrollReveal"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; const INTRO_MS = 10000; export function Hero() { const [reduceMotion, setReduceMotion] = useState(false); const [introPhase, setIntroPhase] = useState<"intro" | "settled" | "static">("intro"); useEffect(() => { const mq = window.matchMedia("(prefers-reduced-motion: reduce)"); const apply = () => { const reduced = mq.matches; setReduceMotion(reduced); if (reduced) setIntroPhase("static"); }; apply(); mq.addEventListener("change", apply); if (!mq.matches) { const t = window.setTimeout(() => setIntroPhase("settled"), INTRO_MS); return () => { clearTimeout(t); mq.removeEventListener("change", apply); }; } return () => mq.removeEventListener("change", apply); }, []); return (

{site.dates.label} ยท {site.venue.address}

Great Rift Valley Innovation Summit

{site.tagline} Presented by {site.presentedBy}.

); }