You are acting as a TypeScript + Framer Motion v12 refactoring agent.

Task:
Scan the entire project and automatically fix all type errors related to Framer Motion variant objects, including:
- Variants typing errors
- transition type mismatches
- invalid easing strings
- literal string issues ("spring", "tween")
- missing or incorrect `Variants` type imports
- casting issues for `type`, `ease`, and other transition fields

Rules:
1. Any variants object must explicitly use:
   `import type { Variants } from "framer-motion";`
   and be declared as:
   `const NAME: Variants = { ... }`

2. Fix any transition mismatches by enforcing:
   - `"spring" as const`
   - `"tween" as const`
   - valid easing values: 
     "linear", "easeIn", "easeOut", "easeInOut"

3. For array animations (`x: number[]`, `opacity: number[]`, etc.):
   ensure the transition uses:


transition: {
duration: number;
repeat?: number;
repeatType?: "loop" | "reverse" | "mirror";
ease?: "linear" | "easeIn" | "easeOut" | "easeInOut";
delay?: number;
}


4. Do not change the animation behavior unless required by typing.
5. Do not modify component structure.
6. Apply fixes to ALL files that use:
- variants
- animate="..."
- whileHover / whileTap
- motion.div / motion.* components

Output:
Apply all fixes directly to project files and confirm once complete.
