import Image from "next/image"; import { Container } from "@/components/ui/Container"; import { MonoTick } from "@/components/ui/MonoTick"; import { Button } from "@/components/ui/Button"; import { Reveal } from "@/components/ui/Reveal"; type HeroAction = { label: string; href: string; variant?: "brand" | "outline" }; export type HeroProps = { /** Headline, e.g. "This is Beyond". The violet dash + numeral are rendered by the block. */ lead: string; numeral: string; subhead?: React.ReactNode; actions?: HeroAction[]; image: { src: string; alt: string }; chromeLeft?: string; chromeRight?: string; }; /** * Hero — the wearer on the black bench, full-bleed, exactly the original's open: * "This is Beyond — 2" with the violet signal dash between word and numeral. A * single primary CTA plus the trailer cue; no decorative scaffolding, the image * carries the frame. */ export function Hero({ lead, numeral, subhead, actions, image, chromeLeft = "BIGSCREEN", chromeRight, }: HeroProps) { return (
{/* the wearer, lit on the black bench */}
{image.alt} {/* legibility veils: top for the headline, bottom for the controls */}
{/* headline, anchored high like the original */} {chromeLeft} {chromeRight ? {chromeRight} : null}

{lead} {numeral}

{subhead ? (

{subhead}

) : null}
{/* controls, anchored low-left */} {actions?.length ? ( {actions.map((a) => ( ))} ) : ( )} SCROLL ↓
); }