design
This commit is contained in:
@@ -97,7 +97,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.narrow-container {
|
.narrow-container {
|
||||||
@apply max-w-2xl mx-auto px-6 py-8;
|
@apply max-w-3xl mx-auto px-6 py-8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlighter-tag {
|
.highlighter-tag {
|
||||||
@@ -222,11 +222,11 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2px;
|
height: 1px;
|
||||||
background: #3b82f6;
|
background: #0f172a;
|
||||||
transform-origin: left;
|
transform-origin: left;
|
||||||
transform: scaleX(0);
|
transform: scaleX(0);
|
||||||
z-index: 50;
|
z-index: 100;
|
||||||
transition: transform 0.1s ease-out;
|
transition: transform 0.1s ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
445
app/page.tsx
445
app/page.tsx
@@ -1,299 +1,190 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { Check, ArrowRight, MessageSquare } from 'lucide-react';
|
import { ArrowRight, MessageSquare, Minus, Zap, Shield, Clock } from 'lucide-react';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col gap-32 py-20 md:py-32">
|
<div className="flex flex-col gap-48 py-24 md:py-48 overflow-hidden">
|
||||||
{/* Hero Section */}
|
{/* Hero Section - High Impact */}
|
||||||
<section className="narrow-container animate-fade-in">
|
<section className="narrow-container relative">
|
||||||
<h1 className="text-4xl md:text-6xl font-bold text-slate-900 tracking-tight mb-10 leading-[1.1]">
|
<div className="absolute -left-24 -top-24 text-[20rem] font-bold text-slate-50 select-none -z-10">00</div>
|
||||||
Digitale Systeme für Unternehmen, die keinen Overhead wollen
|
<div className="space-y-16 relative">
|
||||||
</h1>
|
<h1 className="text-6xl md:text-8xl font-bold text-slate-900 tracking-tighter leading-[0.9] animate-fade-in">
|
||||||
<div className="space-y-4 text-xl md:text-2xl text-slate-500 font-serif italic leading-relaxed">
|
Digitale Systeme <br />
|
||||||
<p>Agenturen sind zu langsam.</p>
|
<span className="text-slate-200">ohne Overhead.</span>
|
||||||
<p>CMS will keiner pflegen.</p>
|
</h1>
|
||||||
<p>Digitale Themen bleiben liegen.</p>
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 items-end">
|
||||||
</div>
|
<div className="space-y-6 text-2xl text-slate-400 font-serif italic leading-tight">
|
||||||
<p className="mt-12 text-2xl font-semibold text-slate-900">
|
<p className="animate-slide-up [animation-delay:200ms]">Agenturen sind zu langsam.</p>
|
||||||
Ich mache das anders.
|
<p className="animate-slide-up [animation-delay:400ms]">CMS will keiner pflegen.</p>
|
||||||
</p>
|
<p className="animate-slide-up [animation-delay:600ms]">Digitale Themen bleiben liegen.</p>
|
||||||
</section>
|
</div>
|
||||||
|
<div className="animate-slide-up [animation-delay:800ms] border-l-2 border-slate-900 pl-8">
|
||||||
{/* Was ich mache */}
|
<p className="text-3xl font-bold text-slate-900 leading-tight">
|
||||||
<section className="narrow-container">
|
Ich mache das anders.
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Was ich mache</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<div className="prose prose-slate font-serif text-xl leading-relaxed text-slate-700">
|
|
||||||
<p>
|
|
||||||
Ich setze digitale Systeme für Unternehmen um – direkt, sauber und ohne Agentur-Zirkus.
|
|
||||||
</p>
|
|
||||||
<p className="font-sans font-bold text-slate-900 mt-8 text-2xl">
|
|
||||||
Websites, Funktionen, Systeme, interne Tools.
|
|
||||||
</p>
|
|
||||||
<p className="mt-4">
|
|
||||||
Keine Workshops. Keine Tickets. Kein Tech-Blabla.
|
|
||||||
</p>
|
|
||||||
<p className="mt-10 text-slate-900">
|
|
||||||
Sie erklären mir, was Sie brauchen. <br />
|
|
||||||
Ich sorge dafür, dass es funktioniert.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Für wen das ist */}
|
{/* Was ich mache - Designed Grid */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
<div className="absolute -right-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">01</div>
|
||||||
<div className="md:col-span-4">
|
<div className="grid grid-cols-1 md:grid-cols-12 gap-12">
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Für wen das ist</h2>
|
<div className="md:col-span-5 space-y-8">
|
||||||
</div>
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400">Das Versprechen</h2>
|
||||||
<div className="md:col-span-8">
|
<p className="text-4xl font-bold text-slate-900 leading-[1.1]">
|
||||||
<p className="text-xl text-slate-900 font-bold mb-8">Für Unternehmen, die:</p>
|
Direkt. <br />
|
||||||
<ul className="space-y-4 mb-12">
|
Sauber. <br />
|
||||||
{[
|
Ohne Zirkus.
|
||||||
'regelmäßig Änderungen an Website oder Systemen brauchen',
|
|
||||||
'keine Lust auf Agenturen haben',
|
|
||||||
'kein CMS anfassen wollen',
|
|
||||||
'keine Tickets schreiben möchten',
|
|
||||||
'keinen Entwickler einstellen wollen',
|
|
||||||
'und wollen, dass Dinge einfach erledigt werden',
|
|
||||||
].map((item, i) => (
|
|
||||||
<li key={i} className="flex items-start gap-4">
|
|
||||||
<Check className="w-5 h-5 text-slate-900 shrink-0 mt-1" />
|
|
||||||
<span className="text-lg text-slate-600 font-serif">{item}</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
<div className="p-8 bg-slate-50 rounded-sm border-l-4 border-slate-900">
|
|
||||||
<p className="text-xl font-serif italic text-slate-700 leading-relaxed">
|
|
||||||
Wenn bei Ihnen öfter der Satz fällt: <br />
|
|
||||||
<span className="font-bold not-italic text-slate-900">„Das müsste man mal machen …“</span>
|
|
||||||
</p>
|
|
||||||
<p className="mt-4 text-slate-500">
|
|
||||||
… aber es passiert nie – dann sind Sie hier richtig.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* Das eigentliche Problem */}
|
|
||||||
<section className="narrow-container">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Das Problem</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<div className="prose prose-slate font-serif text-xl leading-relaxed text-slate-700">
|
|
||||||
<p>
|
|
||||||
Digitale Arbeit scheitert nicht an Technik. <br />
|
|
||||||
Sie scheitert an <span className="text-slate-900 font-bold underline decoration-slate-200 underline-offset-4">Zuständigkeit</span>.
|
|
||||||
</p>
|
|
||||||
<div className="space-y-4 mt-10 font-sans text-base not-italic text-slate-500">
|
|
||||||
<p className="pb-4 border-b border-slate-100">Agenturen wollen Projekte.</p>
|
|
||||||
<p className="pb-4 border-b border-slate-100">Mitarbeiter haben Wichtigeres zu tun.</p>
|
|
||||||
<p className="pb-4 border-b border-slate-100">IT ist ausgelastet.</p>
|
|
||||||
<p>Kleine Aufgaben sind zu klein für große Angebote.</p>
|
|
||||||
</div>
|
|
||||||
<p className="mt-10 font-bold text-slate-900 text-2xl">Also bleibt alles liegen.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* Warum keine Agentur */}
|
|
||||||
<section className="narrow-container">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Warum keine Agentur</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<p className="text-xl font-serif text-slate-600 mb-16 leading-relaxed">
|
|
||||||
Ich habe über 15 Jahre in Agenturen gearbeitet. Ich kenne das Spiel. Und ich weiß, warum es nervt.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className="space-y-20">
|
|
||||||
<div className="group">
|
|
||||||
<h3 className="text-2xl font-bold text-slate-900 mb-6">Agenturen machen einfache Dinge kompliziert</h3>
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 items-start">
|
|
||||||
<div className="space-y-2 text-slate-400 text-sm font-mono">
|
|
||||||
<p>Ein Button ändern?</p>
|
|
||||||
<p>→ Konzeptcall</p>
|
|
||||||
<p>→ Abstimmung</p>
|
|
||||||
<p>→ internes Meeting</p>
|
|
||||||
<p>→ Angebot</p>
|
|
||||||
<p>→ Warten</p>
|
|
||||||
<p>→ Rechnung</p>
|
|
||||||
</div>
|
|
||||||
<div className="pt-4 border-t-2 border-slate-900">
|
|
||||||
<p className="font-bold text-slate-900 mb-2 uppercase tracking-wider text-xs">Mein Ansatz</p>
|
|
||||||
<p className="text-2xl font-bold text-slate-900">Ich mache es einfach fertig.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-16">
|
|
||||||
<div>
|
|
||||||
<h4 className="font-bold text-slate-900 mb-3 text-lg">Prozesse statt Ergebnisse</h4>
|
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
|
||||||
Workshops, Slides, Roadmaps. Klingt nach Fortschritt, ist oft nur Beschäftigungstherapie. Bei mir zählt nur Umsetzung.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4 className="font-bold text-slate-900 mb-3 text-lg">Stundenabrechnung</h4>
|
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
|
||||||
„Das dauert nur kurz“ → Überraschung auf der Rechnung. Ich arbeite mit Fixpreisen. Sie wissen vorher, was es kostet.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4 className="font-bold text-slate-900 mb-3 text-lg">Aufgaben-Ping-Pong</h4>
|
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
|
||||||
Heute Projektmanager, morgen Entwickler, übermorgen niemand. Bei mir: Eine Person. Eine Verantwortung.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4 className="font-bold text-slate-900 mb-3 text-lg">Verschwinden nach dem Projekt</h4>
|
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
|
||||||
Kleine Änderung? Neues Angebot. Dringend? Warteschleife. Ich bleibe, solange Sie Dinge brauchen.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* Wie ich arbeite */}
|
|
||||||
<section className="narrow-container">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Arbeitsweise</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<p className="text-2xl font-bold text-slate-900 mb-8">
|
|
||||||
Ich baue zuerst. Dann reden wir drüber.
|
|
||||||
</p>
|
|
||||||
<div className="prose prose-slate font-serif text-xl leading-relaxed text-slate-700">
|
|
||||||
<p>
|
|
||||||
Sie erklären mir Ihre Vorstellung. Ich setze den ersten echten Stand um.
|
|
||||||
</p>
|
|
||||||
<div className="flex flex-wrap gap-x-8 gap-y-2 my-10 not-prose border-y border-slate-100 py-6">
|
|
||||||
<span className="text-sm font-bold text-slate-400 uppercase tracking-widest">Keine Slides</span>
|
|
||||||
<span className="text-sm font-bold text-slate-400 uppercase tracking-widest">Kein Konzept-PDF</span>
|
|
||||||
<span className="text-sm font-bold text-slate-400 uppercase tracking-widest">Kein Ratespiel</span>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
Dann arbeiten wir direkt am Ergebnis, bis es passt. Ohne jedes Mal ein neues Angebot. Ohne Scope-Diskussionen. Ohne Theater.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* Was ich konkret umsetze */}
|
|
||||||
<section className="narrow-container">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Leistungen</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<div className="space-y-20">
|
|
||||||
<div>
|
|
||||||
<h3 className="text-2xl font-bold text-slate-900 mb-6">Websites</h3>
|
|
||||||
<ul className="space-y-3 text-slate-600 font-serif text-lg">
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> neue Websites (klarer Standard)</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> bestehende Websites übernehmen</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Seiten ändern oder ergänzen</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Performance & SEO</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Hosting & Betrieb (inklusive)</li>
|
|
||||||
</ul>
|
|
||||||
<div className="mt-8">
|
|
||||||
<Link href="/websites" className="inline-flex items-center gap-2 text-slate-900 font-bold border-b-2 border-slate-900 pb-1 hover:text-slate-600 hover:border-slate-300 transition-all">
|
|
||||||
Details zu Websites & Preisen <ArrowRight className="w-4 h-4" />
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<h3 className="text-2xl font-bold text-slate-900 mb-6">Funktionen & Systeme</h3>
|
|
||||||
<ul className="grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-3 text-slate-600 font-serif text-lg">
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Produktbereiche</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Blogs, News, Jobs</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Formulare</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Suche & Filter</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> PDF-Generatoren</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> API-Ausgaben & Daten-Sync</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<h3 className="text-2xl font-bold text-slate-900 mb-6">Interne Tools</h3>
|
|
||||||
<ul className="space-y-3 text-slate-600 font-serif text-lg">
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> kleine Inhouse-Tools</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Excel ersetzen</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Automatisierung</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-300" /> Importe & Exporte</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* Warum Kunden bleiben */}
|
|
||||||
<section className="narrow-container">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-12 gap-8">
|
|
||||||
<div className="md:col-span-4">
|
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mt-0">Vorteile</h2>
|
|
||||||
</div>
|
|
||||||
<div className="md:col-span-8">
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-10">
|
|
||||||
{[
|
|
||||||
{ label: 'Schnelligkeit', desc: 'Dinge passieren schnell' },
|
|
||||||
{ label: 'Erledigt', desc: 'Aufgaben verschwinden wirklich' },
|
|
||||||
{ label: 'Kein Erklären', desc: 'Ich verstehe, was Sie brauchen' },
|
|
||||||
{ label: 'Kein Nachfassen', desc: 'Ich melde mich, wenn es fertig ist' },
|
|
||||||
{ label: 'Kein Stress', desc: 'Kein Projektstress' },
|
|
||||||
{ label: 'Ruhe', desc: 'Kein Agentur-Zirkus' },
|
|
||||||
].map((item, i) => (
|
|
||||||
<div key={i} className="border-l border-slate-100 pl-6">
|
|
||||||
<div className="font-bold text-slate-900 mb-1 text-lg">{item.label}</div>
|
|
||||||
<div className="text-slate-500 font-serif">{item.desc}</div>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
<p className="mt-20 text-4xl font-serif italic text-slate-900">
|
|
||||||
Kurz: Ruhe.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="md:col-span-7">
|
||||||
|
<div className="prose prose-slate font-serif text-2xl leading-relaxed text-slate-700">
|
||||||
|
<p>
|
||||||
|
Ich setze digitale Systeme für Unternehmen um – ohne Workshops, ohne Tickets, ohne Tech-Blabla.
|
||||||
|
</p>
|
||||||
|
<div className="mt-12 grid grid-cols-1 gap-8 not-prose">
|
||||||
|
<div className="p-8 border border-slate-100 hover:border-slate-900 transition-colors group">
|
||||||
|
<Zap className="w-6 h-6 mb-4 text-slate-300 group-hover:text-slate-900 transition-colors" />
|
||||||
|
<h3 className="text-xl font-bold text-slate-900 mb-2">Websites & Tools</h3>
|
||||||
|
<p className="text-slate-500 font-serif text-lg">Alles, was Ihr Unternehmen digital voranbringt.</p>
|
||||||
|
</div>
|
||||||
|
<div className="p-8 border border-slate-100 hover:border-slate-900 transition-colors group">
|
||||||
|
<Shield className="w-6 h-6 mb-4 text-slate-300 group-hover:text-slate-900 transition-colors" />
|
||||||
|
<h3 className="text-xl font-bold text-slate-900 mb-2">Kein Overhead</h3>
|
||||||
|
<p className="text-slate-500 font-serif text-lg">Sie erklären, ich baue. Es funktioniert einfach.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* CTA */}
|
{/* Comparison - Visual Path */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<div className="bg-slate-900 text-white p-12 md:p-20 rounded-sm text-center">
|
<div className="absolute -left-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">02</div>
|
||||||
<h2 className="text-3xl md:text-5xl font-bold mb-8 tracking-tight">Interesse?</h2>
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400 mb-24">Der Unterschied</h2>
|
||||||
<p className="text-xl md:text-2xl mb-12 text-slate-400 font-serif leading-relaxed">
|
|
||||||
Schreiben Sie mir einfach, was Sie brauchen. <br />
|
<div className="space-y-32">
|
||||||
Ich sage Ihnen ehrlich, ob ich es mache – und was es kostet.
|
{/* Row 1 */}
|
||||||
|
<div className="flex flex-col md:flex-row gap-12 items-center">
|
||||||
|
<div className="flex-1 p-10 bg-slate-50 text-slate-400 line-through decoration-slate-200">
|
||||||
|
<div className="text-xs font-bold uppercase tracking-widest mb-4">Agentur</div>
|
||||||
|
<p className="text-xl font-serif italic">Konzeptcalls, Meetings, Slides, Warten auf das Angebot.</p>
|
||||||
|
</div>
|
||||||
|
<div className="shrink-0">
|
||||||
|
<ArrowRight className="w-8 h-8 text-slate-200 hidden md:block" />
|
||||||
|
</div>
|
||||||
|
<div className="flex-1 p-10 border-2 border-slate-900">
|
||||||
|
<div className="text-xs font-bold uppercase tracking-widest text-slate-900 mb-4">Ich</div>
|
||||||
|
<p className="text-3xl font-bold text-slate-900 leading-tight">Ich baue zuerst. <br />Dann reden wir.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Row 2 */}
|
||||||
|
<div className="flex flex-col md:flex-row-reverse gap-12 items-center">
|
||||||
|
<div className="flex-1 p-10 bg-slate-50 text-slate-400 line-through decoration-slate-200">
|
||||||
|
<div className="text-xs font-bold uppercase tracking-widest mb-4">Agentur</div>
|
||||||
|
<p className="text-xl font-serif italic">"Das dauert nur kurz" <br />→ Überraschung auf der Rechnung.</p>
|
||||||
|
</div>
|
||||||
|
<div className="shrink-0">
|
||||||
|
<ArrowRight className="w-8 h-8 text-slate-200 hidden md:block rotate-180" />
|
||||||
|
</div>
|
||||||
|
<div className="flex-1 p-10 border-2 border-slate-900">
|
||||||
|
<div className="text-xs font-bold uppercase tracking-widest text-slate-900 mb-4">Ich</div>
|
||||||
|
<p className="text-3xl font-bold text-slate-900 leading-tight">Fixpreise. <br />Immer.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{/* Für wen - Designed Box */}
|
||||||
|
<section className="narrow-container relative">
|
||||||
|
<div className="absolute -right-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">03</div>
|
||||||
|
<div className="relative p-12 md:p-24 border border-slate-100">
|
||||||
|
<div className="absolute top-0 left-12 w-px h-24 bg-slate-900 -translate-y-12"></div>
|
||||||
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400 mb-12">Zielgruppe</h2>
|
||||||
|
<p className="text-4xl md:text-5xl font-bold text-slate-900 leading-tight mb-16 tracking-tighter">
|
||||||
|
Für Unternehmen, die <br />
|
||||||
|
<span className="text-slate-300 underline decoration-slate-100 underline-offset-8">Ergebnisse</span> wollen.
|
||||||
</p>
|
</p>
|
||||||
<a
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-16 gap-y-8">
|
||||||
href="mailto:marc@mintel.me"
|
{[
|
||||||
className="inline-flex items-center gap-3 bg-white text-slate-900 px-10 py-5 rounded-sm font-bold text-lg hover:bg-slate-100 transition-colors"
|
'Keine Lust auf Agentur-Zirkus',
|
||||||
>
|
'Kein CMS selbst pflegen',
|
||||||
<MessageSquare className="w-5 h-5" />
|
'Keine Tickets schreiben',
|
||||||
Projekt anfragen
|
'Keinen eigenen Entwickler',
|
||||||
</a>
|
].map((item, i) => (
|
||||||
<div className="mt-12">
|
<div key={i} className="flex items-center gap-4 text-xl font-serif text-slate-600">
|
||||||
<Link href="/blog" className="text-slate-500 hover:text-white text-sm font-mono uppercase tracking-widest transition-colors">
|
<div className="w-2 h-2 bg-slate-900 rounded-full"></div>
|
||||||
Zum Blog
|
<span>{item}</span>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{/* Leistungen - Visual Cards */}
|
||||||
|
<section className="narrow-container relative">
|
||||||
|
<div className="absolute -left-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">04</div>
|
||||||
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400 mb-24">Leistungen</h2>
|
||||||
|
<div className="grid grid-cols-1 gap-32">
|
||||||
|
<div className="group relative">
|
||||||
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">W</div>
|
||||||
|
<h3 className="text-5xl font-bold text-slate-900 mb-8 tracking-tighter">Websites</h3>
|
||||||
|
<p className="text-2xl text-slate-500 font-serif mb-10 leading-relaxed max-w-2xl">
|
||||||
|
Neue Seiten, Relaunch oder Übernahme bestehender Systeme. Inklusive Hosting, SEO und Performance.
|
||||||
|
</p>
|
||||||
|
<Link href="/websites" className="inline-flex items-center gap-4 text-slate-900 font-bold text-xl group/link">
|
||||||
|
Preise ansehen
|
||||||
|
<div className="w-12 h-px bg-slate-900 group-hover/link:w-20 transition-all"></div>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="group relative">
|
||||||
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">S</div>
|
||||||
|
<h3 className="text-5xl font-bold text-slate-900 mb-8 tracking-tighter">Systeme</h3>
|
||||||
|
<p className="text-2xl text-slate-500 font-serif mb-10 leading-relaxed max-w-2xl">
|
||||||
|
Produktbereiche, Blogs, Jobs, API-Anbindungen, PDF-Generatoren und Sonderlogik.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="group relative">
|
||||||
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">T</div>
|
||||||
|
<h3 className="text-5xl font-bold text-slate-900 mb-8 tracking-tighter">Tools</h3>
|
||||||
|
<p className="text-2xl text-slate-500 font-serif mb-10 leading-relaxed max-w-2xl">
|
||||||
|
Interne Inhouse-Tools, Excel-Ablösungen und Prozess-Automatisierung.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{/* CTA - Designed Impact */}
|
||||||
|
<section className="narrow-container">
|
||||||
|
<div className="relative py-32 px-12 md:px-24 bg-slate-900 text-white overflow-hidden">
|
||||||
|
<div className="absolute top-0 right-0 text-[20rem] font-bold text-white/5 select-none translate-x-1/4 -translate-y-1/4">?</div>
|
||||||
|
<div className="relative z-10 space-y-12">
|
||||||
|
<h2 className="text-6xl md:text-8xl font-bold tracking-tighter leading-none">Interesse?</h2>
|
||||||
|
<p className="text-2xl md:text-3xl text-slate-400 font-serif italic leading-tight max-w-xl">
|
||||||
|
Schreiben Sie mir einfach, was Sie brauchen. Ich sage Ihnen ehrlich, ob ich es mache.
|
||||||
|
</p>
|
||||||
|
<div className="pt-8">
|
||||||
|
<a
|
||||||
|
href="mailto:marc@mintel.me"
|
||||||
|
className="inline-flex items-center gap-6 bg-white text-slate-900 px-12 py-6 font-bold text-2xl hover:bg-slate-100 transition-all hover:scale-[1.05]"
|
||||||
|
>
|
||||||
|
<MessageSquare className="w-8 h-8" />
|
||||||
|
Projekt anfragen
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div className="pt-12">
|
||||||
|
<Link href="/blog" className="text-slate-500 hover:text-white text-sm font-bold uppercase tracking-[0.5em] transition-colors">
|
||||||
|
Zum Blog
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,161 +1,159 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Check, Info, ArrowLeft, Mail } from 'lucide-react';
|
import { Info, ArrowLeft, Mail, Minus } from 'lucide-react';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
|
||||||
export default function WebsitesPage() {
|
export default function WebsitesPage() {
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col gap-24 py-20 md:py-32">
|
<div className="flex flex-col gap-48 py-24 md:py-48 overflow-hidden">
|
||||||
{/* Header */}
|
{/* Header - Designed */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<Link href="/" className="inline-flex items-center gap-2 text-slate-400 hover:text-slate-900 mb-12 transition-colors font-mono text-xs uppercase tracking-widest">
|
<div className="absolute -left-24 -top-24 text-[20rem] font-bold text-slate-50 select-none -z-10">€</div>
|
||||||
|
<Link href="/" className="inline-flex items-center gap-2 text-slate-300 hover:text-slate-900 mb-16 transition-colors font-mono text-xs uppercase tracking-[0.3em]">
|
||||||
<ArrowLeft className="w-3 h-3" /> Zurück
|
<ArrowLeft className="w-3 h-3" /> Zurück
|
||||||
</Link>
|
</Link>
|
||||||
<h1 className="text-4xl md:text-6xl font-bold text-slate-900 tracking-tight mb-8 leading-tight">
|
<h1 className="text-6xl md:text-8xl font-bold text-slate-900 tracking-tighter leading-[0.9] mb-12">
|
||||||
Websites & Preise
|
Websites <br />
|
||||||
|
<span className="text-slate-200">& Preise.</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-xl md:text-2xl text-slate-500 font-serif italic leading-relaxed">
|
<p className="text-2xl md:text-3xl text-slate-500 font-serif italic leading-tight max-w-2xl">
|
||||||
Ich baue digitale Systeme mit klaren Preisen und Ergebnissen – keine Stunden, keine Überraschungen.
|
Ich baue digitale Systeme mit klaren Preisen und Ergebnissen – keine Stunden, keine Überraschungen.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* 1. Website - Fixpreis */}
|
{/* 1. Website - Designed Pricing */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<div className="border-t-4 border-slate-900 pt-12">
|
<div className="absolute -right-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">01</div>
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mb-8">1. Website – Fixpreis</h2>
|
<div className="space-y-20">
|
||||||
<div className="flex flex-col md:flex-row md:items-baseline gap-4 mb-12">
|
<div className="border-l-4 border-slate-900 pl-12 py-4">
|
||||||
<div className="text-6xl font-bold text-slate-900">6.000 €</div>
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400 mb-12">Die Basis</h2>
|
||||||
<div className="text-slate-400 font-serif italic text-xl">einmalige Basis</div>
|
<div className="flex flex-col md:flex-row md:items-baseline gap-6 mb-8">
|
||||||
|
<div className="text-7xl md:text-9xl font-bold text-slate-900 tracking-tighter">6.000 €</div>
|
||||||
|
<div className="text-slate-300 font-serif italic text-2xl">einmalig</div>
|
||||||
|
</div>
|
||||||
|
<p className="text-3xl font-bold text-slate-900 leading-tight tracking-tight">
|
||||||
|
Die Grundlage für jede Website.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="space-y-10">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-16 gap-y-8">
|
||||||
<p className="text-xl text-slate-700 font-serif leading-relaxed">
|
{[
|
||||||
Die Grundlage für jede Website:
|
'Projekt-Setup & Infrastruktur',
|
||||||
</p>
|
'Hosting-Bereitstellung',
|
||||||
<ul className="grid grid-cols-1 md:grid-cols-2 gap-x-12 gap-y-4">
|
'Grundstruktur & Design-Vorlage',
|
||||||
{[
|
'technisches SEO-Basics',
|
||||||
'Projekt-Setup & Infrastruktur',
|
'Analytics (mit Mail-Report)',
|
||||||
'Hosting-Bereitstellung',
|
'Livegang',
|
||||||
'Grundstruktur & Design-Vorlage',
|
].map((item, i) => (
|
||||||
'technisches SEO-Basics',
|
<div key={i} className="flex items-center gap-4 text-xl text-slate-600 font-serif border-b border-slate-100 pb-4">
|
||||||
'Analytics (mit Mail-Report)',
|
<div className="w-1.5 h-1.5 bg-slate-900 rounded-full"></div>
|
||||||
'Livegang',
|
<span>{item}</span>
|
||||||
].map((item, i) => (
|
</div>
|
||||||
<li key={i} className="flex items-center gap-3 border-b border-slate-50 pb-2">
|
))}
|
||||||
<Check className="w-4 h-4 text-slate-900 shrink-0" />
|
</div>
|
||||||
<span className="text-slate-600 font-serif">{item}</span>
|
<div className="pt-12 flex items-start gap-4 text-sm text-slate-400 italic font-serif max-w-md">
|
||||||
</li>
|
<Info className="w-5 h-5 shrink-0 mt-0.5 text-slate-200" />
|
||||||
))}
|
<p>Enthält keine Seiten, Inhalte oder Funktionen. Diese werden nach Bedarf ergänzt.</p>
|
||||||
</ul>
|
|
||||||
<div className="pt-8 flex items-start gap-3 text-sm text-slate-400 italic font-serif">
|
|
||||||
<Info className="w-4 h-4 shrink-0 mt-0.5 text-slate-300" />
|
|
||||||
<p>Enthält keine Seiten, Inhalte oder Funktionen. Diese werden nach Bedarf ergänzt.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* 2. Entwicklung (Produktion) */}
|
{/* 2. Entwicklung - Designed Grid */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mb-12">2. Entwicklung (Produktion)</h2>
|
<div className="absolute -left-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">02</div>
|
||||||
<div className="space-y-16">
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-400 mb-24">Produktion</h2>
|
||||||
|
<div className="space-y-32">
|
||||||
{/* Seite */}
|
{/* Seite */}
|
||||||
<div className="group">
|
<div className="relative group">
|
||||||
<div className="flex justify-between items-baseline mb-4 border-b border-slate-100 pb-4">
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">S</div>
|
||||||
<h3 className="text-2xl font-bold text-slate-900">Seite</h3>
|
<div className="flex justify-between items-baseline mb-8 border-b-4 border-slate-900 pb-6">
|
||||||
<div className="text-2xl font-bold text-slate-900">800 €</div>
|
<h3 className="text-4xl font-bold text-slate-900 tracking-tighter">Seite</h3>
|
||||||
|
<div className="text-4xl font-bold text-slate-900 tracking-tighter">800 €</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-slate-500 font-serif text-lg leading-relaxed max-w-xl">
|
<p className="text-2xl text-slate-500 font-serif leading-relaxed max-w-2xl">
|
||||||
Individuell gestaltete Seite – mit Layout, Struktur, Textaufteilung, responsivem Design.
|
Individuell gestaltete Seite – mit Layout, Struktur, Textaufteilung, responsivem Design.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Feature */}
|
{/* Feature */}
|
||||||
<div className="group">
|
<div className="relative group">
|
||||||
<div className="flex justify-between items-baseline mb-4 border-b border-slate-100 pb-4">
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">F</div>
|
||||||
<h3 className="text-2xl font-bold text-slate-900">Feature (System)</h3>
|
<div className="flex justify-between items-baseline mb-8 border-b-4 border-slate-900 pb-6">
|
||||||
<div className="text-2xl font-bold text-slate-900">2.000 €</div>
|
<h3 className="text-4xl font-bold text-slate-900 tracking-tighter">Feature</h3>
|
||||||
|
<div className="text-4xl font-bold text-slate-900 tracking-tighter">2.000 €</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-slate-500 font-serif text-lg leading-relaxed max-w-xl mb-6">
|
<p className="text-2xl text-slate-500 font-serif leading-relaxed max-w-2xl mb-12">
|
||||||
Ein in sich geschlossenes System mit Datenstruktur, Darstellung und Pflegefähigkeit.
|
Ein in sich geschlossenes System mit Datenstruktur, Darstellung und Pflegefähigkeit.
|
||||||
</p>
|
</p>
|
||||||
<div className="flex flex-wrap gap-x-4 gap-y-2">
|
<div className="flex flex-wrap gap-x-8 gap-y-4">
|
||||||
{['Blog', 'News', 'Jobs', 'Referenzen', 'Events', 'Produktbereich'].map(tag => (
|
{['Blog', 'News', 'Jobs', 'Referenzen', 'Events', 'Produktbereich'].map(tag => (
|
||||||
<span key={tag} className="text-xs font-mono uppercase tracking-widest text-slate-400">{tag}</span>
|
<span key={tag} className="text-xs font-bold uppercase tracking-[0.3em] text-slate-300">{tag}</span>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Funktion */}
|
{/* Funktion */}
|
||||||
<div className="group">
|
<div className="relative group">
|
||||||
<div className="flex justify-between items-baseline mb-4 border-b border-slate-100 pb-4">
|
<div className="absolute -left-12 top-0 text-6xl font-bold text-slate-50 group-hover:text-slate-100 transition-colors">L</div>
|
||||||
<h3 className="text-2xl font-bold text-slate-900">Funktion (Logik)</h3>
|
<div className="flex justify-between items-baseline mb-8 border-b-4 border-slate-900 pb-6">
|
||||||
<div className="text-2xl font-bold text-slate-900">1.000 €</div>
|
<h3 className="text-4xl font-bold text-slate-900 tracking-tighter">Funktion</h3>
|
||||||
|
<div className="text-4xl font-bold text-slate-900 tracking-tighter">1.000 €</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-slate-500 font-serif text-lg leading-relaxed max-w-xl mb-8">
|
<p className="text-2xl text-slate-500 font-serif leading-relaxed max-w-2xl mb-12">
|
||||||
Funktionen liefern Logik und Interaktion.
|
Funktionen liefern Logik und Interaktion.
|
||||||
</p>
|
</p>
|
||||||
<div className="grid grid-cols-2 md:grid-cols-3 gap-4 text-sm font-mono uppercase tracking-wider text-slate-400">
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-16 gap-y-6 text-sm font-bold uppercase tracking-[0.2em] text-slate-400">
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> Kontaktformular</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> Kontaktformular</div>
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> Suche & Filter</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> Suche & Filter</div>
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> PDF-Export</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> PDF-Export</div>
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> API-Anbindungen</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> API-Anbindungen</div>
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> Mailversand</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> Mailversand</div>
|
||||||
<div className="flex items-center gap-2"><div className="w-1 h-1 bg-slate-200 rounded-full" /> Automatisierung</div>
|
<div className="flex items-center gap-4 border-b border-slate-50 pb-2"><Minus className="w-4 h-4 text-slate-200" /> Automatisierung</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* 3. Design & Interaktion */}
|
{/* 5. Betrieb - Designed Box */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container relative">
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mb-12">3. Design & Interaktion (Extras)</h2>
|
<div className="absolute -right-24 -top-12 text-[15rem] font-bold text-slate-50 select-none -z-10">03</div>
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-12">
|
<div className="bg-slate-900 text-white p-16 md:p-24 space-y-16 relative overflow-hidden">
|
||||||
<div>
|
<div className="absolute top-0 right-0 text-[20rem] font-bold text-white/5 select-none translate-x-1/4 -translate-y-1/4">B</div>
|
||||||
<h3 className="font-bold text-slate-900 mb-2 text-lg">Visuelle Inszenierung</h3>
|
<h2 className="text-sm font-bold uppercase tracking-[0.3em] text-slate-500">Betrieb</h2>
|
||||||
<div className="text-slate-900 font-bold mb-4 text-xl">2.000 € <span className="text-sm text-slate-400 font-normal">/ Abschnitt</span></div>
|
<div className="flex items-baseline gap-6">
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
<div className="text-7xl md:text-9xl font-bold tracking-tighter">120 €</div>
|
||||||
Erweiterte Gestaltung: Hero-Story, visuelle Abläufe, Scroll-Effekte, speziell inszenierte Sektionen.
|
<div className="text-slate-500 font-serif italic text-2xl">/ Monat</div>
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<p className="text-3xl md:text-4xl font-bold leading-tight tracking-tight">
|
||||||
<h3 className="font-bold text-slate-900 mb-2 text-lg">Komplexe Interaktion</h3>
|
Hosting, Wartung & Sicherheit. <br />
|
||||||
<div className="text-slate-900 font-bold mb-4 text-xl">1.500 € <span className="text-sm text-slate-400 font-normal">/ Interaktion</span></div>
|
<span className="text-slate-500">Damit Sie sich um nichts kümmern müssen.</span>
|
||||||
<p className="text-slate-500 font-serif leading-relaxed">
|
</p>
|
||||||
Dargestellte, interaktive UI-Erlebnisse: Konfiguratoren, Live-Previews, mehrstufige Auswahlprozesse.
|
<div className="grid grid-cols-1 md:grid-cols-2 gap-x-16 gap-y-8 pt-12 border-t border-white/10">
|
||||||
</p>
|
{[
|
||||||
|
'Webhosting & Verfügbarkeit',
|
||||||
|
'Sicherheitsupdates & Backups',
|
||||||
|
'Analytics inkl. Reports',
|
||||||
|
'Medien-Speicher (20 GB)',
|
||||||
|
].map((item, i) => (
|
||||||
|
<div key={i} className="flex items-center gap-4 text-xl text-slate-400 font-serif">
|
||||||
|
<div className="w-1.5 h-1.5 bg-white rounded-full"></div>
|
||||||
|
<span>{item}</span>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* 5. Betrieb & Wartung */}
|
{/* CTA - Designed Impact */}
|
||||||
<section className="narrow-container">
|
<section className="narrow-container text-center py-32 border-t border-slate-100">
|
||||||
<div className="bg-slate-50 p-12 rounded-sm border border-slate-100">
|
<h2 className="text-6xl md:text-8xl font-bold text-slate-900 mb-12 tracking-tighter">Bereit?</h2>
|
||||||
<h2 className="text-sm font-bold uppercase tracking-widest text-slate-400 mb-8">5. Betrieb & Wartung (Pflicht)</h2>
|
<p className="text-2xl md:text-3xl text-slate-500 font-serif mb-20 leading-tight italic max-w-xl mx-auto">
|
||||||
<div className="flex items-baseline gap-2 mb-10">
|
Schreiben Sie mir einfach, was Sie vorhaben. Ich erstelle Ihnen ein passendes Angebot.
|
||||||
<div className="text-5xl font-bold text-slate-900">120 €</div>
|
|
||||||
<div className="text-slate-400 font-serif italic text-xl">/ Monat</div>
|
|
||||||
</div>
|
|
||||||
<ul className="grid grid-cols-1 md:grid-cols-2 gap-4 text-slate-600 font-serif">
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-900" /> Webhosting & Verfügbarkeit</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-900" /> Sicherheitsupdates & Backups</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-900" /> Analytics inkl. Reports</li>
|
|
||||||
<li className="flex items-center gap-3"><Check className="w-4 h-4 text-slate-900" /> Medien-Speicher (20 GB)</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{/* CTA */}
|
|
||||||
<section className="narrow-container text-center py-20 border-t border-slate-100">
|
|
||||||
<h2 className="text-3xl md:text-5xl font-bold text-slate-900 mb-8 tracking-tight">Bereit für ein Projekt?</h2>
|
|
||||||
<p className="text-xl text-slate-500 font-serif mb-12 leading-relaxed">
|
|
||||||
Schreiben Sie mir einfach, was Sie vorhaben. <br />
|
|
||||||
Ich erstelle Ihnen ein passendes Angebot.
|
|
||||||
</p>
|
</p>
|
||||||
<a
|
<a
|
||||||
href="mailto:marc@mintel.me"
|
href="mailto:marc@mintel.me"
|
||||||
className="inline-flex items-center gap-3 bg-slate-900 text-white px-10 py-5 rounded-sm font-bold text-lg hover:bg-slate-800 transition-colors"
|
className="inline-flex items-center gap-6 bg-slate-900 text-white px-12 py-6 font-bold text-2xl hover:bg-slate-800 transition-all hover:scale-[1.05]"
|
||||||
>
|
>
|
||||||
<Mail className="w-5 h-5" />
|
<Mail className="w-8 h-8" />
|
||||||
Anfrage senden
|
Anfrage senden
|
||||||
</a>
|
</a>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -15,6 +15,15 @@ export const BlogPostClient: React.FC<BlogPostClientProps> = ({ readingTime, tit
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleScroll = () => {
|
const handleScroll = () => {
|
||||||
setIsScrolled(window.scrollY > 100);
|
setIsScrolled(window.scrollY > 100);
|
||||||
|
|
||||||
|
// Update progress bar
|
||||||
|
const winScroll = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
|
const height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
||||||
|
const scrolled = (winScroll / height);
|
||||||
|
const progressBar = document.querySelector('.reading-progress-bar') as HTMLElement;
|
||||||
|
if (progressBar) {
|
||||||
|
progressBar.style.transform = `scaleX(${scrolled})`;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
window.addEventListener('scroll', handleScroll);
|
window.addEventListener('scroll', handleScroll);
|
||||||
return () => window.removeEventListener('scroll', handleScroll);
|
return () => window.removeEventListener('scroll', handleScroll);
|
||||||
@@ -69,7 +78,8 @@ export const BlogPostClient: React.FC<BlogPostClientProps> = ({ readingTime, tit
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<nav
|
<div className="reading-progress-bar" />
|
||||||
|
<nav
|
||||||
id="top-nav"
|
id="top-nav"
|
||||||
className={`fixed top-0 left-0 right-0 z-40 border-b border-slate-200 transition-all duration-300 ${
|
className={`fixed top-0 left-0 right-0 z-40 border-b border-slate-200 transition-all duration-300 ${
|
||||||
isScrolled ? 'bg-white/95 backdrop-blur-md' : 'bg-white/80 backdrop-blur-sm'
|
isScrolled ? 'bg-white/95 backdrop-blur-md' : 'bg-white/80 backdrop-blur-sm'
|
||||||
|
|||||||
Reference in New Issue
Block a user