PageSourceSearch

https://www.alphadi.org/

html alphadi.org collected 2026-10-09 22:41:33 UTC 156,684 bytes, 3,657 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4
5    <meta charset="utf-8" />
6    <meta name="color-scheme" content="dark light">
7    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8    <title>Lean Six Sigma Akademie &amp; Operational Excellence </title>
9    <meta name="description" content="Lean Six Sigma, Operational Excellence und Qualit&#xE4;tsmanagement: Alphadi bietet Weiterbildung, Zertifizierung, Coaching, Beratung und AlphadiTab Software f&#xFC;r Verbesserungsprojekte." />
10    <meta name="og:title" content="Lean Six Sigma Akademie &amp; Operational Excellence " />
11    <meta name="og:description" content="Lean Six Sigma, Operational Excellence und Qualit&#xE4;tsmanagement: Alphadi bietet Weiterbildung, Zertifizierung, Coaching, Beratung und AlphadiTab Software f&#xFC;r Verbesserungsprojekte." />
12    <meta name="og:type" content="website" />
13    <meta name="og:locale" content="en" />
14
15    <link rel="icon" href="/img/favicon.ico" sizes="any">
16    <link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
17    
18    <link rel="preconnect" href="https://fonts.googleapis.com">
19    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20    <link rel="stylesheet" href="/bundles/hp-styles.css?v=_0Jinmn5XM4Jg2spIz_GA6SmJGHyq_C09ckEcirX2Nk" />
21    <link rel="stylesheet" href="/lib/katex/katex.min.css?v=7NQzvryVCIQkViOS3GPdLDyHtm1nHMrm7xzxO09F158" />
22    <style>
23        /* Mobile nav sheet: ALL top-level items look identical, whether or not they have sub-levels.
24           The plain links (Home, Events, …) are adjusted to match the dropdown group-triggers
25           (Akademie, Consulting, …) — uppercase section-header style. Inline so it always wins
26           over the prebuilt hp-styles bundle (which the browser may cache). */
27        .nav__sheet-link,
28        .nav__sheet-group-trigger {
29            font-family: var(--f-ui);
30            font-size: 0.72rem;
31            font-weight: 700;
32            letter-spacing: 0.5px; /* matches desktop, reduced from the old 0.12em */
33            text-transform: uppercase;
34            color: var(--c-subtle);
35        }
36        .nav__sheet-link { border-left: none; }
37        .nav__sheet-link:hover,
38        .nav__sheet-link.is-active { color: var(--c-dark); background: none; }
39        /* "Request a date" inquiry link (training/event booking box). It's a bare <button>, so with
40           color-scheme:dark light the browser paints its text white in OS dark mode and it vanishes.
41           Force it orange in every mode/device. Inline so it wins over the cached hp-styles bundle. */
42        .btn-link-inline {
43            background: none;
44            border: none;
45            padding: 0;
46            font: inherit;
47            color: var(--c-orange) !important;
48            font-weight: 600;
49            text-decoration: underline;
50            cursor: pointer;
51        }
52        .btn-link-inline:hover { color: var(--c-orange) !important; opacity: 0.8; }
53        /* Per-date "By invoice" inquiry toggle in the training/event booking box. Clicking
54           "By invoice" expands an inline note whose "Inquire here" link opens the request
55           modal. Inline so it wins over the cached hp-styles bundle (which dotnet build
56           does not regenerate). */
57        .date-item--two-row { flex-direction: column; align-items: stretch; gap: 0; }
58        .date-item--two-row .date-item__top {
59            display: flex; align-items: center; justify-content: space-between;
60            gap: 1rem; flex-wrap: wrap; width: 100%;
61        }
62        .date-item__actions { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
63        .date-invoice-body {
64            flex-basis: 100%;
65            display: grid; grid-template-rows: 0fr;
66            transition: grid-template-rows 0.25s ease;
67        }
68        .date-item.is-open .date-invoice-body { grid-template-rows: 1fr; }
69        .date-invoice-content { overflow: hidden; }
70        .date-invoice-content p {
71            font-family: var(--f-ui); font-size: 0.8rem; color: var(--c-dark); line-height: 1.6;
72            margin: 0.75rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--c-border);
73        }
74        .link-btn {
75            background: none; border: none; padding: 0; margin: 0; font: inherit;
76            color: var(--c-orange) !important; text-decoration: underline; cursor: pointer;
77        }
78        .link-btn:hover { opacity: 0.8; }
79        /* Two-row date item: date + action buttons on top, location on its own row below, so the
80           buttons always have room even with a long location. Inline so it wins over the cached
81           hp-styles bundle (which dotnet build does not regenerate). */
82        .date-item--two-row { flex-direction: column; align-items: stretch; gap: 0; }
83        .date-item--two-row .date-item__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; width: 100%; }
84        .date-item--two-row .date-item__loc { margin-top: 0.25rem; }
85        :root {
86    color-scheme: dark light;
87}
88        /* Logo strip is dark so the WHITE logo stays visible in light AND force-dark mode.
89           The white logo has a declared filter (filter:none) so browser force-dark won't re-invert it. */
90        .account-menu { position: relative; display: flex; align-items: center; }
91        .account-menu__chevron { flex-shrink: 0; transition: transform var(--t-base); }
92        .account-menu.is-open .account-menu__chevron { transform: rotate(180deg); }
93        .account-menu__dropdown {
94            position: absolute; top: calc(100% + 0.75rem); right: 0;
95            background: var(--c-white); border: 1px solid var(--c-border);
96            border-radius: 6px; padding: 0.5rem; width: 300px;
97            box-shadow: 0 8px 24px rgba(0,0,0,.12);
98            opacity: 0; pointer-events: none; transform: translateY(-4px);
99            transition: opacity 0.18s ease, transform 0.18s ease; z-index: 1100;
100        }
101        .account-menu__dropdown::before {
102            content: ''; position: absolute; top: -5px; right: 13px;
103            width: 9px; height: 9px; background: #fff;
104            border-top: 1px solid var(--c-border); border-left: 1px solid var(--c-border);
105            border-radius: 2px 0 0 0; transform: rotate(45deg);
106        }
107        .account-menu.is-open .account-menu__dropdown { opacity: 1; pointer-events: all; transform: translateY(0); }
108        .account-menu__body { display: flex; flex-direction: column; gap: 1rem; padding: 0.5rem 0.5rem 0.75rem; }
109        .account-menu__lead { display: flex; align-items: center; gap: 0.75rem; font-family: var(--f-ui), sans-serif; font-size: 1rem; line-height: 1.5; color: var(--c-dark); margin: 0; }
110        .account-menu__lead-icon { color: var(--c-orange); flex: 1 1 25%; min-width: 0; display: flex; justify-content: center; }
111        .account-menu__lead-text { flex: 3 3 75%; min-width: 0; }
112        .account-menu__actions { display: flex; flex-direction: column; gap: 0.5rem; }
113        .account-menu__actions .btn { width: 100%; justify-content: center; }
114        .nav__sheet-account { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 0 0.375rem; }
115        .nav__sheet-account-lead { font-family: var(--f-ui), sans-serif; font-size: 0.9rem; line-height: 1.5; color: var(--c-subtle); margin: 0 0 0.25rem; }
116        .nav__sheet-account .btn { width: 100%; justify-content: center; }
117    </style>
118    
118<script src="/bundles/hp-plugins.min.js"></script>
118
119
120    
121        <style>
122.news-card {
123  background: var(--c-white);
124  border: 1px solid var(--c-border);
125  border-radius: 10px;
126  overflow: hidden;
127  display: flex;
128  flex-direction: column;
129  text-decoration: none;
130  color: inherit;
131  transition: box-shadow .25s, transform .25s;
132}
133.news-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.1); transform: translateY(-3px); }
134.news-card__img {
135  height: 160px;
136  position: relative;
137  display: flex;
138  align-items: flex-start;
139
140}
141.news-card__tag {
142  font-family: var(--f-ui);
143  font-size: 0.68rem;
144  font-weight: 700;
145  letter-spacing: 0.1em;
146  text-transform: uppercase;
147  color: var(--c-orange);
148  background: rgba(232,100,10,.12);
149  border: 1px solid rgba(232,100,10,.25);
150  padding: 0.25rem 0.65rem;
151  border-radius: 100px;
152}
153.news-card__body { padding: 1.5rem 1.5rem 0.75rem; flex: 1; }
154.news-card__date {
155  font-family: var(--f-ui);
156  font-size: 0.75rem;
157  font-weight: 500;
158  color: var(--c-subtle);
159  margin-bottom: 0.5rem;
160}
161.news-card__title {
162  font-family: var(--f-display);
163  font-size: 1.05rem;
164  font-weight: 800;
165  color: var(--c-dark);
166  line-height: 1.3;
167  margin: 0 0 0.75rem;
168  letter-spacing: -0.01em;
169}
170.news-card__desc {
171  font-family: var(--f-ui);
172  font-size: 0.85rem;
173  color: var(--c-mid);
174  line-height: 1.65;
175  margin: 0;
176}
177.news-card__link {
178  font-family: var(--f-ui);
179  font-size: 0.82rem;
180  font-weight: 700;
181  color: var(--c-orange);
182  display: flex;
183  align-items: center;
184  gap: 0.4rem;
185  padding: 1rem 1.5rem 1.25rem;
186  transition: gap .2s;
187}
188.news-card:hover .news-card__link { gap: 0.7rem; }
189
190.trust-band {
191  background: #fff;
192  border-top: 1px solid var(--c-border);
193  border-bottom: 1px solid var(--c-border);
194  padding: 5rem 0 4.5rem;
195  overflow: hidden;
196}
197.trust-band__label {
198  text-align: center;
199  margin: 0 auto 2rem;
200  padding: 0 2rem;
201}
202.trust-band__text {
203  font-family: var(--f-display);
204  font-size: clamp(1.9rem, 3.5vw, 3.2rem);
205  font-weight: 900;
206  letter-spacing: -0.02em;
207  color: var(--c-dark);
208  margin: 0;
209  text-align: center;
210}
211.logo-track-wrap {
212  overflow: hidden;
213  mask-image: linear-gradient(to right, transparent 0%, #fff 12%, #fff 88%, transparent 100%);
214  -webkit-mask-image: linear-gradient(to right, transparent 0%, #fff 12%, #fff 88%, transparent 100%);
215}
216.logo-track {
217  display: flex;
218  align-items: center;
219  gap: 4rem;
220  width: max-content;
221  animation: logoScroll 42s linear infinite;
222}
223.logo-track:hover { animation-play-state: paused; }
224.logo-item {
225  height: 52px;
226  width: auto;
227  object-fit: contain;
228  opacity: 0.4;
229  filter: grayscale(100%);
230  flex-shrink: 0;
231  user-select: none;
232  transition: opacity .3s, filter .3s;
233  cursor: default;
234}
235.logo-item:hover { opacity: 0.85; filter: grayscale(0%); }
236@keyframes logoScroll {
237  from { transform: translateX(0); }
238  to   { transform: translateX(-50%); }
239}
240
241.impr-track {
242  display: flex;
243  gap: 1rem;
244  width: max-content;
245  animation: impr-scroll 50s linear infinite;
246}
247.impr-track:hover { animation-play-state: paused; }
248@keyframes impr-scroll {
249  from { transform: translateX(0); }
250  to   { transform: translateX(-50%); }
251}
252.impr-item {
253  position: relative;
254  flex-shrink: 0;
255  width: 280px;
256  overflow: hidden;
257  border-radius: 4px;
258  cursor: default;
259}
260.impr-item img {
261  width: 280px; height: 200px; object-fit: cover; display: block;
262  transition: transform .4s ease;
263}
264.impr-item:hover img { transform: scale(1.06); }
265.impr-item__caption {
266  position: absolute; inset: 0;
267  background: rgba(0,0,0,0);
268  transition: background .3s;
269  display: flex; align-items: flex-end;
270}
271.impr-item:hover .impr-item__caption { background: rgba(0,0,0,.50); }
272.impr-item__caption span {
273  padding: 0.85rem 1rem 0.8rem;
274  font-family: var(--f-ui); font-size: 0.8rem; font-weight: 600;
275  color: #fff; line-height: 1.35;
276  opacity: 0; transform: translateY(6px);
277  transition: opacity .25s, transform .25s;
278}
279.impr-item:hover .impr-item__caption span { opacity: 1; transform: translateY(0); }
280
281@media (max-width: 767px) {
282.news-card__img {
283  height: 250px;
284  padding: 5px;
285}
286}</style>
287
288
289        <style>#training-modules {
290background-color: #efefef;
291}
292
293section[class*="hero-padded"] {
294  padding-top: 114px;
295}
296.hero {
297  position: relative; background: var(--c-bg-warm); overflow: hidden;
298  padding-bottom: 4rem;
299}
300
301section[class*="sa-hero"] {
302  padding-top: 190px;
303}
304
305
306:root {
307  color-scheme: light only;
308}
309
310@media (prefers-color-scheme: dark) {
311  :root {
312    color-scheme: light only;
313  }
314}
315
316.sa-freetext-wrap textarea {
317
318    color: #555555 !important;
319
320}
321#cartPageContent::after {
322  content: "";
323  display: block;
324  width: 100%;
325  max-width: 420px;
326  aspect-ratio: 3 / 4;
327  margin: 3rem auto 0;
328  background: url("https://www.alphadi.org/image/1705") center / contain no-repeat;
329}
330
331html[lang="en"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1706"); }
332html[lang="es"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1707"); }
333html[lang="fr"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1708"); }
334html[lang="it"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1709"); }
335html[lang="pl"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1710"); }
336html[lang="pt"] #cartPageContent::after { background-image: url("https://www.alphadi.org/image/1711"); }</style>
337</head>
338
339<body class="is-homepage">
340    <!-- Floating alerts -->
341
342    <!-- ═══════ NAVIGATION ═══════ -->
343    <nav class="nav nav--white nav--two-row" id="mainNav">
344        <!-- Row 1: topbar (desktop only) -->
345        <div class="nav__row--top-wrap">
346            <div class="nav__row--top">
347                <div class="nav__row--top-right">
348                        <div class="lang-switch" id="topbarLangSwitch">
349                            <button class="lang-switch__btn" type="button" aria-haspopup="true">
350                                EN
351                                <svg viewBox="0 0 10 6" fill="none" stroke="currentColor">
352                                    <path d="M1 1L5 5L9 1" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
353                                </svg>
354                            </button>
355                            <div class="lang-switch__dropdown">
356                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
357                                        <button type="submit" name="culture" value="de-DE"
358                                                class="lang-switch__opt ">
359                                            DE — German
360                                        </button>
361                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
362                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
363                                        <button type="submit" name="culture" value="en-US"
364                                                class="lang-switch__opt is-active">
365                                            EN — English
366                                        </button>
367                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
368                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
369                                        <button type="submit" name="culture" value="es-ES"
370                                                class="lang-switch__opt ">
371                                            ES — Spanish
372                                        </button>
373                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
374                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
375                                        <button type="submit" name="culture" value="it-IT"
376                                                class="lang-switch__opt ">
377                                            IT — Italian
378                                        </button>
379                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
380                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
381                                        <button type="submit" name="culture" value="fr-FR"
382                                                class="lang-switch__opt ">
383                                            FR — French
384                                        </button>
385                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
386                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
387                                        <button type="submit" name="culture" value="pl-PL"
388                                                class="lang-switch__opt ">
389                                            PL — Polish
390                                        </button>
391                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
392                                    <form method="post" style="margin:0;padding:0;" action="/Home/SetLanguage?returnUrl=~%2F">
393                                        <button type="submit" name="culture" value="pt-PT"
394                                                class="lang-switch__opt ">
395                                            PT — Portuguese
396                                        </button>
397                                    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
398                            </div>
399                        </div>
400
401                        <div class="account-menu" id="accountMenu">
402                            <button class="nav__login-btn" id="accountMenuBtn" type="button" aria-haspopup="true" aria-expanded="false" aria-label="Account">
403                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 20c0-4 3.6-7 8-7s8 3 8 7"/></svg>
404                                Account
405                                <svg class="account-menu__chevron" width="10" height="10" viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
406                            </button>
407                            <div class="account-menu__dropdown">
408                                <div class="account-menu__body">
409                                    <div class="account-menu__lead">
410                                        <div class="account-menu__lead-icon">
411                                            <svg width="42" height="42" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="8" r="4"/><path d="M4 20c0-4 3.6-7 8-7s8 3 8 7"/></svg>
412                                        </div>
413                                        <div class="account-menu__lead-text">Log in into your shop account or create a new one.</div>
414                                    </div>
415                                    <div class="account-menu__actions">
416                                        <a class="btn btn--primary" href="/Internal/Account/Login?returnUrl=~%2F">
417                                            Login
418                                        </a>
419                                        <a class="btn btn--outline" href="/Internal/Account/Register?returnUrl=~%2F">
420                                            Create account
421                                        </a>
422                                    </div>
423                                </div>
424                            </div>
425                        </div>
426                    
427                    <button class="cart-btn" id="cartNavBtn" aria-label="Cart">
428                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z" /><line x1="3" y1="6" x2="21" y2="6" /><path d="M16 10a4 4 0 01-8 0" /></svg>
429                        <span class="cart-badge">0</span>
430                    </button>
431                </div>
432            </div>
433        </div>
434
435        <!-- Row 2: main nav bar -->
436        <div class="nav__inner">
437            <a class="nav__logo" style="flex-shrink:0;" href="/en">
438                    <img src="/img/logo_f.svg" alt="Alphadi" />
439            </a>
440
441            <button class="nav__toggle" id="sheetToggle" aria-label="Menu">
442                <svg class="menu-icon" viewBox="0 0 32 32" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="22" height="22">
443                    <path class="menu-icon__morph" d="M27 10 13 10C10.8 10 9 8.2 9 6 9 3.5 10.8 2 13 2 15.2 2 17 3.8 17 6L17 26C17 28.2 18.8 30 21 30 23.2 30 25 28.2 25 26 25 23.8 23.2 22 21 22L7 22"/>
444                    <path d="M7 16 27 16"/>
445                </svg>
446            </button>
447
448            <div class="nav__menu">
449                        <div class="nav__item nav__link ">
450                            <button class="nav__dropdown-trigger">
451                                Academy
452                                <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
453                            </button>
454
455                            <div class="nav__dropdown">
456                                    <a href="/en/workshops" class="nav__dropdown-item ">
457                                        <div class="nav__dropdown-icon">
458                                                <img src="/image/1164" alt="" width="25" height="25" style="object-fit:contain;">
459                                        </div>
460                                        <div>
461                                            <div class="nav__dropdown-text-title">Further training &amp; seminars</div>
462                                                <div class="nav__dropdown-text-desc"><p>Internationally certified &ndash; with access to the Excellence Program.</p>
463</div>
464                                        </div>
465                                    </a>
466                                    <a href="/en/excellence-program" class="nav__dropdown-item ">
467                                        <div class="nav__dropdown-icon">
468                                                <img src="/image/1180" alt="" width="25" height="25" style="object-fit:contain;">
469                                        </div>
470                                        <div>
471                                            <div class="nav__dropdown-text-title">Excellence Program</div>
472                                                <div class="nav__dropdown-text-desc"><p>Internationally recognized certifications for professionals and executives</p>
473</div>
474                                        </div>
475                                    </a>
476                                    <a href="/en/coaching" class="nav__dropdown-item ">
477                                        <div class="nav__dropdown-icon">
478                                                <img src="/image/1167" alt="" width="25" height="25" style="object-fit:contain;">
479                                        </div>
480                                        <div>
481                                            <div class="nav__dropdown-text-title">Coaching &amp; Consulting</div>
482                                                <div class="nav__dropdown-text-desc"><p>Individual support for companies and executives &ndash; on demand</p>
483</div>
484                                        </div>
485                                    </a>
486                                    <a href="/en/shingo-model" class="nav__dropdown-item ">
487                                        <div class="nav__dropdown-icon">
488                                                <img src="/image/1178" alt="" width="25" height="25" style="object-fit:contain;">
489                                        </div>
490                                        <div>
491                                            <div class="nav__dropdown-text-title">Shingo Model&#x2122;</div>
492                                                <div class="nav__dropdown-text-desc"><p>Systemically develop operational excellence &mdash; with culture, behavior, and leadership as the foundation.</p>
493</div>
494                                        </div>
495                                    </a>
496                            </div>
497                        </div>
498                        <a href="/en/events" class="nav__link ">Events</a>
499                        <div class="nav__item nav__link ">
500                            <button class="nav__dropdown-trigger">
501                                Consulting
502                                <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
503                            </button>
504
505                            <div class="nav__dropdown">
506                                    <a href="/en/benchmarking" class="nav__dropdown-item ">
507                                        <div class="nav__dropdown-icon">
508                                                <img src="/image/1165" alt="" width="25" height="25" style="object-fit:contain;">
509                                        </div>
510                                        <div>
511                                            <div class="nav__dropdown-text-title">Benchmarking</div>
512                                                <div class="nav__dropdown-text-desc"><p>Identify potential improvements in processes, structures, and collaboration.</p>
513</div>
514                                        </div>
515                                    </a>
516                                    <a href="/en/culture-development-system-explained" class="nav__dropdown-item ">
517                                        <div class="nav__dropdown-icon">
518                                                <img src="/image/1713" alt="" width="25" height="25" style="object-fit:contain;">
519                                        </div>
520                                        <div>
521                                            <div class="nav__dropdown-text-title">What is the Culture Development System?</div>
522                                                <div class="nav__dropdown-text-desc"><p>Develop culture purposefully</p>
523</div>
524                                        </div>
525                                    </a>
526                                    <a href="/en/excellence-community" class="nav__dropdown-item ">
527                                        <div class="nav__dropdown-icon">
528                                                <img src="/image/1181" alt="" width="25" height="25" style="object-fit:contain;">
529                                        </div>
530                                        <div>
531                                            <div class="nav__dropdown-text-title">Excellence Community</div>
532                                                <div class="nav__dropdown-text-desc"><p>Network, refresh knowledge, and exchange best practices.</p>
533</div>
534                                        </div>
535                                    </a>
536                                    <a href="/en/talent-development" class="nav__dropdown-item ">
537                                        <div class="nav__dropdown-icon">
538                                                <img src="/image/1173" alt="" width="25" height="25" style="object-fit:contain;">
539                                        </div>
540                                        <div>
541                                            <div class="nav__dropdown-text-title">Talent development</div>
542                                                <div class="nav__dropdown-text-desc"><p>Strengthen employees in a targeted manner &ndash; for performance, change, and competitiveness.</p>
543</div>
544                                        </div>
545                                    </a>
546                                    <a href="/en/opex-roll-out" class="nav__dropdown-item ">
547                                        <div class="nav__dropdown-icon">
548                                                <img src="/image/1170" alt="" width="25" height="25" style="object-fit:contain;">
549                                        </div>
550                                        <div>
551                                            <div class="nav__dropdown-text-title">OPEX Roll-out</div>
552                                                <div class="nav__dropdown-text-desc"><p>Effectively roll out OPEX &ndash; for less waste and more sustainable impact.</p>
553</div>
554                                        </div>
555                                    </a>
556                            </div>
557                        </div>
558                        <div class="nav__item nav__link ">
559                            <button class="nav__dropdown-trigger">
560                                Products
561                                <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
562                            </button>
563
564                            <div class="nav__dropdown">
565                                    <a href="/en/products/books" class="nav__dropdown-item ">
566                                        <div class="nav__dropdown-icon">
567                                                <img src="/image/1166" alt="" width="25" height="25" style="object-fit:contain;">
568                                        </div>
569                                        <div>
570                                            <div class="nav__dropdown-text-title">Publications</div>
571                                                <div class="nav__dropdown-text-desc"><p>Books, case studies, and booklets for process managers and organizations.</p>
572</div>
573                                        </div>
574                                    </a>
575                                    <a href="/en/products/tools-templates" class="nav__dropdown-item ">
576                                        <div class="nav__dropdown-icon">
577                                                <img src="/image/1184" alt="" width="25" height="25" style="object-fit:contain;">
578                                        </div>
579                                        <div>
580                                            <div class="nav__dropdown-text-title">Tools</div>
581                                                <div class="nav__dropdown-text-desc"><p>Handouts, plots, and presentations for Lean &amp; LSS &mdash; ready to use.</p>
582</div>
583                                        </div>
584                                    </a>
585                                    <a href="/en/products/workshops" class="nav__dropdown-item ">
586                                        <div class="nav__dropdown-icon">
587                                                <img src="/image/1293" alt="" width="25" height="25" style="object-fit:contain;">
588                                        </div>
589                                        <div>
590                                            <div class="nav__dropdown-text-title">Workshops</div>
591                                                <div class="nav__dropdown-text-desc"><p>Interactive formats for targeted awareness and knowledge transfer &ndash; compact and practical.</p>
592</div>
593                                        </div>
594                                    </a>
595                            </div>
596                        </div>
597                        <div class="nav__item nav__link ">
598                            <button class="nav__dropdown-trigger">
599                                Software
600                                <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
601                            </button>
602
603                            <div class="nav__dropdown">
604                                    <a href="/en/support" class="nav__dropdown-item ">
605                                        <div class="nav__dropdown-icon">
606                                                <img src="/image/1172" alt="" width="25" height="25" style="object-fit:contain;">
607                                        </div>
608                                        <div>
609                                            <div class="nav__dropdown-text-title">Support</div>
610                                                <div class="nav__dropdown-text-desc"><p>Everything about documentation, help, and support for our software solutions</p>
611</div>
612                                        </div>
613                                    </a>
614                                    <a href="/en/alphadi-tab" class="nav__dropdown-item ">
615                                        <div class="nav__dropdown-icon">
616                                                <img src="/image/1169" alt="" width="25" height="25" style="object-fit:contain;">
617                                        </div>
618                                        <div>
619                                            <div class="nav__dropdown-text-title">AlphadiTab</div>
620                                                <div class="nav__dropdown-text-desc"><p>Project management software for problem solving</p>
621</div>
622                                        </div>
623                                    </a>
624                            </div>
625                        </div>
626                        <div class="nav__item nav__link ">
627                            <button class="nav__dropdown-trigger">
628                                About us
629                                <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
630                            </button>
631
632                            <div class="nav__dropdown">
633                                    <a href="/en/career" class="nav__dropdown-item ">
634                                        <div class="nav__dropdown-icon">
635                                                <img src="/image/1416" alt="" width="25" height="25" style="object-fit:contain;">
636                                        </div>
637                                        <div>
638                                            <div class="nav__dropdown-text-title">Career </div>
639                                                <div class="nav__dropdown-text-desc"><p>Open positions at Alphadi &ndash; flat hierarchies, real responsibility, and room for professional development.</p>
640</div>
641                                        </div>
642                                    </a>
643                                    <a href="/en/ueber-uns" class="nav__dropdown-item ">
644                                        <div class="nav__dropdown-icon">
645                                                <img src="/image/1182" alt="" width="25" height="25" style="object-fit:contain;">
646                                        </div>
647                                        <div>
648                                            <div class="nav__dropdown-text-title">Meet the Team</div>
649                                                <div class="nav__dropdown-text-desc"><p>Get to know the people who shape Alphadi with heart and experience.</p>
650</div>
651                                        </div>
652                                    </a>
653                                    <a href="/en/glossary" class="nav__dropdown-item ">
654                                        <div class="nav__dropdown-icon">
655                                                <img src="/image/216" alt="" width="25" height="25" style="object-fit:contain;">
656                                        </div>
657                                        <div>
658                                            <div class="nav__dropdown-text-title">Glossary</div>
659                                                <div class="nav__dropdown-text-desc"><p>Terms, definitions and important technical terms explained at a glance.</p>
660</div>
661                                        </div>
662                                    </a>
663                            </div>
664                        </div>
665
666
667            </div>
668
669                <a href="/en/contact" class="nav__cta nav__cta--desktop">Contact</a>
670        </div>
671    </nav>
672
673    <!-- Backdrop -->
674    <div class="nav__sheet-overlay" id="sheetOverlay"></div>
675
676    <!-- Right-side nav sheet -->
677    <div class="nav__sheet" id="navSheet">
678        <div class="nav__sheet-header">
679            <div class="nav__sheet-logo">
680                <a href="/en">
681                        <img src="/img/logo_f.svg" alt="Alphadi" style="height:35px;width:auto;" />
682                </a>
683            </div>
684            <button class="nav__sheet-close" id="sheetClose" aria-label="Close menu">
685                <svg viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
686                    <path d="M1 1l12 12M13 1L1 13"/>
687                </svg>
688            </button>
689        </div>
690
691        <div class="nav__sheet-body">
692
693            <a class="nav__sheet-link is-active" href="/en">Home</a>
694
695                    <button class="nav__sheet-group-trigger" type="button">
696                        <span>Academy</span>
697                        <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
698                    </button>
699                    <div class="nav__sheet-sub">
700                            <a href="/en/workshops" class="nav__sheet-sub-item">
701                                <div class="nav__sheet-sub-icon">
702                                        <img src="/image/1164" alt="" width="20" height="20" style="object-fit:contain;">
703                                </div>
704                                Further training &amp; seminars
705                            </a>
706                            <a href="/en/excellence-program" class="nav__sheet-sub-item">
707                                <div class="nav__sheet-sub-icon">
708                                        <img src="/image/1180" alt="" width="20" height="20" style="object-fit:contain;">
709                                </div>
710                                Excellence Program
711                            </a>
712                            <a href="/en/coaching" class="nav__sheet-sub-item">
713                                <div class="nav__sheet-sub-icon">
714                                        <img src="/image/1167" alt="" width="20" height="20" style="object-fit:contain;">
715                                </div>
716                                Coaching &amp; Consulting
717                            </a>
718                            <a href="/en/shingo-model" class="nav__sheet-sub-item">
719                                <div class="nav__sheet-sub-icon">
720                                        <img src="/image/1178" alt="" width="20" height="20" style="object-fit:contain;">
721                                </div>
722                                Shingo Model&#x2122;
723                            </a>
724                    </div>
725                    <a href="/en/events" class="nav__sheet-link ">Events</a>
726                    <button class="nav__sheet-group-trigger" type="button">
727                        <span>Consulting</span>
728                        <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
729                    </button>
730                    <div class="nav__sheet-sub">
731                            <a href="/en/benchmarking" class="nav__sheet-sub-item">
732                                <div class="nav__sheet-sub-icon">
733                                        <img src="/image/1165" alt="" width="20" height="20" style="object-fit:contain;">
734                                </div>
735                                Benchmarking
736                            </a>
737                            <a href="/en/culture-development-system-explained" class="nav__sheet-sub-item">
738                                <div class="nav__sheet-sub-icon">
739                                        <img src="/image/1713" alt="" width="20" height="20" style="object-fit:contain;">
740                                </div>
741                                What is the Culture Development System?
742                            </a>
743                            <a href="/en/excellence-community" class="nav__sheet-sub-item">
744                                <div class="nav__sheet-sub-icon">
745                                        <img src="/image/1181" alt="" width="20" height="20" style="object-fit:contain;">
746                                </div>
747                                Excellence Community
748                            </a>
749                            <a href="/en/talent-development" class="nav__sheet-sub-item">
750                                <div class="nav__sheet-sub-icon">
751                                        <img src="/image/1173" alt="" width="20" height="20" style="object-fit:contain;">
752                                </div>
753                                Talent development
754                            </a>
755                            <a href="/en/opex-roll-out" class="nav__sheet-sub-item">
756                                <div class="nav__sheet-sub-icon">
757                                        <img src="/image/1170" alt="" width="20" height="20" style="object-fit:contain;">
758                                </div>
759                                OPEX Roll-out
760                            </a>
761                    </div>
762                    <button class="nav__sheet-group-trigger" type="button">
763                        <span>Products</span>
764                        <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
765                    </button>
766                    <div class="nav__sheet-sub">
767                            <a href="/en/products/books" class="nav__sheet-sub-item">
768                                <div class="nav__sheet-sub-icon">
769                                        <img src="/image/1166" alt="" width="20" height="20" style="object-fit:contain;">
770                                </div>
771                                Publications
772                            </a>
773                            <a href="/en/products/tools-templates" class="nav__sheet-sub-item">
774                                <div class="nav__sheet-sub-icon">
775                                        <img src="/image/1184" alt="" width="20" height="20" style="object-fit:contain;">
776                                </div>
777                                Tools
778                            </a>
779                            <a href="/en/products/workshops" class="nav__sheet-sub-item">
780                                <div class="nav__sheet-sub-icon">
781                                        <img src="/image/1293" alt="" width="20" height="20" style="object-fit:contain;">
782                                </div>
783                                Workshops
784                            </a>
785                    </div>
786                    <button class="nav__sheet-group-trigger" type="button">
787                        <span>Software</span>
788                        <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
789                    </button>
790                    <div class="nav__sheet-sub">
791                            <a href="/en/support" class="nav__sheet-sub-item">
792                                <div class="nav__sheet-sub-icon">
793                                        <img src="/image/1172" alt="" width="20" height="20" style="object-fit:contain;">
794                                </div>
795                                Support
796                            </a>
797                            <a href="/en/alphadi-tab" class="nav__sheet-sub-item">
798                                <div class="nav__sheet-sub-icon">
799                                        <img src="/image/1169" alt="" width="20" height="20" style="object-fit:contain;">
800                                </div>
801                                AlphadiTab
802                            </a>
803                    </div>
804                    <button class="nav__sheet-group-trigger" type="button">
805                        <span>About us</span>
806                        <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
807                    </button>
808                    <div class="nav__sheet-sub">
809                            <a href="/en/career" class="nav__sheet-sub-item">
810                                <div class="nav__sheet-sub-icon">
811                                        <img src="/image/1416" alt="" width="20" height="20" style="object-fit:contain;">
812                                </div>
813                                Career 
814                            </a>
815                            <a href="/en/ueber-uns" class="nav__sheet-sub-item">
816                                <div class="nav__sheet-sub-icon">
817                                        <img src="/image/1182" alt="" width="20" height="20" style="object-fit:contain;">
818                                </div>
819                                Meet the Team
820                            </a>
821                            <a href="/en/glossary" class="nav__sheet-sub-item">
822                                <div class="nav__sheet-sub-icon">
823                                        <img src="/image/216" alt="" width="20" height="20" style="object-fit:contain;">
824                                </div>
825                                Glossary
826                            </a>
827                    </div>
828
829
830
831                <div class="nav__sheet-divider"></div>
832                <button class="nav__sheet-group-trigger" type="button" aria-haspopup="true" aria-expanded="false">
833                    <span>
834                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:.35rem;"><circle cx="12" cy="8" r="4"/><path d="M4 20c0-4 3.6-7 8-7s8 3 8 7"/></svg>
835                        Account
836                    </span>
837                    <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
838                </button>
839                <div class="nav__sheet-sub">
840                    <div class="nav__sheet-account">
841                        <p class="nav__sheet-account-lead">Log in into your shop account or create a new one.</p>
842                        <a class="btn btn--primary" href="/Internal/Account/Login?returnUrl=~%2F">Login</a>
843                        <a class="btn btn--outline" href="/Internal/Account/Register?returnUrl=~%2F">Create account</a>
844                    </div>
845                </div>
846
847                <div class="nav__sheet-divider"></div>
848                <button class="nav__sheet-group-trigger" id="sheetLangTrigger" type="button">
849                    <span>
850                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:.35rem;"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>
851                        Language
852                    </span>
853                    <svg viewBox="0 0 10 6" fill="none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
854                </button>
855                <div class="nav__sheet-sub" id="sheetLangSub">
856                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
857                            <button type="submit" name="culture" value="de-DE"
858                                    class="nav__sheet-sub-item ">
859                                DE — German
860                            </button>
861                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
862                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
863                            <button type="submit" name="culture" value="en-US"
864                                    class="nav__sheet-sub-item is-active">
865                                EN — English
866                            </button>
867                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
868                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
869                            <button type="submit" name="culture" value="es-ES"
870                                    class="nav__sheet-sub-item ">
871                                ES — Spanish
872                            </button>
873                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
874                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
875                            <button type="submit" name="culture" value="it-IT"
876                                    class="nav__sheet-sub-item ">
877                                IT — Italian
878                            </button>
879                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
880                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
881                            <button type="submit" name="culture" value="fr-FR"
882                                    class="nav__sheet-sub-item ">
883                                FR — French
884                            </button>
885                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
886                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
887                            <button type="submit" name="culture" value="pl-PL"
888                                    class="nav__sheet-sub-item ">
889                                PL — Polish
890                            </button>
891                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
892                        <form method="post" style="margin:0;padding:0;display:contents;" action="/Home/SetLanguage?returnUrl=~%2F">
893                            <button type="submit" name="culture" value="pt-PT"
894                                    class="nav__sheet-sub-item ">
895                                PT — Portuguese
896                            </button>
897                        <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BIMwQTuEtBBtnnpT6fmYEIJ3FT-Hh3xZotLLRaycrYnGUk6pIB8LCiL9t7M5I9jr0KQqP85l_9qhQgH0XBibFln3EAJn98OOw0ztX0QnQzDztXBs3v9GmMArqH9F4t9lqu-NEYEvD0vOecauWsFctI" /></form>
898                </div>
899        </div>
900
901            <div class="nav__sheet-footer">
902                <a href="/en/contact">Contact</a>
903            </div>
904    </div>
905
906    <!-- ═══════ MAIN ═══════ -->
907    
908<meta name="description" content="Alphadi helps organizations achieve Operational Excellence, Lean Six Sigma, coaching and sustainable culture change — through workshops, consulting and the AlphadiTab software."><meta name="robots" content="index, follow"><meta name="author" content="Alphadi">
909<link href="https://alphadi.org/index-en.html" rel="canonical" /><meta property="og:type" content="website"><meta property="og:title" content="Alphadi — Culture Change with System"><meta property="og:description" content="Operational Excellence, Lean Six Sigma, coaching and sustainable culture change — workshops, consulting and software from Alphadi."><meta property="og:url" content="https://alphadi.org/index-en.html"><meta property="og:site_name" content="Alphadi"><meta property="og:locale" content="en_US"><meta property="og:image" content="https://alphadi.org/image/224"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://alphadi.org/image/224"><meta name="twitter:title" content="Alphadi — Culture Change with System"><meta name="twitter:description" content="Operational Excellence, Lean Six Sigma, coaching and culture change — with system.">
909<script type="application/ld+json">
910{
911  "@context": "https://schema.org",
912  "@graph": [
913    {
914      "@type": "WebSite",
915      "@id": "https://alphadi.org/#website",
916      "name": "Alphadi",
917      "url": "https://alphadi.org",
918      "publisher": { "@id": "https://alphadi.org/#org" }
919    },
920    {
921      "@type": "Organization",
922      "@id": "https://alphadi.org/#org",
923      "name": "Alphadi",
924      "description": "Alphadi begleitet Organisationen durch Exzellenz in Prozessoptimierung, Lean Six Sigma, Führung und Change Management.",
925      "url": "https://alphadi.org",
926      "logo": "https://alphadi.org/IMG/logo.png",
927      "contactPoint": {
928        "@type": "ContactPoint",
929        "contactType": "customer support",
930        "availableLanguage": ["German", "English"]
931      }
932    },
933    {
934      "@type": "WebPage",
935      "@id": "https://alphadi.org/index-en.html",
936      "url": "https://alphadi.org/index-en.html",
937      "name": "Alphadi — Culture Change with System",
938      "description": "Alphadi helps organizations achieve Operational Excellence, Lean Six Sigma, coaching and sustainable culture change — through workshops, consulting and the AlphadiTab software.",
939      "inLanguage": "en",
940      "isPartOf": { "@id": "https://alphadi.org/#website" },
941      "provider": { "@id": "https://alphadi.org/#org" }
942    }
943  ]
944}
945</script>
945
946<link href="https://api.fontshare.com/v2/css?f[]=satoshi@400,600,700,900&amp;display=swap" rel="stylesheet" />
947<style type="text/css">*, *::before, *::after {
948  box-sizing: border-box;
949  margin: 0;
950  padding: 0;
951  }
952  body {
953    font-family: 'Satoshi', system-ui, sans-serif;
954  }
955  :root {
956    --c-orange: #EC841F;
957    --f-ui: 'Satoshi', system-ui, sans-serif;
958  }
959  .btn {
960    display: inline-flex;
961    align-items: center;
962    gap: .5rem;
963    font-family: var(--f-ui);
964    font-size: .875rem;
965    font-weight: 600;
966    padding: .875rem 1.75rem;
967    border-radius: 999px;
968    transition: all .2s;
969    cursor: pointer;
970    text-decoration: none;
971  }
972  .btn--primary {
973    background: var(--c-orange);
974    color: #fff;
975    border: none;
976  }
977  .btn--primary:hover {
978    background: #D4711A;
979  }
980  .btn--outline-white {
981    border: 2px solid rgba(255,255,255,.7);
982    color: #fff;
983    background: rgba(255,255,255,.08);
984    backdrop-filter: blur(6px);
985    -webkit-backdrop-filter: blur(6px);
986  }
987  .btn--outline-white:hover {
988    background: rgba(255,255,255,.18);
989    border-color: #fff;
990  }
991  .btn--lg {
992    padding: 1.1rem 2.5rem;
993    font-size: 1rem;
994  }
995  .hero-v2 {
996    position: relative;
997    height: 100vh;
998    min-height: 620px;
999    overflow: hidden;
1000    background: #8aa8c8;
1001    display: flex;
1002    align-items: flex-start;
1003    justify-content: center;
1004  }
1005  .hero-v2__bg {
1006    position: absolute;
1007    inset: -6%;
1008    will-change: transform;
1009  }
1010  .hero-v2__bg-inner {
1011    position: absolute;
1012    inset: 0;
1013    background-image: url('/image/223');
1014    background-size: cover;
1015    background-position: center center;
1016    transform-origin: center center;
1017    animation: heroBgZoom 25s ease-in-out infinite alternate;
1018  }
1019  @keyframes heroBgZoom {
1020    from {
1021      transform: scale(1);
1022    }
1023    to   {
1024      transform: scale(1.22);
1025    }
1026  }
1027  .hero-v2__overlay {
1028    position: absolute;
1029    inset: 0;
1030    background: linear-gradient(to bottom, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 55%, rgba(0,0,0,.32) 100%);
1031    z-index: 1;
1032  }
1033  @keyframes heroFadeUp {
1034    from {
1035      opacity: 0;
1036      transform: translateY(22px);
1037    }
1038    to   {
1039      opacity: 1;
1040      transform: translateY(0);
1041    }
1042  }
1043  @keyframes h1Zoom {
1044    from {
1045      transform: scale(1);
1046    }
1047    to   {
1048      transform: scale(1.18);
1049    }
1050  }
1051  .hero-v2__content {
1052    position: relative;
1053    z-index: 2;
1054    text-align: center;
1055    color: #fff;
1056    padding: 28vh 1.5rem 0;
1057    max-width: 900px;
1058  }
1059  .hero-v2__eyebrow {
1060    display: inline-block;
1061    font-size: .72rem;
1062    font-weight: 700;
1063    letter-spacing: .22em;
1064    text-transform: uppercase;
1065    color: #fff;
1066    margin-bottom: 1rem;
1067    animation: heroFadeUp .5s cubic-bezier(0,0,.2,1) .1s both;
1068  }
1069  .hero-v2__h1 {
1070    font-family: var(--f-display);
1071    font-weight: 900;
1072    font-size: clamp(2.5rem, 6vw, 6rem);
1073    line-height: 1;
1074    letter-spacing: .06em;
1075    text-transform: uppercase;
1076    color: #fff;
1077    text-shadow: 0 2px 32px rgba(0,0,0,.22);
1078    animation: heroFadeUp .55s cubic-bezier(0,0,.2,1) .4s both, h1Zoom 22s ease-in-out 1.2s infinite alternate;
1079  }
1080  .hero-v2__cta {
1081    position: absolute;
1082    bottom: 4.5rem;
1083    left: 0;
1084    width: 100%;
1085    display: flex;
1086    gap: 1rem;
1087    justify-content: center;
1088    flex-wrap: wrap;
1089    z-index: 4;
1090    animation: heroFadeUp .5s cubic-bezier(0,0,.2,1) .75s both;
1091  }
1092  @media (max-height: 1100px) {
1093    .hero-v2__h1 {
1094      font-size: clamp(2rem, 4vw, 4rem);
1095    }
1096  }
1097  @keyframes fgSlideUp {
1098    from {
1099      transform: translateY(12%);
1100      opacity: 0;
1101    }
1102    to   {
1103      transform: translateY(0);
1104      opacity: 1;
1105    }
1106  }
1107  .hero-v2__fg {
1108    position: absolute;
1109    top: -22vh;
1110    left: 0;
1111    right: 0;
1112    bottom: 0;
1113    z-index: 3;
1114    pointer-events: none;
1115    animation: fgSlideUp .9s cubic-bezier(0,0,.2,1) .2s both;
1116  }
1117  .hero-v2__fg img {
1118    width: 100%;
1119    height: 100%;
1120    object-fit: cover;
1121    object-position: top center;
1122    display: block;
1123  }
1124  .manifest-section {
1125    padding: 4rem 0 0;
1126    background: #fff;
1127  }
1128  .manifest-heading-wrap {
1129    text-align: center;
1130    padding: 0 2rem 2rem;
1131  }
1132  .manifest-heading {
1133    font-size: clamp(2rem, 3vw, 2.5rem);
1134    font-weight: 900;
1135    letter-spacing: 0.02em;
1136    color: #111;
1137    line-height: 1.1;
1138  }
1139  .manifest-tiles {
1140    display: grid;
1141    grid-template-columns: repeat(3, 1fr);
1142    width: 100%;
1143    border-top: 1px solid #ebebeb;
1144  }
1145  .manifest-tile {
1146    padding: 4rem 3rem 5rem;
1147    display: flex;
1148    flex-direction: column;
1149    align-items: center;
1150    gap: 1.75rem;
1151    text-align: center;
1152    border-right: 1px solid #ebebeb;
1153    transition: background .2s;
1154    cursor: default;
1155  }
1156  .manifest-tile:last-child {
1157    border-right: none;
1158  }
1159  .manifest-tile:hover {
1160    background: #faf9f7;
1161  }
1162  .manifest-tile__icon {
1163    width: 80px;
1164    height: 80px;
1165    object-fit: contain;
1166  }
1167  .manifest-tile__name {
1168    font-size: clamp(1.3rem, 2vw, 1.8rem);
1169    font-weight: 900;
1170    letter-spacing: -0.03em;
1171    color: #111;
1172    line-height: 1.1;
1173  }
1174  .manifest-tile__desc {
1175    font-size: 0.85rem;
1176    color: #888;
1177    line-height: 1.65;
1178    max-width: 22ch;
1179  }
1180  .manifest-tile--orange .manifest-tile__name {
1181    color: #EC841F;
1182  }
1183  .manifest-tile--purple .manifest-tile__name {
1184    color: #d92828;
1185  }
1186  .manifest-tile--green  .manifest-tile__name {
1187    color: #77b82a;
1188  }
1189  @media (max-width: 680px) {
1190    .manifest-section {
1191      padding: 2.5rem 0 0;
1192    }
1193    .manifest-heading-wrap {
1194      padding: 0 1.5rem 1.5rem;
1195    }
1196    .manifest-heading {
1197      font-size: clamp(1.4rem, 6vw, 1.8rem);
1198    }
1199    .manifest-tiles {
1200      grid-template-columns: 1fr;
1201    }
1202    .manifest-tile {
1203      flex-direction: row;
1204      align-items: center;
1205      text-align: left;
1206      padding: 1.75rem 1.5rem;
1207      gap: 1.25rem;
1208      border-right: none;
1209      border-bottom: 1px solid #ebebeb;
1210    }
1211    .manifest-tile:last-child {
1212      border-bottom: none;
1213    }
1214    .manifest-tile__icon {
1215      width: 52px;
1216      height: 52px;
1217      flex-shrink: 0;
1218    }
1219    .manifest-tile__name {
1220      font-size: clamp(1.1rem, 5vw, 1.4rem);
1221    }
1222  }
1223  /* Dienstleistungs-Kacheln */
1224  .dlst-section {
1225    background: #fff;
1226  }
1227  /* Produkt-Bento */
1228  .prod-section {
1229    background: #fff;
1230    padding: 2rem 25px 25px;
1231  }
1232  .prod-bento {
1233    display: grid;
1234    grid-template-columns: 1fr 1fr 1fr;
1235    grid-template-rows: 260px 220px 200px;
1236    gap: 1rem;
1237  }
1238  .prod-card {
1239    border-radius: 16px;
1240    padding: 2rem;
1241    display: flex;
1242    flex-direction: column;
1243    justify-content: space-between;
1244    text-decoration: none;
1245    overflow: hidden;
1246    position: relative;
1247    transition: filter .2s;
1248  }
1249  .prod-card:hover {
1250    filter: brightness(.95);
1251  }
1252  .prod-card__label {
1253    font-size: 0.62rem;
1254    font-weight: 700;
1255    letter-spacing: 0.16em;
1256    text-transform: uppercase;
1257    opacity: .5;
1258  }
1259  .prod-card__name {
1260    font-size: clamp(1.4rem, 2.5vw, 2.2rem);
1261    font-weight: 900;
1262    letter-spacing: -0.03em;
1263    line-height: 1.05;
1264  }
1265  .prod-card__desc {
1266    font-size: 0.8rem;
1267    line-height: 1.6;
1268    opacity: .7;
1269    max-width: 28ch;
1270  }
1271  .prod-card__arrow {
1272    align-self: flex-end;
1273    opacity: .5;
1274  }
1275  /* AlphadiTab — L, col 1 rows 1-3 */
1276  .prod-alphaditab {
1277    grid-column: 1;
1278    grid-row: 1 / 3;
1279    background: #111;
1280    color: #fff;
1281  }
1282  .prod-alphaditab .prod-card__name {
1283    color: #fff;
1284  }
1285  .prod-alphaditab > * {
1286    position: relative;
1287    z-index: 2;
1288  }
1289  /* Tools — M, col 2-3 rows 1-2 */
1290  .prod-tools {
1291    grid-column: 2 / 4;
1292    grid-row: 1 / 3;
1293    background: #EC841F;
1294    color: #fff;
1295  }
1296  .prod-tools .prod-card__name {
1297    color: #fff;
1298  }
1299  .prod-tools > * {
1300    position: relative;
1301    z-index: 2;
1302  }
1303  /* Weiterbildung — S, col 2 row 3 */
1304  .prod-weiterbildung {
1305    grid-column: 1 / 3;
1306    grid-row: 3;
1307    background: #fff;
1308    color: #111;
1309  }
1310  .prod-weiterbildung > * {
1311    position: relative;
1312    z-index: 2;
1313  }
1314  /* Bücher — S, col 3 row 3 */
1315  .prod-buecher {
1316    grid-column: 3;
1317    grid-row: 3;
1318    background: #e8e4de;
1319    color: #111;
1320  }
1321  .prod-buecher > * {
1322    position: relative;
1323    z-index: 2;
1324  }
1325  .prod-card__bg-img {
1326    position: absolute;
1327    inset: 0;
1328    width: 100%;
1329    height: 100%;
1330    object-fit: cover;
1331    object-position: center;
1332    z-index: 0;
1333  }
1334  /* Outline-Shine auf Card-Namen */
1335  .prod-alphaditab .prod-card__name {
1336    text-shadow: none;
1337  }
1338  .prod-tools .prod-card__name {
1339    text-shadow: none;
1340  }
1341  .prod-weiterbildung .prod-card__name {
1342    text-shadow:
1343      0 0 4px  rgba(255,255,255,1),
1344      0 0 12px rgba(255,255,255,1),
1345      0 0 28px rgba(255,255,255,.95),
1346      0 0 55px rgba(255,255,255,.75),
1347      0 0 90px rgba(255,255,255,.5);
1348  }
1349  .prod-buecher .prod-card__name {
1350    text-shadow:
1351      0 0 4px  rgba(232,228,222,1),
1352      0 0 12px rgba(232,228,222,1),
1353      0 0 28px rgba(232,228,222,.95),
1354      0 0 55px rgba(232,228,222,.75),
1355      0 0 90px rgba(232,228,222,.5);
1356  }
1357  @media (max-width: 900px) {
1358    .prod-bento {
1359      grid-template-columns: 1fr 1fr;
1360      grid-template-rows: auto;
1361    }
1362    .prod-alphaditab {
1363      grid-column: 1 / 3;
1364      grid-row: auto;
1365      min-height: 280px;
1366    }
1367    .prod-tools {
1368      grid-column: 1 / 3;
1369      grid-row: auto;
1370      min-height: 200px;
1371    }
1372    .prod-weiterbildung, .prod-buecher {
1373      grid-column: auto;
1374      grid-row: auto;
1375      min-height: 160px;
1376    }
1377    .prod-alphaditab .prod-card__desc,
1378    .prod-tools .prod-card__desc {
1379      display: none;
1380    }
1381  }
1382  @media (max-width: 540px) {
1383    .prod-section {
1384      padding: 0 12px 12px;
1385    }
1386    .prod-bento {
1387      grid-template-columns: 1fr;
1388    }
1389    .prod-alphaditab, .prod-tools, .prod-weiterbildung, .prod-buecher {
1390      grid-column: 1;
1391      grid-row: auto;
1392    }
1393  }
1394  .dlst-tiles {
1395    display: grid;
1396    grid-template-columns: repeat(3, 1fr);
1397    width: 100%;
1398    border-top: 1px solid #e0deda;
1399  }
1400  .dlst-tile {
1401    padding: 4rem 3rem 5rem;
1402    display: flex;
1403    flex-direction: column;
1404    align-items: center;
1405    gap: 1.75rem;
1406    text-align: center;
1407    border-right: 1px solid #e0deda;
1408    transition: background .2s;
1409  }
1410  .dlst-tile:last-child {
1411    border-right: none;
1412  }
1413  .dlst-tile:hover {
1414    background: #efecea;
1415  }
1416  .dlst-placeholder {
1417    width: 80px;
1418    height: 80px;
1419    border-radius: 16px;
1420    background: #e0deda;
1421    display: flex;
1422    align-items: center;
1423    justify-content: center;
1424    font-size: 0.6rem;
1425    font-weight: 700;
1426    letter-spacing: 0.08em;
1427    text-transform: uppercase;
1428    color: #aaa;
1429  }
1430  .dlst-tile__name {
1431    font-size: clamp(1.3rem, 2vw, 1.8rem);
1432    font-weight: 900;
1433    letter-spacing: -0.03em;
1434    color: #111;
1435    line-height: 1.1;
1436  }
1437  .dlst-tile__desc {
1438    font-size: 0.85rem;
1439    color: #888;
1440    line-height: 1.65;
1441    max-width: 24ch;
1442  }
1443  .dlst-tile__cta {
1444    display: inline-flex;
1445    align-items: center;
1446    gap: 0.4rem;
1447    font-size: 0.8rem;
1448    font-weight: 700;
1449    color: #EC841F;
1450    text-decoration: none;
1451    margin-top: 0.75rem;
1452    transition: gap .2s;
1453  }
1454  .dlst-tile__cta:hover {
1455    gap: 0.7rem;
1456  }
1457  @media (max-width: 768px) {
1458    .dlst-tiles {
1459      grid-template-columns: 1fr;
1460    }
1461    .dlst-tile {
1462      border-right: none;
1463      border-bottom: 1px solid #e0deda;
1464      padding: 3rem 2rem;
1465    }
1466    .dlst-tile:last-child {
1467      border-bottom: none;
1468    }
1469  }
1470  .exccom-section {
1471    padding: 0;
1472    background: #f7f6f3;
1473    overflow: hidden;
1474  }
1475  /* Excellence Community Banner */
1476  .exccom-banner {
1477    margin: 0 25px;
1478    border-radius: 20px;
1479    position: relative;
1480    overflow: hidden;
1481    background: url('/image/665') center/cover no-repeat;
1482    min-height: 480px;
1483    display: flex;
1484    align-items: flex-end;
1485  }
1486  .exccom-banner::after {
1487    content: '';
1488    position: absolute;
1489    inset: 0;
1490    background: linear-gradient(160deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.65) 100%);
1491  }
1492  .exccom-banner__content {
1493    position: relative;
1494    z-index: 1;
1495    width: 100%;
1496    display: flex;
1497    justify-content: flex-start;
1498    align-items: flex-end;
1499    padding: 3.5rem;
1500    gap: 3rem;
1501    flex-wrap: wrap;
1502  }
1503  .exccom-banner__left {
1504    max-width: 520px;
1505  }
1506  .exccom-main__eyebrow {
1507    display: block;
1508    font-size: 0.68rem;
1509    font-weight: 700;
1510    letter-spacing: 0.18em;
1511    text-transform: uppercase;
1512    color: #EC841F;
1513    margin-bottom: 0.75rem;
1514  }
1515  .exccom-main__heading {
1516    font-size: clamp(1.6rem, 3vw, 2.6rem);
1517    font-weight: 900;
1518    letter-spacing: -0.03em;
1519    color: #fff;
1520    line-height: 1.05;
1521    margin-bottom: 1rem;
1522  }
1523  .exccom-main__desc {
1524    font-size: 0.88rem;
1525    color: rgba(255,255,255,.7);
1526    line-height: 1.7;
1527    margin-bottom: 1.5rem;
1528  }
1529  .exccom-main__cta {
1530    display: inline-flex;
1531    align-items: center;
1532    gap: 0.5rem;
1533    font-size: 0.82rem;
1534    font-weight: 700;
1535    color: #EC841F;
1536    text-decoration: none;
1537    transition: gap .2s;
1538  }
1539  .exccom-main__cta:hover {
1540    gap: 0.8rem;
1541  }
1542  .exccom-banner__right {
1543    text-align: right;
1544    margin-left: auto;
1545    width: max-content;
1546  }
1547  .exccom-benefit__heading {
1548    font-size: 1.05rem;
1549    font-weight: 900;
1550    color: #fff;
1551    letter-spacing: -0.02em;
1552    line-height: 1.2;
1553    margin-bottom: 0.35rem;
1554  }
1555  .exccom-benefit__desc {
1556    font-size: 0.78rem;
1557    color: rgba(255,255,255,.65);
1558    line-height: 1.55;
1559  }
1560  @media (max-width: 1024px) {
1561    .exccom-banner__content {
1562      justify-content: center;
1563    }
1564  }
1565  @media (max-width: 700px) {
1566    .exccom-banner {
1567      margin: 0 12px;
1568      min-height: 400px;
1569    }
1570    .exccom-banner__content {
1571      padding: 2rem;
1572      flex-direction: column;
1573      gap: 2rem;
1574    }
1575    .exccom-banner__right {
1576      display: none;
1577    }
1578  }
1579  /* Full-width tier strip */
1580  .exccom-tiers {
1581    display: grid;
1582    grid-template-columns: repeat(3, 1fr);
1583    margin-top: 1rem;
1584  }
1585  .exccom-tier {
1586    padding: 2.75rem 3rem;
1587    display: flex;
1588    flex-direction: column;
1589    gap: 0.4rem;
1590  }
1591  .exccom-tier__num {
1592    font-size: 0.65rem;
1593    font-weight: 700;
1594    letter-spacing: 0.18em;
1595    text-transform: uppercase;
1596    opacity: .45;
1597  }
1598  .exccom-tier__name {
1599    font-size: clamp(1.75rem, 3vw, 2.5rem);
1600    font-weight: 900;
1601    letter-spacing: -0.03em;
1602    line-height: 1;
1603  }
1604  .exccom-tier__desc {
1605    font-size: 0.78rem;
1606    line-height: 1.6;
1607    margin-top: 0.4rem;
1608    opacity: .55;
1609  }
1610  .exccom-bronze {
1611    background: #2a1a08;
1612  }
1613  .exccom-bronze .exccom-tier__num, .exccom-bronze .exccom-tier__name, .exccom-bronze .exccom-tier__desc {
1614    color: #cd7f32;
1615  }
1616  .exccom-silver {
1617    background: #16191c;
1618  }
1619  .exccom-silver .exccom-tier__num, .exccom-silver .exccom-tier__name, .exccom-silver .exccom-tier__desc {
1620    color: #c0c0c0;
1621  }
1622  .exccom-gold {
1623    background: #1a1500;
1624  }
1625  .exccom-gold .exccom-tier__num, .exccom-gold .exccom-tier__name, .exccom-gold .exccom-tier__desc {
1626    color: #d4af37;
1627  }
1628  @media (max-width: 900px) {
1629    .exccom-tiers {
1630      grid-template-columns: 1fr;
1631    }
1632  }
1633  /* Impressionen neu */
1634  .impr2-section {
1635    display: flex;
1636    align-items: stretch;
1637    background: #f7f6f3;
1638    overflow: hidden;
1639    min-height: 580px;
1640    padding: 4rem 0;
1641  }
1642  .impr2-left {
1643    width: 33%;
1644    flex-shrink: 0;
1645    padding: 0 4rem;
1646    display: flex;
1647    flex-direction: column;
1648    justify-content: center;
1649  }
1650  .impr2-fade {
1651    position: absolute;
1652    top: 0;
1653    bottom: 0;
1654    left: 0;
1655    width: 80px;
1656    background: linear-gradient(to right, #f7f6f3, transparent);
1657    z-index: 2;
1658    pointer-events: none;
1659  }
1660  .impr2-left__eyebrow {
1661    font-size: 0.68rem;
1662    font-weight: 700;
1663    letter-spacing: 0.18em;
1664    text-transform: uppercase;
1665    color: #EC841F;
1666    margin-bottom: 1rem;
1667    display: block;
1668  }
1669  .impr2-left__heading {
1670    font-size: clamp(2rem, 3vw, 3rem);
1671    font-weight: 900;
1672    letter-spacing: -0.04em;
1673    color: #111;
1674    line-height: 1.05;
1675    margin-bottom: 1.25rem;
1676  }
1677  .impr2-left__text {
1678    font-size: 0.9rem;
1679    color: #888;
1680    line-height: 1.75;
1681  }
1682  .impr2-right {
1683    flex: 1;
1684    overflow: hidden;
1685    display: flex;
1686    flex-direction: column;
1687    gap: 0.75rem;
1688    padding: 0;
1689  }
1690  .impr2-row {
1691    display: flex;
1692    gap: 0.75rem;
1693    width: max-content;
1694  }
1695  .impr2-row--1 {
1696    animation: impr2-scroll 110s linear infinite;
1697  }
1698  .impr2-row--2 {
1699    animation: impr2-scroll-reverse 158s linear infinite;
1700  }
1701  @keyframes impr2-scroll {
1702    0%   {
1703      transform: translateX(0);
1704    }
1705    100% {
1706      transform: translateX(-50%);
1707    }
1708  }
1709  @keyframes impr2-scroll-reverse {
1710    0%   {
1711      transform: translateX(-50%);
1712    }
1713    100% {
1714      transform: translateX(0);
1715    }
1716  }
1717  .impr2-item {
1718    position: relative;
1719    flex-shrink: 0;
1720    border-radius: 12px;
1721    overflow: hidden;
1722  }
1723  .impr2-item img {
1724    height: 220px;
1725    width: auto;
1726    aspect-ratio: 3/2;
1727    object-fit: cover;
1728    display: block;
1729    border-radius: 12px;
1730    transition: transform .4s ease;
1731  }
1732  .impr2-item:hover img {
1733    transform: scale(1.05);
1734  }
1735  .impr2-caption {
1736    position: absolute;
1737    bottom: 0;
1738    left: 0;
1739    right: 0;
1740    padding: 1.25rem 0.9rem 0.8rem;
1741    background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
1742    border-radius: 0 0 12px 12px;
1743    opacity: 0;
1744    transition: opacity .25s;
1745  }
1746  .impr2-item:hover .impr2-caption {
1747    opacity: 1;
1748  }
1749  .impr2-caption span {
1750    font-size: 0.72rem;
1751    font-weight: 600;
1752    color: #fff;
1753  }
1754  @media (max-width: 768px) {
1755    .impr2-section {
1756      flex-direction: column;
1757      min-height: auto;
1758    }
1759    .impr2-left {
1760      width: 100%;
1761      padding: 3rem 2rem;
1762    }
1763    .impr2-left__heading {
1764      font-size: clamp(1.6rem, 6vw, 2.2rem);
1765    }
1766    .impr2-right {
1767      padding: 1.5rem 0;
1768      gap: 0.5rem;
1769    }
1770    .impr2-item img {
1771      height: 160px;
1772    }
1773  }
1774</style>
1775<div class="hero-v2">
1776<div class="hero-v2__bg">
1777<div class="hero-v2__bg-inner">&nbsp;</div>
1778</div>
1779
1780<div class="hero-v2__overlay">&nbsp;</div>
1781
1782<div class="hero-v2__content"><span class="hero-v2__eyebrow">Culture Change with System</span>
1783
1784<h1 class="hero-v2__h1">WE DEVELOP<br />
1785PEOPLE</h1>
1786</div>
1787
1788<div class="hero-v2__cta">
1789<a class="btn btn--primary btn--lg" href="/en/workshops">Explore Programs</a>
1790
1791<a class="btn btn--outline-white btn--lg" href="/en/contact">Get in Touch</a>
1792</div>
1793
1794<div class="hero-v2__fg"><img alt="" src="/image/224" /></div>
1795</div>
1796<script>
1797  var heroBg = document.querySelector('.hero-v2__bg');
1798  window.addEventListener('scroll', function() {
1799    if (heroBg) heroBg.style.transform = 'translateY(' + (window.scrollY * 0.3) + 'px)';
1800  }, { passive: true });
1801</script>
1801
1802
1803<section class="manifest-section" id="erfahrung">
1804<div class="manifest-heading-wrap">
1805<h2 class="manifest-heading">Your Partner for</h2>
1806</div>
1807
1808<div class="manifest-tiles">
1809<div class="manifest-tile manifest-tile--orange"><img alt="Lean Six Sigma" class="manifest-tile__icon" src="/image/671" />
1810<div class="manifest-tile__name">Lean Six Sigma</div>
1811</div>
1812
1813<div class="manifest-tile manifest-tile--purple"><img alt="Project Management" class="manifest-tile__icon" src="/image/674" />
1814<div class="manifest-tile__name">Project Management</div>
1815</div>
1816
1817<div class="manifest-tile manifest-tile--green"><img alt="Kulturveränderung" class="manifest-tile__icon" src="/image/673" />
1818<div class="manifest-tile__name">Culture Change</div>
1819</div>
1820</div>
1821</section>
1822
1823<p>
1824    <section class="section bg-warm">
1825        <div class="container">
1826            <div style="display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;">
1827                <div>
1828                    <span class="eyebrow fade-up is-visible">Recent news</span>
1829                    <h2 class="fade-up is-visible" style="margin:0;">News &amp; Insights.</h2>
1830                </div>
1831                <a href="/en/news" class="btn btn--outline fade-up is-visible" style="flex-shrink:0;">All news →</a>
1832            </div>
1833
1834            <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;">
1835                    <a href="/en/news/congratulations-to-patrick-thaler-on-the-lean-six-sigma-master-black-belt-excellence" class="news-card fade-up is-visible">
1836                        <div class="news-card__img">
1837                            <img src="https://www.alphadi.org/image/639" alt="Congratulations to Patrick Thaler on the Lean Six Sigma Master Black Belt Excellence!" loading="lazy" />
1838                        </div>
1839                        <div class="news-card__body">
1840                            <div class="news-card__date">9/30/2025</div>
1841                            <h3 class="news-card__title">Congratulations to Patrick Thaler on the Lean Six Sigma Master Black Belt Excellence!</h3>
1842                            <div class="news-card__desc"><p>We at Alphadi are very proud of this and wish Patrick all the best and continued success on his journey in Operational Excellence.</p>
1843</div>
1844                        </div>
1845                        <div class="news-card__link">Read more <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M3 7h8M8 4l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div>
1846                    </a>
1847                    <a href="/en/news/zimmer-wins-the-shingo-bronze-prize" class="news-card fade-up is-visible">
1848                        <div class="news-card__img">
1849                            <img src="https://www.alphadi.org/image/764" alt="Zimmer Switzerland Manufacturing GmbH wins the Shingo Bronze Prize" loading="lazy" />
1850                        </div>
1851                        <div class="news-card__body">
1852                            <div class="news-card__date">2/21/2025</div>
1853                            <h3 class="news-card__title">Zimmer Switzerland Manufacturing GmbH wins the Shingo Bronze Prize</h3>
1854                            <div class="news-card__desc"><p>With this, Zimmer has become the first company in Switzerland and the second company overall in the entire German-speaking region to receive this prestigious award.</p>
1855</div>
1856                        </div>
1857                        <div class="news-card__link">Read more <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M3 7h8M8 4l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div>
1858                    </a>
1859                    <a href="/en/news/certificate-presentation-gold-excellence-program" class="news-card fade-up is-visible">
1860                        <div class="news-card__img">
1861                            <img src="https://www.alphadi.org/image/774" alt="Certificate Presentation &#x2013; Gold Excellence Program" loading="lazy" />
1862                        </div>
1863                        <div class="news-card__body">
1864                            <div class="news-card__date">8/8/2024</div>
1865                            <h3 class="news-card__title">Certificate Presentation &#x2013; Gold Excellence Program</h3>
1866                            <div class="news-card__desc"><p>Congratulations on passing the exam in the Gold Excellence Program!</p>
1867</div>
1868                        </div>
1869                        <div class="news-card__link">Read more <svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M3 7h8M8 4l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></div>
1870                    </a>
1871            </div>
1872        </div>
1873    </section>
1874</p>
1875<!-- ⑨ IMPRESSIONEN -->
1876
1877<section class="impr2-section">
1878<div class="impr2-left"><span class="impr2-left__eyebrow">Insights</span>
1879
1880<h2 class="impr2-left__heading">Highlights from Our Work.</h2>
1881
1882<p class="impr2-left__text">Trainings, graduations, conferences and Gemba walks &mdash; real moments from over 15 years of hands-on experience worldwide.</p>
1883</div>
1884
1885<div class="impr2-right" style="position:relative;">
1886<div class="impr2-fade">&nbsp;</div>
1887<!-- Row 1: /image/637–661, duplicated for loop -->
1888
1889<div class="impr2-row impr2-row--1">
1890<div class="impr2-item"><img alt="Grouppicture Discover Excellence" src="/image/637" />
1891<div class="impr2-caption"><span>Grouppicture Discover Excellence</span></div>
1892</div>
1893
1894<div class="impr2-item"><img alt="Graduation - Master Black Belt" src="/image/638" />
1895<div class="impr2-caption"><span>Graduation - Master Black Belt</span></div>
1896</div>
1897
1898<div class="impr2-item"><img alt="Graduation - Master Black Belt" src="/image/639" />
1899<div class="impr2-caption"><span>Graduation - Master Black Belt</span></div>
1900</div>
1901
1902<div class="impr2-item"><img alt="Alphadi Learning Factory - Filling Machine" src="/image/640" />
1903<div class="impr2-caption"><span>Alphadi Learning Factory - Filling Machine</span></div>
1904</div>
1905
1906<div class="impr2-item"><img alt="Training — Zürich" src="/image/641" />
1907<div class="impr2-caption"><span>Training &mdash; Z&uuml;rich</span></div>
1908</div>
1909
1910<div class="impr2-item"><img alt="Graduation - Black Belt" src="/image/642" />
1911<div class="impr2-caption"><span>Graduation - Black Belt</span></div>
1912</div>
1913
1914<div class="impr2-item"><img alt="Conference - USA" src="/image/643" />
1915<div class="impr2-caption"><span>Conference - USA</span></div>
1916</div>
1917
1918<div class="impr2-item"><img alt="Alphadi Learning Factory PCBs" src="/image/644" />
1919<div class="impr2-caption"><span>Alphadi Learning Factory PCBs</span></div>
1920</div>
1921
1922<div class="impr2-item"><img alt="Training — Selzach Schweiz" src="/image/645" />
1923<div class="impr2-caption"><span>Training &mdash; Selzach Schweiz</span></div>
1924</div>
1925
1926<div class="impr2-item"><img alt="Alphadi Learning Factory - Computer" src="/image/646" />
1927<div class="impr2-caption"><span>Alphadi Learning Factory - Computer</span></div>
1928</div>
1929
1930<div class="impr2-item"><img alt="Discover Excellence at Continental" src="/image/647" />
1931<div class="impr2-caption"><span>Discover Excellence at Continental</span></div>
1932</div>
1933
1934<div class="impr2-item"><img alt="Conference - USA" src="/image/648" />
1935<div class="impr2-caption"><span>Conference - USA</span></div>
1936</div>
1937
1938<div class="impr2-item"><img alt="Alphadi Learning Factory" src="/image/649" />
1939<div class="impr2-caption"><span>Alphadi Learning Factory</span></div>
1940</div>
1941
1942<div class="impr2-item"><img alt="Systems Design at Felix Schoeller" src="/image/650" />
1943<div class="impr2-caption"><span>Systems Design at Felix Schoeller</span></div>
1944</div>
1945
1946<div class="impr2-item"><img alt="Shingo Class" src="/image/651" />
1947<div class="impr2-caption"><span>Shingo Class</span></div>
1948</div>
1949
1950<div class="impr2-item"><img alt="Management Training - Kata Coaching" src="/image/652" />
1951<div class="impr2-caption"><span>Management Training - Kata Coaching</span></div>
1952</div>
1953
1954<div class="impr2-item"><img alt="Ritsuo Shingo-san - Training" src="/image/653" />
1955<div class="impr2-caption"><span>Ritsuo Shingo-san - Training</span></div>
1956</div>
1957
1958<div class="impr2-item"><img alt="Inhouse Black Belt Winterthur" src="/image/654" />
1959<div class="impr2-caption"><span>Inhouse Black Belt Winterthur</span></div>
1960</div>
1961
1962<div class="impr2-item"><img alt="Shingo-san and Annette-san" src="/image/655" />
1963<div class="impr2-caption"><span>Shingo-san and Annette-san</span></div>
1964</div>
1965
1966<div class="impr2-item"><img alt="Graduation Black Belt" src="/image/656" />
1967<div class="impr2-caption"><span>Graduation Black Belt</span></div>
1968</div>
1969
1970<div class="impr2-item"><img alt="Conference Regensburg" src="/image/657" />
1971<div class="impr2-caption"><span>Conference Regensburg</span></div>
1972</div>
1973
1974<div class="impr2-item"><img alt="Training Regensburg" src="/image/658" />
1975<div class="impr2-caption"><span>Training Regensburg</span></div>
1976</div>
1977
1978<div class="impr2-item"><img alt="Fireside Chat - Kassel" src="/image/659" />
1979<div class="impr2-caption"><span>Fireside Chat - Kassel</span></div>
1980</div>
1981
1982<div class="impr2-item"><img alt="Gemba Walk - Göttingen" src="/image/660" />
1983<div class="impr2-caption"><span>Gemba Walk - G&ouml;ttingen</span></div>
1984</div>
1985
1986<div class="impr2-item"><img alt="Conference Dublin Irland" src="/image/661" />
1987<div class="impr2-caption"><span>Conference Dublin Irland</span></div>
1988</div>
1989<!-- duplicate -->
1990
1991<div class="impr2-item"><img alt="Grouppicture Discover Excellence" src="/image/637" />
1992<div class="impr2-caption"><span>Grouppicture Discover Excellence</span></div>
1993</div>
1994
1995<div class="impr2-item"><img alt="Graduation - Master Black Belt" src="/image/638" />
1996<div class="impr2-caption"><span>Graduation - Master Black Belt</span></div>
1997</div>
1998
1999<div class="impr2-item"><img alt="Graduation - Master Black Belt" src="/image/639" />
2000<div class="impr2-caption"><span>Graduation - Master Black Belt</span></div>
2001</div>
2002
2003<div class="impr2-item"><img alt="Alphadi Learning Factory - Filling Machine" src="/image/640" />
2004<div class="impr2-caption"><span>Alphadi Learning Factory - Filling Machine</span></div>
2005</div>
2006
2007<div class="impr2-item"><img alt="Training — Zürich" src="/image/641" />
2008<div class="impr2-caption"><span>Training &mdash; Z&uuml;rich</span></div>
2009</div>
2010
2011<div class="impr2-item"><img alt="Graduation - Black Belt" src="/image/642" />
2012<div class="impr2-caption"><span>Graduation - Black Belt</span></div>
2013</div>
2014
2015<div class="impr2-item"><img alt="Conference - USA" src="/image/643" />
2016<div class="impr2-caption"><span>Conference - USA</span></div>
2017</div>
2018
2019<div class="impr2-item"><img alt="Alphadi Learning Factory PCBs" src="/image/644" />
2020<div class="impr2-caption"><span>Alphadi Learning Factory PCBs</span></div>
2021</div>
2022
2023<div class="impr2-item"><img alt="Training — Selzach Schweiz" src="/image/645" />
2024<div class="impr2-caption"><span>Training &mdash; Selzach Schweiz</span></div>
2025</div>
2026
2027<div class="impr2-item"><img alt="Alphadi Learning Factory - Computer" src="/image/646" />
2028<div class="impr2-caption"><span>Alphadi Learning Factory - Computer</span></div>
2029</div>
2030
2031<div class="impr2-item"><img alt="Discover Excellence at Continental" src="/image/647" />
2032<div class="impr2-caption"><span>Discover Excellence at Continental</span></div>
2033</div>
2034
2035<div class="impr2-item"><img alt="Conference - USA" src="/image/648" />
2036<div class="impr2-caption"><span>Conference - USA</span></div>
2037</div>
2038
2039<div class="impr2-item"><img alt="Alphadi Learning Factory" src="/image/649" />
2040<div class="impr2-caption"><span>Alphadi Learning Factory</span></div>
2041</div>
2042
2043<div class="impr2-item"><img alt="Systems Design at Felix Schoeller" src="/image/650" />
2044<div class="impr2-caption"><span>Systems Design at Felix Schoeller</span></div>
2045</div>
2046
2047<div class="impr2-item"><img alt="Shingo Class" src="/image/651" />
2048<div class="impr2-caption"><span>Shingo Class</span></div>
2049</div>
2050
2051<div class="impr2-item"><img alt="Management Training - Kata Coaching" src="/image/652" />
2052<div class="impr2-caption"><span>Management Training - Kata Coaching</span></div>
2053</div>
2054
2055<div class="impr2-item"><img alt="Ritsuo Shingo-san - Training" src="/image/653" />
2056<div class="impr2-caption"><span>Ritsuo Shingo-san - Training</span></div>
2057</div>
2058
2059<div class="impr2-item"><img alt="Inhouse Black Belt Winterthur" src="/image/654" />
2060<div class="impr2-caption"><span>Inhouse Black Belt Winterthur</span></div>
2061</div>
2062
2063<div class="impr2-item"><img alt="Shingo-san and Annette-san" src="/image/655" />
2064<div class="impr2-caption"><span>Shingo-san and Annette-san</span></div>
2065</div>
2066
2067<div class="impr2-item"><img alt="Graduation Black Belt" src="/image/656" />
2068<div class="impr2-caption"><span>Graduation Black Belt</span></div>
2069</div>
2070
2071<div class="impr2-item"><img alt="Conference Regensburg" src="/image/657" />
2072<div class="impr2-caption"><span>Conference Regensburg</span></div>
2073</div>
2074
2075<div class="impr2-item"><img alt="Training Regensburg" src="/image/658" />
2076<div class="impr2-caption"><span>Training Regensburg</span></div>
2077</div>
2078
2079<div class="impr2-item"><img alt="Fireside Chat - Kassel" src="/image/659" />
2080<div class="impr2-caption"><span>Fireside Chat - Kassel</span></div>
2081</div>
2082
2083<div class="impr2-item"><img alt="Gemba Walk - Göttingen" src="/image/660" />
2084<div class="impr2-caption"><span>Gemba Walk - G&ouml;ttingen</span></div>
2085</div>
2086
2087<div class="impr2-item"><img alt="Conference Dublin Irland" src="/image/661" />
2088<div class="impr2-caption"><span>Conference Dublin Irland</span></div>
2089</div>
2090</div>
2091<!-- Row 2: /image/1222–1257, duplicated for loop -->
2092
2093<div class="impr2-row impr2-row--2">
2094<div class="impr2-item"><img alt="" src="/image/1222" /></div>
2095
2096<div class="impr2-item"><img alt="" src="/image/1223" /></div>
2097
2098<div class="impr2-item"><img alt="" src="/image/1224" /></div>
2099
2100<div class="impr2-item"><img alt="" src="/image/1225" /></div>
2101
2102<div class="impr2-item"><img alt="" src="/image/1226" /></div>
2103
2104<div class="impr2-item"><img alt="" src="/image/1227" /></div>
2105
2106<div class="impr2-item"><img alt="" src="/image/1228" /></div>
2107
2108<div class="impr2-item"><img alt="" src="/image/1229" /></div>
2109
2110<div class="impr2-item"><img alt="" src="/image/1230" /></div>
2111
2112<div class="impr2-item"><img alt="" src="/image/1231" /></div>
2113
2114<div class="impr2-item"><img alt="" src="/image/1232" /></div>
2115
2116<div class="impr2-item"><img alt="" src="/image/1233" /></div>
2117
2118<div class="impr2-item"><img alt="" src="/image/1234" /></div>
2119
2120<div class="impr2-item"><img alt="" src="/image/1235" /></div>
2121
2122<div class="impr2-item"><img alt="" src="/image/1236" /></div>
2123
2124<div class="impr2-item"><img alt="" src="/image/1237" /></div>
2125
2126<div class="impr2-item"><img alt="" src="/image/1238" /></div>
2127
2128<div class="impr2-item"><img alt="" src="/image/1239" /></div>
2129
2130<div class="impr2-item"><img alt="" src="/image/1240" /></div>
2131
2132<div class="impr2-item"><img alt="" src="/image/1241" /></div>
2133
2134<div class="impr2-item"><img alt="" src="/image/1242" /></div>
2135
2136<div class="impr2-item"><img alt="" src="/image/1243" /></div>
2137
2138<div class="impr2-item"><img alt="" src="/image/1244" /></div>
2139
2140<div class="impr2-item"><img alt="" src="/image/1245" /></div>
2141
2142<div class="impr2-item"><img alt="" src="/image/1246" /></div>
2143
2144<div class="impr2-item"><img alt="" src="/image/1247" /></div>
2145
2146<div class="impr2-item"><img alt="" src="/image/1248" /></div>
2147
2148<div class="impr2-item"><img alt="" src="/image/1249" /></div>
2149
2150<div class="impr2-item"><img alt="" src="/image/1250" /></div>
2151
2152<div class="impr2-item"><img alt="" src="/image/1251" /></div>
2153
2154<div class="impr2-item"><img alt="" src="/image/1252" /></div>
2155
2156<div class="impr2-item"><img alt="" src="/image/1253" /></div>
2157
2158<div class="impr2-item"><img alt="" src="/image/1254" /></div>
2159
2160<div class="impr2-item"><img alt="" src="/image/1255" /></div>
2161
2162<div class="impr2-item"><img alt="" src="/imag
2162e/1256" /></div>
2163
2164<div class="impr2-item"><img alt="" src="/image/1257" /></div>
2165<!-- duplicate -->
2166
2167<div class="impr2-item"><img alt="" src="/image/1222" /></div>
2168
2169<div class="impr2-item"><img alt="" src="/image/1223" /></div>
2170
2171<div class="impr2-item"><img alt="" src="/image/1224" /></div>
2172
2173<div class="impr2-item"><img alt="" src="/image/1225" /></div>
2174
2175<div class="impr2-item"><img alt="" src="/image/1226" /></div>
2176
2177<div class="impr2-item"><img alt="" src="/image/1227" /></div>
2178
2179<div class="impr2-item"><img alt="" src="/image/1228" /></div>
2180
2181<div class="impr2-item"><img alt="" src="/image/1229" /></div>
2182
2183<div class="impr2-item"><img alt="" src="/image/1230" /></div>
2184
2185<div class="impr2-item"><img alt="" src="/image/1231" /></div>
2186
2187<div class="impr2-item"><img alt="" src="/image/1232" /></div>
2188
2189<div class="impr2-item"><img alt="" src="/image/1233" /></div>
2190
2191<div class="impr2-item"><img alt="" src="/image/1234" /></div>
2192
2193<div class="impr2-item"><img alt="" src="/image/1235" /></div>
2194
2195<div class="impr2-item"><img alt="" src="/image/1236" /></div>
2196
2197<div class="impr2-item"><img alt="" src="/image/1237" /></div>
2198
2199<div class="impr2-item"><img alt="" src="/image/1238" /></div>
2200
2201<div class="impr2-item"><img alt="" src="/image/1239" /></div>
2202
2203<div class="impr2-item"><img alt="" src="/image/1240" /></div>
2204
2205<div class="impr2-item"><img alt="" src="/image/1241" /></div>
2206
2207<div class="impr2-item"><img alt="" src="/image/1242" /></div>
2208
2209<div class="impr2-item"><img alt="" src="/image/1243" /></div>
2210
2211<div class="impr2-item"><img alt="" src="/image/1244" /></div>
2212
2213<div class="impr2-item"><img alt="" src="/image/1245" /></div>
2214
2215<div class="impr2-item"><img alt="" src="/image/1246" /></div>
2216
2217<div class="impr2-item"><img alt="" src="/image/1247" /></div>
2218
2219<div class="impr2-item"><img alt="" src="/image/1248" /></div>
2220
2221<div class="impr2-item"><img alt="" src="/image/1249" /></div>
2222
2223<div class="impr2-item"><img alt="" src="/image/1250" /></div>
2224
2225<div class="impr2-item"><img alt="" src="/image/1251" /></div>
2226
2227<div class="impr2-item"><img alt="" src="/image/1252" /></div>
2228
2229<div class="impr2-item"><img alt="" src="/image/1253" /></div>
2230
2231<div class="impr2-item"><img alt="" src="/image/1254" /></div>
2232
2233<div class="impr2-item"><img alt="" src="/image/1255" /></div>
2234
2235<div class="impr2-item"><img alt="" src="/image/1256" /></div>
2236
2237<div class="impr2-item"><img alt="" src="/image/1257" /></div>
2238</div>
2239</div>
2240</section>
2241
2242<section class="exccom-section">
2243<div class="exccom-banner">
2244<div class="exccom-banner__content">
2245<div class="exccom-banner__left"><span class="exccom-main__eyebrow">Excellence Community</span>
2246
2247<h2 class="exccom-main__heading">Become Part of the Excellence Community.</h2>
2248
2249<p class="exccom-main__desc">Our Excellence Program classifies graduates in Bronze, Silver and Gold &mdash; a global quality standard for recruiting and professional development.</p>
2250
2251<a class="exccom-main__cta" href="/en/excellence-community/">Learn more <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2252            <path d="M5 12h14"/>
2253            <path d="m12 5 7 7-7 7"/>
2254          </svg></a>
2255</div>
2256
2257<div class="exccom-banner__right">
2258<div class="exccom-benefit__heading">Network with Lean leaders worldwide</div>
2259
2260<div class="exccom-benefit__desc">Best practices, tools and whitepapers &mdash; straight from the community.</div>
2261</div>
2262</div>
2263</div>
2264</section>
2265
2266<section class="dlst-section">
2267<div class="dlst-tiles">
2268<div class="dlst-tile"><img alt="Coaching &amp; Consulting" class="manifest-tile__icon" src="/image/676" style="height: 82px; width: 150px;" />
2269<div>
2270<div class="dlst-tile__name">OPEX Roll-out</div>
2271
2272<p class="dlst-tile__desc">Roll-out and optimization of Operational Excellence</p>
2273
2274<a class="dlst-tile__cta" href="/en/opex-roll-out">Read more <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2275            <path d="M5 12h14"/>
2276            <path d="m12 5 7 7-7 7"/>
2277          </svg></a>
2278</div>
2279</div>
2280
2281<div class="dlst-tile"><img alt="Training &amp; Seminars" class="manifest-tile__icon" src="/image/672" />
2282<div>
2283<div class="dlst-tile__name">Talent Development</div>
2284
2285<p class="dlst-tile__desc">Discover your greatest resource</p>
2286
2287<a class="dlst-tile__cta" href="/en/talent-development">Read more <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2288            <path d="M5 12h14"/>
2289            <path d="m12 5 7 7-7 7"/>
2290          </svg></a>
2291</div>
2292</div>
2293
2294<div class="dlst-tile"><img alt="Process Consulting" class="manifest-tile__icon" src="/image/675" />
2295<div>
2296<div class="dlst-tile__name">Benchmarking</div>
2297
2298<p class="dlst-tile__desc">Work on the right levers</p>
2299
2300<a class="dlst-tile__cta" href="/en/benchmarking">Read more <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2301            <path d="M5 12h14"/>
2302            <path d="m12 5 7 7-7 7"/>
2303          </svg></a>
2304</div>
2305</div>
2306</div>
2307</section>
2308
2309<section class="prod-section">
2310<div class="prod-bento">
2311<a class="prod-card prod-alphaditab" href="/en/products/tools-templates/tools"><img alt="" class="prod-card__bg-img" src="/image/1186" style="inset:auto;width:90%;max-width:460px;height:auto;bottom:0;right:-5%;top:auto;left:auto;object-fit:contain;" />
2312<div><span class="prod-card__label">Resources</span>
2313
2314<div class="prod-card__name">Tools</div>
2315
2316<p class="prod-card__desc">Templates, checklists and tools for Lean Six Sigma projects &mdash; ready to use immediately.</p>
2317</div>
2318<svg class="prod-card__arrow" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2319        <path d="M5 12h14"/>
2320        <path d="m12 5 7 7-7 7"/>
2321      </svg></a>
2322
2323<a class="prod-card prod-tools" href="/en/alphadi-tab"><img alt="" class="prod-card__bg-img" src="/image/1276" style="inset:auto;width:58%;max-width:600px;height:auto;bottom:0;right:0;top:auto;left:auto;object-fit:contain;" />
2324<div><span class="prod-card__label">Software</span>
2325
2326<div class="prod-card__name">AlphadiTab</div>
2327
2328<p class="prod-card__desc">AlphadiTab is a software for solving complex problems that guides you along the DMAIC roadmap &mdash; from definition through analysis to sustainable improvement.</p>
2329</div>
2330<svg class="prod-card__arrow" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2331        <path d="M5 12h14"/>
2332        <path d="m12 5 7 7-7 7"/>
2333      </svg></a>
2334
2335<a class="prod-card prod-weiterbildung" href="/en/workshops"><img alt="" class="prod-card__bg-img" src="/image/681" style="transform:scale(1.18) translateY(5%);transform-origin:center;" />
2336<div><span class="prod-card__label">Learning</span>
2337
2338<div class="prod-card__name">Further Education</div>
2339</div>
2340<svg class="prod-card__arrow" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2341        <path d="M5 12h14"/>
2342        <path d="m12 5 7 7-7 7"/>
2343      </svg></a>
2344
2345<a class="prod-card prod-buecher" href="/en/products/buecher"><img alt="" class="prod-card__bg-img" src="/image/682" style="inset:auto;width:85%;max-width:430px;height:auto;bottom:-18%;right:-8%;top:auto;left:auto;object-fit:contain;transform:rotate(5deg);transform-origin:bottom right;" />
2346<div><span class="prod-card__label">Books</span>
2347
2348<div class="prod-card__name">Books</div>
2349</div>
2350<svg class="prod-card__arrow" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
2351        <path d="M5 12h14"/>
2352        <path d="m12 5 7 7-7 7"/>
2353      </svg></a>
2354</div>
2355</section>
2356
2357<div class="trust-band">
2358<div class="trust-band__label"><span class="eyebrow" style="display:block;text-align:center;margin-bottom:0.5rem;">Our Partners</span>
2359
2360<h2 class="trust-band__text">Trusted by leading companies</h2>
2361</div>
2362
2363<div class="logo-track-wrap">
2364<div class="logo-track" id="logoTrack"><img alt="Partner Logo" class="logo-item" src="/image/1258" /> <img alt="Partner Logo" class="logo-item" src="/image/1259" /> <img alt="Partner Logo" class="logo-item" src="/image/1260" /> <img alt="Partner Logo" class="logo-item" src="/image/1261" /> <img alt="Partner Logo" class="logo-item" src="/image/1262" /> <img alt="Partner Logo" class="logo-item" src="/image/1263" /> <img alt="Partner Logo" class="logo-item" src="/image/1264" /> <img alt="Partner Logo" class="logo-item" src="/image/1265" /> <img alt="Partner Logo" class="logo-item" src="/image/1266" /> <img alt="Partner Logo" class="logo-item" src="/image/1267" /> <img alt="Partner Logo" class="logo-item" src="/image/1268" /> <img alt="Partner Logo" class="logo-item" src="/image/1269" /> <img alt="Partner Logo" class="logo-item" src="/image/1270" /> <img alt="Partner Logo" class="logo-item" src="/image/1271" /> <img alt="Partner Logo" class="logo-item" src="/image/1272" /> <img alt="Partner Logo" class="logo-item" src="/image/1273" /> <img alt="Partner Logo" class="logo-item" src="/image/1274" /> <img alt="Partner Logo" class="logo-item" src="/image/1275" /></div>
2365</div>
2366</div>
2367<script>
2368  var logoTrack = document.getElementById('logoTrack');
2369  if (logoTrack) {
2370    Array.prototype.slice.call(logoTrack.children).forEach(function(node) {
2371      logoTrack.appendChild(node.cloneNode(true));
2372    });
2373  }
2374</script>
2374
2375
2376
2377
2378    <!-- ═══════ FOOTER ═══════ -->
2379<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
2380<title></title>
2381<link href="https://api.fontshare.com" rel="preconnect" />
2382<link href="https://fonts.googleapis.com" rel="preconnect" />
2383<link href="https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,600,700,900&amp;display=swap" rel="stylesheet" />
2384<link href="https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700&amp;display=swap" rel="stylesheet" />
2385<style type="text/css">*, *::before, *::after {
2386  box-sizing: border-box;
2387  margin: 0;
2388  padding: 0;
2389  }
2390  html {
2391    font-size: 16px;
2392  }
2393  body {
2394    font-family: 'Satoshi', system-ui, sans-serif;
2395    -webkit-font-smoothing: antialiased;
2396  }
2397  a {
2398    color: inherit;
2399    text-decoration: none;
2400  }
2401  img {
2402    max-width: 100%;
2403    display: block;
2404  }
2405  .footer-v2 {
2406    background: #111111;
2407    position: relative;
2408    overflow: hidden;
2409  }
2410  .footer-v2::before {
2411    content: '';
2412    position: absolute;
2413    top: 0;
2414    left: 0;
2415    right: 0;
2416    height: 3px;
2417    background: linear-gradient(90deg, #111111, #EC841F, #1a0a00);
2418  }
2419  .footer-v2::after {
2420    content: '';
2421    position: absolute;
2422    top: -120px;
2423    left: -80px;
2424    width: 500px;
2425    height: 500px;
2426    border-radius: 50%;
2427    background: radial-gradient(circle, rgba(236,132,31,.07) 0%, transparent 65%);
2428    pointer-events: none;
2429  }
2430  .footer-v2__inner {
2431    max-width: 1280px;
2432    margin: 0 auto;
2433    padding: 4rem 3rem 0;
2434  }
2435  @media (max-width: 767px) {
2436    .footer-v2__inner {
2437      padding: 3rem 1.5rem 0;
2438    }
2439  }
2440  .footer-v2__top {
2441    display: grid;
2442    grid-template-columns: 1.6fr 2.4fr;
2443    gap: 4rem;
2444    padding-bottom: 3rem;
2445    border-bottom: 1px solid rgba(255,255,255,.08);
2446  }
2447  @media (max-width: 767px) {
2448    .footer-v2__top {
2449      grid-template-columns: 1fr;
2450      gap: 2.5rem;
2451    }
2452  }
2453  .footer-v2__brand img {
2454    height: 56px;
2455    width: auto;
2456    margin-bottom: 2rem;
2457    filter: none !important;
2458    /* Prevents browser dark mode from inverting the white logo to black */
2459    forced-color-adjust: none;
2460    /* Exclude logo from automatic color adjustment (Dark Mode/High Contrast) */
2461  }
2462  .footer-v2__claim {
2463    font-family: 'Satoshi', system-ui, sans-serif;
2464    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
2465    font-weight: 700;
2466    color: #ffffff;
2467    line-height: 1.35;
2468    letter-spacing: -0.02em;
2469    margin-bottom: 1.5rem;
2470    max-width: 280px;
2471  }
2472  .footer-v2__claim em {
2473    font-style: normal;
2474    color: #EC841F;
2475  }
2476  .footer-v2__contact {
2477    display: flex;
2478    flex-direction: column;
2479    gap: 0.4rem;
2480  }
2481  .footer-v2__contact a {
2482    display: flex;
2483    align-items: center;
2484    gap: 0.5rem;
2485    font-family: 'Satoshi', system-ui, sans-serif;
2486    font-size: 0.78rem;
2487    color: rgba(255,255,255,.88);
2488    text-decoration: none;
2489    transition: color 0.15s;
2490    font-weight: 400;
2491    letter-spacing: 0.8px;
2492  }
2493  .footer-v2__contact a:hover {
2494    color: #EC841F;
2495  }
2496  .footer-v2__contact svg {
2497    flex-shrink: 0;
2498    opacity: .6;
2499  }
2500  .footer-v2__links {
2501    display: grid;
2502    grid-template-columns: repeat(3, 1fr);
2503    gap: 2rem;
2504    padding-top: 0.25rem;
2505  }
2506  @media (max-width: 479px) {
2507    .footer-v2__links {
2508      grid-template-columns: repeat(2, 1fr);
2509    }
2510  }
2511  .footer-v2__col h4 {
2512    font-family: 'Satoshi', system-ui, sans-serif;
2513    font-size: 0.65rem;
2514    font-weight: 700;
2515    letter-spacing: 0.14em;
2516    text-transform: uppercase;
2517    color: #ffffff;
2518    margin-bottom: 1rem;
2519  }
2520  .footer-v2__col a {
2521    display: block;
2522    font-family: 'Satoshi', system-ui, sans-serif;
2523    font-size: 0.78rem;
2524    color: rgba(255,255,255,.88);
2525    margin-bottom: 0.5rem;
2526    text-decoration: none;
2527    transition: color 0.15s, padding-left 0.15s;
2528    font-weight: 300;
2529    letter-spacing: 0.8px;
2530  }
2531  .footer-v2__col a:hover {
2532    color: #fff;
2533    padding-left: 3px;
2534  }
2535  .footer-v2__bottom {
2536    max-width: 1280px;
2537    margin: 0 auto;
2538    padding: 1.25rem 3rem;
2539    border-top: 1px solid rgba(255,255,255,.14);
2540    display: flex;
2541    flex-wrap: wrap;
2542    justify-content: space-between;
2543    align-items: center;
2544    gap: 0.75rem;
2545  }
2546  @media (max-width: 767px) {
2547    .footer-v2__bottom {
2548      padding: 1.25rem 1.5rem;
2549      flex-direction: column;
2550      align-items: flex-start;
2551    }
2552  }
2553  .footer-v2__copy {
2554    font-family: 'Satoshi', system-ui, sans-serif;
2555    font-size: 0.75rem;
2556    color: rgba(255,255,255,.88);
2557  }
2558  .footer-v2__socials {
2559    display: flex;
2560    align-items: center;
2561    gap: 0.5rem;
2562  }
2563  .footer-v2__social {
2564    width: 36px;
2565    height: 36px;
2566    display: flex;
2567    align-items: center;
2568    justify-content: center;
2569    border: 1px solid rgba(255,255,255,.5);
2570    border-radius: 8px;
2571    color: rgba(255,255,255,.9);
2572    text-decoration: none;
2573    transition: border-color 0.15s, color 0.15s, background 0.15s;
2574  }
2575  .footer-v2__social:hover {
2576    border-color: #EC841F;
2577    color: #EC841F;
2578    background: rgba(236,132,31,.08);
2579  }
2580  .footer-v2__social svg {
2581    width: 14px;
2582    height: 14px;
2583  }
2584</style>
2585<footer class="footer-v2">
2586<div class="footer-v2__inner">
2587<div class="footer-v2__top">
2588<div class="footer-v2__brand">
2589<a href="/"><img alt="Alphadi" src="/image/222" /></a>
2590
2591<p class="footer-v2__claim">We focus on<br />
2592<em>people</em>.</p>
2593
2594<div class="footer-v2__contact">
2595<a href="tel:+4956194918900"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2596              <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.68 12a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.59 1.23h3a2 2 0 0 1 2 1.72c.128.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.87a16 16 0 0 0 6 6l.87-.87a2 2 0 0 1 2.11-.45c.907.339 1.85.572 2.81.7A2 2 0 0 1 22 16.92z"/>
2597            </svg>+49 561 949 189 0</a>
2598
2599<a href="mailto:[email protected]"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2600              <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/>
2601              <polyline points="22,6 12,13 2,6"/>
2602            </svg>[email protected]</a>
2603</div>
2604</div>
2605
2606<div class="footer-v2__links">
2607<div class="footer-v2__col">
2608<h4>Programs</h4>
2609
2610<a href="/en/workshops">Workshops &amp; Seminars</a>
2611
2612<a href="/en/events">Events</a>
2613
2614<a href="/en/assessments">Assessments</a>
2615
2616<a href="/en/support">Software Support &amp; Help</a>
2617</div>
2618
2619<div class="footer-v2__col">
2620<h4>Company</h4>
2621
2622<a href="/en/ueber-uns">About us</a>
2623
2624<a href="/en/contact">Contact</a>
2625
2626<a href="/en/career">Career</a>
2627</div>
2628
2629<div class="footer-v2__col">
2630<h4>Legal</h4>
2631
2632<a href="/en/privacy-policy">Privacy Policy</a>
2633
2634<a href="/en/t&amp;c">Terms and Conditions</a>
2635
2636<a href="/en/imprint">Imprint</a>
2637
2638<a href="/en/cancellation-policy">Revoke Contract Here</a>
2639
2640<a href="/en/shipping-payment-terms">Shipping &amp; Payment</a>
2641</div>
2642</div>
2643</div>
2644
2645<div class="footer-v2__bottom"><span class="footer-v2__copy">&copy; 2026 Alphadi Deutschland GmbH. All rights reserved.</span>
2646
2647<div class="footer-v2__socials">
2648<a aria-label="YouTube" class="footer-v2__social" href="#"><svg viewBox="0 0 24 24" fill="currentColor" width="16" height="16">
2649            <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>
2650          </svg></a>
2651
2652<a aria-label="LinkedIn" class="footer-v2__social" href="#"><svg viewBox="0 0 24 24" fill="currentColor" width="16" height="16">
2653            <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
2654          </svg></a>
2655</div>
2656</div>
2657</div>
2658</footer>
2659
2660    
2660<script>
2661        // Shared price formatter — mirrors DecimalUtils.PriceDisplay (German format, e.g. "6.600,00 €").
2662        // Used by every client-side price render (cart drawer, cart page, checkout, product options).
2663        window.formatPrice = function (value, symbol) {
2664            var n = Number(value);
2665            if (!isFinite(n)) { n = 0; }
2666            var number = n.toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
2667            return number + ' ' + (symbol || '€');
2668        };
2669    </script>
2669
2670    
2670<script src="/bundles/hp-scripts.min.js?v=ZHApbpWBMcSvjokQcwPZYptpuVDzcPqCftH9nsYyTTE"></script>
2670
2671    
2671<script src="/js/cart-sync.js?v=9IsathfVPUw6nubjgrQKNjXkyoTVZ-DBaj0qJNKNn8w"></script>
2671
2672
2673    <!-- KaTeX: render LaTeX math anywhere in the page content (delimiters \( \), \[ \], $$ $$) -->
2674    
2674<script src="/lib/katex/katex.min.js?v=3ISyluw-iE3gkxWPdg_Z1Ftser5YtTgVV_ThOPRqWK4"></script>
2674
2675    
2675<script src="/lib/katex/contrib/auto-render.min.js?v=nLjaz8CGwpZsnsS6VPSi3EO3y-KzPOwaJ0PYhsf7R6c"></script>
2675
2676    
2676<script>
2677
2678
2679    (function () {
2680        function renderMath() {
2681            if (typeof renderMathInElement !== 'function') { return; }
2682            renderMathInElement(document.body, {
2683                delimiters: [
2684                    { left: '$$', right: '$$', display: true },
2685                    { left: '\\[', right: '\\]', display: true },
2686                    { left: '\\(', right: '\\)', display: false }
2687                ],
2688                throwOnError: false,
2689                ignoredTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
2690            });
2691        }
2692
2693        if (document.readyState === 'loading') {
2694            document.addEventListener('DOMContentLoaded', renderMath);
2695        } else {
2696            renderMath();
2697        }
2698    })();
2699    </script>
2699
2700
2701    <!-- Topbar user menu toggle -->
2702    
2702<script>
2703    (function () {
2704        var userMenu = document.getElementById('userMenu');
2705        var userMenuBtn = document.getElementById('userMenuBtn');
2706        if (userMenu && userMenuBtn) {
2707            userMenuBtn.addEventListener('click', function (e) {
2708                e.stopPropagation();
2709                userMenu.classList.toggle('is-open');
2710            });
2711            document.addEventListener('click', function () {
2712                userMenu.classList.remove('is-open');
2713            });
2714            userMenu.addEventListener('click', function (e) { e.stopPropagation(); });
2715        }
2716        // Note: lang-switch toggles are already handled globally by hp-scripts.js
2717    })();
2718    </script>
2718
2719
2720    <!-- Topbar account (signed out) dropdown toggle -->
2721    
2721<script>
2722    (function () {
2723        var accountMenu = document.getElementById('accountMenu');
2724        var accountMenuBtn = document.getElementById('accountMenuBtn');
2725        if (accountMenu && accountMenuBtn) {
2726            accountMenuBtn.addEventListener('click', function (e) {
2727                e.stopPropagation();
2728                var open = accountMenu.classList.toggle('is-open');
2729                accountMenuBtn.setAttribute('aria-expanded', open ? 'true' : 'false');
2730            });
2731            document.addEventListener('click', function () {
2732                if (accountMenu.classList.contains('is-open')) {
2733                    accountMenu.classList.remove('is-open');
2734                    accountMenuBtn.setAttribute('aria-expanded', 'false');
2735                }
2736            });
2737            accountMenu.addEventListener('click', function (e) { e.stopPropagation(); });
2738        }
2739    })();
2740    </script>
2740
2741
2742    
2743
2744
2745    <!-- Cart FAB (mobile) -->
2746    <button class="cart-fab cart-btn" id="cartFab" aria-label="Cart">
2747        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 01-8 0"/></svg>
2748        <span class="cart-fab__badge cart-badge">0</span>
2749    </button>
2750
2751    <!-- Cart Overlay + Drawer -->
2752    <div class="cart-overlay" id="cartOverlay"></div>
2753    <div class="cart-drawer" id="cartDrawer"
2754         data-label-empty="Your cart is empty."
2755         data-label-remove="Remove"
2756         data-label-order="Order now"
2757         data-label-continue="Continue shopping"
2758         data-label-unit="unit"
2759         data-label-required="This option is required.">
2760        <div class="cart-drawer__head">
2761            <span class="cart-drawer__title">Cart</span>
2762            <button class="cart-drawer__close" id="cartClose">&#x2715;</button>
2763        </div>
2764        <div class="cart-drawer__notice" id="cartNotice" style="display:none;padding:0.9rem 1.1rem 0;"
2765             data-msg-title="Your cart was updated"
2766             data-msg-removed="{name} is no longer available and was removed."
2767             data-msg-repriced="Price of {name} changed to {price}."></div>
2768        <div class="cart-drawer__body" id="cartBody"></div>
2769        <div class="cart-drawer__foot" id="cartFoot" style="display:none;">
2770            <div class="cart-subtotal">
2771                <span class="cart-subtotal__label">Total</span>
2772                <span class="cart-subtotal__amount" id="cartTotal">0,00 &#8364;</span>
2773            </div>
2774            <a href="/en/cart" class="btn btn--primary btn--lg" style="width:100%;justify-content:center;">View cart</a>
2775            <button class="cart-continue" id="cartContinue">Continue shopping</button>
2776        </div>
2777    </div>
2778
2779    
2780<div class="modal-overlay" id="bookingRequestModal">
2781    <div class="modal" role="dialog" aria-modal="true" aria-labelledby="bookingRequestModalTitle">
2782        <button type="button" class="modal__close" data-booking-request-close aria-label="Close">&times;</button>
2783        <div class="modal__title" id="bookingRequestModalTitle">Reserve a seat</div>
2784        <p style="font-family:var(--f-ui);font-size:0.875rem;color:var(--c-mid);margin-bottom:1.5rem;">
2785            <strong id="bookingRequestProduct"></strong>
2786            <span id="bookingRequestFormat"></span>
2787        </p>
2788        <form id="bookingRequestForm" novalidate>
2789            <div class="form-group">
2790                <label class="form-label">First name *</label>
2791                <input type="text" class="form-input" name="firstName" required />
2792                <div class="field-error"></div>
2793            </div>
2794            <div class="form-group">
2795                <label class="form-label">Last name *</label>
2796                <input type="text" class="form-input" name="lastName" required />
2797                <div class="field-error"></div>
2798            </div>
2799            <div class="form-group">
2800                <label class="form-label">Company *</label>
2801                <input type="text" class="form-input" name="company" required />
2802                <div class="field-error"></div>
2803            </div>
2804            <div class="form-group">
2805                <label class="form-label">Email *</label>
2806                <input type="email" class="form-input" name="email" required />
2807                <div class="field-error"></div>
2808            </div>
2809            <div class="form-group">
2810                <label class="form-label">Phone *</label>
2811                <input type="tel" class="form-input" name="phone" required />
2812                <div class="field-error"></div>
2813            </div>
2814            <div class="form-group">
2815                <label class="form-label">Notes / special requirements</label>
2816                <textarea class="form-textarea" name="notes" rows="3"></textarea>
2817            </div>
2818                <div class="checkout-check-field">
2819                    <label class="checkout-check-label">
2820                        <input type="checkbox" id="br-terms" name="terms" />
2821                        <span>
2822                            I have read the
2823                            <a href="/en/t&amp;c" target="_blank" rel="noopener">Terms &amp; Conditions</a>
2824                            and agree to them. <span class="req">*</span>
2825                        </span>
2826                    </label>
2827                    <span class="field-error fw-bold text-danger" id="brTermsError"></span>
2828                </div>
2829            <div class="checkout-check-field">
2830                <label class="checkout-check-label">
2831                    <input type="checkbox" id="br-privacy" name="privacy" />
2832                    <span>
2833                        I have read the
2834                        <a href="/en/privacy-policy" target="_blank" rel="noopener">Privacy Policy</a>
2835                        and agree that my data will be processed. <span class="req">*</span>
2836                    </span>
2837                </label>
2838                <span class="field-error fw-bold text-danger" id="brPrivacyError"></span>
2839            </div>
2840
2841            <div class="field-error" id="bookingRequestFormError" style="margin-bottom:.75rem;"></div>
2842            <button type="submit" class="btn btn--primary" style="width:100%;justify-content:center;">
2843                Send booking request
2844            </button>
2845        </form>
2846    </div>
2847</div>
2848
2849<script>
2850(function () {
2851    'use strict';
2852
2853    var overlay = document.getElementById('bookingRequestModal');
2854    var form    = document.getElementById('bookingRequestForm');
2855    if (!overlay || !form) { return; }
2856
2857    var productEl = document.getElementById('bookingRequestProduct');
2858    var formatEl  = document.getElementById('bookingRequestFormat');
2859    var formError = document.getElementById('bookingRequestFormError');
2860    var pending   = null;
2861    var submitting = false;
2862
2863    var POST_URL     = '/en/cart/submit-booking-request';
2864    var MSG_REQUIRED = "This field is required.";
2865    var MSG_EMAIL    = "Please enter a valid e-mail address.";
2866    var MSG_ERROR    = "An error occurred. Please try again.";
2867    var MSG_TERMS    = "You must agree to the Terms & Conditions to continue.";
2868    var MSG_PRIVACY  = "You must agree to the Privacy Policy to continue.";
2869
2870    function isEmail(v) { return /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test((v || '').trim()); }
2871
2872    function openModal(data) {
2873        pending = data;
2874        productEl.textContent = data.name || '';
2875        formatEl.innerHTML    = data.format ? (' · ' + data.format) : '';
2876        form.reset();
2877        formError.textContent = '';
2878        form.querySelectorAll('.is-invalid').forEach(function (el) { el.classList.remove('is-invalid'); });
2879        form.querySelectorAll('.field-error').forEach(function (el) { el.textContent = ''; });
2880        overlay.classList.add('is-open');
2881        document.body.style.overflow = 'hidden';
2882        setTimeout(function () { form.querySelector('[name=firstName]')?.focus(); }, 50);
2883    }
2884
2885    function closeModal() {
2886        overlay.classList.remove('is-open');
2887        document.body.style.overflow = '';
2888        pending = null;
2889    }
2890
2891    overlay.addEventListener('click', function (e) {
2892        if (e.target === overlay) { closeModal(); }
2893    });
2894    overlay.querySelectorAll('[data-booking-request-close]').forEach(function (b) {
2895        b.addEventListener('click', closeModal);
2896    });
2897    document.addEventListener('keydown', function (e) {
2898        if (e.key === 'Escape' && overlay.classList.contains('is-open')) { closeModal(); }
2899    });
2900
2901    // Capture-phase interception so we beat both the cart booking modal and the global add-to-cart handler.
2902    document.addEventListener('click', function (e) {
2903        var btn = e.target.closest('[data-add-to-cart][data-cart-type]');
2904        if (!btn) { return; }
2905        if (btn.dataset.onlyBooking !== 'true') { return; }   // not an OnlyBooking appointment — let the cart flow run
2906        var type = btn.dataset.cartType;
2907        if (type !== 'training' && type !== 'event') { return; }
2908        if (btn.disabled) { return; }
2909        e.preventDefault();
2910        e.stopImmediatePropagation();
2911        openModal({
2912            id:     btn.dataset.addToCart,
2913            type:   type,
2914            name:   btn.dataset.cartName   || btn.dataset.addToCart,
2915            format: btn.dataset.cartFormat || '',
2916        });
2917    }, true);
2918
2919    function showErr(field, msg) {
2920        field.classList.add('is-invalid');
2921        var s = field.parentElement.querySelector('.field-error');
2922        if (s) { s.textContent = msg; }
2923    }
2924    function clearErr(field) {
2925        field.classList.remove('is-invalid');
2926        var s = field.parentElement.querySelector('.field-error');
2927        if (s) { s.textContent = ''; }
2928    }
2929    function validate(field) {
2930        var val = (field.value || '').trim();
2931        if (field.hasAttribute('required') && !val) { showErr(field, MSG_REQUIRED); return false; }
2932        if (field.type === 'email' && val && !isEmail(val)) { showErr(field, MSG_EMAIL); return false; }
2933        clearErr(field); return true;
2934    }
2935
2936    form.querySelectorAll('input, textarea').forEach(function (f) {
2937        f.addEventListener('blur',  function () { validate(f); });
2938        f.addEventListener('input', function () { if (f.classList.contains('is-invalid')) { clearErr(f); } });
2939    });
2940
2941    form.addEventListener('submit', function (e) {
2942        e.preventDefault();
2943        if (!pending || submitting) { return; }
2944        formError.textContent = '';
2945        var ok = true;
2946        form.querySelectorAll('input[required], input[type=email]').forEach(function (f) {
2947            if (!validate(f)) { ok = false; }
2948        });
2949
2950        var termsCb  = document.getElementById('br-terms');
2951        var termsErr = document.getElementById('brTermsError');
2952        if (termsCb) {
2953            if (!termsCb.checked) {
2954                termsCb.classList.add('is-invalid');
2955                if (termsErr) { termsErr.textContent = MSG_TERMS; }
2956                ok = false;
2957            } else {
2958                termsCb.classList.remove('is-invalid');
2959                if (termsErr) { termsErr.textContent = ''; }
2960            }
2961        }
2962
2963        var privacyCb  = document.getElementById('br-privacy');
2964        var privacyErr = document.getElementById('brPrivacyError');
2965        if (!privacyCb.checked) {
2966            privacyCb.classList.add('is-invalid');
2967            if (privacyErr) { privacyErr.textContent = MSG_PRIVACY; }
2968            ok = false;
2969        } else {
2970            privacyCb.classList.remove('is-invalid');
2971            if (privacyErr) { privacyErr.textContent = ''; }
2972        }
2973
2974        if (!ok) { return; }
2975
2976        var fd = new FormData(form);
2977        var payload = {
2978            id:        pending.id,
2979            type:      pending.type,
2980            firstName: (fd.get('firstName') || '').trim(),
2981            lastName:  (fd.get('lastName')  || '').trim(),
2982            company:   (fd.get('company')   || '').trim(),
2983            email:     (fd.get('email')     || '').trim(),
2984            phone:     (fd.get('phone')     || '').trim(),
2985            notes:     (fd.get('notes')     || '').trim(),
2986        };
2987
2988        submitting = true;
2989        var submitBtn = form.querySelector('button[type=submit]');
2990        if (submitBtn) { submitBtn.disabled = true; }
2991
2992        fetch(POST_URL, {
2993            method: 'POST',
2994            headers: { 'Content-Type': 'application/json' },
2995            body: JSON.stringify(payload),
2996        }).then(function (res) {
2997            return res.ok ? res.json() : Promise.reject(res);
2998        }).then(function (data) {
2999            if (data && data.redirectUrl) {
3000                window.location = data.redirectUrl;
3001            } else {
3002                window.location.reload();
3003            }
3004        }).catch(function () {
3005            submitting = false;
3006            if (submitBtn) { submitBtn.disabled = false; }
3007            formError.textContent = MSG_ERROR;
3008        });
3009    });
3010})();
3011</script>
3011
3012
3013    
3014<div class="modal-overlay" id="bookingModal">
3015    <div class="modal" role="dialog" aria-modal="true" aria-labelledby="bookingModalTitle">
3016        <button type="button" class="modal__close" data-booking-close aria-label="Close">&times;</button>
3017        <div class="modal__title" id="bookingModalTitle">Reserve a seat</div>
3018        <p style="font-family:var(--f-ui);font-size:0.875rem;color:var(--c-mid);margin-bottom:1.5rem;">
3019            <strong id="bookingModalProduct"></strong>
3020            <span id="bookingModalFormat"></span>
3021        </p>
3022        <form id="bookingForm" novalidate>
3023            <div class="form-group">
3024                <label class="form-label">First name *</label>
3025                <input type="text" class="form-input" name="participantFirstName" required />
3026                <div class="field-error"></div>
3027            </div>
3028            <div class="form-group">
3029                <label class="form-label">Last name *</label>
3030                <input type="text" class="form-input" name="participantLastName" required />
3031                <div class="field-error"></div>
3032            </div>
3033            <div class="form-group">
3034                <label class="form-label">Company *</label>
3035                <input type="text" class="form-input" name="participantCompany" required />
3036                <div class="field-error"></div>
3037            </div>
3038            <div class="form-group">
3039                <label class="form-label">Email *</label>
3040                <input type="email" class="form-input" name="participantEmail" required />
3041                <div class="field-error"></div>
3042            </div>
3043            <div class="form-group">
3044                <label class="form-label">Phone *</label>
3045                <input type="tel" class="form-input" name="participantPhone" required />
3046                <div class="field-error"></div>
3047            </div>
3048            <div class="form-group">
3049                <label class="form-label">Notes / special requirements</label>
3050                <textarea class="form-textarea" name="participantNotes" rows="3"></textarea>
3051            </div>
3052            <button type="submit" class="btn btn--primary" style="width:100%;justify-content:center;">
3053                Add to cart
3054            </button>
3055        </form>
3056    </div>
3057</div>
3058
3059<script>
3060(function () {
3061    'use strict';
3062
3063    var overlay = document.getElementById('bookingModal');
3064    var form    = document.getElementById('bookingForm');
3065    if (!overlay || !form) { return; }
3066
3067    var productEl = document.getElementById('bookingModalProduct');
3068    var formatEl  = document.getElementById('bookingModalFormat');
3069    var pending   = null;
3070
3071    var MSG_REQUIRED = 'This field is required.';
3072    var MSG_EMAIL    = 'Please enter a valid e-mail address.';
3073
3074    function isEmail(v) { return /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test((v || '').trim()); }
3075
3076    function openModal(data) {
3077        pending = data;
3078        productEl.textContent = data.name || '';
3079        formatEl.innerHTML    = data.format ? (' · ' + data.format) : '';
3080        form.reset();
3081        form.querySelectorAll('.is-invalid').forEach(function (el) { el.classList.remove('is-invalid'); });
3082        form.querySelectorAll('.field-error').forEach(function (el) { el.textContent = ''; });
3083        overlay.classList.add('is-open');
3084        document.body.style.overflow = 'hidden';
3085        setTimeout(function () { form.querySelector('[name=participantFirstName]')?.focus(); }, 50);
3086    }
3087
3088    function closeModal() {
3089        overlay.classList.remove('is-open');
3090        document.body.style.overflow = '';
3091        pending = null;
3092    }
3093
3094    overlay.addEventListener('click', function (e) {
3095        if (e.target === overlay) { closeModal(); }
3096    });
3097    overlay.querySelectorAll('[data-booking-close]').forEach(function (b) {
3098        b.addEventListener('click', closeModal);
3099    });
3100    document.addEventListener('keydown', function (e) {
3101        if (e.key === 'Escape' && overlay.classList.contains('is-open')) { closeModal(); }
3102    });
3103
3104    // Intercept add-to-cart clicks for trainings/events so we collect participant info first.
3105    document.addEventListener('click', function (e) {
3106        var btn = e.target.closest('[data-add-to-cart][data-cart-type]');
3107        if (!btn) { return; }
3108        var type = btn.dataset.cartType;
3109        if (type !== 'training' && type !== 'event') { return; }
3110        // OnlyBooking appointments are handled by the separate "Send booking request" modal.
3111        if (btn.dataset.onlyBooking === 'true') { return; }
3112        if (btn.disabled) { return; }
3113        e.preventDefault();
3114        e.stopImmediatePropagation();
3115        openModal({
3116            id:     btn.dataset.addToCart,
3117            name:   btn.dataset.cartName   || btn.dataset.addToCart,
3118            price:  btn.dataset.cartPrice  || '0',
3119            format: btn.dataset.cartFormat || '',
3120            image:  btn.dataset.cartImage  || '',
3121            type:   type,
3122        });
3123    }, true); // capture phase so we beat the global add-to-cart handler
3124
3125    function showErr(field, msg) {
3126        field.classList.add('is-invalid');
3127        var s = field.parentElement.querySelector('.field-error');
3128        if (s) { s.textContent = msg; }
3129    }
3130    function clearErr(field) {
3131        field.classList.remove('is-invalid');
3132        var s = field.parentElement.querySelector('.field-error');
3133        if (s) { s.textContent = ''; }
3134    }
3135    function validate(field) {
3136        var val = (field.value || '').trim();
3137        if (field.hasAttribute('required') && !val) { showErr(field, MSG_REQUIRED); return false; }
3138        if (field.type === 'email' && val && !isEmail(val)) { showErr(field, MSG_EMAIL); return false; }
3139        clearErr(field); return true;
3140    }
3141
3142    form.querySelectorAll('input, textarea').forEach(function (f) {
3143        f.addEventListener('blur',  function () { validate(f); });
3144        f.addEventListener('input', function () { if (f.classList.contains('is-invalid')) { clearErr(f); } });
3145    });
3146
3147    form.addEventListener('submit', function (e) {
3148        e.preventDefault();
3149        if (!pending) { return; }
3150        var ok = true;
3151        form.querySelectorAll('input[required], input[type=email]').forEach(function (f) {
3152            if (!validate(f)) { ok = false; }
3153        });
3154        if (!ok) { return; }
3155
3156        var fd = new FormData(form);
3157        var firstName = (fd.get('participantFirstName') || '').trim();
3158        var lastName  = (fd.get('participantLastName')  || '').trim();
3159        var participant = {
3160            firstName: firstName,
3161            lastName:  lastName,
3162            // Combined name kept for the mini-cart display (and legacy back-compat).
3163            name:    (firstName + ' ' + lastName).trim(),
3164            company: (fd.get('participantCompany') || '').trim(),
3165            email:   (fd.get('participantEmail')   || '').trim(),
3166            phone:   (fd.get('participantPhone')   || '').trim(),
3167            notes:   (fd.get('participantNotes')   || '').trim(),
3168        };
3169
3170        if (typeof window.alphadiAddBookingToCart === 'function') {
3171            window.alphadiAddBookingToCart(pending, participant);
3172        }
3173        closeModal();
3174    });
3175})();
3176</script>
3176
3177
3178    
3179<div class="modal-overlay" id="requestModal">
3180    <div class="modal" role="dialog" aria-modal="true" aria-labelledby="requestModalTitle">
3181        <button type="button" class="modal__close" data-request-close aria-label="Close">&times;</button>
3182        <div class="modal__title" id="requestModalTitle">Request</div>
3183        <p style="font-family:var(--f-ui);font-size:0.875rem;color:var(--c-mid);margin-bottom:1.5rem;">
3184            <strong id="requestModalProduct"></strong>
3185        </p>
3186        <form id="requestForm" novalidate>
3187            <input type="hidden" name="itemName" id="requestItemName" />
3188            <div class="form-group">
3189                <label class="form-label">First name *</label>
3190                <input type="text" class="form-input" name="firstName" required />
3191                <div class="field-error"></div>
3192            </div>
3193            <div class="form-group">
3194                <label class="form-label">Last name *</label>
3195                <input type="text" class="form-input" name="lastName" required />
3196                <div class="field-error"></div>
3197            </div>
3198            <div class="form-group">
3199                <label class="form-label">Company</label>
3200                <input type="text" class="form-input" name="company" />
3201                <div class="field-error"></div>
3202            </div>
3203            <div class="form-group">
3204                <label class="form-label">Email *</label>
3205                <input type="email" class="form-input" name="email" required />
3206                <div class="field-error"></div>
3207            </div>
3208            <div class="form-group">
3209                <label class="form-label">Phone *</label>
3210                <input type="tel" class="form-input" name="phone" required />
3211                <div class="field-error"></div>
3212            </div>
3213            <div class="form-group">
3214                <label class="form-label">Message</label>
3215                <textarea class="form-textarea" name="message" rows="3"></textarea>
3216            </div>
3217            <div id="requestFormStatus" style="display:none;margin-bottom:1rem;font-family:var(--f-ui);font-size:0.875rem;"></div>
3218
3219                <div class="checkout-check-field">
3220                    <label class="checkout-check-label">
3221                        <input type="checkbox" id="req-terms" name="terms" />
3222                        <span>
3223                            I have read the
3224                            <a href="/en/t&amp;c" target="_blank" rel="noopener">Terms &amp; Conditions</a>
3225                            and agree to them. <span class="req">*</span>
3226                        </span>
3227                    </label>
3228                    <span class="field-error fw-bold text-danger" id="reqTermsError"></span>
3229                </div>
3230            <div class="checkout-check-field">
3231                <label class="checkout-check-label">
3232                    <input type="checkbox" id="req-privacy" name="privacy" />
3233                    <span>
3234                        I have read the
3235                        <a href="/en/privacy-policy" target="_blank" rel="noopener">Privacy Policy</a>
3236                        and agree that my data will be processed. <span class="req">*</span>
3237                    </span>
3238                </label>
3239                <span class="field-error fw-bold text-danger" id="reqPrivacyError"></span>
3240            </div>
3241
3242            <button type="submit" class="btn btn--primary" style="width:100%;justify-content:center;">
3243                Send request
3244            </button>
3245        </form>
3246    </div>
3247</div>
3248
3249<script>
3250(function () {
3251    'use strict';
3252
3253    var overlay    = document.getElementById('requestModal');
3254    var form       = document.getElementById('requestForm');
3255    var productEl  = document.getElementById('requestModalProduct');
3256    var itemNameEl = document.getElementById('requestItemName');
3257    var statusEl   = document.getElementById('requestFormStatus');
3258    if (!overlay || !form) { return; }
3259
3260    var MSG_REQUIRED = "This field is required.";
3261    var MSG_EMAIL    = "Please enter a valid e-mail address.";
3262    var MSG_SUCCESS  = "Your request has been sent. We will get back to you shortly.";
3263    var MSG_ERROR    = "Something went wrong. Please try again.";
3264    var MSG_TERMS    = "You must agree to the Terms & Conditions to continue.";
3265    var MSG_PRIVACY  = "You must agree to the Privacy Policy to continue.";
3266
3267    function isEmail(v) { return /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test((v || '').trim()); }
3268
3269    function openModal(name) {
3270        if (productEl) { productEl.textContent = name || ''; }
3271        if (itemNameEl) { itemNameEl.value = name || ''; }
3272        form.reset();
3273        if (itemNameEl) { itemNameEl.value = name || ''; }
3274        form.querySelectorAll('.is-invalid').forEach(function (el) { el.classList.remove('is-invalid'); });
3275        form.querySelectorAll('.field-error').forEach(function (el) { el.textContent = ''; });
3276        statusEl.style.display = 'none';
3277        statusEl.textContent = '';
3278        overlay.classList.add('is-open');
3279        document.body.style.overflow = 'hidden';
3280        setTimeout(function () { form.querySelector('[name=firstName]')?.focus(); }, 50);
3281    }
3282
3283    function closeModal() {
3284        overlay.classList.remove('is-open');
3285        document.body.style.overflow = '';
3286    }
3287
3288    overlay.addEventListener('click', function (e) {
3289        if (e.target === overlay) { closeModal(); }
3290    });
3291    overlay.querySelectorAll('[data-request-close]').forEach(function (b) {
3292        b.addEventListener('click', closeModal);
3293    });
3294    document.addEventListener('keydown', function (e) {
3295        if (e.key === 'Escape' && overlay.classList.contains('is-open')) { closeModal(); }
3296    });
3297
3298    document.addEventListener('click', function (e) {
3299        var btn = e.target.closest('[data-open-request-modal]');
3300        if (!btn) { return; }
3301        e.preventDefault();
3302        openModal(btn.dataset.openRequestModal || '');
3303    });
3304
3305    // Per-date "By invoice" toggle — expands the inline note ("Inquire here …") within the
3306    // booking box; the link inside it opens this modal.
3307    document.addEventListener('click', function (e) {
3308        var toggle = e.target.closest('[data-invoice-toggle]');
3309        if (!toggle) { return; }
3310        var item = toggle.closest('[data-date-item]');
3311        if (item) { item.classList.toggle('is-open'); }
3312    });
3313
3314    function showErr(field, msg) {
3315        field.classList.add('is-invalid');
3316        var s = field.parentElement.querySelector('.field-error');
3317        if (s) { s.textContent = msg; }
3318    }
3319    function clearErr(field) {
3320        field.classList.remove('is-invalid');
3321        var s = field.parentElement.querySelector('.field-error');
3322        if (s) { s.textContent = ''; }
3323    }
3324    function validate(field) {
3325        var val = (field.value || '').trim();
3326        if (field.hasAttribute('required') && !val) { showErr(field, MSG_REQUIRED); return false; }
3327        if (field.type === 'email' && val && !isEmail(val)) { showErr(field, MSG_EMAIL); return false; }
3328        clearErr(field); return true;
3329    }
3330
3331    form.querySelectorAll('input, textarea').forEach(function (f) {
3332        f.addEventListener('blur',  function () { validate(f); });
3333        f.addEventListener('input', function () { if (f.classList.contains('is-invalid')) { clearErr(f); } });
3334    });
3335
3336    form.addEventListener('submit', function (e) {
3337        e.preventDefault();
3338        var ok = true;
3339        form.querySelectorAll('input[required], input[type=email]').forEach(function (f) {
3340            if (!validate(f)) { ok = false; }
3341        });
3342
3343        var termsCb  = document.getElementById('req-terms');
3344        var termsErr = document.getElementById('reqTermsError');
3345        if (termsCb) {
3346            if (!termsCb.checked) {
3347                termsCb.classList.add('is-invalid');
3348                if (termsErr) { termsErr.textContent = MSG_TERMS; }
3349                ok = false;
3350            } else {
3351                termsCb.classList.remove('is-invalid');
3352                if (termsErr) { termsErr.textContent = ''; }
3353            }
3354        }
3355
3356        var privacyCb  = document.getElementById('req-privacy');
3357        var privacyErr = document.getElementById('reqPrivacyError');
3358        if (!privacyCb.checked) {
3359            privacyCb.classList.add('is-invalid');
3360            if (privacyErr) { privacyErr.textContent = MSG_PRIVACY; }
3361            ok = false;
3362        } else {
3363            privacyCb.classList.remove('is-invalid');
3364            if (privacyErr) { privacyErr.textContent = ''; }
3365        }
3366
3367        if (!ok) { return; }
3368
3369        var submitBtn = form.querySelector('[type=submit]');
3370        submitBtn.disabled = true;
3371
3372        var fd = new FormData(form);
3373        var payload = {
3374            itemName:  (fd.get('itemName')  || '').trim(),
3375            firstName: (fd.get('firstName') || '').trim(),
3376            lastName:  (fd.get('lastName')  || '').trim(),
3377            company:   (fd.get('company')   || '').trim(),
3378            email:     (fd.get('email')     || '').trim(),
3379            phone:     (fd.get('phone')     || '').trim(),
3380            message:   (fd.get('message')   || '').trim(),
3381        };
3382
3383        fetch('/Home/SendRequest', {
3384            method: 'POST',
3385            headers: { 'Content-Type': 'application/json' },
3386            body: JSON.stringify(payload),
3387        })
3388        .then(function (r) { return r.json(); })
3389        .then(function (data) {
3390            if (data.success) {
3391                if (data.redirectUrl) {
3392                    window.location.href = data.redirectUrl;
3393                } else {
3394                    statusEl.style.display = 'block';
3395                    statusEl.style.color = 'var(--c-green, green)';
3396                    statusEl.textContent = MSG_SUCCESS;
3397                    form.querySelectorAll('input, textarea, button[type=submit]').forEach(function (el) { el.disabled = true; });
3398                }
3399            } else {
3400                statusEl.style.display = 'block';
3401                statusEl.style.color = 'var(--c-error, red)';
3402                statusEl.textContent = data.message || MSG_ERROR;
3403                submitBtn.disabled = false;
3404            }
3405        })
3406        .catch(function () {
3407            statusEl.style.display = 'block';
3408            statusEl.style.color = 'var(--c-error, red)';
3409            statusEl.textContent = MSG_ERROR;
3410            submitBtn.disabled = false;
3411        });
3412    });
3413})();
3414</script>
3414
3415
3416    
3417<div class="modal-overlay" id="productFeatureModal">
3418    <div class="modal" role="dialog" aria-modal="true" aria-labelledby="productFeatureModalTitle" style="max-width:560px;">
3419        <button type="button" class="modal__close" data-pf-close aria-label="Close">&times;</button>
3420        <div class="modal__title" id="productFeatureModalTitle">Choose options</div>
3421        <p style="font-family:var(--f-ui);font-size:0.875rem;color:var(--c-mid);margin-bottom:1.25rem;">
3422            <strong id="pfModalProduct"></strong>
3423        </p>
3424
3425        <div id="pfModalBody"></div>
3426
3427        <div style="display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 1rem;padding-top:1rem;border-top:1px solid var(--c-border);">
3428            <span style="font-family:var(--f-ui);font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-subtle);">Total</span>
3429            <span id="pfModalTotal" style="font-family:var(--f-display);font-size:1.75rem;font-weight:700;color:var(--c-orange);line-height:1;">0,00 &#8364;</span>
3430        </div>
3431
3432        <button type="button" id="pfModalSubmit" class="btn btn--primary" style="width:100%;justify-content:center;">
3433            Add to cart
3434        </button>
3435    </div>
3436</div>
3437
3438<script>
3439(function () {
3440    'use strict';
3441
3442    var overlay = document.getElementById('productFeatureModal');
3443    if (!overlay) { return; }
3444
3445    var productEl = document.getElementById('pfModalProduct');
3446    var bodyEl    = document.getElementById('pfModalBody');
3447    var totalEl   = document.getElementById('pfModalTotal');
3448    var submitBtn = document.getElementById('pfModalSubmit');
3449
3450    var MSG_REQUIRED = 'Please select an option.';
3451
3452    var pending  = null;   // { id, name, basePrice, image, shippableMap }
3453    var features = [];     // [{ name, isRequired, options: [...] }]
3454    var selected = {};     // { [featureIndex]: { name, price, isShippable } }
3455
3456    function fmtPrice(v) {
3457        return window.formatPrice
3458            ? window.formatPrice(v)
3459            : '\u20AC' + (v < 0 ? '-' + Math.abs(v).toFixed(2) : v.toFixed(2));
3460    }
3461
3462    // Build shippability lookup from raw DB JSON (PascalCase, all feature types).
3463    // Returns map[listFeatureIndex][optionIndex] = bool
3464    function buildShippableMap(rawJson) {
3465        var map = {};
3466        try {
3467            var all = JSON.parse(rawJson || '[]');
3468            var listIdx = 0;
3469            all.forEach(function (f) {
3470                if ((f.Type !== undefined ? f.Type : f.type) !== 0) { return; }
3471                var fi = listIdx++;
3472                map[fi] = {};
3473                (f.Options || f.options || []).forEach(function (o, oi) {
3474                    map[fi][oi] = !!(o.IsShippable || o.isShippable);
3475                });
3476            });
3477        } catch (e) {}
3478        return map;
3479    }
3480
3481    function recalcTotal() {
3482        var delta = 0;
3483        Object.keys(selected).forEach(function (k) { delta += selected[k].price; });
3484        var total = Math.max(0, pending.basePrice + delta);
3485        totalEl.textContent = fmtPrice(total);
3486        return total;
3487    }
3488
3489    function renderBody() {
3490        selected = {};
3491        if (!features.length) { bodyEl.innerHTML = ''; return; }
3492        var sm = (pending && pending.shippableMap) || {};
3493
3494        bodyEl.innerHTML = features.map(function (f, fi) {
3495            var opts = (f.options || []).map(function (o, oi) {
3496                var deltaHtml = '';
3497                if (o.price > 0)      { deltaHtml = '<span class="product-fmt-card__delta">+' + fmtPrice(o.price) + '</span>'; }
3498                else if (o.price < 0) { deltaHtml = '<span class="product-fmt-card__delta product-fmt-card__delta--down">' + fmtPrice(o.price) + '</span>'; }
3499
3500                var badgeHtml = o.badgeText
3501                    ? '<span class="product-fmt-card__badge">' + o.badgeText + '</span>'
3502                    : '';
3503
3504                var isShippable = !!(sm[fi] && sm[fi][oi]);
3505                var isDefault = !!o.isDefault;
3506                if (isDefault) {
3507                    selected[fi] = { name: o.name, price: parseFloat(o.price) || 0, isShippable: isShippable };
3508                }
3509
3510                return '<label class="product-fmt-card' + (isDefault ? ' is-selected' : '') + '"' +
3511                       ' data-feature-index="' + fi + '"' +
3512                       ' data-option-index="' + oi + '"' +
3513                       ' data-option-name="' + (o.name || '').replace(/"/g, '&quot;') + '"' +
3514                       ' data-option-price="' + (parseFloat(o.price) || 0) + '"' +
3515                       ' data-option-shippable="' + (isShippable ? 'true' : 'false') + '">' +
3516                            '<input type="radio" name="pf-' + fi + '" ' + (isDefault ? 'checked' : '') + ' style="display:none">' +
3517                            '<div class="product-fmt-card__name">' + (o.name || '') + ' ' + badgeHtml + '</div>' +
3518                            (deltaHtml ? '<div class="product-fmt-card__meta">' + deltaHtml + '</div>' : '') +
3519                       '</label>';
3520            }).join('');
3521
3522            return '<div class="product-fmt-group" data-feature-index="' + fi + '" data-feature-required="' + (f.isRequired ? 'true' : 'false') + '">' +
3523                       '<div class="product-fmt-group__label">' +
3524                            (f.name || '') +
3525                            (f.isRequired ? '<span class="product-fmt-group__req" title="Required">*</span>' : '') +
3526                       '</div>' +
3527                       '<div class="product-fmt-grid">' + opts + '</div>' +
3528                       '<div class="product-fmt-error"></div>' +
3529                   '</div>';
3530        }).join('');
3531    }
3532
3533    function openModal(data, parsedFeatures, shippableMap) {
3534        pending  = data;
3535        pending.shippableMap = shippableMap || {};
3536        features = parsedFeatures || [];
3537        productEl.textContent = data.name || '';
3538        renderBody();
3539        recalcTotal();
3540        overlay.classList.add('is-open');
3541        document.body.style.overflow = 'hidden';
3542    }
3543
3544    function closeModal() {
3545        overlay.classList.remove('is-open');
3546        document.body.style.overflow = '';
3547        pending  = null;
3548        features = [];
3549        selected = {};
3550    }
3551
3552    overlay.addEventListener('click', function (e) {
3553        if (e.target === overlay) { closeModal(); }
3554    });
3555    overlay.querySelectorAll('[data-pf-close]').forEach(function (b) {
3556        b.addEventListener('click', closeModal);
3557    });
3558    document.addEventListener('keydown', function (e) {
3559        if (e.key === 'Escape' && overlay.classList.contains('is-open')) { closeModal(); }
3560    });
3561
3562    bodyEl.addEventListener('click', function (e) {
3563        var card = e.target.closest('.product-fmt-card');
3564        if (!card) { return; }
3565        var fi = card.dataset.featureIndex;
3566        var group = card.closest('.product-fmt-group');
3567        if (group) {
3568            group.querySelectorAll('.product-fmt-card').forEach(function (c) { c.classList.remove('is-selected', 'is-error'); });
3569            var errEl = group.querySelector('.product-fmt-error');
3570            if (errEl) { errEl.textContent = ''; }
3571        }
3572        card.classList.add('is-selected');
3573        var input = card.querySelector('input[type=radio]');
3574        if (input) { input.checked = true; }
3575        selected[fi] = {
3576            name:       card.dataset.optionName,
3577            price:      parseFloat(card.dataset.optionPrice) || 0,
3578            isShippable: card.dataset.optionShippable === 'true',
3579        };
3580        recalcTotal();
3581    });
3582
3583    submitBtn.addEventListener('click', function () {
3584        if (!pending) { return; }
3585
3586        var ok = true;
3587        bodyEl.querySelectorAll('.product-fmt-group[data-feature-required="true"]').forEach(function (group) {
3588            var fi = group.dataset.featureIndex;
3589            var errEl = group.querySelector('.product-fmt-error');
3590            if (!selected[fi]) {
3591                if (errEl) { errEl.textContent = MSG_REQUIRED; }
3592                group.querySelectorAll('.product-fmt-card').forEach(function (c) { c.classList.add('is-error'); });
3593                ok = false;
3594            }
3595        });
3596        if (!ok) { return; }
3597
3598        var finalPrice  = recalcTotal();
3599        var parts       = [];
3600        features.forEach(function (f, fi) { if (selected[fi]) { parts.push(selected[fi].name); } });
3601        var finalFormat = parts.join(', ') || (pending.format || '');
3602        var isShippable = Object.values(selected).some(function (s) { return s.isShippable; });
3603
3604        if (typeof window.alphadiAddProductToCart === 'function') {
3605            window.alphadiAddProductToCart({
3606                id:          pending.id,
3607                name:        pending.name,
3608                price:       finalPrice,
3609                format:      finalFormat,
3610                image:       pending.image,
3611                isShippable: isShippable,
3612            });
3613        }
3614        closeModal();
3615    });
3616
3617    // Intercept add-to-cart clicks for products that ship feature data.
3618    document.addEventListener('click', function (e) {
3619        var btn = e.target.closest('[data-add-to-cart][data-cart-type="product"]');
3620        if (!btn) { return; }
3621        if (btn.disabled) { return; }
3622
3623        var raw = btn.dataset.cartFeatures;
3624        if (!raw) { return; } // no features → fall through to global handler
3625
3626        var parsed = null;
3627        try { parsed = JSON.parse(raw); } catch (_) { parsed = null; }
3628        if (!parsed || !parsed.length) { return; }
3629
3630        e.preventDefault();
3631        e.stopImmediatePropagation();
3632
3633        var shippableMap = buildShippableMap(btn.dataset.featuresRaw || '');
3634
3635        openModal({
3636            id:        btn.dataset.addToCart,
3637            name:      btn.dataset.cartName  || btn.dataset.addToCart,
3638            basePrice: parseFloat(btn.dataset.cartPrice) || 0,
3639            format:    btn.dataset.cartFormat || '',
3640            image:     btn.dataset.cartImage  || '',
3641        }, parsed, shippableMap);
3642    }, true); // capture phase — beat the global add-to-cart handler
3643})();
3644</script>
3644
3645
3646
3647    <div style="display: none !important">
3648            <a href="https://www.alphadi.org/de">Startseite German</a>
3649            <a href="https://www.alphadi.org/en">Startseite English</a>
3650            <a href="https://www.alphadi.org/es">Startseite Spanish</a>
3651            <a href="https://www.alphadi.org/it">Startseite Italian</a>
3652            <a href="https://www.alphadi.org/fr">Startseite French</a>
3653            <a href="https://www.alphadi.org/pl">Startseite Polish</a>
3654            <a href="https://www.alphadi.org/pt">Startseite Portuguese</a>
3655    </div>
3656</body>
3657</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.