1<!DOCTYPE html><html lang="en" dir="ltr" class="2xl:text-[20px]"> <head><!-- Google Consent Mode + GTM nur nach Cookiebot-Consent laden -->
1<script> 2 /* eslint-disable prefer-rest-params, no-var */ 3 // Basis: Data Layer & gtag-Helfer (nur lokales State, kein Netzwerkaufruf ohne GTM) 4 window.dataLayer = window.dataLayer || []; 5 function gtag() { 6 window.dataLayer.push(arguments); 7 } 8 9 // GTM-Lade-Funktion, wird erst nach Consent aufgerufen 10 function loadGtm() { 11 if (window.__t4dGtmLoaded) return; 12 window.__t4dGtmLoaded = true; 13 14 (function (w, d, s, l, i) { 15 w[l] = w[l] || []; 16 w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 17 var f = d.getElementsByTagName(s)[0]; 18 var j = d.createElement(s); 19 var dl = l != 'dataLayer' ? '&l=' + l : ''; 20 j.async = true; 21 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 22 f.parentNode.insertBefore(j, f); 23 })(window, document, 'script', 'dataLayer', 'GTM-KZ4CNR6G'); 24 } 25 26 // Default-Consent: alles denied, bis Cookiebot signalisiert, was erlaubt ist 27 gtag('consent', 'default', { 28 ad_storage: 'denied', 29 ad_personalization: 'denied', 30 ad_user_data: 'denied', 31 analytics_storage: 'denied', 32 functionality_storage: 'denied', 33 personalization_storage: 'denied', 34 security_storage: 'granted', 35 wait_for_update: 500, 36 }); 37 gtag('set', 'ads_data_redaction', true); 38 gtag('set', 'url_passthrough', true); 39 40 // Cookiebot-Event auswerten, Consent Mode updaten und GTM ggf. nachladen 41 // CookiebotOnAccept wird gefeuert, wenn User Consent gibt (Accept/Allow selection) 42 window.addEventListener('CookiebotOnAccept', function () { 43 if (!window.Cookiebot || typeof gtag !== 'function') return; 44 45 var c = window.Cookiebot.consent || {}; 46 47 gtag('consent', 'update', { 48 ad_storage: c.marketing ? 'granted' : 'denied', 49 ad_user_data: c.marketing ? 'granted' : 'denied', 50 ad_personalization: c.marketing ? 'granted' : 'denied', 51 analytics_storage: c.statistics ? 'granted' : 'denied', 52 personalization_storage: c.preferences ? 'granted' : 'denied', 53 functionality_storage: 'granted', 54 security_storage: 'granted', 55 }); 56 57 // Nur wenn Statistik ODER Marketing erlaubt ist, GTM wirklich laden 58 if (c.statistics || c.marketing) { 59 loadGtm(); 60 } 61 }); 62 </script>
62<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="sitemap" href="/sitemap-index.xml"><!-- Core favicons for modern browsers --><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png"><link rel="shortcut icon" href="/favicon.ico"><!-- Apple / iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><!-- PWA / Android --><link rel="manifest" href="/site.webmanifest"><!-- Safari pinned tab (re-using main SVG); color matches T4D dark brand --><link rel="mask-icon" href="/favicon.svg" color="#030620"><!-- Browser UI theme color --><meta name="theme-color" content="#030620"><style> 63 :root { 64 --aw-font-sans: 'Lato'; 65 --aw-font-serif: 'Lato'; 66 --aw-font-heading: 'Lato'; 67 68 --aw-color-primary: #00afeb; 69 --aw-color-secondary: #0083b0; 70 --aw-color-accent: #f39638; 71 --aw-color-accent-700: #b85f00; /* hover shade for accent */ 72 --aw-color-accent-800: #8c4800; /* AA-compliant dark accent for solid buttons */ 73 /* Status tokens (brand-aligned) */ 74 --aw-color-success: #19b3b8; /* teal-cyan from palette */ 75 --aw-color-info: #00afeb; /* alias primary */ 76 --aw-color-warning: #f39638; /* alias accent */ 77 78 --aw-color-text-heading: #000000; 79 --aw-color-text-default: rgb(16 16 16); 80 --aw-color-text-muted: rgb(16 16 16 / 66%); 81 --aw-color-bg-page: #ffffff; 82 83 --aw-color-bg-page-dark: rgb(3 6 32); 84 85 ::selection { 86 background-color: lavender; 87 } 88 } 89 90 .dark { 91 --aw-font-sans: 'Lato'; 92 --aw-font-serif: 'Lato'; 93 --aw-font-heading: 'Lato'; 94 95 --aw-color-primary: #00afeb; 96 --aw-color-secondary: #0083b0; 97 --aw-color-accent: #f39638; 98 --aw-color-accent-700: #b85f00; 99 --aw-color-accent-800: #8c4800; 100 101 --aw-color-text-heading: rgb(247, 248, 248); 102 --aw-color-text-default: rgb(229 236 246); 103 --aw-color-text-muted: rgb(255 255 255); 104 --aw-color-bg-page: rgb(3 6 32); 105 106 ::selection { 107 background-color: black; 108 color: snow; 109 } 110 } 111 /* Utilities */ 112 .clamp-2 { 113 display: -webkit-box; 114 -webkit-box-orient: vertical; 115 -webkit-line-clamp: 2; 116 overflow: hidden; 117 } 118</style>
118<script>(function(){const defaultTheme = "dark"; 119 120 function applyTheme(theme) { 121 if (theme === 'dark') { 122 document.documentElement.classList.add('dark'); 123 } else { 124 document.documentElement.classList.remove('dark'); 125 } 126 const matches = document.querySelectorAll('[data-aw-toggle-color-scheme] > input'); 127 128 if (matches && matches.length) { 129 matches.forEach((elem) => { 130 elem.checked = theme !== 'dark'; 131 }); 132 } 133 } 134 135 if ((defaultTheme && defaultTheme.endsWith(':only')) || (!localStorage.theme && defaultTheme !== 'system')) { 136 applyTheme(defaultTheme.replace(':only', '')); 137 } else if ( 138 localStorage.theme === 'dark' || 139 (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) 140 ) { 141 applyTheme('dark'); 142 } else { 143 applyTheme('light'); 144 } 145})();</script>
145<title>T4D Consulting - Digital Transformation, AI Readiness, Data & MLOps - T4D Consulting</title> 146<meta name="description" content="We remove friction in digital transformationsâAI readiness, data & MLOps, and cloud modernizationâfast, secure, and human-centered."> 147<meta name="robots" content="index,follow"> 148<link rel="canonical" href="https://www.t4d.de"> 149<meta property="og:title" content="T4D Consulting - Digital Transformation, AI Readiness, Data & MLOps"> 150<meta property="og:description" content="We remove friction in digital transformationsâAI readiness, data & MLOps, and cloud modernizationâfast, secure, and human-centered."> 151<meta property="og:url" content="https://www.t4d.de"> 152<meta property="og:type" content="website"> 153<meta property="og:image" content="https://www.t4d.de/.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&fm=jpg&w=1200&h=700"> 154<meta property="og:image:width" content="1200"> 155<meta property="og:image:height" content="700"> 156 157<meta property="og:locale" content="en"> 158<meta property="og:site_name" content="T4D Consulting"> 159<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:image" content="https://www.t4d.de/.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&fm=jpg&w=1200&h=700"><meta name="google-site-verification" content="orcPxI47GSa-cRvY11tUe6iGg2IO_RPvnA1q95iEM3M">
159<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"T4D Consulting","legalName":"T4D Consulting GmbH","url":"https://www.t4d.de","logo":"https://www.t4d.de/logos/t4d-on-light.svg","foundingDate":"2019","vatID":"DE370070227","address":{"@type":"PostalAddress","streetAddress":"SteinkopfstraÃe 6â8","postalCode":"61231","addressLocality":"Bad Nauheim","addressCountry":"DE"},"founders":[{"@type":"Person","name":"David Rohrberg","jobTitle":"Managing Director","url":"https://www.linkedin.com/in/david-rohrberg-b524a028/"}],"sameAs":["https://www.linkedin.com/company/t4d-consulting-gmbh/","https://www.youtube.com/@t4d-consulting"]}</script>
159<!-- Cookiebot CMP (automatic cookie blocking) -->
159<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="a5d6c7d6-6c9a-4ca2-bf2b-e9a2e50a9c1b" data-blockingmode="auto" type="text/javascript"></script>
159<!-- End Cookiebot CMP --><!-- Additional head tags injected per-page (e.g. article:modified_time) --><!-- Comment the line below to disable View Transitions --><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="swap">
159<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.DZnDNxNb.js"></script>
159<link rel="stylesheet" href="/_astro/impressum.CMxBFzun.css"> 160<style>#floating-header #floating-center{max-width:var(--centerMax, 9999px);transition:max-width .3s ease-out,opacity .3s ease-out}#floating-header.is-condensed #floating-center{max-width:0px;opacity:0;pointer-events:none}@media (prefers-reduced-motion: reduce){#floating-header #floating-center{transition:none}} 161</style> 162<link rel="stylesheet" href="/_astro/impressum.DWW4n7yf.css"> 163<style>[data-no-scrollbar]{scrollbar-width:none;-ms-overflow-style:none}[data-no-scrollbar]::-webkit-scrollbar{display:none}@media (min-width: 1024px){[data-team-centered=true]{justify-content:center}[data-team-centered=true]>li{width:18rem;flex-basis:18rem}} 164</style></head> <body class="antialiased text-default bg-page tracking-tight overflow-x-clip"> <!-- Muss vor Header und Inhalt stehen, damit der Skip-Link der erste 165 fokussierbare Knoten ist. Leer, solange keine Seite ihn befuellt. --> <!-- Floating pill header: Logo (left) - Center links - Contact (right) --><nav class="sticky top-4 z-50 w-full px-3 flex justify-center max-w-7xl mx-auto" id="floating-header" data-astro-cid-prj4z4ss> <div class="group inline-flex w-fit mx-auto items-center gap-2 rounded-2xl bg-white/90 dark:bg-[#030621e6] ring-1 ring-black/5 dark:ring-white/10 backdrop-blur-md px-2 py-2 md:px-3 md:py-2 text-default transition-all duration-300" data-astro-cid-prj4z4ss> <!-- Left: Logo --> <a href="/" class="shrink-0 inline-flex items-center px-3 py-2" data-astro-cid-prj4z4ss> <!-- Responsive, theme-aware logo (expects SVGs in /public/logos) --><span aria-label="T4D Consulting" class="flex items-center gap-2 shrink-0 ml-2 rtl:ml-0 rtl:mr-2"> <!-- Compact logo (no claim) for small/medium screens --> <span class="block lg:hidden"> <img src="/logos/t4d-on-light.svg" alt="T4D Consulting" class="block dark:hidden h-8 md:h-8 w-auto" width="144" height="66"> <img src="/logos/t4d-on-dark.svg" alt="T4D Consulting" class="hidden dark:block h-8 md:h-8 w-auto" width="144" height="66"> </span> <!-- Full logo with claim for large screens and up --> <span class="hidden lg:block"> <img src="/logos/t4d-on-light.svg" alt="T4D Consulting â Shaping your digital future" class="block dark:hidden h-9 w-auto" width="220" height="110"> <img src="/logos/t4d-on-dark.svg" alt="T4D Consulting â Shaping your digital future" class="hidden dark:block h-9 w-auto" width="220" height="110"> </span> </span> </a> <!-- 166 Center: Links (collapsible) 167 168 Schwelle lg (1024px), nicht sm (640px): darunter passt die Linkgruppe nicht 169 kollisionsfrei in die Pille. Sie laeuft dann aus diesem zentrierten Flex- 170 Container symmetrisch nach beiden Seiten heraus und legt sich ueber Logo und 171 Theme-Schalter (gemessen 720px: 65px/64px · 834px: 36px/36px · 900px: 3px/3px). 172 Ab 930px liegen konstant 8px Luft zwischen allen Elementen; lg gibt dazu 173 Reserve fuer Schriftladevarianz und laengere CTA-Beschriftungen. 174 --> <div id="floating-center" class="hidden lg:flex items-center justify-center gap-1 md:gap-2 transition-all duration-300 ease-out min-w-0 overflow-hidden whitespace-nowrap" data-astro-cid-prj4z4ss> <ul class="flex items-center gap-1 md:gap-2 text-sm md:text-[0.9375rem] font-medium" data-astro-cid-prj4z4ss> <li data-astro-cid-prj4z4ss> <a href="/#approach" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss> Approach </a> </li><li data-astro-cid-prj4z4ss> <a href="/#services" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss> Services </a> </li><li data-astro-cid-prj4z4ss> <a href="/#use-cases" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss> Use Cases </a> </li><li data-astro-cid-prj4z4ss> <a href="/resources" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss>
174 Resources </a> </li><li data-astro-cid-prj4z4ss> <a href="/#insights" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss> Insights </a> </li><li data-astro-cid-prj4z4ss> <a href="/#about" data-fh-link class="px-3 py-2 rounded-lg hover:bg-primary/10 dark:hover:bg-primary/20 transition-colors whitespace-nowrap data-[active=true]:bg-primary data-[active=true]:text-white" data-astro-cid-prj4z4ss> About Us </a> </li> </ul> </div> <!-- Theme Toggle: always visible, between center and actions --> <div class="shrink-0 flex items-center" data-astro-cid-prj4z4ss> <button type="button" class="inline-flex items-center justify-center rounded-xl text-muted dark:text-gray-400 hover:bg-black/5 dark:hover:bg-white/10 focus:outline-none focus:ring-2 focus:ring-primary/40 transition-colors duration-200 ease-out h-11 w-11 p-0" aria-label="Toggle between Dark and Light mode" data-aw-toggle-color-scheme><svg width="1em" height="1em" class="w-5 h-5 md:w-5 md:h-5" data-icon="tabler:sun"> <symbol id="ai:tabler:sun" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0m-5 0h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7l-.7.7m0 11.4l.7.7m-12.1-.7l-.7.7"/></symbol><use href="#ai:tabler:sun"></use> </svg></button> </div> <!-- Right: Actions (Contact) --> <div class="shrink-0 flex items-center" data-astro-cid-prj4z4ss> <span class="ml-1 md:ml-2" data-astro-cid-prj4z4ss> <a class="btn-secondary ml-2 h-11 px-5.5 md:px-6 font-semibold shadow-none text-sm w-auto" href="/#cta" data-astro-cid-prj4z4ss="true">Book CEO-Call</a> </span> </div> </div> </nav> <main class="pb-20 md:pb-0"> <section class="relative not-prose overflow-hidden"> <div class="absolute inset-0 pointer-events-none z-0" aria-hidden="true"> <img src="/_astro/hero-image_1_live.DLcwLn3K.jpg" crossorigin="anonymous" referrerpolicy="no-referrer" width="1920" height="1080" srcset="/.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=360&h=210 360w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=640&h=373 640w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=768&h=448 768w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=1024&h=597 1024w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=1440&h=840 1440w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=1920&h=1120 1920w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=2560&h=1493 2560w, /.netlify/images?url=_astro%2Fhero-image_1_live.DLcwLn3K.jpg&w=3840&h=2239 3840w" sizes="(min-width: 2560px) 2560px, (min-width: 1920px) 1920px, (min-width: 1440px) 1440px, (min-width: 1024px) 1024px, 100vw" style="object-fit: cover; object-position: center; max-width: 1920px; max-height: 1080px; aspect-ratio: 1.7777777777777777; width: 100%;" class="absolute left-1/2 -translate-x-1/2 w-full h-full object-contain md:object-cover object-[50%_35%]" loading="eager" alt="T4D - Digital transformation" decoding="async"> </div> <div class="relative z-10 w-full"> <div class="max-w-7xl mx-auto px-4 sm:px-6"> <div class="py-12 md:py-20 lg:py-0 lg:flex lg:items-center lg:h-screen lg:gap-8"> <div class="basis-1/2 text-left pb-10 md:pb-16 mx-auto"> <h1 class="text-[clamp(2rem,6vw,3.5rem)] leading-tight md:leading-[1.15] font-bold tracking-tighter mb-4 font-heading text-white dark:text-gray-200 intersect-once motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 intersect-quarter"> 175From Friction to <span class="text-white block sm:inline">Value<sup class="text-[0.5em] align-super">®</sup></span> </h1> <div class="max-w-3xl mx-auto lg:max-w-none hidden lg:block"> <p class="text-base md:text-lg lg:text-xl leading-relaxed text-white mb-6 dark:text-slate-300 xl:max-w-3xl intersect-once motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 intersect-quarter"> 176We make transformations frictionless and measurable 177<br> 178- fast, secure, human-centered. 179 <br>
180Get Transparency in 1 Day with our Friction Assessment 181</p> <div class="max-w-xs sm:max-w-md m-auto md:flex flex-nowrap flex-col sm:flex-row sm:justify-center gap-4 lg:justify-start lg:m-0 lg:max-w-7xl intersect-once motion-safe:md:intersect:animate-fade motion-safe:md:opacity-0 intersect-quarter"> <div class="flex w-full sm:w-auto"> <a class="btn-primary w-full sm:mb-0" href="#cta">Get clarity in 20 min</a> </div><div class="flex w-full sm:w-auto"> <a class="btn-secondary text-white hover:text-black dark:text-white dark:hover:text-black dark:hover:bg-white dark:hover:border-gray-300 w-full sm:mb-0" href="#services">Explore our services</a> </div> </div> </div> </div> <div class="basis-1/2"> </div> </div> </div> </div> </section> <div class="lg:hidden max-w-7xl mx-auto px-4 sm:px-6 mt-6"> <p class="max-w-3xl mx-auto text-center sm:text-center text-xl text-muted dark:text-slate-400"> 182We make transformations frictionless and measurable<br> 183- fast, secure, human-centered.<br> 184Get Transparency in 1 Day with our Friction Assessment 185</p> <div class="mt-4 max-w-xs sm:max-w-md m-auto flex flex-nowrap flex-col sm:flex-row sm:justify-center gap-4"> <div class="flex w-full sm:w-auto"> <a class="btn-primary w-full sm:mb-0" href="#cta">Get clarity in 20 min</a> </div> <div class="flex w-full sm:w-auto"> <a class="btn-secondary w-full sm:mb-0 text-black dark:text-white hover:text-black dark:hover:text-black dark:hover:bg-white dark:hover:border-gray-300" href="#services">Explore our services</a> </div> </div> </div> <section class="relative not-prose scroll-mt-[72px]" id="approach"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <div class="absolute inset-0 bg-white dark:bg-transparent"></div> </div> <div class="relative px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade max-w-7xl mx-auto scroll-mt-24 md:scroll-mt-28"> <div class="mb-8 md:mx-auto md:mb-12 text-center max-w-xl sm:mx-auto lg:max-w-2xl"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Our approach:<br /> expose friction, remove root causes, prove impact</h2><p class="mt-4 max-w-3xl mx-auto sm:text-center text-xl text-muted dark:text-slate-400">The T4D Friction to Value® Framework maps Human, Organizational, Process, and Ecosystem frictions.</p></div> <div class="mx-auto max-w-7xl p-4 md:px-8"> <div class="md:flex md:gap-16"> <div class="md:basis-1/2 self-center"> <div class="grid mx-auto gap-8 gap-y-4 md:gap-y-8"><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row transition-all duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 max-w-none"><div class="flex"><svg width="1em" height="1em" class="mr-2 rtl:mr-0 rtl:ml-2 inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary dark:bg-secondary text-white p-1 shrink-0 basis-7" data-icon="tabler:check"> <symbol id="ai:tabler:check" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m5 12l5 5L20 7"/></symbol><use href="#ai:tabler:check"></use> </svg><div class="mt-0.5"><h3 class="text-lg font-medium leading-6 dark:text-white ml-2 rtl:ml-0 rtl:mr-2">Identify â Surface critical frictions & KPIs</h3></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row transition-all duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 max-w-none"><div class="flex"><svg width="1em" height="1em" viewBox="0 0 24 24" class="mr-2 rtl:mr-0 rtl:ml-2 inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary dark:bg-secondary text-white p-1 shrink-0 basis-7" data-icon="tabler:check"> <use href="#ai:tabler:check"></use> </svg><div class="mt-0.5"><h3 class="text-lg font-medium leading-6 dark:text-white ml-2 rtl:ml-0 rtl:mr-2">Understand â Diagnose root causes and rank the biggest value levers</h3></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row transition-all duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 max-w-none"><div class="flex"><svg width="1em" height="1em" viewBox="0 0 24 24" class="mr-2 rtl:mr-0 rtl:ml-2 inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary dark:bg-secondary text-white p-1 shrink-0 basis-7" data-icon="tabler:check"> <use href="#ai:tabler:check"></use> </svg><div class="mt-0.5"><h3 class="text-lg font-medium leading-6 dark:text-white ml-2 rtl:ml-0 rtl:mr-2">Design â Define actions, ownership, and success metrics</h3></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row transition-all duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 max-w-none"><div class="flex"><svg width="1em" height="1em" viewBox="0 0 24 24" class="mr-2 rtl:mr-0 rtl:ml-2 inline-flex h-7 w-7 items-center justify-center rounded-full bg-secondary dark:bg-secondary text-white p-1 shrink-0 basis-7" data-icon="tabler:check"> <use href="#ai:tabler:check"></use> </svg><div class="mt-0.5"><h3 class="text-lg font-medium leading-6 dark:text-white ml-2 rtl:ml-0 rtl:mr-2">Realize Value â Execute, scale, and evidence outcomes</h3></div></div></div></div></div> </div> <div aria-hidden="true" class="mt-10 md:mt-0 md:basis-1/2 mx-auto"> <div class="relative m-auto max-w-4xl intersect-once intersect-quarter motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"> <img src="/_astro/approach_hope_map.CEzznvY9.png" crossorigin="anonymous" referrerpolicy="no-referrer" width="1200" height="675" srcset="/.netlify/images?url=_astro%2Fapproach_hope_map.CEzznvY9.png&w=400&h=228 400w, /.netlify/images?url=_astro%2Fapproach_hope_map.CEzznvY9.png&w=768&h=439 768w, /.netlify/images?url=_astro%2Fapproach_hope_map.CEzznvY9.png&w=1200&h=685 1200w" sizes="(min-width: 1280px) 640px, (min-width: 1024px) 560px, (min-width: 768px) 512px, 100vw" style="object-fit: cover; object-position: center; width: 100%; height: auto; aspect-ratio: 1.7777777777777777;" class="mx-auto w-full rounded-lg bg-gray-500 shadow-lg transition-transform duration-300 will-change-transform motion-safe:hover:scale-[1.01]" alt="T4D approach" loading="lazy" decoding="async"> </div> </div> </div> </div> </div> </section> <section class="relative not-prose scroll-mt-[72px]" id="stats"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <div class="absolute inset-0"> </div> </div> <div class="relative px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade mx-auto max-w-6xl scroll-mt-24 md:scroll-mt-28">
185 <div class="mb-8 md:mx-auto md:mb-12 text-center max-w-3xl"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Proven impact</h2><p class="mt-4 text-muted text-xl">Evidence from transformations in industries; selected highlights:</p></div> <div class="flex flex-wrap justify-center -m-4 text-center"> <div class="p-4 md:w-1/4 sm:w-1/2 w-full min-w-[220px] text-center md:border-r md:last:border-none dark:md:border-slate-500 intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade intersect-quarter transition-transform duration-300 will-change-transform motion-safe:hover:scale-[1.02]"> <div class="font-heading text-primary text-[2.6rem] font-bold dark:text-white lg:text-5xl xl:text-6xl"> 20+ </div> <div class="text-sm md:text-base font-medium uppercase tracking-widest text-gray-800 dark:text-slate-400"> Digital pioneers </div> </div><div class="p-4 md:w-1/4 sm:w-1/2 w-full min-w-[220px] text-center md:border-r md:last:border-none dark:md:border-slate-500 intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade intersect-quarter transition-transform duration-300 will-change-transform motion-safe:hover:scale-[1.02]"> <div class="font-heading text-primary text-[2.6rem] font-bold dark:text-white lg:text-5xl xl:text-6xl"> 50+ </div> <div class="text-sm md:text-base font-medium uppercase tracking-widest text-gray-800 dark:text-slate-400"> Projects delivered </div> </div><div class="p-4 md:w-1/4 sm:w-1/2 w-full min-w-[220px] text-center md:border-r md:last:border-none dark:md:border-slate-500 intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade intersect-quarter transition-transform duration-300 will-change-transform motion-safe:hover:scale-[1.02]"> <div class="font-heading text-primary text-[2.6rem] font-bold dark:text-white lg:text-5xl xl:text-6xl"> 15+ </div> <div class="text-sm md:text-base font-medium uppercase tracking-widest text-gray-800 dark:text-slate-400"> Customers empowered </div> </div><div class="p-4 md:w-1/4 sm:w-1/2 w-full min-w-[220px] text-center md:border-r md:last:border-none dark:md:border-slate-500 intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade intersect-quarter transition-transform duration-300 will-change-transform motion-safe:hover:scale-[1.02]"> <div class="font-heading text-primary text-[2.6rem] font-bold dark:text-white lg:text-5xl xl:text-6xl"> 100+ </div> <div class="text-sm md:text-base font-medium uppercase tracking-widest text-gray-800 dark:text-slate-400"> Countries experienced </div> </div> </div> </div> </section> <section class="relative not-prose scroll-mt-[72px]" id="services"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> </div> <div class="relative mx-auto px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade scroll-mt-24 md:scroll-mt-28 max-w-5xl overflow-x-clip"> <div class="mb-8 md:mx-auto md:mb-12 text-center max-w-3xl"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Consulting Services</h2><p class="mt-4 text-muted text-xl">Outcome-driven by design: we remove friction so value flows.</p></div> <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-8 md:gap-10 xl:gap-12"> <!-- Gruppe 1: Strategic/Advisory (2) --> <section aria-labelledby="services-strategic" class="md:col-span-1 xl:col-span-1"> <h3 id="services-strategic" class="text-sm md:text-base font-semibold uppercase tracking-wide text-left text-slate-600 dark:text-slate-300 mb-3 md:mb-4"> 186Strategic Services 187</h3> <div class="grid mx-auto gap-8 md:gap-y-12 sm:grid-cols-2"><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row max-w-md"><div class="flex"><div class="mt-0.5"><h3 class="font-bold text-lg md:text-xl text-[#00AFEB] leading-snug md:h-[3.6em]">Transformation Advisory & Management</h3><p class="mt-3 text-muted">Reveal hidden frictions, prioritize 3â5 levers, shorten time-to-impact.</p></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row max-w-md"><div class="flex"><div class="mt-0.5"><h3 class="font-bold text-lg md:text-xl text-[#00AFEB] leading-snug md:h-[3.6em]">Transformation Enablement </h3><p class="mt-3 text-muted">
187We equip teams with roles, routines, and playbooks so adoption rises, and value is realized fast.</p></div></div></div></div></div> </section> <!-- Gruppe 2: Implementation/Technical (3) --> <section aria-labelledby="services-implementation" class="mt-10 md:mt-0 md:col-span-1 xl:col-span-2 md:border-l md:border-slate-200 dark:md:border-white/10 md:pl-10 xl:pl-12"> <h3 id="services-implementation" class="text-sm md:text-base font-semibold uppercase tracking-wide text-left text-slate-600 dark:text-slate-300 mb-3 md:mb-4"> 188Implementation Services 189</h3> <div class="grid mx-auto gap-8 md:gap-y-12 lg:grid-cols-3 sm:grid-cols-2"><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row max-w-md"><div class="flex"><div class="mt-0.5"><h3 class="font-bold text-lg md:text-xl text-[#00AFEB] leading-snug md:h-[3.6em]">Compliance Transformation</h3><p class="mt-3 text-muted">We implement business-centric controls (e.g., Zero Trust) to minimize daily friction and reduce risk exposure.</p></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row max-w-md"><div class="flex"><div class="mt-0.5"><h3 class="font-bold text-lg md:text-xl text-[#00AFEB] leading-snug md:h-[3.6em]">Cyber Security Controls Implementation</h3><p class="mt-3 text-muted">Rollouts with adoption built-in: guided change, minimal disruption.</p></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row max-w-md"><div class="flex"><div class="mt-0.5"><h3 class="font-bold text-lg md:text-xl text-[#00AFEB] leading-snug md:h-[3.6em]">AI Operating Model Enablement</h3><p class="mt-3 text-muted">We identify use cases that drive direct value contribution, adapt operation models in a way AI can sustain.</p></div></div></div></div></div> </section> </div> </div> </section> <section class="relative not-prose scroll-mt-[72px]"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <img src="/_astro/Divider_1_live.Cgezq9Q1.jpg" crossorigin="anonymous" referrerpolicy="no-referrer" width="1600" height="500" srcset="/.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=360&h=113 360w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=640&h=200 640w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=768&h=240 768w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=1024&h=320 1024w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=1440&h=450 1440w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=1600&h=500 1600w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=1920&h=600 1920w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=2560&h=800 2560w, /.netlify/images?url=_astro%2FDivider_1_live.Cgezq9Q1.jpg&w=3200&h=1000 3200w" sizes="(min-width: 1280px) 1280px, 100vw" style="object-fit: cover; object-position: center; max-width: 1600px; max-height: 500px; aspect-ratio: 3.2; width: 100%;" class="absolute left-1/2 -translate-x-1/2 w-full h-full object-contain md:object-contain lg:object-cover" loading="lazy" alt decoding="async"> </div> <div class="relative mx-auto max-w-7xl px-4 md:px-6 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade py-0"> <div aria-hidden="true" class="w-full aspect-[16/5] md:aspect-[16/5] lg:aspect-auto lg:h-[500px]"></div> </div> </section> <section class="relative not-prose scroll-mt-[72px]" id="use-cases"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <div class="absolute inset-0"> </div> </div> <div class="relative mx-auto px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade scroll-mt-24 md:scroll-mt-28 max-w-6xl"> <div class="mb-8 md:mx-auto md:mb-12 text-center max-w-3xl"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl h2">Use Cases</h2><p class="mt-4 text-muted text-xl">Learn how we removed friction from our client's transformations</p></div> <div class="grid mx-auto gap-8 md:gap-y-12 lg:grid-cols-3 sm:grid-cols-2 justify-items-center"><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 group w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow"><div class="flex"><div class="mt-0.5"><h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">Network Modernization</h3>
189<p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Accelerating Digital Transformation Through Global Network Modernization.</p><div class="mt-4 text-primary text-sm font-medium"><a class="cursor-pointer hover:text-primary" href="/use-cases/network-modernization">Explore â</a></div></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 group w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow"><div class="flex"><div class="mt-0.5"><h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">OT Security Transformation</h3><p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">OT Security developed to the next level to ensure continuous operations and secure data.</p><div class="mt-4 text-primary text-sm font-medium"><a class="cursor-pointer hover:text-primary" href="/use-cases/ot-security">Explore â</a></div></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"><div class="flex flex-row duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 group w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow"><div class="flex"><div class="mt-0.5"><h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">Disaster Recovery</h3><p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Ensuring Business Continuity through Incident & Disaster Recovery Planning.</p><div class="mt-4 text-primary text-sm font-medium"><a class="cursor-pointer hover:text-primary" href="/use-cases/disaster-recovery">Explore â</a></div></div></div></div></div><div class="intersect-once motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade lg:col-start-2 hidden lg:block"><div class="flex flex-row duration-300 will-change-transform motion-safe:hover:-translate-y-0.5 motion-safe:hover:shadow-lg motion-safe:hover:ring-1 motion-safe:hover:ring-black/5 dark:motion-safe:hover:ring-white/10 group w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow"><div class="flex"><div class="mt-0.5"><h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">HR Operations Transformation</h3><p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Scaling HR Operations Through Agile Operating Model and Digital Enablement.</p><div class="mt-4 text-primary text-sm font-medium"><a class="cursor-pointer hover:text-primary" href="/use-cases/hr-operations-transformation">Explore â</a></div></div></div></div></div></div> <div class="mt-6 text-center"> <a class="btn-secondary" href="/use-cases">View More</a> </div> </div> </section> <section class="relative not-prose scroll-mt-[72px]"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <img src="/_astro/Divider_2_live.BBYZQnU9.jpg" crossorigin="anonymous" referrerpolicy="no-referrer" width="1600" height="500" srcset="/.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=360&h=113 360w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=640&h=200 640w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=768&h=240 768w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=1024&h=320 1024w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=1440&h=450 1440w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=1600&h=500 1600w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=1920&h=600 1920w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=2560&h=800 2560w, /.netlify/images?url=_astro%2FDivider_2_live.BBYZQnU9.jpg&w=3200&h=1000 3200w" sizes="(min-width: 1280px) 1280px, 100vw" style="object-fit: cover; object-position: center; max-width: 1600px; max-height: 500px; aspect-ratio: 3.2; width: 100%;" class="absolute left-1/2 -translate-x-1/2 w-full h-full object-contain md:object-contain lg:object-cover" loading="lazy" alt decoding="async"> </div> <div class="relative mx-auto max-w-7xl px-4 md:px-6 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade py-0"> <div aria-hidden="true" class="w-full aspect-[16/5] md:aspect-[16/5] lg:aspect-auto lg:h-[500px]"></div> </div> </section> <section id="insights" class="section py-16 sm:py-20 lg:py-24 scroll-mt-24 md:scroll-mt-28"> <div class="container mx-auto max-w-6xl"> <div class="md:mx-auto md:mb-12 mx-auto max-w-2xl text-center mb-10 sm:mb-12"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Insights & perspectives</h2><p class="mt-4 text-muted text-xl">Lessons learned: friction KPIs, playbooks, and outcomes.</p></div> <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8 justify-items-center"> <a href="/insights/friction-is-more-than-resistance" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow "> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">Friction Is More Than Resistance</h3>
189 <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Many change programs fight resistance while leaving the underlying system untouched. This article distinguishes friction from resistance and shows why redesigning workflows, tools, and coordination patterns is more powerful than motivating people to tolerate broken ways of working.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a><a href="/insights/from-diagnosis-to-value" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow "> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">From Diagnosis to Value</h3> <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Organizations invest heavily in assessments and readiness checks, but struggle to convert them into measurable outcomes. This article introduces a four phase approach that links friction diagnostics to focused interventions, value experiments, and a repeatable operating model for transformation.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a><a href="/insights/the-four-dimensions-of-transformation-friction" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow "> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">The Four Dimensions of Transformation Friction</h3> <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Friction builds across four dimensions: human, process, organizational, and ecosystem. This article provides a structured map of sixteen friction types and how they interact, giving leaders a common language to diagnose where transformation will stall before it appears in the P&L.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a><a href="/insights/the-hidden-cost-of-waiting" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow hidden lg:block"> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">The Hidden Cost of Waiting</h3> <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Choosing to delay transformation decisions often looks prudent, yet it quietly multiplies direct, indirect, and opportunity costs. This article describes how friction compounds over time and offers a simple way to compare the price of prevention with the far higher cost of remediation.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a><a href="/insights/when-good-people-cant-make-change-happen" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow hidden lg:block"> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">When Good People Can't Make Change Happen</h3> <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Even highly capable leaders and teams still get stuck when expectations, workload, and incentives conflict. This article explains how human friction shows up in inertia, emotion, and reactance, and what leaders can change in the environment so good people can actually make change happen.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a><a href="/insights/why-seven-out-of-ten-digital-transformations-fail" target="_blank" rel="noopener noreferrer" class="group block w-full max-w-md rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-shadow hidden lg:block"> <h3 class="text-lg md:text-xl font-bold text-primary dark:text-primary group-hover:text-black dark:group-hover:text-white transition-colors">Why Seven Out of Ten Digital Transformations Fail</h3>
189 <p class="text-sm text-slate-600 dark:text-white/90 mt-2 clamp-2">Most digital transformations fail not because of technology, but because human, process, organizational, and ecosystem frictions remain invisible until they surface as resistance. This article shows how to detect those frictions early and redesign the path so value realization becomes the rule, not the exception.</p> <div class="mt-4 text-primary text-sm font-medium">Explore â</div> </a> </div> </div> <div class="mt-6 text-center"> <a class="btn-secondary" href="/insights">View More</a> </div> </section> <section class="relative not-prose scroll-mt-[72px]" id="about"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> </div> <div class="relative mx-auto px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade max-w-6xl"> <div class="mb-8 md:mx-auto md:mb-12 text-center scroll-mt-24 md:scroll-mt-28"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">About Us</h2><p class="mt-4 text-muted text-xl">We at T4D turn friction into measurable value</p></div> <section aria-labelledby="team-heading" class="relative"><h3 id="team-heading" class="sr-only"> 190Our Team 191</h3><button type="button" class="group items-center justify-center absolute left-1 md:left-2 top-1/2 -translate-y-1/2 z-10 w-11 h-11 md:w-12 md:h-12 rounded-full bg-white/80 dark:bg-slate-900/80 ring-1 ring-primary text-primary shadow-sm backdrop-blur focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-40 disabled:cursor-not-allowed hidden md:inline-flex" aria-label="Scroll previous team members" aria-controls="team-scroller" data-team-prev><svg aria-hidden="true" viewBox="0 0 24 24" class="h-5 w-5"><path d="M15 19l-7-7 7-7" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><ul id="team-scroller" data-no-scrollbar role="list" class="flex overflow-x-auto gap-8 snap-x snap-proximity px-1 md:px-2" style="scrollbar-gutter: stable;"><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dark:bg-slate-800"> <img src="/.netlify/images?url=%2Fteam%2FDavid_Rohrberg.PNG&w=480&h=600&fit=cover&fm=webp&q=80" alt="Headshot of David Rohrberg" class="absolute inset-0 h-full w-full object-cover" loading="lazy" decoding="async"> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">David Rohrberg</h4> <div class="min-h-[3.5rem]"> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2">Managing Director</p> <p class="text-xs leading-5 text-slate-500 dark:text-slate-300">Transformation Advisory</p> </div> <p class="mt-2 min-h-[34px]"> <a href="https://www.linkedin.com/in/david-rohrberg-b524a028/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-primary hover:text-primary/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" aria-hidden="true" data-icon="tabler:brand-linkedin"> <use href="#ai:tabler:brand-linkedin"></use> </svg> <span class="sr-only">profile of David Rohrberg</span> </a> </p> </div> </article> </li><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dar
191k:bg-slate-800"> <img src="/.netlify/images?url=%2Fteam%2FJulia-Maxie_Zelfel.jpeg&w=480&h=600&fit=cover&fm=webp&q=80" alt="Headshot of Julia Maxie Zelfel" class="absolute inset-0 h-full w-full object-cover" loading="lazy" decoding="async"> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">Julia Maxie Zelfel</h4> <div class="min-h-[3.5rem]"> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2">Associate Partner</p> <p class="text-xs leading-5 text-slate-500 dark:text-slate-300">Transformation Enablement</p> </div> <p class="mt-2 min-h-[34px]"> <a href="https://www.linkedin.com/in/julia-maxie-z-563324190/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-primary hover:text-primary/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" aria-hidden="true" data-icon="tabler:brand-linkedin"> <use href="#ai:tabler:brand-linkedin"></use> </svg> <span class="sr-only">profile of Julia Maxie Zelfel</span> </a> </p> </div> </article> </li><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dark:bg-slate-800"> <img src="/.netlify/images?url=%2Fteam%2FJoachim_Kohl.jpg&w=480&h=600&fit=cover&fm=webp&q=80" alt="Headshot of Joachim Kohl" class="absolute inset-0 h-full w-full object-cover" loading="lazy" decoding="async"> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">Joachim Kohl</h4> <div class="min-h-[3.5rem]"> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2">Senior Expert, AI Transformation</p> <p class="text-xs leading-5 text-slate-500 dark:text-slate-300">AI Operating Model Enablement</p> </div> <p class="mt-2 min-h-[34px]"> <a href="https://www.linkedin.com/in/joachimkohl/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-primary hover:text-primary/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" aria-hidden="true" data-icon="tabler:brand-linkedin"> <use href="#ai:tabler:brand-linkedin"></use> </svg> <span class="sr-only">profile of Joachim Kohl</span> </a> </p> </div> </article> </li><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dark:bg-slate-800"> <img src="/.netlify/images?url=%2Fteam%2FGordon_Leipold.jpeg&w=480&h=600&fit=cover&fm=webp&q=80" alt="Headshot of Gordon Leipold" class="absolute inset-0 h-full w-full object-cover" loading="lazy" decoding="async"> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">Gordon Leipold</h4> <div class="min-h-[3.5rem]"> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2">Principal Consultant</p> <p class="text-xs leading-5 text-slate-500 dark:text-slate-300">Compliance Transformation</p> <p class="text-[11px] font-semibold uppercase tracking-wide text-primary">Network Partner</p> </div> <p class="mt-2 min-h-[34px]"> <a href="https://www.linkedin.com/in/gordon-leipold-8a4900117/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-primary hover:text-primary/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" aria-hidden="true" data-icon="tabler:brand-linkedin"> <use href="#ai:tabler:brand-linkedin"></use> </svg> <span class="sr-only">profile of Gordon Leipold</span> </a> </p> </div> </article> </li><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dar
191k:bg-slate-800"> <img src="/.netlify/images?url=%2Fteam%2FMatthias_Nachtigal.jpg&w=480&h=600&fit=cover&fm=webp&q=80" alt="Headshot of Matthias Nachtigal" class="absolute inset-0 h-full w-full object-cover" loading="lazy" decoding="async"> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">Matthias Nachtigal</h4> <div class="min-h-[3.5rem]"> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2">Principal Consultant</p> <p class="text-xs leading-5 text-slate-500 dark:text-slate-300">Cyber Security Controls Implementation</p> <p class="text-[11px] font-semibold uppercase tracking-wide text-primary">Network Partner</p> </div> <p class="mt-2 min-h-[34px]"> <a href="https://www.linkedin.com/in/matthias-nachtigal/" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 text-primary hover:text-primary/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded"> <svg width="1em" height="1em" viewBox="0 0 24 24" class="w-5 h-5" aria-hidden="true" data-icon="tabler:brand-linkedin"> <use href="#ai:tabler:brand-linkedin"></use> </svg> <span class="sr-only">profile of Matthias Nachtigal</span> </a> </p> </div> </article> </li><li class="snap-start flex-none h-full w-[82%] sm:w-[48%] md:w-[32%] xl:w-[24%] min-w-0"> <article class="group relative flex flex-col h-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden transition-colors border border-slate-200 dark:border-white/10 ring-1 ring-transparent group-hover:ring-primary"> <div class="relative aspect-[4/5] w-full overflow-hidden bg-slate-100 dark:bg-slate-800"> <div class="absolute inset-0 flex flex-col items-center justify-center text-center px-4"> <span class="text-[11px] uppercase tracking-wide font-semibold text-primary dark:text-primary"> 192Network Partners 193</span> <span class="mt-1 text-lg font-semibold text-slate-900 dark:text-white" role="heading" aria-level="4"> 194+20 Management Consultants 195</span> <span class="mt-3 text-xs text-slate-600 dark:text-slate-300"> 196Transformation · Cybersecurity · Change & PMO · Data & AI 197</span> </div> </div> <div class="p-3 flex flex-col flex-1"> <h4 class="text-base md:text-lg font-semibold text-slate-900 dark:text-white">Network Partners</h4> <p class="text-sm leading-5 text-slate-600 dark:text-slate-300 line-clamp-2 min-h-[3.25rem]"> 198Senior Specialists Transformation 199</p> <div class="mt-2 min-h-[34px]" aria-hidden="true"></div> </div> </article> </li></ul><button type="button" class="group items-center justify-center absolute right-1 md:right-2 top-1/2 -translate-y-1/2 z-10 w-11 h-11 md:w-12 md:h-12 rounded-full bg-white/80 dark:bg-slate-900/80 ring-1 ring-primary text-primary shadow-sm backdrop-blur focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-40 disabled:cursor-not-allowed hidden md:inline-flex" aria-label="Scroll next team members" aria-controls="team-scroller" data-team-next><svg aria-hidden="true" viewBox="0 0 24 24" class="h-5 w-5"><path d="M9 5l7 7-7 7" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></section>
199<script type="module">(()=>{const e=document.getElementById("team-scroller"),t=document.querySelector("[data-team-prev]"),o=document.querySelector("[data-team-next]");if(!e||!(t instanceof HTMLButtonElement)||!(o instanceof HTMLButtonElement))return;const l=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth",c=()=>{const r=e.scrollLeft;e.scrollTo({left:0,behavior:"auto"});const s=e.scrollLeft;e.scrollTo({left:e.scrollWidth,behavior:"auto"});const f=e.scrollLeft;return e.scrollTo({left:r,behavior:"auto"}),{minLeft:s,maxLeft:f}};let{minLeft:a,maxLeft:i}=c();const d=2,n=()=>{const r=e.scrollLeft<=a+d,s=e.scrollLeft>=i-d;t.disabled=r,o.disabled=s,t.setAttribute("aria-disabled",String(r)),o.setAttribute("aria-disabled",String(s))},u=()=>e.clientWidth;t.addEventListener("click",()=>e.scrollBy({left:-u(),behavior:l})),o.addEventListener("click",()=>e.scrollBy({left:u(),behavior:l})),e.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",()=>{({minLeft:a,maxLeft:i}=c()),n()}),n()})();</script>
199<section class="about qa mt-8 md:mt-10" aria-label="About Us"> <div class="mx-auto max-w-5xl"> <nav class="anchor-chips mt-10 md:mt-12 flex items-center gap-2 lg:hidden" aria-label="Section navigation"> <a href="#who" class="chip is-active inline-flex items-center rounded-full border border-slate-200 dark:border-white/10 bg-white/60 dark:bg-slate-900/40 px-3 py-1 text-sm text-slate-700 dark:text-slate-200 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2" aria-current="true">Who we are</a> <a href="#why" class="chip inline-flex items-center rounded-full border border-slate-200 dark:border-white/10 bg-white/60 dark:bg-slate-900/40 px-3 py-1 text-sm text-slate-700 dark:text-slate-200 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2">Why T4D</a> </nav> <div class="mt-8 lg:mt-10 grid gap-8 lg:gap-12 lg:grid-cols-12"> <!-- Left column: Who we are --> <section id="who" class="who scroll-mt-24 md:scroll-mt-28 lg:col-span-7" aria-labelledby="who-title"> <h3 id="who-title" class="text-sm font-semibold uppercase tracking-wide text-primary mb-4"> <span>Who we are</span> </h3> <div class="prose prose-slate dark:prose-invert max-w-none text-pretty prose-p:text-base md:prose-p:text-lg prose-p:leading-9 md:prose-p:leading-[44px] prose-p:mt-1 md:prose-p:mt-2 prose-p:mb-12 md:prose-p:mb-16 first:prose-p:mt-0 last:prose-p:mb-0"> <div class="text-xs md:text-sm font-semibold uppercase tracking-wide text-primary mb-1">Partner</div> <p> <strong>We are the trusted partner for highâstakes digital transformation</strong> in regulated industries. 200</p> <div class="text-xs md:text-sm font-semibold uppercase tracking-wide text-primary mb-1 mt-2 md:mt-3"> 201Pressureâready 202</div> <p> <strong>We step in when programs are complex or stalling</strong>âstabilizing, deârisking and delivering 203 fast, safely and humanâcentered. 204</p> <div class="text-xs md:text-sm font-semibold uppercase tracking-wide text-primary mb-1 mt-2 md:mt-3"> 205Dataâdriven 206</div> <p> <strong>Our dataâdriven Friction to Value® Framework exposes and eliminates the real blockers</strong>âbehavioral, system and structural frictionsâso the technology you've chosen actually lands, scales and 207 sticks. 208</p> </div> </section> <!-- Right column: Why T4D --> <section id="why" class="why scroll-mt-24 md:scroll-mt-28 lg:col-span-5 lg:border-l lg:border-slate-200 dark:lg:border-slate-800 lg:pl-10" aria-labelledby="why-title"> <h3 id="why-title" class="text-sm font-semibold uppercase tracking-wide text-primary mb-4"> <span>Why T4D</span> </h3> <ol class="value-list relative space-y-5" role="list"> <li class="value-item relative pl-10"> <span class="num absolute left-0 top-0 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full ring-1 ring-primary text-primary text-xs font-bold select-none z-10" aria-hidden="true">1</span> <div class="text"> <h4 class="text-base font-semibold text-default">Outcomeâdriven:</h4> <p class="text-sm text-slate-700 dark:text-slate-300 max-w-[55ch]"> 209We measure impact and link fees to resultsânot effort. 210</p> </div> </li> <li class="value-item relative pl-10"> <span class="num absolute left-0 top-0 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full ring-1 ring-primary text-primary text-xs font-bold select-none" aria-hidden="true">2</span> <div class="text"> <h4 class="text-base font-semibold text-default">Independent partner:</h4> <p class="text-sm text-slate-700 dark:text-slate-300 max-w-[55ch]"> 211Partner, not staff augmentation. No bodyâleasing. 212</p> </div> </li> <li class="value-item relative pl-10"> <span class="num absolute left-0 top-0 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full ring-1 ring-primary text-primary text-xs font-bold select-none" aria-hidden="true">3</span> <div class="text"> <h4 class="text-base font-semibold text-default">Built for pressure:</h4> <p class="text-sm text-slate-700 dark:text-slate-300 max-w-[55ch]"> 213Frictionâminded, turnaroundâcapable, with repeatable clusters and playbooks. 214</p> </div> </li> <li class="value-item relative pl-10"> <span class="num absolute left-0 top-0 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full ring-1 ring-primary text-primary text-xs font-bold select-none" aria-hidden="true">4</span> <div class="text"> <h4 class="text-base font-semibold text-default">People-first:</h4> <p class="text-sm text-slate-700 dark:text-slate-300 max-w-[55ch]"> 215Substance over formalism; we enable teams to move. 216</p> </div> </li> <li class="value-item relative pl-10"> <span class="num absolute left-0 top-0 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full ring-1 ring-primary text-primary text-xs font-bold select-none" aria-hidden="true">5</span> <div class="text"> <h4 class="text-base font-semibold text-default">End-to-end accountability:</h4> <p class="text-sm text-slate-700 dark:text-slate-300 max-w-[55ch]"> 217We own the outcome from design to run. 218</p> </div> </li> </ol> </section> </div> </div>
218<script type="module">(function(){let c=!1;function d(){try{const t=document.getElementById("calendly-status");if(!t)return;t.classList.remove("sr-only"),t.classList.add("text-xs","text-slate-600","dark:text-slate-300","mt-2"),t.textContent="To open Calendly, please enable marketing cookies. ";const n=document.createElement("button");n.type="button",n.className="underline",n.textContent="Open cookie settings",n.addEventListener("click",function(){try{window.Cookiebot?.show?.()}catch{}}),t.appendChild(n)}catch{}try{window.dataLayer?.push({event:"calendly_blocked_by_consent",component:"cta_calendly",consent_state:"denied",page_path:location.pathname})}catch{}}async function i(){if(c)return Promise.resolve();const t=new Promise(function(o,a){const e=document.createElement("script");e.src="https://assets.calendly.com/assets/external/widget.js",e.async=!0,e.onload=o,e.onerror=a,document.head.appendChild(e)}),n=new Promise(function(o,a){const e=document.createElement("link");e.rel="stylesheet",e.href="https://assets.calendly.com/assets/external/widget.css",e.onload=o,e.onerror=a,document.head.appendChild(e)});return Promise.all([t,n]).then(function(){c=!0})}function u(t,n){const o=new URL(t);return o.searchParams.set("hide_gdpr_banner","1"),o.toString()}document.addEventListener("click",async function(t){const n=t.target;if(!(n instanceof HTMLElement))return;const o=n.closest("[data-calendly-trigger]");if(!o)return;t.preventDefault();const a=!!window.Cookiebot;if(!(!a||window.Cookiebot?.consent?.marketing===!0)){d();return}try{await i();const m=document.documentElement.classList.contains("dark")?"dark":"light",l=o.getAttribute("data-calendly-url")||"";if(!l)return;const r=u(l,{useCustomColor:!1}),s=window.Calendly;s&&typeof s.initPopupWidget=="function"&&s.initPopupWidget({url:r}),window.dataLayer?.push({event:"calendly_open",component:"cta_calendly",url:r,theme:m,consent_state:a?"granted":"unknown",button_text:"Talk to our CEO",page_path:location.pathname})}catch{}})})();</script>
218 </section> </div> </section> <section class="relative not-prose scroll-mt-[72px]" id="cta"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> </div> <div class="relative mx-auto px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade max-w-4xl text-center"> <div class="group mx-auto w-full rounded-2xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-6 md:p-10"> <div class="md:mx-auto text-center mb-6 md:mb-8"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Start: Friction â Value</h2><p class="mt-4 text-muted text-xl">Talk to our CEO to map your objectives, discuss hotspots, and choose the fastest path to measurable impact. Assessment only if it's the right first move.</p></div> <div class="mx-auto max-w-2xl"> <div class="flex items-start gap-4 md:gap-6 justify-center"> <img src="/.netlify/images?url=%2Fteam%2FDavid_Rohrberg.PNG&w=128&h=128&fit=cover&fm=webp&q=80" alt="Portrait of David Rohrberg, CEO" class="w-16 h-16 rounded-full object-cover ring-1 ring-slate-200 dark:ring-slate-700" loading="lazy" decoding="async"> <div class="text-left flex flex-col items-start gap-3 md:gap-4"> <p class="text-sm text-slate-600 dark:text-slate-300 max-w-[38ch] md:max-w-[46ch]"> 219Get clarity on your top transformation levers in a 20âminute call. No sales pitch â just concrete next 220 steps, directly from our CEO. 221</p> <button type="button" class="btn-primary" data-calendly-trigger="true" data-calendly-url="https://calendly.com/david-rohrberg-t4d/20-min-get-to-know-t4d" aria-label="Open Calendly scheduling dialog (20-minute call with CEO)">Talk to our CEO<svg width="1em" height="1em" class="w-5 h-5 ml-1 -mr-1.5 rtl:mr-1 rtl:-ml-1.5 inline-block " data-icon="tabler:calendar"> <symbol id="ai:tabler:calendar" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3"/></symbol><use href="#ai:tabler:calendar"></use> </svg></button> </div> </div> <p id="calendly-status" class="sr-only" role="status" aria-live="polite"></p> </div> </div>
221<script type="module">(function(){const o=document.getElementById("about");if(!o)return;const c=o.querySelectorAll(".anchor-chips a");function a(r){c.forEach(n=>{const e=n.getAttribute("href")==="#"+r;n.classList.toggle("is-active",!!e),e?n.setAttribute("aria-current","true"):n.removeAttribute("aria-current")})}c.forEach(r=>r.addEventListener("click",function(n){const e=r.getAttribute("href")||"";if(!e.startsWith("#"))return;n.preventDefault();const t=o.querySelector(e);t&&"scrollIntoView"in t&&t.scrollIntoView({behavior:"smooth",block:"start"}),a(e.slice(1))}));const f=["who","why"].map(r=>o.querySelector("#"+r)).filter(Boolean);if("IntersectionObserver"in window){const r=new IntersectionObserver(e=>{e.forEach(t=>{if(!t.isIntersecting)return;const s=t.target;s instanceof HTMLElement&&a(s.id)})},{rootMargin:"-40% 0px -50% 0px",threshold:.1});if(f.forEach(e=>{e&&r.observe(e)}),!window.matchMedia("(prefers-reduced-motion: reduce)").matches){const e=Array.from(o.querySelectorAll("#why .value-item")),t=new IntersectionObserver(s=>{s.some(i=>i.isIntersecting)&&(e.forEach((i,l)=>{i instanceof HTMLElement&&(i.style.animationDelay=`${100+l*80}ms`,i.classList.add("animate-fade"))}),t.disconnect())},{threshold:.2});e[0]&&t.observe(e[0])}}})();</script>
221 </div> </section> <section class="relative not-prose scroll-mt-[72px]"> <div class="absolute inset-0 pointer-events-none -z-[1]" aria-hidden="true"> <div class="absolute inset-0 bg-white dark:bg-transparent"></div> </div> <div class="relative px-4 md:px-6 py-12 md:py-16 lg:py-20 text-default intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade mx-auto max-w-6xl"> <div class="mb-8 md:mx-auto md:mb-12 text-center max-w-3xl"><h2 class="font-bold leading-tighter tracking-tighter font-heading text-heading text-3xl md:text-4xl">Frequently asked questions</h2></div> <div class="grid mx-auto gap-8 md:gap-y-12 sm:grid-cols-2 max-w-6xl"> <details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> Who is T4D and what do you actually do? </h3> <svg width="1em" height="1em" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <symbol id="ai:tabler:chevrons-right" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m7 7l5 5l-5 5m6-10l5 5l-5 5"/></symbol><use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">T4D is a boutique consulting firm that makes digital, cybersecurity and AI transformations frictionless and measurable â fast, secure, human-centered. We work with senior executives, program leaders and expert teams to expose real blockers, remove root causes, and prove impact with clear metrics.</p> </div> </div> </details><details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> In which areas do you help organizations most? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">Clients usually come to us for one of five clusters: Transformation Advisory & Management, Transformation Enablement, Compliance Transformation, Cyber Security Controls Implementation, and AI Operating Model Enablement. Whether you are a CxO, program owner or domain expert, you will find a relevant entry point here.</p> </div> </div> </details> <details class="hidden md:block group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How do engagements typically start? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">Regardless of topic, we start with a short call (around 20 minutes) with our CEO, David Rohrberg, together with the relevant sponsor or program owner on your side. Based on this, we propose a short, fixed-scope engagement (e.g. 1-day workshop or 2â3 week sprint) tailored to your case â cyber, OT security, network, disaster recovery, HR, AI, or a Friction Management starter.</p> </div> </div> </details>
221<details class="hidden md:block group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> What do we get out of the first short engagement? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">You receive a clear view of your current situation, 3â5 prioritized levers with owners and success metrics, and a 30/60-day action plan. This lets you evaluate fit and trust while already moving the needle â no matter if you are a CxO, program lead or specialist.</p> </div> </div> </details> </div> <div id="faqs-more" data-faqs-more data-expanded="false" aria-hidden="true" class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] opacity-0 data-[expanded=true]:grid-rows-[1fr] data-[expanded=true]:opacity-100"> <div class="min-h-0"> <div class="mt-6 grid mx-auto gap-8 md:gap-y-12 sm:grid-cols-2 max-w-6xl"> <details class="md:hidden group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How do engagements typically start? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">Regardless of topic, we start with a short call (around 20 minutes) with our CEO, David Rohrberg, together with the relevant sponsor or program owner on your side. Based on this, we propose a short, fixed-scope engagement (e.g. 1-day workshop or 2â3 week sprint) tailored to your case â cyber, OT security, network, disaster recovery, HR, AI, or a Friction Management starter.</p> </div> </div> </details><details class="md:hidden group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> What do we get out of the first short engagement? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">You receive a clear view of your current situation, 3â5 prioritized levers with owners and success metrics, and a 30/60-day action plan. This lets you evaluate fit and trust while already moving the needle â no matter if you are a CxO, program lead or specialist.</p> </div> </div> </details> <details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> Do we need to commit to a big transformation program upfront? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">No. We deliberately start small, focused and fixed-price. Only if the initial engagement delivers value for you do we scale into a broader program. Otherwise, you still keep a useful roadmap for your internal teams and partners.</p> </div> </div> </details>
221<details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> In which use cases and industries do you have a proven track record? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">We work mainly in regulated and complex environments such as pharma, chemicals, energy, manufacturing and financial services, with use cases like network modernization, OT security, disaster recovery/BCM and HR/people operating model transformation.</p> </div> </div> </details><details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How do you work with our internal teams and existing partners? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">We embed into your structures. Your teams and partners bring domain and platform depth, while T4D leads method, orchestration and friction analytics. We leave behind operating models, roles, routines and playbooks your teams can run and scale.</p> </div> </div> </details><details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How do you measure success? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">We use friction KPIs and outcome metrics such as effort, adoption, incidents, risk and business value. Our Friction Management Approach looks across Human, Organizational, Process and Ecosystem domains and follows Identify â Understand â Design â Realize Value to focus on measurable outcomes, not just activities.</p> </div> </div> </details><details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How do you price your work? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">Pricing starts with fixed-price entry offers such as 1-day workshops or assessments and continues with transparent project/program models tied to clear scope, milestones and value indicators. You always know what you are paying for.</p> </div> </div> </details>
221<details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> Who is T4D a good fit for? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">We are a good fit for leaders and experts who own or drive transformations, want clarity, focus and measurable progress, and value a hands-on, low-ego partner who works with their teams instead of around them.</p> </div> </div> </details><details class="group max-w-none rounded-xl border border-slate-200 dark:border-slate-800 bg-white/80 dark:bg-slate-900/60 p-5 hover:shadow-lg transition-all group" data-accordion data-single="true"> <summary class="flex items-start justify-between cursor-pointer select-none focus:outline-none focus-visible:ring focus-visible:ring-primary/40 rounded-md -mx-2 px-2"> <h3 class="text-lg md:text-xl font-bold text-black dark:text-white text-lg md:text-xl font-bold text-black dark:text-white"> How can we quickly assess if T4D is the right partner? </h3> <svg width="1em" height="1em" viewBox="0 0 24 24" class="ml-4 mt-1 w-5 h-5 text-primary transition-transform group-open:rotate-90" data-icon="tabler:chevrons-right"> <use href="#ai:tabler:chevrons-right"></use> </svg> </summary> <div class="grid overflow-hidden transition-[grid-template-rows,opacity] duration-300 grid-rows-[0fr] group-open:grid-rows-[1fr]"> <div class="min-h-0"> <p class="mt-2 text-sm text-black dark:text-white ">A short call with our CEO, David Rohrberg, is usually enough. If we see a clear value case, we suggest a short, low-risk engagement with very clear outcomes. If not, we say so openly and do not waste your time.</p> </div> </div> </details> </div> </div> </div><div class="mt-6 text-center"> <button type="button" class="btn-secondary" data-faqs-toggle="true" aria-controls="faqs-more" aria-expanded="false">View All FAQs</button> </div>
221<script> 222 (() => { 223 const root = 224 document.currentScript && document.currentScript.parentElement 225 ? document.currentScript.parentElement 226 : document; 227 const detailsList = root.querySelectorAll('details[data-accordion]'); 228 detailsList.forEach((d) => { 229 d.addEventListener('toggle', () => { 230 const single = d.getAttribute('data-single') === 'true'; 231 if (single && d.open) { 232 detailsList.forEach((other) => { 233 if (other !== d) other.open = false; 234 }); 235 } 236 }); 237 }); 238 239 const more = root.querySelector('[data-faqs-more]'); 240 const toggle = root.querySelector('[data-faqs-toggle]'); 241 if (more && toggle) { 242 // ensure initial a11y state 243 more.setAttribute('aria-hidden', 'true'); 244 toggle.addEventListener('click', () => { 245 const expanded = more.getAttribute('data-expanded') === 'true'; 246 const next = expanded ? 'false' : 'true'; 247 more.setAttribute('data-expanded', next); 248 more.setAttribute('aria-hidden', next === 'true' ? 'false' : 'true'); 249 toggle.setAttribute('aria-expanded', next); 250 toggle.textContent = next === 'true' ? 'Show Less' : 'View All FAQs'; 251 }); 252 } 253 })(); 254 </script>
254 </div> </section> <button id="back-to-top" aria-label="Back to top" class="hidden md:hidden fixed bottom-16 right-4 z-40 rounded-full bg-secondary text-white p-3 shadow-lg focus:outline-none focus:ring-2 focus:ring-primary transition-opacity"> 255â 256</button>
256<script> 257 const btn = document.getElementById('back-to-top'); 258 const showThreshold = 600; // px 259 const onScroll = () => { 260 const y = window.scrollY || window.pageYOffset; 261 if (y > showThreshold) { 262 btn?.classList.remove('hidden'); 263 btn?.classList.add('opacity-100'); 264 } else { 265 btn?.classList.add('hidden'); 266 btn?.classList.remove('opacity-100'); 267 } 268 }; 269 window.addEventListener('scroll', onScroll, { passive: true }); 270 onScroll(); 271 272 btn?.addEventListener('click', () => { 273 try { 274 window.scrollTo({ top: 0, behavior: 'smooth' }); 275 } catch { 276 window.scrollTo(0, 0); 277 } 278 }); 279</script>
279 </main> <nav aria-label="Quick sections" class="fixed inset-x-0 bottom-0 z-40 md:hidden"> <div class="mx-auto max-w-7xl"> <ul class="grid grid-cols-4 border-t border-slate-200 dark:border-white/10 bg-white/95 dark:bg-slate-900/95 backdrop-blur supports-[backdrop-filter]:bg-white/80 supports-[backdrop-filter]:dark:bg-slate-900/80"> <li> <a href="#about" aria-label="Go to About Us" class="flex h-14 flex-col items-center justify-center gap-0.5 text-xs font-medium text-slate-700 dark:text-slate-200 hover:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-primary transition-colors"> <svg width="1em" height="1em" class="w-5 h-5" aria-hidden="true" data-icon="tabler:users"> <symbol id="ai:tabler:users" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85"/></symbol><use href="#ai:tabler:users"></use> </svg> <span>About Us</span> </a> </li> <li> <a href="#services" aria-label="Go to Services" class="flex h-14 flex-col items-center justify-center gap-0.5 text-xs font-medium text-slate-700 dark:text-slate-200 hover:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-primary transition-colors"> <svg width="1em" height="1em" class="w-5 h-5" aria-hidden="true" data-icon="tabler:tools"> <symbol id="ai:tabler:tools" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 21h4L20 8a1.5 1.5 0 0 0-4-4L3 17zM14.5 5.5l4 4"/><path d="M12 8L7 3L3 7l5 5M7 8L5.5 9.5M16 12l5 5l-4 4l-5-5m4 1l-1.5 1.5"/></g></symbol><use href="#ai:tabler:tools"></use> </svg> <span>Services</span> </a> </li> <li> <a href="#use-cases" aria-label="Go to Use Cases" class="flex h-14 flex-col items-center justify-center gap-0.5 text-xs font-medium text-slate-700 dark:text-slate-200 hover:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-primary transition-colors"> <svg width="1em" height="1em" class="w-5 h-5" aria-hidden="true" data-icon="tabler:layout-grid"> <symbol id="ai:tabler:layout-grid" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1z"/></symbol><use href="#ai:tabler:layout-grid"></use> </svg> <span>Use Cases</span> </a> </li> <li> <a href="#insights" aria-label="Go to Insights" class="flex h-14 flex-col items-center justify-center gap-0.5 text-xs font-medium text-slate-700 dark:text-slate-200 hover:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-primary transition-colors"> <svg width="1em" height="1em" class="w-5 h-5" aria-hidden="true" data-icon="tabler:bulb"> <symbol id="ai:tabler:bulb" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12h1m8-9v1m8 8h1M5.6 5.6l.7.7m12.1-.7l-.7.7M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0-1 3a2 2 0 0 1-4 0a3.5 3.5 0 0 0-1-3m.7 1h4.6"/></symbol><use href="#ai:tabler:bulb"></use> </svg> <span>Insights</span> </a> </li> </ul> </div> </nav> <footer class="relative border-t border-gray-200 dark:border-slate-800 not-prose"> <div class="dark:bg-dark absolute inset-0 pointer-events-none" aria-hidden="true"></div> <div class="relative max-w-7xl mx-auto px-4 sm:px-6 dark:text-slate-300 intersect-once intersect-quarter intersect-no-queue motion-safe:md:opacity-0 motion-safe:md:intersect:animate-fade"> <div class="grid grid-cols-12 gap-4 gap-y-8 sm:gap-8 py-8 md:py-12"> <div class="col-span-12 lg:col-span-4"> <div class="mb-2"> <a class="inline-flex items-center" href="/"><!-- Responsive, theme-aware logo (expects SVGs in /public/logos) --><span aria-label="T4D Consulting" class="flex items-center gap-2 shrink-0 ml-2 rtl:ml-0 rtl:mr-2"> <!-- Compact logo (no claim) for small/medium screens --> <span class="block lg:hidden"> <img src="/logos/t4d-on-light.svg" alt="T4D Consulting" class="block dark:hidden h-8 md:h-8 w-auto" width="144" height="66"> <img src="/logos/t4d-on-dark.svg" alt="T4D Consulting" class="hidden dark:block h-8 md:h-8 w-auto" width="144" height="66"> </span> <!-- Full logo with claim for large screens and up --> <span class="hidden lg:block"> <img src="/logos/t4d-on-light.svg" alt="T4D Consulting â Shaping your digital future" class="block dark:hidden h-9 w-auto" width="220" height="110"> <img src="/logos/t4d-on-dark.svg" alt="T4D Consulting â Shaping your digital future" class="hidden dark:block h-9 w-auto" width="220" height="110"> </span> </span></a> </div>
279 <address class="not-italic text-sm text-muted leading-relaxed"> <div>T4D Consulting GmbH</div> <div>SteinkopfstraÃe 6-8, 61231 Bad Nauheim</div> </address> <div class="text-sm text-muted flex gap-1 mt-2"> <a class="inline-flex items-center -mx-2 py-2 px-2 rounded text-muted hover:text-gray-700 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors duration-200 ease-out" href="/impressum">Imprint</a> · <a class="inline-flex items-center -mx-2 py-2 px-2 rounded text-muted hover:text-gray-700 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors duration-200 ease-out" href="/privacy">Privacy Policy</a> </div> </div> <div class="col-span-6 md:col-span-3 lg:col-span-2"> <div class="dark:text-gray-300 font-medium mb-2">T4D</div> <ul class="text-sm"> <li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#approach"> Approach </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#services"> Services </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#use-cases"> Use Cases </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#insights"> Insights </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#about"> About Us </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/#cta"> Contact </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/careers" aria-label="Careers" data-nav-id="career_intern"> Careers </a> </li><li class="mb-2"> <a class="text-muted hover:text-gray-700 hover:underline dark:text-gray-400 transition duration-150 ease-in-out" href="/resources">
279 Resources </a> </li> </ul> </div> </div> <div class="md:flex md:items-center md:justify-between py-6 md:py-8"> <ul class="flex mb-4 md:order-1 -ml-2 md:ml-4 md:mb-0 rtl:ml-0 rtl:-mr-2 rtl:md:ml-0 rtl:md:mr-4"> <li> <a class="text-muted dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center" aria-label="LinkedIn" href="https://www.linkedin.com/company/t4d-consulting-gmbh/posts/?feedView=all" target="_blank" rel="noopener noreferrer"> <svg width="1em" height="1em" class="w-5 h-5" data-icon="tabler:brand-linkedin"> <symbol id="ai:tabler:brand-linkedin" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M8 11v5m0-8v.01M12 16v-5m4 5v-3a2 2 0 1 0-4 0"/><path d="M3 7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z"/></g></symbol><use href="#ai:tabler:brand-linkedin"></use> </svg> </a> </li> </ul> <div class="text-sm mr-4 dark:text-muted"> 280 © 2026 T4D Consulting · All rights reserved. · Friction to Value® is a registered trademark of T4D Consulting GmbH. 281 </div> </div> </div> </footer>
281<script>(function(){const defaultTheme = "dark"; 282 283 if (window.basic_script) { 284 return; 285 } 286 287 window.basic_script = true; 288 289 function applyTheme(theme) { 290 if (theme === 'dark') { 291 document.documentElement.classList.add('dark'); 292 } else { 293 document.documentElement.classList.remove('dark'); 294 } 295 } 296 297 const initTheme = function () { 298 if ((defaultTheme && defaultTheme.endsWith(':only')) || (!localStorage.theme && defaultTheme !== 'system')) { 299 applyTheme(defaultTheme.replace(':only', '')); 300 } else if ( 301 localStorage.theme === 'dark' || 302 (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches) 303 ) { 304 applyTheme('dark'); 305 } else { 306 applyTheme('light'); 307 } 308 }; 309 initTheme(); 310 311 function attachEvent(selector, event, fn) { 312 const matches = typeof selector === 'string' ? document.querySelectorAll(selector) : selector; 313 if (matches && matches.length) { 314 matches.forEach((elem) => { 315 elem.addEventListener(event, (e) => fn(e, elem), false); 316 }); 317 } 318 } 319 320 const onLoad = function () { 321 let lastKnownScrollPosition = window.scrollY; 322 let ticking = true; 323 324 // Floating header scroll state (expanded <-> condensed) 325 let lastScrollY = window.scrollY; 326 const getFloatingHeader = () => document.getElementById('floating-header'); 327 const getFloatingCenter = () => document.getElementById('floating-center'); 328 329 function setFloatingCondensed(condensed) { 330 const fh = getFloatingHeader(); 331 const center = getFloatingCenter(); 332 if (!fh || !center) return; 333 334 fh.classList.toggle('is-condensed', condensed); 335 336 // Also adjust inner pill container gap to avoid any visible space in condensed 337 const pill = fh.querySelector(':scope > div'); 338 if (pill) { 339 if (condensed) { 340 pill.classList.add('gap-0'); 341 pill.classList.remove('gap-2'); 342 } else { 343 pill.classList.remove('gap-0'); 344 pill.classList.add('gap-2'); 345 } 346 } 347 348 if (condensed) { 349 // Width is controlled by CSS using the .is-condensed state 350 center.classList.add('opacity-0', 'pointer-events-none', 'flex-none', 'overflow-hidden'); 351 center.classList.remove('opacity-100'); 352 center.setAttribute('aria-hidden', 'true'); 353 center.setAttribute('inert', ''); 354 } else { 355 // Measure the natural width and expose via CSS variable for smooth transition 356 measureCenterWidth(); 357 center.style.setProperty('--centerMax', centerMax ? centerMax + 'px' : '9999px'); 358 center.classList.remove('opacity-0', 'pointer-events-none', 'flex-none', 'overflow-hidden'); 359 center.classList.add('opacity-100'); 360 center.removeAttribute('aria-hidden'); 361 center.removeAttribute('inert'); 362 } 363 } 364 365 function updateFloatingHeaderOnScroll() { 366 const fh = getFloatingHeader(); 367 if (!fh) return; 368 const y = window.scrollY; 369 if (y < 80) { 370 setFloatingCondensed(false); 371 } else if (y > lastScrollY + 4) { 372 setFloatingCondensed(true); 373 } else if (y < lastScrollY - 4) { 374 setFloatingCondensed(false); 375 } 376 lastScrollY = y; 377 } 378 379 // Measure and animate center menu width for smooth shrink/expand 380 let centerMax = 0; 381 function measureCenterWidth() { 382 const c = getFloatingCenter(); 383 if (!c) return; 384 // Temporarily allow measuring full width without leaving inline styles behind 385 const prev = c.style.maxWidth; 386 c.style.maxWidth = 'none'; 387 centerMax = c.scrollWidth; 388 // restore previous inline value exactly as it was (or clear it) 389 if (prev) c.style.maxWidth = prev; 390 else c.style.removeProperty('max-width'); 391 } 392 393 const debounce = (fn, ms = 150) => { 394 let t; 395 return (...a) => { 396 clearTimeout(t); 397 t = setTimeout(() => fn(...a), ms); 398 }; 399 }; 400 measureCenterWidth(); 401 402 const onResize = debounce(() => { 403 setFloatingCondensed(false); 404 measureCenterWidth(); 405 }, 200); 406 window.addEventListener('resize', onResize, { passive: true }); 407 408 attachEvent('#header nav', 'click', function () { 409 document.querySelector('[data-aw-toggle-menu]')?.classList.remove('expanded'); 410 document.body.classList.remove('overflow-hidden'); 411 document.getElementById('header')?.classList.remove('h-screen'); 412 document.getElementById('header')?.classList.remove('expanded'); 413 document.getElementById('header')?.classList.remove('bg-page'); 414 document.querySelector('#header nav')?.classList.add('hidden'); 415 document.querySelector('#header > div > div:last-child')?.classList.add('hidden'); 416 }); 417 418 attachEvent('[data-aw-toggle-menu]', 'click', function (_, elem) { 419 elem.classList.toggle('expanded'); 420 document.body.classList.toggle('overflow-hidden'); 421 document.getElementById('header')?.classList.toggle('h-screen'); 422 document.getElementById('header')?.classList.toggle('expanded'); 423 document.getElementById('header')?.classList.toggle('bg-page'); 424 document.querySelector('#header nav')?.classList.toggle('hidden'); 425 document.querySelector('#header > div > div:last-child')?.classList.toggle('hidden'); 426 }); 427 428 attachEvent('[data-aw-toggle-color-scheme]', 'click', function () { 429 if (defaultTheme.endsWith(':only')) { 430 return; 431 } 432 433 Observer.removeAnimationDelay(); 434 435 document.documentElement.classList.toggle('dark'); 436 localStorage.theme = document.documentElement.classList.contains('dark') ? 'dark' : 'light'; 437 }); 438 439 attachEvent('[data-aw-social-share]', 'click', function (_, elem) { 440 const network = elem.getAttribute('data-aw-social-share'); 441 const url = encodeURIComponent(elem.getAttribute('data-aw-url')); 442 const text = encodeURIComponent(elem.getAttribute('data-aw-text')); 443 444 let href; 445 switch (network) { 446 case 'facebook': 447 href = `https://www.facebook.com/sharer.php?u=${url}`; 448 break; 449 case 'twitter': 450 href = `https://twitter.com/intent/tweet?url=${url}&text=${text}`; 451 break; 452 case 'linkedin': 453 href = `https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${text}`; 454 break; 455 case 'whatsapp': 456 href = `https://wa.me/?text=${text}%20${url}`; 457 break; 458 case 'mail': 459 href = `mailto:?subject=%22${text}%22&body=${text}%20${url}`; 460 break; 461 462 default: 463 return; 464 } 465 466 const newlink = document.createElement('a'); 467 newlink.target = '_blank'; 468 newlink.href = href; 469 newlink.click(); 470 }); 471 472 const screenSize = window.matchMedia('(max-width: 767px)'); 473 screenSize.addEventListener('change', function () { 474 document.querySelector('[data-aw-toggle-menu]')?.classList.remove('expanded'); 475 document.body.classList.remove('overflow-hidden'); 476 document.getElementById('header')?.classList.remove('h-screen'); 477 document.getElementById('header')?.classList.remove('expanded'); 478 document.getElementById('header')?.classList.remove('bg-page'); 479 document.querySelector('#header nav')?.classList.add('hidden'); 480 document.querySelector('#header > div > div:last-child')?.classList.add('hidden'); 481 }); 482 483 function applyHeaderStylesOnScroll() { 484 const header = document.querySelector('#header[data-aw-sticky-header]'); 485 if (!header) return; 486 if (lastKnownScrollPosition > 60 && !header.classList.contains('scroll')) { 487 header.classList.add('scroll'); 488 } else if (lastKnownScrollPosition <= 60 && header.classList.contains('scroll')) { 489 header.classList.remove('scroll'); 490 } 491 ticking = false;
492 } 493 494 // Active section highlighting for FloatingHeader links 495 function initFloatingActiveObserver() { 496 const links = Array.from(document.querySelectorAll('#floating-header [data-fh-link]')); 497 if (!links.length) return; 498 const items = links 499 .map((a) => { 500 const raw = a.getAttribute('href') || ''; 501 const hashIndex = raw.indexOf('#'); 502 if (hashIndex === -1) return null; 503 const id = raw.slice(hashIndex + 1); 504 if (!id) return null; 505 const el = document.getElementById(id); 506 return el ? { id, el, a } : null; 507 }) 508 .filter(Boolean); 509 if (!items.length) return; 510 511 let current = ''; 512 function setActive(id) { 513 if (id === current) return; 514 current = id; 515 items.forEach(({ id: i, a }) => { 516 const active = i === id; 517 a.setAttribute('data-active', active ? 'true' : 'false'); 518 // Fallback for environments where arbitrary data-* variants are not built 519 a.classList.toggle('bg-primary', active); 520 a.classList.toggle('text-white', active); 521 if (active) a.setAttribute('aria-current', 'page'); 522 else a.removeAttribute('aria-current'); 523 }); 524 } 525 526 const io = new IntersectionObserver( 527 (entries) => { 528 entries.forEach((entry) => { 529 if (entry.isIntersecting) { 530 const it = items.find((x) => x.el === entry.target); 531 if (it) setActive(it.id); 532 } 533 }); 534 }, 535 { rootMargin: '-40% 0px -50% 0px', threshold: 0.01 } 536 ); 537 items.forEach(({ el }) => io.observe(el)); 538 539 // initialize 540 const firstVisible = items.find(({ el }) => { 541 const r = el.getBoundingClientRect(); 542 return r.top >= 0 && r.top < window.innerHeight * 0.6; 543 }); 544 if (firstVisible) setActive(firstVisible.id); 545 } 546 547 applyHeaderStylesOnScroll(); 548 updateFloatingHeaderOnScroll(); 549 initFloatingActiveObserver(); 550 551 window.addEventListener( 552 'scroll', 553 function () { 554 lastKnownScrollPosition = window.scrollY; 555 556 // Ensure FloatingHeader state updates immediately (cheap), independent of RAF/ticking 557 try { 558 updateFloatingHeaderOnScroll(); 559 } catch { 560 // Ignore header scroll update errors 561 } 562 563 if (!ticking) { 564 window.requestAnimationFrame(() => { 565 applyHeaderStylesOnScroll(); 566 // updateFloatingHeaderOnScroll(); // already called above for snappy UX 567 }); 568 ticking = true; 569 } 570 }, 571 { passive: true } 572 ); 573 }; 574 const onPageShow = function () { 575 document.documentElement.classList.add('motion-safe:scroll-smooth'); 576 const elem = document.querySelector('[data-aw-toggle-menu]'); 577 if (elem) { 578 elem.classList.remove('expanded'); 579 } 580 document.body.classList.remove('overflow-hidden'); 581 document.getElementById('header')?.classList.remove('h-screen'); 582 document.getElementById('header')?.classList.remove('expanded'); 583 document.querySelector('#header nav')?.classList.add('hidden'); 584 585 // Reset floating header state on page show 586 try { 587 setFloatingCondensed(false); 588 } catch { 589 // Ignore initial floating header state issues 590 } 591 }; 592 593 onLoad(); 594 window.onpageshow = onPageShow; 595 596 document.addEventListener('astro:after-swap', () => { 597 initTheme(); 598 onLoad(); 599 onPageShow(); 600 }); 601})();</script>
601
601<script> 602 /* Inspired by: https://github.com/heidkaemper/tailwindcss-intersect */ 603 const Observer = { 604 observer: null, 605 delayBetweenAnimations: 100, 606 animationCounter: 0, 607 elements: null, 608 609 start() { 610 const selectors = [ 611 '[class*=" intersect:"]', 612 '[class*=":intersect:"]', 613 '[class^="intersect:"]', 614 '[class="intersect"]', 615 '[class*=" intersect "]', 616 '[class^="intersect "]', 617 '[class$=" intersect"]', 618 ]; 619 620 this.elements = Array.from(document.querySelectorAll(selectors.join(','))); 621 622 const getThreshold = (element) => { 623 if (element.classList.contains('intersect-full')) return 0.99; 624 if (element.classList.contains('intersect-half')) return 0.5; 625 if (element.classList.contains('intersect-quarter')) return 0.25; 626 return 0; 627 }; 628 629 this.elements.forEach((el) => { 630 el.setAttribute('no-intersect', ''); 631 el._intersectionThreshold = getThreshold(el); 632 }); 633 634 const callback = (entries) => { 635 entries.forEach((entry) => { 636 requestAnimationFrame(() => { 637 const target = entry.target; 638 const intersectionRatio = entry.intersectionRatio; 639 const threshold = target._intersectionThreshold; 640 641 if (target.classList.contains('intersect-no-queue')) { 642 if (entry.isIntersecting) { 643 target.removeAttribute('no-intersect'); 644 if (target.classList.contains('intersect-once')) { 645 this.observer.unobserve(target); 646 } 647 } else { 648 target.setAttribute('no-intersect', ''); 649 } 650 return; 651 } 652 653 if (intersectionRatio >= threshold) { 654 if (!target.hasAttribute('data-animated')) { 655 target.removeAttribute('no-intersect'); 656 target.setAttribute('data-animated', 'true'); 657 658 const delay = this.animationCounter * this.delayBetweenAnimations; 659 this.animationCounter++; 660 661 target.style.transitionDelay = `${delay}ms`; 662 target.style.animationDelay = `${delay}ms`; 663 664 if (target.classList.contains('intersect-once')) { 665 this.observer.unobserve(target); 666 } 667 } 668 } else { 669 target.setAttribute('no-intersect', ''); 670 target.removeAttribute('data-animated'); 671 target.style.transitionDelay = ''; 672 target.style.animationDelay = ''; 673 674 this.animationCounter = 0; 675 } 676 }); 677 }); 678 }; 679 680 this.observer = new IntersectionObserver(callback.bind(this), { threshold: [0, 0.25, 0.5, 0.99] }); 681 682 this.elements.forEach((el) => { 683 this.observer.observe(el); 684 }); 685 }, 686 687 /* 688 REF: #643; 689 We need to remove the delay to fix flickering/delay 690 when toggling the theme. Observer only removes them 691 after data-animated is gone (out of view). 692 */ 693 removeAnimationDelay() { 694 this.elements.forEach((el) => { 695 if (el.getAttribute('data-animated') === 'true') { 696 el.style.transitionDelay = ''; 697 el.style.animationDelay = ''; 698 } 699 }); 700 }, 701 }; 702 703 Observer.start(); 704 705 document.addEventListener('astro:after-swap', () => { 706 Observer.start(); 707 }); 708</script>
708 </body></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.