Build a premium, dark, cinematic, Awwwards-level landing page for Geptral — a nature-driven innovation company. The site must be a pixel- and animation-perfect reproduction of the spec below. All section code is provided verbatim — DO NOT modify logic, class names, timings, easings, opacities, or magic numbers. Treat the code as the source of truth.
src/styles.css via @import "tailwindcss" and theme variables — no tailwind.config.js).framer-motion.@react-three/fiber + three (used only in WaveGrid).<link> in __root.tsx). This is the sole global font: ALL text elements on the page without exception must use "Inter Tight" (apply globally as font-['Inter_Tight',_sans-serif]).#1b1b1b. Global text: white./ route in src/routes/index.tsx rendering all 8 sections in order: <Hero /> <Section2 /> <Section3 /> <Section4 /> <Section5 /> <Section6 /> <Section7 /> <Section8 />.<main className="bg-[#1b1b1b] text-white font-['Inter_Tight',_sans-serif]">
<Hero />
<Section2 />
<Section3 />
<Section4 />
<Section5 />
<Section6 />
<Section7 />
<Section8 />
</main>
All assets must be served from the base URL:
<https://qclay.design/lovable/ceptral/>
Map every @/assets/*.asset.json import to a simple object with a url field pointing to the matching CDN file. The cleanest way: create tiny stub modules under src/assets/ that export { url: "<https://qclay.design/lovable/ceptral/><filename>" }, OR replace the imports inline with the URL string. Example stub for src/assets/Professional_Mode_Large_group_of_small_fish_gracef (1).mp4.asset.json.ts: