'use client'; import React from 'react'; import Image from 'next/image'; import { motion } from 'framer-motion'; import { Badge, Container, Heading } from '@/components/ui'; import { Button } from '@/components/ui/Button'; export interface HeroSectionProps { title: string; badge?: string; subtitle?: string; backgroundImage?: any; alignment?: 'left' | 'center'; ctaLabel?: string; ctaHref?: string; } const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.15, delayChildren: 0.1, }, }, }; const itemVariants = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.8, ease: [0.16, 1, 0.3, 1] as const } }, }; export const HeroSection: React.FC = (props) => { const { title, badge, subtitle, backgroundImage, alignment, ctaLabel, ctaHref } = props; const bgSrc = backgroundImage?.sizes?.card?.url || backgroundImage?.url; return (
{bgSrc && ( {title {/* Cinematic Color Grading Overlay */}
{/* Dramatic Vignette & Fade to content */}
{/* Top Fade for Header Navigation Readability */}
)} {badge && ( {badge} )} {title} {subtitle && (

{subtitle}

)} {ctaLabel && ctaHref && ( )}
); };