import { motion } from 'framer-motion'; import { useLocation } from 'react-router-dom'; import { ReactNode, useMemo } from 'react'; interface PageTransitionProps { children: ReactNode; } /** * S5.3: Subtile page transitions (Linear-style fade + slide-up) * Respects prefers-reduced-motion for accessibility. */ export function PageTransition({ children }: PageTransitionProps) { const location = useLocation(); const prefersReducedMotion = useMemo( () => typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches, [], ); if (prefersReducedMotion) { return