'use client'; import { motion, useScroll, useTransform } from 'framer-motion'; import { Container } from '@/components/primitives/Container'; import { FondoFoto } from '@/components/primitives/FondoFoto'; import { Icono, type IconoNombre } from '@/components/primitives/Icono'; import { mecanismo } from '@/lib/content'; import { fadeInUp, staggerContainer, viewportOnce, usePrefersReducedMotion, motionProps, useAutoStep } from '@/lib/motion'; const ICONOS: IconoNombre[] = ['inmersion', 'desafiar', 'estrategia']; export function Mecanismo() { const reduced = usePrefersReducedMotion(); const { active, setActive, hoverProps } = useAutoStep(mecanismo.steps.length, 3200); const { scrollYProgress } = useScroll(); const desplazamientoFoto = useTransform(scrollYProgress, [0, 1], [-24, 24]); return (
{/* Foto: Golden Gate Bridge, Dietmar Rabich, CC BY-SA 4.0, modificada (duotono) — créditos en el footer */} {/* The step you are on, set enormous and almost invisible behind the column — the same device the recorrido uses, so the two sections read as one page rather than as one showpiece and its neighbour. It follows the autoplay, which gives the section a slow pulse without adding anything the reader has to attend to. */} {reduced ? ( ) : ( )} {mecanismo.eyebrow} {mecanismo.title} {/* Step connector: advances on its own every ~3s (paused on hover or once the reader picks a step) and pulls the progress line along with it — the same "connected process" language as en-ti.com. */}
{mecanismo.steps.map((step, i) => (
{i < mecanismo.steps.length - 1 && (
i ? 1 : 0 }} transition={{ duration: 0.4, ease: 'easeOut' }} />
)}
))}
{mecanismo.steps.map((step, i) => ( ))}
); }