Files
mintel.me/app/page.tsx
2026-01-29 22:11:28 +01:00

284 lines
14 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import * as React from 'react';
import { Zap, Shield, MousePointer2, Sparkles, ArrowRight, Check, X } from 'lucide-react';
import { Reveal } from '../src/components/Reveal';
import { Section } from '../src/components/Section';
import { HeroItem, FeatureCard, ComparisonRow, ServiceCard, HeroLines, GridLines, FlowLines, CirclePattern } from '../src/components/Landing';
export default function LandingPage() {
return (
<div className="flex flex-col bg-white overflow-hidden">
{/* Global Background Pattern */}
<div className="fixed inset-0 pointer-events-none -z-20 opacity-[0.03]" style={{
backgroundImage: 'linear-gradient(#0f172a 1px, transparent 1px), linear-gradient(90deg, #0f172a 1px, transparent 1px)',
backgroundSize: '40px 40px'
}} />
{/* Hero Section - Split Layout */}
<section className="relative min-h-[90vh] flex items-center pt-24 pb-24 md:pb-0">
<div className="narrow-container w-full">
<div className="grid grid-cols-1 md:grid-cols-12 gap-12 md:gap-16 items-center">
{/* Left Column: Brand & Number */}
<div className="md:col-span-5 relative z-10">
<Reveal>
<div className="space-y-8">
<div className="flex items-center gap-3 text-slate-400 font-mono text-[10px] uppercase tracking-[0.3em]">
<span className="w-6 h-px bg-slate-900"></span>
Digital Architect
</div>
<h1 className="text-6xl md:text-8xl font-bold text-slate-900 tracking-tighter leading-[0.9]">
Digitale <br />
Systeme <br />
<span className="text-slate-300">ohne <br />Overhead.</span>
</h1>
<div className="pt-8">
<a
href="#contact"
className="inline-flex items-center gap-4 px-8 py-4 bg-slate-900 text-white rounded-full font-bold text-sm uppercase tracking-widest hover:bg-slate-800 transition-all duration-300 group"
>
Projekt anfragen
<ArrowRight className="w-4 h-4 group-hover:translate-x-1 transition-transform" />
</a>
</div>
</div>
</Reveal>
</div>
{/* Right Column: Visual & Context */}
<div className="md:col-span-7 relative h-[500px] md:h-[800px] flex items-center justify-center">
{/* Abstract Lines Illustration */}
<div className="absolute inset-0 -z-10 opacity-80 pointer-events-none">
<HeroLines className="w-full h-full" />
</div>
<Reveal delay={0.2}>
<div className="relative bg-white/80 backdrop-blur-sm p-8 md:p-12 border border-slate-100 rounded-2xl shadow-2xl shadow-slate-100/50 max-w-md mx-auto">
<div className="absolute -top-6 -left-6 w-12 h-12 bg-slate-900 text-white flex items-center justify-center rounded-full font-bold text-xl">
00
</div>
<p className="text-xl md:text-2xl font-serif italic text-slate-600 leading-relaxed">
"Ich baue digitale Systeme für Unternehmen, die Ergebnisse wollen ohne Agentur-Zirkus, ohne Overhead, ohne Tech-Blabla."
</p>
<div className="mt-6 flex items-center gap-4">
<div className="w-10 h-10 bg-slate-100 rounded-full overflow-hidden">
{/* Placeholder for avatar if needed, or just a symbol */}
<div className="w-full h-full flex items-center justify-center text-slate-400 font-bold">M</div>
</div>
<div className="text-xs font-bold uppercase tracking-widest text-slate-900">
Marc Mintel
</div>
</div>
</div>
</Reveal>
</div>
</div>
</div>
</section>
{/* Section 01: The Promise */}
<Section number="01" title="Das Versprechen" borderTop>
<div className="space-y-16 relative">
<div className="absolute right-0 top-0 w-64 h-64 -z-10 opacity-30 pointer-events-none">
<GridLines />
</div>
<Reveal>
<h3 className="text-3xl md:text-5xl font-bold text-slate-900 leading-tight tracking-tight max-w-3xl">
Schluss mit aufgeblähten Prozessen. <br />
<span className="text-slate-300">Ich reduziere auf das Wesentliche.</span>
</h3>
</Reveal>
<div className="grid grid-cols-1 md:grid-cols-2 gap-12">
<Reveal delay={0.1}>
<div className="space-y-8">
<div className="flex items-center gap-4 text-slate-900 font-bold text-lg">
<div className="w-8 h-8 rounded-full bg-slate-100 flex items-center justify-center"><Check className="w-4 h-4" /></div>
Was ich biete
</div>
<ul className="space-y-4">
{[
'Direkte Kommunikation ohne Account Manager',
'Schnelle Prototypen statt langer Konzepte',
'Sauberer Code, der auch morgen noch läuft',
'Fixpreise für klare Budgetsicherheit'
].map((item, i) => (
<li key={i} className="flex items-start gap-3 text-slate-600 font-serif italic text-lg">
<span className="w-1.5 h-1.5 bg-slate-900 rounded-full mt-2.5 shrink-0"></span>
{item}
</li>
))}
</ul>
</div>
</Reveal>
<Reveal delay={0.2}>
<div className="space-y-8 opacity-50 hover:opacity-100 transition-opacity duration-500">
<div className="flex items-center gap-4 text-slate-400 font-bold text-lg">
<div className="w-8 h-8 rounded-full bg-slate-50 flex items-center justify-center"><X className="w-4 h-4" /></div>
Was ich nicht mache
</div>
<ul className="space-y-4">
{[
'Endlose Workshops ohne Ergebnis',
'PowerPoint-Schlachten',
'Outsourcing an Billig-Anbieter',
'Wartungsverträge mit versteckten Kosten'
].map((item, i) => (
<li key={i} className="flex items-start gap-3 text-slate-400 font-serif italic text-lg decoration-slate-200 line-through">
<span className="w-1.5 h-1.5 bg-slate-200 rounded-full mt-2.5 shrink-0"></span>
{item}
</li>
))}
</ul>
</div>
</Reveal>
</div>
</div>
</Section>
{/* Section 02: The Difference */}
<Section number="02" title="Der Unterschied" variant="gray" borderTop>
<div className="space-y-12">
<Reveal>
<p className="text-xl md:text-2xl font-serif italic text-slate-600 max-w-2xl">
Der klassische Agentur-Weg ist oft langsam und teuer. Mein Ansatz ist radikal anders: Ich baue zuerst, dann reden wir über Details.
</p>
</Reveal>
<div className="grid grid-cols-1 gap-6">
<ComparisonRow
negativeLabel="Agentur"
negativeText="Konzeptcalls, Meetings, Slides, Warten auf das Angebot."
positiveLabel="Ich"
positiveText="Ich baue einen Prototypen. Sie sehen sofort, was Sie bekommen."
delay={0.1}
/>
<ComparisonRow
negativeLabel="Agentur"
negativeText="Stundensätze, Nachberechnungen, Budget-Überraschungen."
positiveLabel="Ich"
positiveText="Fixpreise. Ein Preis, ein Ergebnis. Keine Diskussionen."
reverse
delay={0.2}
/>
<ComparisonRow
negativeLabel="Agentur"
negativeText="Wechselnde Ansprechpartner, Stille Post."
positiveLabel="Ich"
positiveText="Ein Ansprechpartner. Ich setze um, was wir besprechen."
delay={0.3}
/>
</div>
</div>
</Section>
{/* Section 03: Target Group */}
<Section number="03" title="Zielgruppe" borderTop>
<div className="relative">
<div className="absolute left-0 top-0 w-full h-full -z-10 opacity-30 pointer-events-none">
<CirclePattern />
</div>
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
<Reveal>
<div className="p-10 bg-slate-900 text-white rounded-3xl h-full flex flex-col justify-between group hover:scale-[1.02] transition-transform duration-500">
<div className="space-y-6">
<div className="w-12 h-12 bg-white/10 rounded-xl flex items-center justify-center">
<Zap className="w-6 h-6 text-white" />
</div>
<h3 className="text-3xl font-bold tracking-tight">Unternehmer & <br/>Geschäftsführer</h3>
<p className="text-slate-400 font-serif italic text-lg leading-relaxed">
"Ich brauche eine Lösung, die funktioniert. Ich habe keine Zeit für technische Details oder lange Meetings."
</p>
</div>
<div className="pt-8 border-t border-white/10 mt-8">
<span className="text-xs font-bold uppercase tracking-widest text-slate-500 group-hover:text-white transition-colors">Perfekt für Sie</span>
</div>
</div>
</Reveal>
<Reveal delay={0.2}>
<div className="p-10 bg-slate-50 border border-slate-100 rounded-3xl h-full flex flex-col justify-between group hover:border-slate-300 transition-colors duration-500">
<div className="space-y-6">
<div className="w-12 h-12 bg-white border border-slate-200 rounded-xl flex items-center justify-center">
<Shield className="w-6 h-6 text-slate-900" />
</div>
<h3 className="text-3xl font-bold tracking-tight text-slate-900">Marketing & <br/>Vertrieb</h3>
<p className="text-slate-600 font-serif italic text-lg leading-relaxed">
"Wir brauchen Landingpages, Tools und Automatisierungen, um unsere Ziele zu erreichen. Schnell und zuverlässig."
</p>
</div>
<div className="pt-8 border-t border-slate-200 mt-8">
<span className="text-xs font-bold uppercase tracking-widest text-slate-400 group-hover:text-slate-900 transition-colors">Perfekt für Sie</span>
</div>
</div>
</Reveal>
</div>
</div>
</Section>
{/* Section 04: Services */}
<Section number="04" title="Leistungen" variant="gray" borderTop>
<div className="grid grid-cols-1 gap-8">
<ServiceCard
title="Websites"
description="High-Performance Websites. Kein Baukasten, sondern maßgeschneiderte Architektur für maximale Geschwindigkeit und SEO."
linkHref="/websites"
linkLabel="Preise ansehen"
delay={0.1}
/>
<ServiceCard
title="Systeme"
description="Web-Applikationen, Kundenportale, interne Tools. Wenn Standard-Software an ihre Grenzen stößt."
delay={0.2}
/>
<ServiceCard
title="Automatisierung"
description="Verbindung von Tools, automatische PDF-Erstellung, Daten-Synchronisation. Sparen Sie manuelle Arbeit."
delay={0.3}
/>
</div>
</Section>
{/* Section 05: Contact */}
<Section number="05" title="Kontakt" borderTop>
<div className="relative py-12" id="contact">
<div className="absolute right-0 top-1/2 -translate-y-1/2 w-[400px] h-[200px] -z-10 opacity-40 pointer-events-none">
<FlowLines />
</div>
<Reveal>
<div className="space-y-12">
<h2 className="text-5xl md:text-7xl font-bold text-slate-900 tracking-tighter leading-[0.9]">
Lassen Sie uns <br />
<span className="text-slate-300">starten.</span>
</h2>
<div className="flex flex-col md:flex-row gap-12 items-start">
<div className="space-y-6 flex-1">
<p className="text-xl text-slate-600 font-serif italic">
Schreiben Sie mir kurz, worum es geht. Ich melde mich innerhalb von 24 Stunden mit einer ersten Einschätzung.
</p>
<a
href="mailto:hello@mintel.me"
className="inline-block text-3xl md:text-4xl font-bold text-slate-900 hover:text-slate-600 transition-colors border-b-2 border-slate-900 hover:border-slate-600 pb-2"
>
hello@mintel.me
</a>
</div>
<div className="flex-1 space-y-4">
<div className="flex items-center gap-4 text-sm font-bold uppercase tracking-widest text-slate-400">
<div className="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
Verfügbar für neue Projekte
</div>
<p className="text-slate-500 text-sm">
Aktuell nehme ich Projekte für Q2 2026 an.
</p>
</div>
</div>
</div>
</Reveal>
</div>
</Section>
</div>
);
}