'use client'; import { motion } from 'framer-motion'; import { Container } from '@/components/primitives/Container'; import { IlustracionNudo } from '@/components/primitives/IlustracionNudo'; import { dolores } from '@/lib/content'; import { fadeInUp, viewportOnce, usePrefersReducedMotion, motionProps } from '@/lib/motion'; // The four quotes are the client's own words, from slide 3 of the dueña's deck. // They used to sit in four tidy cards — the opposite of what they describe. Here // they drift past instead: the noise you carry around, still going, while the // resolution underneath does not move at all. The contrast between the two is // the argument. // // They stay legible on purpose. Fading them to a whisper would have made a // better texture and thrown away the client's own voice; the murmur is carried // by the motion, not by hiding the words. const VUELTA_SEGUNDOS = 58; function Rotulo({ frases, haciaIzquierda, mudo = false, }: { frases: string[]; haciaIzquierda: boolean; mudo?: boolean; }) { const tanda = (oculta: boolean) => (
{frases.map((frase) => ( “ {frase} ” ))}
); return (
{/* Two identical runs inside one track: translating the track by exactly half its own width lands the second run where the first began, so the loop has no seam. The duplicate is hidden from assistive tech — it is the same four sentences twice. */} {tanda(false)} {tanda(true)}
); } export function Dolores() { const reduced = usePrefersReducedMotion(); // Rotated so the two rows never show the same sentence side by side. const segunda = [...dolores.quotes.slice(2), ...dolores.quotes.slice(0, 2)]; return (
{/* Smaller and a touch stronger than it was: sprawling at 8% across the whole title it read as a smudge over the headline rather than as a knot. Stays centred. */} {dolores.eyebrow} {dolores.title} {/* Full-bleed on purpose: the noise does not respect the column. */} {reduced ? (
    {dolores.quotes.map((quote) => (
  • “ {quote} ”
  • ))}
) : (
{/* The second row is the same four sentences again, rotated so no pair lines up. It is a visual echo, so it is silent: without `mudo` a screen reader would read all four pains, then read them all over again. */}
)} {dolores.remate.before}{' '} {dolores.remate.accent}
); }