'use client'; import { motion } from 'framer-motion'; import { staggerContainer, revealVariants, viewportOnce } from '@/lib/animations'; // ─── Animation variants ──────────────────────────────────────────────────────── const ease = [0.16, 1, 0.3, 1] as const; const eyebrowVariants = { hidden: { opacity: 0, y: 16 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5, ease }, }, }; const headlineVariants = { hidden: { opacity: 0, y: 24 }, visible: { opacity: 1, y: 0, transition: { duration: 0.65, ease, delay: 0.1 }, }, }; const subtitleVariants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.6, ease, delay: 0.2 }, }, }; const ruleVariants = { hidden: { scaleX: 0 }, visible: { scaleX: 1, transition: { duration: 0.7, ease, delay: 0.35 }, }, }; // ─── Component ───────────────────────────────────────────────────────────────── export default function ServicesHero() { return (
{/* Eyebrow */} Our Services {/* Headline */} Everything your business{' '} needs online. {/* Subtitle */} We design custom websites, build purpose-built software, and manage the infrastructure behind it all — one team, one standard of quality, nothing outsourced. {/* Decorative rule */}
); }