486 lines
24 KiB
HTML
486 lines
24 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Sales Intelligence Cockpit | RoboPlanet</title>
|
||
<!-- Tailwind CSS -->
|
||
<script src="https://cdn.tailwindcss.com"></script>
|
||
<!-- GSAP & ScrollTrigger -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
|
||
|
||
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;800&display=swap" rel="stylesheet">
|
||
|
||
<style>
|
||
:root {
|
||
--robo-blue: #1d4ed8;
|
||
--bg-light: #ffffff;
|
||
--text-main: #020617;
|
||
--text-muted: #475569;
|
||
}
|
||
|
||
body {
|
||
font-family: 'Plus Jakarta Sans', sans-serif;
|
||
background-color: var(--bg-light);
|
||
color: var(--text-main);
|
||
overflow-x: hidden;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
/* 1080p Optimization - Maximum Whitespace */
|
||
.slide {
|
||
min-height: 140vh; /* High whitespace between sections */
|
||
width: 100vw;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 0 10%;
|
||
position: relative;
|
||
}
|
||
|
||
.split-layout {
|
||
display: grid;
|
||
grid-template-cols: 38% 52%;
|
||
width: 100%;
|
||
height: 100%;
|
||
align-items: center;
|
||
gap: 10%;
|
||
}
|
||
|
||
.story-content {
|
||
z-index: 10;
|
||
max-width: 500px;
|
||
}
|
||
|
||
.visual-area {
|
||
position: relative;
|
||
height: 500px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: flex-end; /* Right-aligned */
|
||
}
|
||
|
||
/* UI Element Styling - Compressed & Authentic */
|
||
.dashboard-card {
|
||
background: white;
|
||
border: 1px solid #cbd5e1;
|
||
border-radius: 0.75rem;
|
||
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
|
||
padding: 1.25rem;
|
||
width: 100%;
|
||
max-width: 580px;
|
||
}
|
||
|
||
.system-header {
|
||
background: #f8fafc;
|
||
border-bottom: 1px solid #e2e8f0;
|
||
padding: 0.5rem 1rem;
|
||
margin: -1.25rem -1.25rem 1.25rem -1.25rem;
|
||
border-radius: 0.75rem 0.75rem 0 0;
|
||
display: flex;
|
||
gap: 0.5rem;
|
||
}
|
||
|
||
.dot { width: 8px; height: 8px; border-radius: 50%; background: #e2e8f0; }
|
||
|
||
.kpi-card {
|
||
background: white;
|
||
border-radius: 1rem;
|
||
border: 1px solid #e2e8f0;
|
||
padding: 2rem;
|
||
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
|
||
}
|
||
|
||
/* Scrollytelling Transitions */
|
||
.visual-element {
|
||
position: absolute;
|
||
opacity: 0;
|
||
transform: translateY(80px);
|
||
pointer-events: none;
|
||
width: 100%;
|
||
display: flex;
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.visual-element.active {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.progress-bar {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
height: 6px;
|
||
background: var(--robo-blue);
|
||
z-index: 110;
|
||
}
|
||
|
||
/* Solid White Header */
|
||
header {
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
padding: 1.5rem 4rem;
|
||
background: #ffffff;
|
||
z-index: 100;
|
||
border-bottom: 1px solid #f1f5f9;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
|
||
}
|
||
|
||
.logo-img {
|
||
width: 14rem;
|
||
}
|
||
|
||
h2 {
|
||
letter-spacing: -0.05em;
|
||
line-height: 1.0;
|
||
font-size: 5rem;
|
||
font-weight: 800;
|
||
margin-bottom: 3rem;
|
||
}
|
||
|
||
.text-xl { font-size: 1.25rem; }
|
||
.text-2xl { font-size: 1.6rem; color: #475569; font-weight: 400; }
|
||
|
||
.highlight-blue {
|
||
color: var(--robo-blue);
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<div class="progress-bar" id="progressBar" style="width: 0%;"></div>
|
||
|
||
<!-- Header -->
|
||
<header>
|
||
<img src="ROBOPLANET-Logo-2024_blue-black_4c.svg" alt="RoboPlanet Logo" class="logo-img">
|
||
<div class="text-[10px] font-bold uppercase tracking-[0.3em] text-slate-400">Board Presentation | Executive Strategic Briefing</div>
|
||
</header>
|
||
|
||
<main id="main" class="pt-32">
|
||
|
||
<!-- Slide 1: Ausgangslage -->
|
||
<section class="slide" id="slide1">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-blue-700 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Ausgangslage</span>
|
||
<h2>Verteilte <br><span class="text-slate-200">Sichten.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
Daten waren vorhanden – aber nicht operativ nutzbar.
|
||
</p>
|
||
<div class="space-y-6">
|
||
<div class="flex items-center gap-4 text-xl font-bold text-slate-800">
|
||
<div class="w-2 h-2 rounded-full bg-blue-700"></div> Manuelle Excel-Reports
|
||
</div>
|
||
<div class="flex items-center gap-4 text-xl font-bold text-slate-800">
|
||
<div class="w-2 h-2 rounded-full bg-blue-700"></div> Fragmentiertes Wissen
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element active" id="visual1">
|
||
<div class="relative w-[450px]">
|
||
<div class="kpi-card shadow-2xl border-slate-200 transform -rotate-2">
|
||
<div class="h-4 w-full bg-slate-50 rounded mb-2"></div>
|
||
<div class="h-4 w-2/3 bg-slate-50 rounded"></div>
|
||
</div>
|
||
<div class="kpi-card shadow-2xl border-slate-200 absolute top-12 left-8 transform rotate-3 bg-white">
|
||
<div class="h-4 w-full bg-slate-50 rounded mb-2"></div>
|
||
<div class="h-4 w-1/2 bg-slate-50 rounded"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 2: Das Cockpit -->
|
||
<section class="slide" id="slide2">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-blue-700 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Die Lösung</span>
|
||
<h2>Das <br><span class="text-blue-700">Cockpit.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
Alles Wesentliche auf einer Seite. <br>
|
||
Sofortige operative Klarheit.
|
||
</p>
|
||
<div class="bg-blue-50 border-l-[6px] border-blue-600 p-8 rounded-r-2xl">
|
||
<p class="text-blue-900 text-xl font-bold italic">"Eine Seite statt zehn Klicks."</p>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element" id="visual2">
|
||
<div class="dashboard-card">
|
||
<div class="system-header">
|
||
<div class="dot"></div><div class="dot"></div><div class="dot"></div>
|
||
<span class="text-[9px] font-bold text-slate-300 ml-2 uppercase">RoboPlanet CRM | Account Detail View</span>
|
||
</div>
|
||
<div class="flex justify-between items-center mb-4 pb-4 border-b border-slate-100">
|
||
<div>
|
||
<h3 class="text-xl font-black text-slate-900 leading-tight">DGS GmbH</h3>
|
||
<div class="text-blue-600 font-bold text-[10px]">Paul Goliasch | Neuching</div>
|
||
</div>
|
||
<div class="text-right">
|
||
<div class="text-xl font-black text-slate-900">56.996 €</div>
|
||
<div class="text-[8px] font-bold text-slate-400 uppercase">Deal Volumen</div>
|
||
</div>
|
||
</div>
|
||
<div class="grid grid-cols-4 gap-2 mb-4">
|
||
<div class="p-2 bg-slate-50 rounded text-center">
|
||
<div class="text-[7px] font-bold text-slate-400 mb-0.5">CALL</div>
|
||
<div class="text-[10px] font-bold">Gestern</div>
|
||
</div>
|
||
<div class="p-2 bg-slate-50 rounded text-center">
|
||
<div class="text-[7px] font-bold text-slate-400 mb-0.5">STATUS</div>
|
||
<div class="text-[10px] font-bold text-blue-700 uppercase">Offen</div>
|
||
</div>
|
||
<div class="p-2 bg-red-50 rounded text-center border border-red-100">
|
||
<div class="text-[7px] font-bold text-red-400 mb-0.5">TIME</div>
|
||
<div class="text-[10px] font-bold text-red-600 uppercase">Overdue</div>
|
||
</div>
|
||
<div class="p-2 bg-slate-50 rounded text-center">
|
||
<div class="text-[7px] font-bold text-slate-400 mb-0.5">TYPE</div>
|
||
<div class="text-[10px] font-bold uppercase">Robotics</div>
|
||
</div>
|
||
</div>
|
||
<div class="p-3 bg-white border border-slate-100 rounded shadow-sm flex justify-between items-center">
|
||
<div class="flex items-center gap-2">
|
||
<div class="w-1.5 h-1.5 rounded-full bg-blue-600 animate-pulse"></div>
|
||
<span class="text-[11px] font-bold text-slate-700">Angebot nachfassen</span>
|
||
</div>
|
||
<span class="text-[8px] font-bold text-slate-400 uppercase">Morgen</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 3: Aktion -->
|
||
<section class="slide" id="slide3">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-blue-700 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Performance</span>
|
||
<h2>Vom Überblick <br><span class="text-blue-600">zur Aktion.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
Kein Rückspiegel. <br>Ein aktives Steuerungs-Tool.
|
||
</p>
|
||
<div class="bg-slate-50 p-10 rounded-[2.5rem] border border-slate-100">
|
||
<div class="text-7xl font-black text-blue-600 mb-2">~20%</div>
|
||
<div class="text-xl font-bold text-slate-800">Response Quote</div>
|
||
<p class="text-lg text-slate-500 mt-4 italic">Innerhalb von 10 Tagen erzielt.</p>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element" id="visual3">
|
||
<div class="kpi-card w-[400px] border-blue-200">
|
||
<div class="font-bold text-lg italic text-slate-800 mb-8 flex items-center gap-3">
|
||
<div class="w-8 h-8 bg-blue-600 rounded-full flex items-center justify-center text-white">
|
||
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20"><path d="M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"></path></svg>
|
||
</div>
|
||
Aktion: Bulk-Rückrufbitte
|
||
</div>
|
||
<div class="h-3 w-full bg-slate-100 rounded-full overflow-hidden mb-4">
|
||
<div class="h-full bg-blue-600 w-[20%] rounded-full shadow-lg"></div>
|
||
</div>
|
||
<div class="flex justify-between text-[10px] font-bold text-slate-400 uppercase tracking-widest">
|
||
<span>70 Kontakte</span>
|
||
<span class="text-blue-700">14 Reaktionen</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 4: Ehrliche Pipeline -->
|
||
<section class="slide" id="slide4">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-red-600 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Transparenz</span>
|
||
<h2>Ehrliche <br><span class="text-red-600">Pipeline.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
Gute Steuerung beginnt mit der Realität. <br>Bereinigung statt Hoffnung.
|
||
</p>
|
||
<div class="kpi-card border-red-100 bg-red-50/20 p-8">
|
||
<div class="text-6xl font-black text-red-600 mb-2">+44%</div>
|
||
<div class="text-xl font-bold text-slate-800 uppercase">Bereinigtes Lost-Volumen</div>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element" id="visual4">
|
||
<div class="dashboard-card w-[450px]">
|
||
<div class="text-[9px] font-bold text-slate-400 uppercase tracking-[0.3em] mb-10 text-center">Pipeline Bereinigung (Volume)</div>
|
||
<div class="space-y-10">
|
||
<div>
|
||
<div class="flex justify-between text-xs font-bold mb-2">
|
||
<span class="text-slate-400">MÄRZ 26</span>
|
||
<span class="text-slate-800">1,42 Mio. €</span>
|
||
</div>
|
||
<div class="h-5 w-full bg-slate-100 rounded-full overflow-hidden"><div class="h-full bg-slate-300 w-[42%] rounded-full"></div></div>
|
||
</div>
|
||
<div>
|
||
<div class="flex justify-between text-xs font-bold mb-2 text-red-600">
|
||
<span>MAI 26</span>
|
||
<span>2,05 Mio. €</span>
|
||
</div>
|
||
<div class="h-5 w-full bg-slate-100 rounded-full shadow-inner"><div class="h-full bg-red-600 w-[65%] rounded-full"></div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 5: Management Intelligence -->
|
||
<section class="slide" id="slide5">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-blue-700 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Intelligence</span>
|
||
<h2>Management <br><span class="text-blue-700">Cockpit.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
Erfolgsmuster erkennen. <br>Stagnation vermeiden.
|
||
</p>
|
||
<div class="space-y-8">
|
||
<div class="text-xl font-bold text-slate-800 flex items-center gap-4">
|
||
<div class="w-1.5 h-1.5 rounded-full bg-blue-700"></div> Pipeline Velocity Analyse
|
||
</div>
|
||
<div class="text-xl font-bold text-slate-800 flex items-center gap-4">
|
||
<div class="w-1.5 h-1.5 rounded-full bg-blue-700"></div> Winning Habits Tracking
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element" id="visual5">
|
||
<div class="dashboard-card w-[500px]">
|
||
<div class="grid grid-cols-3 gap-4 mb-8 text-center border-b border-slate-50 pb-8">
|
||
<div><div class="text-blue-700 font-black text-2xl">12d</div><div class="text-[8px] font-bold text-slate-400 uppercase mt-1">Response</div></div>
|
||
<div><div class="text-blue-700 font-black text-2xl">4.8</div><div class="text-[8px] font-bold text-slate-400 uppercase mt-1">Calls/Deal</div></div>
|
||
<div><div class="text-blue-700 font-black text-2xl">+159%</div><div class="text-[8px] font-bold text-slate-400 uppercase mt-1">Uplift</div></div>
|
||
</div>
|
||
<div class="space-y-3">
|
||
<div class="flex items-center justify-between p-3 bg-blue-50/50 rounded border border-blue-100">
|
||
<div class="flex items-center gap-3">
|
||
<div class="w-7 h-7 bg-blue-700 rounded-full flex items-center justify-center text-[8px] font-bold text-white italic">PH</div>
|
||
<span class="text-[11px] font-bold">Pierre Hollein | LIVE</span>
|
||
</div>
|
||
<span class="text-[8px] font-bold text-blue-700 uppercase">Vorführung</span>
|
||
</div>
|
||
<div class="flex items-center justify-between p-3 bg-slate-50 rounded">
|
||
<div class="flex items-center gap-3">
|
||
<div class="w-7 h-7 bg-slate-300 rounded-full flex items-center justify-center text-[8px] font-bold text-white italic">IA</div>
|
||
<span class="text-[11px] font-bold text-slate-600">Ibrahim Akar</span>
|
||
</div>
|
||
<span class="text-[8px] font-bold text-slate-400 uppercase">Angebot</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 6: White Space -->
|
||
<section class="slide" id="slide6">
|
||
<div class="split-layout">
|
||
<div class="story-content">
|
||
<span class="text-blue-700 font-bold uppercase tracking-[0.25em] text-xs mb-8 block">Potenzial</span>
|
||
<h2>Nächster <br><span class="text-blue-600">Hebel.</span></h2>
|
||
<p class="text-2xl leading-relaxed mb-12">
|
||
68% der Accounts im CRM <br>ohne Ansprechpartner.
|
||
</p>
|
||
<div class="bg-blue-600 text-white p-10 rounded-[2.5rem] shadow-2xl">
|
||
<div class="text-7xl font-black mb-2">68%</div>
|
||
<div class="text-xl font-bold italic">White Space Accounts</div>
|
||
</div>
|
||
</div>
|
||
<div class="visual-area">
|
||
<div class="visual-element" id="visual6">
|
||
<div class="text-center">
|
||
<div class="text-[10rem] font-black text-blue-700 leading-none">11.216</div>
|
||
<div class="text-sm font-bold text-slate-400 uppercase mt-8 tracking-[0.6em]">Roh-Accounts</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Slide 7: Abschluss -->
|
||
<section class="slide" id="slide7">
|
||
<div class="w-full text-center max-w-5xl mx-auto pt-20">
|
||
<h2 class="text-[8.5rem] mb-20 italic leading-none tracking-tighter">Vertrieb. <span class="text-blue-700">Steuerbar.</span></h2>
|
||
<div class="grid grid-cols-3 gap-12 mb-20">
|
||
<div class="p-10 kpi-card shadow-xl border-slate-200 text-left">
|
||
<div class="text-blue-700 font-black text-3xl mb-4">Transparent</div>
|
||
<p class="text-lg text-slate-500 font-medium">Alle Daten auf einer Seite.</p>
|
||
</div>
|
||
<div class="p-10 kpi-card shadow-xl border-slate-200 text-left">
|
||
<div class="text-blue-700 font-black text-3xl mb-4">Priorisiert</div>
|
||
<p class="text-lg text-slate-500 font-medium">Vom Alarm zur Aktion.</p>
|
||
</div>
|
||
<div class="p-10 kpi-card shadow-xl border-slate-200 text-left">
|
||
<div class="text-blue-700 font-black text-3xl mb-4">Handlungsfähig</div>
|
||
<p class="text-lg text-slate-500 font-medium">Echte Hebel statt Listen.</p>
|
||
</div>
|
||
</div>
|
||
<p class="text-3xl text-slate-400 italic font-light leading-relaxed">"Du katapultierst uns damit definitiv in eine modernere Zukunft."</p>
|
||
</div>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<script>
|
||
gsap.registerPlugin(ScrollTrigger);
|
||
|
||
// Progress Bar
|
||
gsap.to("#progressBar", {
|
||
width: "100%",
|
||
scrollTrigger: {
|
||
trigger: "body",
|
||
start: "top top",
|
||
end: "bottom bottom",
|
||
scrub: 0.3
|
||
}
|
||
});
|
||
|
||
// Scrollytelling Setup
|
||
const slides = ["slide1", "slide2", "slide3", "slide4", "slide5", "slide6", "slide7"];
|
||
|
||
slides.forEach((slideId, index) => {
|
||
const visualId = `visual${index + 1}`;
|
||
const visual = document.getElementById(visualId);
|
||
|
||
if (visual) {
|
||
ScrollTrigger.create({
|
||
trigger: `#${slideId}`,
|
||
start: "top center",
|
||
end: "bottom center",
|
||
onEnter: () => {
|
||
gsap.to(`#${visualId}`, { opacity: 1, y: 0, duration: 1, ease: "power3.out" });
|
||
},
|
||
onLeave: () => {
|
||
if (index < slides.length - 1) {
|
||
gsap.to(`#${visualId}`, { opacity: 0, y: -60, duration: 0.7 });
|
||
}
|
||
},
|
||
onEnterBack: () => {
|
||
gsap.to(`#${visualId}`, { opacity: 1, y: 0, duration: 1 });
|
||
},
|
||
onLeaveBack: () => {
|
||
gsap.to(`#${visualId}`, { opacity: 0, y: 60, duration: 0.7 });
|
||
}
|
||
});
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |