'use client'; import { motion } from 'framer-motion'; import { Wordmark } from '@/components/primitives/Wordmark'; import { CTA } from '@/components/primitives/CTA'; import { Container } from '@/components/primitives/Container'; import { FondoPuntos } from '@/components/primitives/FondoPuntos'; import { SecuenciaClaridad } from '@/components/primitives/SecuenciaClaridad'; import { TextoDesenfoque } from '@/components/primitives/TextoDesenfoque'; import { hero } from '@/lib/content'; import { fadeInUp, staggerContainer, usePrefersReducedMotion, motionProps } from '@/lib/motion'; type Variant = 'hormozi' | 'editorial'; export function Hero({ variant = 'editorial' }: { variant?: Variant }) { const reduced = usePrefersReducedMotion(); const isHormozi = variant === 'hormozi'; const headlineBase = isHormozi ? 'font-sans font-black uppercase tracking-tight' : 'font-sans font-bold'; const headlineSize = 'text-5xl md:text-7xl leading-[0.98] tracking-tight'; const clarityBorder = isHormozi ? 'border-b-[5px] border-dorado pb-0.5' : 'border-b-[3px] border-dorado pb-0.5'; return (
{/* Kept clear of the wordmark on narrow screens: at 390px the md field reached back across the logotype and the tagline, so the pattern read as collision rather than texture. */}
{hero.eyebrow} {/* Full width while stacked: at their natural widths the two CTAs came out ragged and unequal, which read as an accident rather than as hierarchy. */} {/* Complexity → focus, left unresolved: the hero poses the tension and FraseAncla pays it off by resolving into the ≡. Shown on every breakpoint — hidden below lg it left the phone hero with no piece of the brand's own graphic language at all. */}
); }