// app/(home)/page.tsx
'use client';
import * as React from 'react';
// Import layout components from our new shared `ui` library
import { Navbar } from '@workspace/ui/components/layout';
import { Footer } from '@workspace/ui/components/layout';
import { Container } from '@workspace/ui/components/layout';
import { AnimatedSection } from '@workspace/ui/components/animate-ui/section';
// import { ScrollProgressBar } from '@workspace/ui/components/animate-ui/scroll-progress';
// import { Collapsible, CollapsibleTrigger, CollapsibleContent } from '@workspace/ui/components/animate-ui/collapsible';
import { motion, useScroll, useTransform } from 'motion/react';
// import { ParallaxLayers } from '@workspace/ui/components/animate-ui/parallax-layers';
// Import the useTone hook to access the global tone setting
import { useTone } from '@workspace/ui/hooks/use-tone';
// Import Lucide icons for the value proposition section
import { WrenchIcon, LockIcon, CloudOffIcon, ZapIcon } from 'lucide-react';
// Import UI components from our shared library
import { Button } from '@workspace/ui/components/ui';
import Image from 'next/image';
// Import new content components
import { MetricsKPI } from '@workspace/ui/components/content';
// import { Steps } from '@workspace/ui/components/content';
import { TrustSection } from '@workspace/ui/components/content';
// import { FAQAccordion } from '@workspace/ui/components/interactive';
import { FinalCTASection } from '@workspace/ui/components/content';
import { CostReductionChart } from '@workspace/ui/components/content/cost-reduction-chart';
export default function HomePage() {
const { tone } = useTone(); // Access the current tone
// Content definitions based on tone
const heroHeadline =
tone === 'direct'
? 'Own your infrastructure. Slash your bill.'
: 'Cut waste, keep performance.';
const heroSubcopyLine1 =
tone === 'direct'
? 'Your hosting provider is fucking you. Cloud rent bleeds $25k–$500k/mo.'
: 'Cloud rent is bleeding your budget dry.';
const heroSubcopyLine2 =
tone === 'direct'
? 'Own the hardware. Keep the performance. Kill the waste.'
: 'Own your stack. Colocate it. Keep the performance, ditch the waste.';
// Core value propositions based on core selling points
const coreValuePropositions = [
{
title: 'Stop getting scammed',
description:
'Cloud providers are bleeding you dry. We help you cut costs by up to 65% by moving away from endless rental fees to a one-time hardware purchase plus low colocation costs.',
},
{
title: 'Keep your existing stack',
description:
"We don't force you to replace your tools. Instead, we integrate what works and automate the boring parts, so your team can focus on what they do best.",
},
{
title: 'Work with your actual workflows',
description:
'We embed with your team, map your real processes, and build automation around how you actually work—not how consultants think you should work.',
},
];
// Benefits of owned infrastructure
const benefits = [
{
title: 'Ownership',
description:
'Own your hardware and data. No more vendor lock-in or unpredictable pricing.',
},
{
title: 'Performance',
description:
'Direct-attached storage and local networks outperform virtualized cloud infrastructure.',
},
{
title: 'Privacy',
description:
'Your data never leaves your control. AI models run locally with zero data leakage.',
},
{
title: 'Cost Savings',
description:
"Break-even in under 12 months. After that, it's all savings.",
},
];
// Trust factors
const trustItems = [
{
icon: ,
text: 'Your data. Your hardware. Your rules.',
},
{
icon: ,
text: 'AI-native, privacy-first. No third-party AI.',
},
{
icon: ,
text: 'No license fees. You own it, forever.',
},
{
icon: ,
text: 'Ultimate freedom. Any tool, any stack, reshaped to work together for your unique use-case.',
},
];
// Hero right panel scroll-linked fade
const heroRef = React.useRef(null);
const { scrollYProgress: heroProgress } = useScroll({
target: heroRef,
offset: ['start end', 'end start'],
});
const heroPanelOpacity = useTransform(heroProgress, [0, 1], [1, 0.96]);
const heroPanelY = useTransform(heroProgress, [0, 1], [0, 8]);
return (