"use client"; import { motion, useReducedMotion } from "framer-motion"; // A 2400-wide path holding six 400px periods. Sliding it exactly -1200 // (three periods) loops seamlessly, so the drift never visibly restarts. const WAVE = "M0 150 Q100 80 200 150 T400 150 T600 150 T800 150 T1000 150 T1200 150 T1400 150 T1600 150 T1800 150 T2000 150 T2200 150 T2400 150"; // Opacities are tuned for a pure white canvas. On the old lavender background // these read as texture; on white anything stronger reads as clutter and pulls // attention off the phone. const LAYERS = [ { y: 0, scaleY: 1, opacity: 0.1, duration: 12, width: 2 }, { y: 26, scaleY: 0.62, opacity: 0.07, duration: 16, width: 1.5 }, { y: -22, scaleY: 1.35, opacity: 0.055, duration: 21, width: 1.5 }, ]; // Elegant voice waves behind the phone. Purely decorative, low opacity, and // animated on transform only — it should reinforce "this is voice" without // ever pulling attention off the screen. export function VoiceWaves({ className = "" }: { className?: string }) { const reduced = useReducedMotion(); return ( ); }