Build a complete, production-quality single-page 3D product website for a fictional mechanical keyboard called "Kestrel 75". Use Vite + TypeScript + three.js (no other 3D libraries, no external image or model files, no paid services, no API keys). Requirements: 1. Model the keyboard procedurally in three.js: a 75% layout with a case, plate, individual keycaps with legends rendered from a canvas texture, and a coiled cable. It must look like a real product shot: physically based materials, soft studio lighting, contact shadows, subtle reflections. 2. The page is scroll-driven: as the user scrolls through five sections (Hero, Build, Switches, Customize, Specs), the camera moves smoothly around the keyboard. In the Build section the keyboard explodes into its layers (case, plate, PCB, keycaps) and reassembles as you scroll back. 3. Pressing keys on the user's real keyboard presses the matching 3D keycap with a physically plausible down-and-spring-back animation. 4. A Customize section with three colorways (pick names and colors yourself) that animate the keycap and case materials when chosen. 5. Responsive layout for desktop and mobile, readable typography, respects prefers-reduced-motion (no camera fly-through, static views instead), and stays smooth: target 60 fps on a laptop, cap device pixel ratio at 2. 6. Run `npm run build` at the end and fix every TypeScript or build error until it builds cleanly. Do not start a dev server and do not deploy anything. 7. Finish with a short README.md that lists what you built, what you simplified, and any known limitations, honestly.