diff --git a/src/app/components/FlipCards.tsx b/src/app/components/FlipCards.tsx
new file mode 100644
index 0000000..3fc7874
--- /dev/null
+++ b/src/app/components/FlipCards.tsx
@@ -0,0 +1,106 @@
+"use client";
+
+import { useState } from "react";
+
+const PAIRS = [
+ {
+ before: "\u201EIch wei\xDF viel \u2014 aber niemand fragt an.\u201C",
+ after: "Positionierung in einem Satz. Ein System das planbar Anfragen bringt.",
+ },
+ {
+ before: "\u201EIch poste regelm\xe4\xDFig. Nichts passiert.\u201C",
+ after: "Content-Plan f\xFCr alle Plattformen \u2014 du wei\xDFt was, wann und warum.",
+ },
+ {
+ before: "\u201EIch wei\xDF nicht wie Marketing und Vertrieb zusammenh\xe4ngen.\u201C",
+ after: "Marketing-Systemkarte. Alle Teile greifen ineinander.",
+ },
+ {
+ before: "\u201EIch warte dass Kunden kommen.\u201C",
+ after: "Verkaufsskript. Direktansprache. Du gehst aktiv auf Kunden zu.",
+ },
+ {
+ before: "\u201EIch werde online nicht gefunden.\u201C",
+ after: "Google Business optimiert. Deine Seite f\xFCr dein Haupt-Keyword.",
+ },
+ {
+ before: "\u201ENach jedem Kurs fange ich wieder bei null an.\u201C",
+ after: "Ein System aus Marketing, Vertrieb und Social Media \u2014 das weiterl\xe4uft.",
+ },
+];
+
+function FlipCard({ before, after }: { before: string; after: string }) {
+ const [flipped, setFlipped] = useState(false);
+
+ return (
+
setFlipped((f) => !f)}
+ onMouseEnter={() => setFlipped(true)}
+ onMouseLeave={() => setFlipped(false)}
+ role="button"
+ tabIndex={0}
+ onKeyDown={(e) => e.key === "Enter" && setFlipped((f) => !f)}
+ aria-label={`Karte umdrehen: ${before}`}
+ >
+
+
+ {/* VORDERSEITE — Vorher */}
+
+
Kennst du das?
+
{before}
+
+
+
+
+ drehe mich um
+
+
+
+ {/* RÜCKSEITE — Nachher */}
+
+
Das hast du danach:
+
{after}
+
+
+
+
+ nach 8 Wochen
+
+
+
+
+
+ );
+}
+
+export default function FlipCards() {
+ return (
+
+
+
+
+
+ Transformation
+
+
+ Kennst du das?
+
+
+ Fahre über eine Karte — oder klicke drauf — um zu sehen was sich verändert.
+
+
+
+
+ {PAIRS.map((pair, i) => (
+
+ ))}
+
+
+
+ Dein Wissen war schon da. Jetzt bekommt es die Struktur die Kunden bringt.
+
+
+
+ );
+}
diff --git a/src/app/globals.css b/src/app/globals.css
index fae95fc..ea251c4 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -59,6 +59,92 @@ body {
details summary::-webkit-details-marker { display: none; }
+/* ── Flip Cards ── */
+.flip-card-wrapper {
+ perspective: 1000px;
+ height: 220px;
+}
+
+.flip-card-inner {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ transform-style: preserve-3d;
+ transition: transform 0.55s cubic-bezier(0.4, 0.2, 0.2, 1);
+}
+
+.flip-card-inner.flipped {
+ transform: rotateY(180deg);
+}
+
+.flip-face {
+ position: absolute;
+ inset: 0;
+ backface-visibility: hidden;
+ -webkit-backface-visibility: hidden;
+ border-radius: 1rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 12px;
+ padding: 24px;
+ text-align: center;
+}
+
+.flip-front {
+ background: #ffffff;
+ border: 1px solid #eae8f8;
+ box-shadow: 0 2px 12px rgba(99, 102, 241, 0.06);
+}
+
+.flip-back {
+ background: linear-gradient(135deg, #6366f1, #8b5cf6);
+ transform: rotateY(180deg);
+ box-shadow: 0 4px 24px rgba(99, 102, 241, 0.35);
+}
+
+.flip-label {
+ font-size: 0.65rem;
+ font-weight: 800;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ border-radius: 99px;
+ padding: 3px 10px;
+}
+
+.flip-label-front {
+ background: #eef2ff;
+ color: #4338ca;
+}
+
+.flip-label-back {
+ background: rgba(255,255,255,0.2);
+ color: #fff;
+}
+
+.flip-text {
+ font-size: 0.9rem;
+ line-height: 1.5;
+ font-style: italic;
+}
+
+.flip-front .flip-text { color: #475569; }
+.flip-back .flip-text { color: #fff; font-style: normal; font-weight: 600; }
+
+.flip-hint {
+ font-size: 0.68rem;
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ color: #a5b4fc;
+ margin-top: auto;
+}
+
+.flip-hint-back {
+ color: rgba(255,255,255,0.7);
+}
+
/* ── Timeline scroll animations ── */
.tl-card {
opacity: 0;
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 99da417..7be12c1 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,5 +1,6 @@
import Image from "next/image";
import WeekTimeline from "./components/WeekTimeline";
+import FlipCards from "./components/FlipCards";
const CTA_HREF = "#platz-sichern";
@@ -225,35 +226,7 @@ export default function Home() {
- {/* ══════════════════════════════════════════
- VORHER / NACHHER
- ══════════════════════════════════════════ */}
-
-
-
-
Transformation
-
Vorher. Nachher.
-
-
- {[
- ["\u201EIch wei\xDF viel \u2014 aber niemand fragt an.\u201C", "Positionierung in einem Satz. System das Anfragen bringt."],
- ["\u201EIch poste regelm\xe4\xDFig. Nichts passiert.\u201C", "Content-Plan f\xFCr alle Plattformen \u2014 du wei\xDFt was, wann, warum."],
- ["\u201EIch wei\xDF nicht wie Marketing und Vertrieb zusammenh\xe4ngen.\u201C", "Marketing-Systemkarte. Alle Teile greifen ineinander."],
- ["\u201EIch warte dass Kunden kommen.\u201C", "Verkaufsskript. Direktansprache. Ich gehe hin."],
- ["\u201EIch werde online nicht gefunden.\u201C", "Google Business optimiert. Seite f\xFCr mein Keyword."],
- ["\u201ENach jedem Kurs fange ich wieder bei null an.\u201C", "Ein System aus Marketing, Vertrieb und Social Media \u2014 das weiterl\xe4uft."],
- ].map(([before, after], i) => (
-
- ))}
-
-
- Dein Wissen war schon da. Jetzt hat es eine Struktur die Kunden bringt.
-
-
-
+
{/* ══════════════════════════════════════════
MEET THE COACH — Brunson-Style