434 lines
22 KiB
HTML
434 lines
22 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Executive Briefing: Sales Intelligence & Yield</title>
|
|
<!-- Fonts -->
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Space+Grotesk:wght@300;500;700&display=swap" rel="stylesheet">
|
|
<!-- Tailwind CSS -->
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
brandDark: '#081734',
|
|
brandLight: '#DDEEFE',
|
|
brandCyan: '#00E5FF',
|
|
brandGold: '#FFD42C',
|
|
brandSlate: '#1E293B'
|
|
},
|
|
fontFamily: {
|
|
'head': ['Space Grotesk', 'sans-serif'],
|
|
'body': ['Inter', 'sans-serif']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style>
|
|
body {
|
|
background-color: #081734;
|
|
color: #DDEEFE;
|
|
font-family: 'Inter', sans-serif;
|
|
overflow-x: hidden;
|
|
line-height: 1.6;
|
|
}
|
|
h1, h2, h3, h4 { font-family: 'Space Grotesk', sans-serif; font-weight: 700; }
|
|
|
|
.glass-card {
|
|
background: rgba(221, 238, 254, 0.03);
|
|
backdrop-filter: blur(12px);
|
|
border: 1px solid rgba(0, 229, 255, 0.1);
|
|
border-radius: 24px;
|
|
}
|
|
|
|
.section-screen {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
padding: 4rem 2rem;
|
|
}
|
|
|
|
/* Toby Animation */
|
|
.toby-float { animation: float 6s ease-in-out infinite; }
|
|
@keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(2deg); } 100% { transform: translateY(0px) rotate(0deg); } }
|
|
|
|
#toby-fixed {
|
|
position: fixed;
|
|
bottom: 40px;
|
|
right: 40px;
|
|
width: 180px;
|
|
z-index: 100;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
#toby-bubble {
|
|
background: #DDEEFE;
|
|
color: #081734;
|
|
padding: 1rem 1.5rem;
|
|
border-radius: 18px;
|
|
font-size: 0.95rem;
|
|
font-weight: 600;
|
|
margin-bottom: 15px;
|
|
position: relative;
|
|
text-align: center;
|
|
box-shadow: 0 10px 30px rgba(0,229,255,0.2);
|
|
max-width: 250px;
|
|
}
|
|
#toby-bubble::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -10px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
border-width: 10px 10px 0;
|
|
border-style: solid;
|
|
border-color: #DDEEFE transparent transparent transparent;
|
|
}
|
|
|
|
/* Custom Progress Bar */
|
|
#progress-container {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 4px;
|
|
background: rgba(255,255,255,0.05);
|
|
z-index: 1000;
|
|
}
|
|
#progress-bar {
|
|
height: 100%;
|
|
width: 0%;
|
|
background: linear-gradient(90deg, #00E5FF, #30BDEA);
|
|
box-shadow: 0 0 10px rgba(0,229,255,0.5);
|
|
}
|
|
|
|
.text-gradient {
|
|
background: linear-gradient(135deg, #FFF 0%, #00E5FF 100%);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
}
|
|
|
|
.stat-value { font-size: 4rem; font-weight: 700; line-height: 1; }
|
|
|
|
/* White Space Helpers */
|
|
.content-width { max-width: 1100px; width: 100%; }
|
|
|
|
/* Reveal Animations */
|
|
.reveal { opacity: 0; transform: translateY(30px); }
|
|
</style>
|
|
</head>
|
|
<body class="antialiased">
|
|
|
|
<div id="progress-container"><div id="progress-bar"></div></div>
|
|
|
|
<!-- Toby Fixed -->
|
|
<div id="toby-fixed" class="toby-float">
|
|
<div id="toby-bubble">Bereit für den Yield-Check?</div>
|
|
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAc2CAYAAABaJTzmAAAACXBIWXMAABsRAAAbEQEEnGAvAAAEvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI2LTAxLTEzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dExtZD4zZjE1OTM5Ny04MWM3LTQyM2ItOWViMy02ODYyYzAxZjM4NGI8L0F0dHJpYjpFeHRJZD4KICAgICA8QXR0cmliOkZiSWQ+NTI1MjY1OTE0MTc5NTgwPC9BdHRyaWI6RmJJZD4KICAgICA8QXR0cmliOlRvdWNoVHlwZT4yPC9BdHRyaWI6VG91Y2hUeXBlPgogICAgPC9yZGY6bGk+CiAgIDwvJmRmOlNlcT4KICB8L0F0dHJpYjpBZHM+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOnRpdGxlPgogICA8cmRmOkFsdD4KICAgIDxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+Um9ib1BsYW5ldF9BdmF0YXJfaGVsbGJsYXUuYWkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPldhY2tsZXJHcm91cDwvcGRmOkF1dGhvcm4+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhtcDpDcmVhdG9yVG9vbD5DYW52YSBkb2M9REFHLVN1Y0tTeXMgdXNlcj1VQUVUOG1KY3lhSSBicmFuZD1CQUVUOGd0OERsTSB0ZW1wbGF0ZT08L3htcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSdyJz8+qsA63gAACAASURBVHic7N15uG5z/fj/zx+/6/urvqU5aVCSSFGhyJjMZAghY6aMoQxJEioaKBkjkTEJERWJFAopY6nOWvc+xzmpnNa695n4616v73qvc/o0knOcc9733vvxvK7HtU/lCnvf+17v4V7v9T//I0mSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS... [truncated]" alt="Toby" class="w-full">
|
|
</div>
|
|
|
|
<!-- 1. Intro Screen -->
|
|
<section class="section-screen">
|
|
<div class="content-width text-center">
|
|
<h4 class="text-brandCyan uppercase tracking-[0.3em] mb-6 reveal font-head">Tag 120 Briefing</h4>
|
|
<h1 class="text-7xl md:text-8xl font-bold mb-8 reveal leading-tight">Intelligence <br> <span class="text-gradient">Infrastructure</span></h1>
|
|
<p class="text-xl md:text-2xl text-brandLight/60 max-w-2xl mx-auto mb-12 reveal font-body font-light">
|
|
Vom manuellen Reporting zum Live-Cockpit. <br>
|
|
Ergebnisse der ersten 4 Monate & 30 Tage Dashboard.
|
|
</p>
|
|
<div class="flex justify-center gap-4 reveal">
|
|
<div class="h-[1px] w-24 bg-brandCyan/30 self-center"></div>
|
|
<span class="text-brandCyan font-mono uppercase text-sm tracking-widest">Die Reise beginnt</span>
|
|
<div class="h-[1px] w-24 bg-brandCyan/30 self-center"></div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 2. The Shift / Efficiency -->
|
|
<section class="section-screen bg-brandSlate/20">
|
|
<div class="content-width">
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 items-center">
|
|
<div class="reveal">
|
|
<h2 class="text-5xl mb-8">Schluss mit dem Excel-Silo.</h2>
|
|
<p class="text-lg text-brandLight/70 mb-8">
|
|
Bisher kostete die manuelle Aufbereitung der Pipeline eine Stunde pro Woche. Heute haben wir <strong>Live-Daten auf Knopfdruck</strong>.
|
|
</p>
|
|
<div class="grid grid-cols-2 gap-4 mb-8">
|
|
<div class="p-6 bg-white/5 rounded-2xl border border-white/10">
|
|
<p class="text-3xl font-bold text-white">-1h</p>
|
|
<p class="text-xs uppercase tracking-widest text-brandLight/40">Manueller Aufwand</p>
|
|
<p class="text-[10px] text-brandLight/50 mt-1">pro Woche eingespart</p>
|
|
</div>
|
|
<div class="p-6 bg-brandCyan/10 rounded-2xl border border-brandCyan/20">
|
|
<p class="text-3xl font-bold text-brandCyan">Echtzeit</p>
|
|
<p class="text-xs uppercase tracking-widest text-brandCyan/60">Pipeline Truth</p>
|
|
<p class="text-[10px] text-brandCyan/50 mt-1">Interaktiv & Filterbar</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="relative reveal">
|
|
<div class="absolute -inset-4 bg-brandCyan/10 blur-3xl rounded-full"></div>
|
|
<div class="glass-card p-12 relative border-brandCyan/30 flex flex-col items-center justify-center text-center">
|
|
<div class="stat-value text-brandCyan mb-2">30</div>
|
|
<p class="uppercase tracking-widest text-sm font-bold">Tage Live</p>
|
|
<div class="w-full h-px bg-white/10 my-8"></div>
|
|
<p class="text-brandLight/50 italic">"Das Dashboard verbindet die Punkte, die in SuperOffice verstreut liegen."</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 3. Transparency / Deep Integration -->
|
|
<section class="section-screen">
|
|
<div class="content-width">
|
|
<div class="text-center mb-16 reveal">
|
|
<h2 class="text-5xl mb-6">Integrierte Transparenz</h2>
|
|
<p class="text-xl text-brandLight/60 max-w-3xl mx-auto">
|
|
Wir sehen nicht nur Zahlen, wir sehen die <strong>Kunden-Reise</strong>. Alles an einem Ort, statt in Untermenüs versteckt.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 reveal">
|
|
<div class="glass-card p-8 border-white/10 hover:border-brandCyan/30 transition-all">
|
|
<div class="text-3xl mb-4">📧</div>
|
|
<h4 class="font-bold mb-2">Letzte Mail</h4>
|
|
<p class="text-xs text-brandLight/50">Direkter Status des Austauschs.</p>
|
|
</div>
|
|
<div class="glass-card p-8 border-white/10 hover:border-brandCyan/30 transition-all">
|
|
<div class="text-3xl mb-4">📞</div>
|
|
<h4 class="font-bold mb-2">Letzter Call</h4>
|
|
<p class="text-xs text-brandLight/50">Wann war der letzte Kontakt?</p>
|
|
</div>
|
|
<div class="glass-card p-8 border-white/10 hover:border-brandCyan/30 transition-all">
|
|
<div class="text-3xl mb-4">🚗</div>
|
|
<h4 class="font-bold mb-2">Vor-Ort-Termin</h4>
|
|
<p class="text-xs text-brandLight/50">Wichtige Meilensteine im Blick.</p>
|
|
</div>
|
|
<div class="glass-card p-8 border-white/10 hover:border-brandCyan/30 transition-all">
|
|
<div class="text-3xl mb-4">⚡</div>
|
|
<h4 class="font-bold mb-2">Deep Linking</h4>
|
|
<p class="text-xs text-brandLight/50">Ein Klick führt direkt zum SO-Sale.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-16 glass-card p-10 bg-brandCyan/5 border-brandCyan/20 reveal">
|
|
<p class="text-2xl text-center text-white font-light">
|
|
"Was in SuperOffice 5 Klicks braucht, liegt hier auf der Oberfläche."
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 4. Pipeline Insights / The Truth -->
|
|
<section class="section-screen bg-brandSlate/10">
|
|
<div class="content-width">
|
|
<h2 class="text-5xl mb-16 text-center reveal">Gereinigte Pipeline</h2>
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
<!-- Gross -->
|
|
<div class="glass-card p-10 reveal" style="transition-delay: 0.1s">
|
|
<p class="text-brandLight/50 mb-4 uppercase text-xs font-bold tracking-widest">SuperOffice Sicht</p>
|
|
<div class="stat-value text-white mb-2">5,2M</div>
|
|
<p class="text-sm text-brandLight/70">Inklusive Varianten-Bloat</p>
|
|
</div>
|
|
<!-- Bloat -->
|
|
<div class="glass-card p-10 border-red-500/30 reveal" style="transition-delay: 0.2s">
|
|
<p class="text-red-400 mb-4 uppercase text-xs font-bold tracking-widest">Identifizierte Dubletten</p>
|
|
<div class="stat-value text-red-500 mb-2">-1,6M</div>
|
|
<p class="text-sm text-brandLight/70">Variantenschutz-Logik</p>
|
|
</div>
|
|
<!-- Netto -->
|
|
<div class="glass-card p-10 border-brandCyan/50 bg-brandCyan/5 reveal" style="transition-delay: 0.3s">
|
|
<p class="text-brandCyan mb-4 uppercase text-xs font-bold tracking-widest">Real-Pipeline</p>
|
|
<div class="stat-value text-brandCyan mb-2">3,6M</div>
|
|
<p class="text-sm text-brandLight/70">Operative Handlungsgrundlage</p>
|
|
</div>
|
|
</div>
|
|
<p class="mt-12 text-center text-brandLight/40 max-w-2xl mx-auto reveal">
|
|
Unser Dashboard übertrifft die manuelle Analyse. Es erkennt Varianten automatisch und liefert die 'Clean Pipeline'.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 5. First Traction / Action Hub -->
|
|
<section class="section-screen">
|
|
<div class="content-width">
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-20 items-center">
|
|
<div class="reveal order-2 md:order-1">
|
|
<div class="glass-card p-10 border-brandCyan/40 relative overflow-hidden">
|
|
<div class="absolute top-0 right-0 p-4 opacity-10 text-8xl">🚀</div>
|
|
<h2 class="text-4xl mb-6">Erster Proof-of-Value</h2>
|
|
<p class="text-lg text-brandLight/70 mb-8">
|
|
Der "Magic Wand" ist bereits im Einsatz. In den ersten 30 Tagen haben wir gezielte Rückrufbitte-Mails aus dem Dashboard heraus versendet.
|
|
</p>
|
|
<div class="space-y-6">
|
|
<div class="flex items-center gap-6">
|
|
<div class="stat-value text-brandGold">>20%</div>
|
|
<p class="text-xl font-semibold leading-tight">Response-Rate (Erste 70 Leads)</p>
|
|
</div>
|
|
<div class="p-4 bg-brandCyan/10 rounded-lg border border-brandCyan/20">
|
|
<p class="text-xs uppercase tracking-widest text-brandCyan font-bold mb-2">Ergebnis</p>
|
|
<p class="text-sm text-brandLight/90">Direkte Kundenreaktion und dokumentierter Austausch innerhalb von 10 Tagen.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="reveal order-1 md:order-2">
|
|
<h3 class="text-brandCyan font-mono uppercase tracking-widest mb-6">Early Traction</h3>
|
|
<h2 class="text-6xl mb-8 leading-tight">Vom Reporting zum <span class="text-gradient">Hub.</span></h2>
|
|
<p class="text-xl text-brandLight/60 font-light">
|
|
Ein Kollege, 70 Kontakte, massiver Erfolg. <br>
|
|
Das Dashboard befähigt zur schnellen Interaktion.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 6. Winning DNA / Discovered Pattern -->
|
|
<section class="section-screen bg-white/5">
|
|
<div class="content-width">
|
|
<div class="text-center mb-20 reveal">
|
|
<h2 class="text-5xl mb-6">Die Winning DNA</h2>
|
|
<p class="text-xl text-brandLight/60">Die Daten-Analyse der Historie zeigt den Weg.</p>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-12">
|
|
<div class="glass-card p-12 reveal">
|
|
<h3 class="text-2xl mb-8 flex items-center gap-3">
|
|
<span class="w-8 h-8 rounded bg-brandCyan/20 flex items-center justify-center text-brandCyan">Insight</span>
|
|
Der Vor-Ort-Fokus
|
|
</h3>
|
|
<div class="flex items-end gap-6 mb-8">
|
|
<div class="w-full bg-white/5 h-48 rounded-t-lg relative overflow-hidden">
|
|
<div class="absolute bottom-0 w-full bg-brandLight/20 h-[38%] flex items-center justify-center text-xs font-bold">9%</div>
|
|
</div>
|
|
<div class="w-full bg-brandCyan/10 h-48 rounded-t-lg relative overflow-hidden">
|
|
<div class="absolute bottom-0 w-full bg-brandCyan h-[100%] flex items-center justify-center text-brandDark font-bold text-xl">24%</div>
|
|
</div>
|
|
</div>
|
|
<p class="text-3xl font-bold text-brandCyan mb-2">+159% Win-Rate</p>
|
|
<p class="text-brandLight/60">Die historische Korrelation ist eindeutig: Demos vor Ort verdreifachen die Gewinnchance.</p>
|
|
</div>
|
|
|
|
<div class="glass-card p-12 reveal">
|
|
<h3 class="text-2xl mb-8 flex items-center gap-3">
|
|
<span class="w-8 h-8 rounded bg-brandCyan/20 flex items-center justify-center text-brandCyan">Ziel</span>
|
|
Speed-to-Lead
|
|
</h3>
|
|
<div class="flex items-center justify-between gap-8 mb-12">
|
|
<div class="text-center">
|
|
<p class="text-4xl font-bold text-white/30 line-through">37</p>
|
|
<p class="text-xs uppercase tracking-widest text-brandLight/40">Tage (Median)</p>
|
|
</div>
|
|
<div class="flex-1 h-px bg-white/10 relative">
|
|
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-8 rounded-full bg-brandCyan flex items-center justify-center text-brandDark font-bold">➔</div>
|
|
</div>
|
|
<div class="text-center">
|
|
<p class="text-6xl font-bold text-brandCyan">10</p>
|
|
<p class="text-xs uppercase tracking-widest font-bold">Tage (Target)</p>
|
|
</div>
|
|
</div>
|
|
<p class="text-xl text-white mb-2">Reaktionszeit als Benchmark.</p>
|
|
<p class="text-brandLight/60">Das Dashboard macht Stagnation sichtbar, bevor der Lead erkaltet.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 7. Conclusion -->
|
|
<section class="section-screen">
|
|
<div class="content-width text-center">
|
|
<h2 class="text-6xl mb-12 reveal">Ein Werkzeug für <br> <span class="text-gradient">echte Sales-Champions.</span></h2>
|
|
<div class="max-w-xl mx-auto space-y-8 reveal">
|
|
<p class="text-xl text-brandLight/70">
|
|
Wir haben aufgehört, Berichte zu bauen. Wir haben angefangen, ein Cockpit zu fliegen.
|
|
</p>
|
|
<div class="h-px w-32 bg-brandCyan mx-auto opacity-30"></div>
|
|
<p class="text-2xl font-bold text-white uppercase tracking-widest">Bereit für Monat 2.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Scripts -->
|
|
<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>
|
|
<script>
|
|
gsap.registerPlugin(ScrollTrigger);
|
|
|
|
const tobyFixed = document.getElementById('toby-fixed');
|
|
const tobyBubble = document.getElementById('toby-bubble');
|
|
const progressBar = document.getElementById('progress-bar');
|
|
|
|
const tobyMessages = [
|
|
"Tag 120: Wir sind bereit!",
|
|
"Adieu Excel! Hallo Freizeit.",
|
|
"Alles im Blick. Ohne 1000 Klicks.",
|
|
"Die Pipeline ist jetzt blitzsauber.",
|
|
"20% Quote? Das ist erst der Anfang!",
|
|
"Daten lügen nicht: Demos bringen Yield.",
|
|
"Anschnallen, wir skalieren!"
|
|
];
|
|
|
|
function updateToby(index) {
|
|
if (tobyMessages[index]) {
|
|
tobyBubble.innerHTML = tobyMessages[index];
|
|
gsap.fromTo(tobyBubble, { scale: 0.8, opacity: 0 }, { scale: 1, opacity: 1, duration: 0.4, ease: "back.out(1.7)" });
|
|
}
|
|
}
|
|
|
|
// Reveal Animations
|
|
gsap.utils.toArray('.reveal').forEach((el, i) => {
|
|
gsap.to(el, {
|
|
scrollTrigger: {
|
|
trigger: el,
|
|
start: "top 85%",
|
|
toggleActions: "play none none reverse"
|
|
},
|
|
opacity: 1,
|
|
y: 0,
|
|
duration: 0.8,
|
|
ease: "power2.out"
|
|
});
|
|
});
|
|
|
|
// Toby Visibility & Updates
|
|
ScrollTrigger.create({
|
|
trigger: "body",
|
|
start: "100px top",
|
|
onEnter: () => gsap.to(tobyFixed, { opacity: 1, duration: 0.5 }),
|
|
onLeaveBack: () => gsap.to(tobyFixed, { opacity: 0, duration: 0.5 })
|
|
});
|
|
|
|
const sections = gsap.utils.toArray('section');
|
|
sections.forEach((section, i) => {
|
|
ScrollTrigger.create({
|
|
trigger: section,
|
|
start: "top center",
|
|
onEnter: () => updateToby(i),
|
|
onEnterBack: () => updateToby(i)
|
|
});
|
|
});
|
|
|
|
// Progress Bar
|
|
gsap.to(progressBar, {
|
|
width: "100%",
|
|
ease: "none",
|
|
scrollTrigger: { scrub: 0.3 }
|
|
});
|
|
|
|
</script>
|
|
</body>
|
|
</html> |