{"id":1285,"date":"2026-06-17T11:22:13","date_gmt":"2026-06-17T09:22:13","guid":{"rendered":"https:\/\/growyu.nl\/about-us\/"},"modified":"2026-06-21T20:12:51","modified_gmt":"2026-06-21T18:12:51","slug":"about-us","status":"publish","type":"page","link":"https:\/\/growyu.nl\/en\/about-us\/","title":{"rendered":"About us"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_0 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module preset--module--divi-code--default\"><div class=\"et_pb_code_inner\"><style>\n  html,body{overflow-x:clip}\n  #meshCanvas{position:absolute;inset:0;z-index:0;display:block;pointer-events:none}\n  .gy-fx-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;\n    background:\n      radial-gradient(105% 105% at 4% 48%, rgba(33,32,37,.86) 0%, rgba(33,32,37,.35) 38%, transparent 64%),\n      linear-gradient(180deg, rgba(33,32,37,.45) 0%, transparent 20%, transparent 72%, rgba(33,32,37,.70) 100%)}\n<\/style>\n<canvas id=\"meshCanvas\" aria-hidden=\"true\"><\/canvas>\n<div class=\"gy-fx-scrim\" aria-hidden=\"true\"><\/div>\n<script>\n(function () {\n  var canvas = document.getElementById('meshCanvas');\n  if (!canvas) return;\n  var ctx = canvas.getContext('2d');\n\n  \/* Zoek de hero-SECTIE als container (robuust: tag SECTION of class met 'section'),\n     verplaats canvas + scrim erin als achtergrondlaag, en zet de content erboven. *\/\n  function isSection(el){\n    return el && (el.tagName === 'SECTION' || \/et_pb_section|(^|[\\s_-])section([\\s_-]|$)\/i.test(el.className || ''));\n  }\n  var box = canvas.parentElement;\n  while (box.parentElement && box.parentElement.tagName !== 'BODY' && !isSection(box)) box = box.parentElement;\n  box.style.position = 'relative';\n  box.style.overflow = 'hidden';\n  var scrim = document.querySelector('.gy-fx-scrim');\n  box.insertBefore(canvas, box.firstChild);\n  if (scrim) box.insertBefore(scrim, canvas.nextSibling);\n  Array.prototype.forEach.call(box.children, function (c) {\n    if (c !== canvas && c !== scrim) { c.style.position = 'relative'; c.style.zIndex = '2'; }\n  });\n\n  var SPEED = 0.8, AMP = 1.0, BRI = 1.0, PARALLAX = true;\n  var DPR = Math.min(window.devicePixelRatio || 1, 1.6);\n  var BG = [33, 32, 37];\n  var GX = 30, GY = 32, TS = 0.9, VAMP = 0.30;\n  function heightField(X, Z, t) {\n    return 0.7 * Math.sin(X * 0.4 + t) + 0.6 * Math.cos(Z * 0.45 - t * 0.8) + 0.3 * Math.sin((X + Z) * 0.35 + t * 1.3);\n  }\n  var state = { mx: 0, my: 0, cmx: 0, cmy: 0, mpxT: -9999, mpyT: -9999, mpx: -9999, mpy: -9999, hover: 0, hoverT: 0 };\n\n  function sizeCanvas() {\n    var w = box.clientWidth, h = box.clientHeight;\n    if (!w || !h) return;\n    canvas.width = Math.round(w * DPR); canvas.height = Math.round(h * DPR);\n    canvas.style.width = w + 'px'; canvas.style.height = h + 'px';\n  }\n  \/\/ Robuuste sizing: ResizeObserver pakt de echte sectie-hoogte zodra die bekend is.\n  if (window.ResizeObserver) { try { new ResizeObserver(sizeCanvas).observe(box); } catch (e) {} }\n  window.addEventListener('resize', sizeCanvas);\n  window.addEventListener('load', sizeCanvas);\n  setTimeout(sizeCanvas, 200); setTimeout(sizeCanvas, 800);\n\n  if (PARALLAX) {\n    window.addEventListener('mousemove', function (e) {\n      var r = canvas.getBoundingClientRect();\n      state.mpxT = (e.clientX - r.left) * DPR; state.mpyT = (e.clientY - r.top) * DPR; state.hoverT = 1;\n      state.mx = (e.clientX \/ window.innerWidth - 0.5) * 2; state.my = (e.clientY \/ window.innerHeight - 0.5) * 2;\n    });\n    document.addEventListener('mouseleave', function () { state.hoverT = 0; });\n  }\n\n  function fogColor(near, alpha) {\n    var g = [123, 242, 66];\n    return 'rgba(' + Math.round(BG[0] + (g[0] - BG[0]) * near) + ',' + Math.round(BG[1] + (g[1] - BG[1]) * near) + ',' + Math.round(BG[2] + (g[2] - BG[2]) * near) + ',' + alpha.toFixed(3) + ')';\n  }\n\n  var startT = performance.now();\n  function frame(now) {\n    var t = (now - startT) \/ 1000, W = canvas.width, H = canvas.height;\n    if (!W || !H) { requestAnimationFrame(frame); return; }\n    state.cmx += (state.mx - state.cmx) * 0.006; state.cmy += (state.my - state.cmy) * 0.006;\n    if (state.mpx < -9000) { state.mpx = state.mpxT; state.mpy = state.mpyT; }\n    state.mpx += (state.mpxT - state.mpx) * 0.04; state.mpy += (state.mpyT - state.mpy) * 0.04;\n    state.hover += (state.hoverT - state.hover) * 0.025;\n    ctx.clearRect(0, 0, W, H);\n    var f = H * 0.95, cx = W * 0.60 + state.cmx * W * 0.0022, cy = H * 0.44 + state.cmy * H * 0.0015;\n    var ZN = 1.15, ZF = 16, XR = 9, tt = t * SPEED * TS, A = VAMP * AMP;\n    var DENT = 0, Xc = 0, Zc = 0, SIG2 = 4.5;\n    if (state.hover > 0.001 && state.mpy > cy + 6) { Zc = f \/ (state.mpy - cy); Xc = (state.mpx - cx) * Zc \/ f; DENT = 0.2 * state.hover; }\n    var glow = ctx.createRadialGradient(cx, cy, 0, cx, cy, H * 0.9);\n    glow.addColorStop(0, 'rgba(123,242,66,' + (0.16 * BRI).toFixed(3) + ')');\n    glow.addColorStop(0.4, 'rgba(123,242,66,' + (0.05 * BRI).toFixed(3) + ')');\n    glow.addColorStop(1, 'rgba(123,242,66,0)');\n    ctx.fillStyle = glow; ctx.fillRect(0, 0, W, H);\n    var pts = [];\n    for (var j = 0; j <= GY; j++) {\n      var rowArr = new Array(GX + 1), Z = ZN + (j \/ GY) * (ZF - ZN);\n      for (var i = 0; i <= GX; i++) {\n        var X = (i \/ GX - 0.5) * 2 * XR, wv = heightField(X, Z, tt), Y = -1.0 + wv * A;\n        if (DENT) { var ddx = X - Xc, ddz = Z - Zc; Y -= DENT * Math.exp(-(ddx * ddx + ddz * ddz) \/ (2 * SIG2)); }\n        rowArr[i] = [cx + (X \/ Z) * f, cy - (Y \/ Z) * f, wv];\n      }\n      pts.push(rowArr);\n    }\n    ctx.lineJoin = 'round';\n    for (var jm = 0; jm <= GY; jm++) {\n      var nm = Math.pow(1 - jm \/ GY, 0.85); ctx.beginPath();\n      for (var im = 0; im <= GX; im++) { var pm = pts[jm][im]; if (im === 0) ctx.moveTo(pm[0], pm[1]); else ctx.lineTo(pm[0], pm[1]); }\n      ctx.strokeStyle = fogColor(nm, (0.04 + nm * 0.22) * BRI); ctx.lineWidth = 0.6 * DPR; ctx.stroke();\n    }\n    for (var imc = 0; imc <= GX; imc++) {\n      ctx.beginPath();\n      for (var jmc = 0; jmc <= GY; jmc++) { var p3 = pts[jmc][imc]; if (jmc === 0) ctx.moveTo(p3[0], p3[1]); else ctx.lineTo(p3[0], p3[1]); }\n      ctx.strokeStyle = fogColor(0.5, 0.07 * BRI); ctx.lineWidth = 0.6 * DPR; ctx.stroke();\n    }\n    ctx.globalCompositeOperation = 'lighter';\n    for (var jmd = 0; jmd <= GY; jmd++) {\n      var ndd = 1 - jmd \/ GY;\n      for (var imd = 0; imd <= GX; imd++) {\n        var pdd = pts[jmd][imd], hd = (pdd[2] + 2) \/ 4, rd = (0.5 + hd * 2.4) * ndd * DPR;\n        if (rd < 0.3) continue;\n        ctx.beginPath(); ctx.arc(pdd[0], pdd[1], rd, 0, 6.2832);\n        ctx.fillStyle = 'rgba(150,255,110,' + ((0.14 + hd * 0.7) * ndd * BRI).toFixed(3) + ')'; ctx.fill();\n      }\n    }\n    ctx.globalCompositeOperation = 'source-over';\n    requestAnimationFrame(frame);\n  }\n  requestAnimationFrame(frame);\n})();\n<\/script><\/div><\/div>\n\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--module--divi-text--default\"><div class=\"et_pb_text_inner\"><h1 class=\"page-hero__h1\">Microsoft specialists who understand <span style=\"color: #7bf242;\">the business<\/span>.<\/h1>\n<\/div><\/div>\n\n<div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--module--divi-text--w0skgr2je8\"><div class=\"et_pb_text_inner\"><p><span>Growyu builds on the entire Microsoft platform: Dynamics 365, Business Central, Power BI, Power Apps and Copilot. Every project in the hands of senior consultants who understand the business just as well as the technology.<\/span><\/p>\n<\/div><\/div>\n\n<div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module preset--module--divi-text--w0skgr2je8\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_1 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_1 et_pb_code et_pb_module preset--module--divi-code--default\"><div class=\"et_pb_code_inner\"><style>\n.ov-verhaal .vh-head{max-width:760px;margin:0 0 56px}\n.ov-verhaal .eyebrow{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(33,32,37,.6);display:inline-block;margin-bottom:16px}\n.ov-verhaal .vh-head h2{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(28px,3.8vw,48px);line-height:1.05;letter-spacing:-.025em;color:#212025;margin:0 0 20px;text-wrap:balance}\n.ov-verhaal .vh-head p{font-family:Inter,sans-serif;font-size:clamp(16px,1.2vw,18px);line-height:1.55;color:#6e6d75;margin:0;max-width:640px}\n.ov-verhaal .mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}\n.ov-verhaal .mv-card{display:flex;flex-direction:column;align-items:flex-start;padding:38px 36px 40px;background:#fff;border:1px solid #e5e5e8;border-radius:16px;box-shadow:0 6px 16px rgba(33,32,37,.08),0 2px 4px rgba(33,32,37,.04);transition:border-color .22s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),box-shadow .22s}\n.ov-verhaal .mv-card:hover{border-color:#212025;transform:translateY(-4px);box-shadow:0 20px 40px rgba(33,32,37,.12),0 6px 12px rgba(33,32,37,.06)}\n.ov-verhaal .mv-card__ic{width:56px;height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#7bf242;color:#212025;box-shadow:0 6px 18px rgba(123,242,66,.32);margin-bottom:24px;transition:transform .22s cubic-bezier(.22,1,.36,1)}\n.ov-verhaal .mv-card:hover .mv-card__ic{transform:translateY(-2px) rotate(-4deg)}\n.ov-verhaal .mv-card__ic svg{width:27px;height:27px}\n.ov-verhaal .mv-card__label{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#6e6d75;margin-bottom:14px}\n.ov-verhaal .mv-card__text{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(19px,1.7vw,23px);line-height:1.4;letter-spacing:-.01em;color:#212025;margin:0;text-wrap:pretty}\n@media(max-width:760px){.ov-verhaal .mv-grid{grid-template-columns:1fr;gap:20px}}\n<\/style><div class=\"ov-verhaal\"><div class=\"vh-head\"><span class=\"eyebrow\">OUR STORY<\/span><h2>Built from the business, not the IT department.<\/h2><p>We're small by design, with senior consultants who have sat in the finance or operations seat themselves. Growyu was founded by Edip Torun: a former GL accountant and, for over ten years, a Dynamics and BI consultant. Today we implement ERP on Dynamics 365 and Business Central, build on the Power Platform, and put Power BI, Copilot and AI to productive use.<\/p><\/div><div class=\"mv-grid\"><article class=\"mv-card\"><span class=\"mv-card__ic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><circle cx=\"12\" cy=\"12\" r=\"6\"><\/circle><circle cx=\"12\" cy=\"12\" r=\"2\"><\/circle><\/svg><\/span><span class=\"mv-card__label\">MISSION<\/span><p class=\"mv-card__text\">Helping teams get more out of their Microsoft platform, with solutions you'd build yourself if you knew both the business and the technology.<\/p><\/article><article class=\"mv-card\"><span class=\"mv-card__ic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44\"><\/path><path d=\"m13.56 11.747 4.332-.924\"><\/path><path d=\"m16 21-3.105-6.21\"><\/path><path d=\"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z\"><\/path><path d=\"m6.158 8.633 1.114 4.456\"><\/path><path d=\"m8 21 3.105-6.21\"><\/path><circle cx=\"12\" cy=\"13\" r=\"2\"><\/circle><\/svg><\/span><span class=\"mv-card__label\">VISION<\/span><p class=\"mv-card__text\">A world where AI and automation aren't a separate IT project, but simply part of how a strong team works every day.<\/p><\/article><\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_2 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_2 et_pb_code et_pb_module preset--module--divi-code--default\"><div class=\"et_pb_code_inner\"><style>\n.about-trails{position:absolute !important;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none}\n.ov-why-scrim{position:absolute !important;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 110% at 50% 50%,transparent 0%,rgba(33,32,37,.42) 78%),linear-gradient(180deg,rgba(33,32,37,.66) 0%,transparent 26%,transparent 74%,rgba(33,32,37,.72) 100%)}\n.ov-why{position:relative;z-index:2}\n.ov-why .wy-head{max-width:760px;margin:0 0 64px}\n.ov-why .eyebrow{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#7bf242;display:inline-block;margin-bottom:16px}\n.ov-why .wy-head h2{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(28px,3.8vw,48px);line-height:1.05;letter-spacing:-.025em;color:#fff;margin:0;text-wrap:balance}\n.ov-why .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}\n.ov-why .why-item{display:flex;flex-direction:column;gap:12px}\n.ov-why .why-item__ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#7bf242;color:#212025;box-shadow:0 6px 18px rgba(123,242,66,.32);margin-bottom:22px}\n.ov-why .why-item__ic svg{width:25px;height:25px}\n.ov-why .why-item__title{font-family:Montserrat,sans-serif;font-weight:700;font-size:clamp(20px,1.8vw,24px);line-height:1.2;letter-spacing:-.015em;color:#fff;margin:0 0 4px}\n.ov-why .why-item__body{font-family:Inter,sans-serif;font-size:15.5px;line-height:1.6;color:#b8b7bd;margin:0;max-width:340px}\n@media(max-width:900px){.ov-why .why-grid{grid-template-columns:1fr;gap:48px}}\n<\/style><div class=\"ov-why-sec\"><canvas class=\"about-trails\" data-trails=\"about\" aria-hidden=\"true\"><\/canvas><div class=\"ov-why-scrim\" aria-hidden=\"true\"><\/div><div class=\"ov-why\"><div class=\"wy-head\"><span class=\"eyebrow\">HOW WE WORK<\/span><h2>What we won't compromise on.<\/h2><\/div><div class=\"why-grid\"><div class=\"why-item\"><span class=\"why-item__ic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 7h6v6\"><\/path><path d=\"m22 7-8.5 8.5-5-5L2 17\"><\/path><\/svg><\/span><h3 class=\"why-item__title\">Business-first, not IT-first<\/h3><p class=\"why-item__body\">Our consultants stood in the business themselves before moving to the Microsoft side. They understand processes, cost price and compliance, and can fix things where they go wrong.<\/p><\/div><div class=\"why-item\"><span class=\"why-item__ic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span><h3 class=\"why-item__title\">Small by design, senior in make-up<\/h3><p class=\"why-item__body\">Short lines and familiar faces. Whoever builds it is also who you reach when it matters.<\/p><\/div><div class=\"why-item\"><span class=\"why-item__ic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 3v16a2 2 0 0 0 2 2h16\"><\/path><path d=\"m19 9-5 5-4-4-3 3\"><\/path><\/svg><\/span><h3 class=\"why-item__title\">Proof on real data<\/h3><p class=\"why-item__body\">We start small and prove value on real data. Only then do we scale.<\/p><\/div><\/div><\/div><\/div><script>\/* =============================================================================\n   Aanpak \u2014 a calm road receding to a green horizon (\"hoe we werken\" \/ Road to AI)\n   Reusable: window.initAanpak(canvas, opts)\n   opts: { speed, amp, bri, glow, ties, cxFactor, cyFactor }\n   Two rails converge toward a soft green horizon glow; a few quiet cross-ties\n   give it the read of a road, and a single soft light sweeps gently along it.\n   No nodes, no sparkles \u2014 deliberately minimal.\n   ============================================================================= *\/\n(function () {\n  function initAanpak(canvas, opts) {\n    opts = opts || {};\n    var ctx = canvas.getContext('2d');\n    var host = opts.host || canvas.parentElement || canvas;\n    var DPR = Math.min(window.devicePixelRatio || 1, 1.6);\n\n    var cfg = {\n      speed: opts.speed != null ? opts.speed : 0.8,\n      amp: opts.amp != null ? opts.amp : 1.0,\n      bri: opts.bri != null ? opts.bri : 1.0,\n      glow: opts.glow != null ? opts.glow : 1.0,\n      ties: opts.ties != null ? opts.ties : 16,\n      hw: opts.hw != null ? opts.hw : 1.75,\n      cxFactor: opts.cxFactor != null ? opts.cxFactor : 0.5,\n      cyFactor: opts.cyFactor != null ? opts.cyFactor : 0.5\n    };\n\n    var ZN = 1.15, ZF = 16;\n\n    function sizeCanvas() {\n      var w = host.clientWidth, h = host.clientHeight;\n      if (!w || !h) return;\n      canvas.width = Math.round(w * DPR);\n      canvas.height = Math.round(h * DPR);\n      canvas.style.width = w + 'px';\n      canvas.style.height = h + 'px';\n    }\n    window.addEventListener('resize', sizeCanvas);\n\n    var pulseZ = ZN;                 \/\/ a single soft light that sweeps along the road\n    var startT = performance.now();\n    var prevNow = startT;\n\n    function frame(now) {\n      var t = (now - startT) \/ 1000;\n      var dt = (now - prevNow) \/ 1000; prevNow = now;\n      if (dt > 0.05) dt = 0.05; if (dt < 0) dt = 0;\n\n      var W = canvas.width, H = canvas.height;\n      if (!W || !H) { sizeCanvas(); requestAnimationFrame(frame); return; }\n\n      var f = H * 0.95;\n      var cx = W * cfg.cxFactor;\n      var cy = H * cfg.cyFactor;\n      var tt = t * cfg.speed;\n      var HW = cfg.hw;\n\n      function groundY(X, Z) { return -1.0 + 0.10 * Math.sin(X * 0.5 + Z * 0.32 + tt) * cfg.amp; }\n      function projX(X, Z) { return cx + (X \/ Z) * f; }\n      function projY(X, Z) { return cy - (groundY(X, Z) \/ Z) * f; }\n\n      \/\/ advance the sweep\n      pulseZ += dt * cfg.speed * 3.0;\n      if (pulseZ > ZF) pulseZ = ZN + (pulseZ - ZF);\n      function sweep(Z) {\n        var d = pulseZ - Z;\n        return Math.exp(-(d * d) \/ (2 * 0.55 * 0.55));\n      }\n\n      ctx.clearRect(0, 0, W, H);\n\n      \/\/ soft green horizon glow\n      var glow = ctx.createRadialGradient(cx, cy, 0, cx, cy, H * 0.9);\n      glow.addColorStop(0, 'rgba(123,242,66,' + (0.13 * cfg.glow * cfg.bri).toFixed(3) + ')');\n      glow.addColorStop(0.4, 'rgba(123,242,66,' + (0.04 * cfg.glow * cfg.bri).toFixed(3) + ')');\n      glow.addColorStop(1, 'rgba(123,242,66,0)');\n      ctx.fillStyle = glow;\n      ctx.fillRect(0, 0, W, H);\n\n      ctx.lineCap = 'round';\n      ctx.lineJoin = 'round';\n\n      \/\/ rails (the two edges of the road), per-segment for depth fade\n      function rail(xOff) {\n        var steps = 72, prevX = null, prevY = null;\n        for (var s = 0; s <= steps; s++) {\n          var f01 = s \/ steps, Z = ZN + f01 * (ZF - ZN), near = 1 - f01;\n          var sx = projX(xOff, Z), sy = projY(xOff, Z);\n          if (prevX != null) {\n            ctx.beginPath(); ctx.moveTo(prevX, prevY); ctx.lineTo(sx, sy);\n            ctx.strokeStyle = 'rgba(123,242,66,' + ((0.13 + near * 0.55) * cfg.bri).toFixed(3) + ')';\n            ctx.lineWidth = (0.7 + near * 2.4) * DPR;\n            ctx.stroke();\n          }\n          prevX = sx; prevY = sy;\n        }\n      }\n      rail(-HW); rail(HW);\n\n      \/\/ a few quiet cross-ties; the soft light brightens the ones it rolls over\n      for (var ti = 1; ti < cfg.ties; ti++) {\n        var ft = ti \/ cfg.ties, Zt = ZN + ft * (ZF - ZN), nt = 1 - ft;\n        var lx = projX(-HW, Zt), ly = projY(-HW, Zt);\n        var rx = projX(HW, Zt), ry = projY(HW, Zt);\n        ctx.beginPath(); ctx.moveTo(lx, ly); ctx.lineTo(rx, ry);\n        ctx.strokeStyle = 'rgba(123,242,66,' + ((0.06 + nt * 0.34) * cfg.bri).toFixed(3) + ')';\n        ctx.lineWidth = (0.5 + nt * 1.2) * DPR;\n        ctx.stroke();\n        var gt = sweep(Zt);\n        if (gt > 0.04) {\n          ctx.globalCompositeOperation = 'lighter';\n          ctx.beginPath(); ctx.moveTo(lx, ly); ctx.lineTo(rx, ry);\n          ctx.strokeStyle = 'rgba(150,255,110,' + (gt * (0.18 + nt * 0.5) * cfg.bri).toFixed(3) + ')';\n          ctx.lineWidth = (0.6 + nt * 1.8) * DPR;\n          ctx.stroke();\n          ctx.globalCompositeOperation = 'source-over';\n        }\n      }\n\n      requestAnimationFrame(frame);\n    }\n\n    sizeCanvas();\n    frame(performance.now());   \/\/ paint an initial frame immediately, then loop via rAF\n\n    return { resize: sizeCanvas, cfg: cfg };\n  }\n\n  window.initAanpak = initAanpak;\n})();(function(){var canvas=document.querySelector('canvas.about-trails[data-trails=\"about\"]'); if(!canvas||!window.initAanpak) return;function isSection(el){return el&&(el.tagName==='SECTION'||\/et_pb_section|(^|[\\s_-])section([\\s_-]|$)\/i.test(el.className||''));}var sec=canvas.parentElement; while(sec.parentElement&&sec.parentElement.tagName!=='BODY'&&!isSection(sec))sec=sec.parentElement;sec.style.position='relative';sec.style.overflow='hidden';var scrim=document.querySelector('.ov-why-scrim');sec.insertBefore(canvas,sec.firstChild); if(scrim) sec.insertBefore(scrim,canvas.nextSibling);canvas.style.position='absolute';canvas.style.inset='0';canvas.style.zIndex='0';canvas.style.display='block';canvas.style.pointerEvents='none';if(scrim){scrim.style.position='absolute';scrim.style.inset='0';scrim.style.zIndex='1';scrim.style.pointerEvents='none';}Array.prototype.forEach.call(sec.children,function(c){if(c!==canvas&&c!==scrim){c.style.position='relative';if(!c.style.zIndex)c.style.zIndex='2';}});var inst=window.initAanpak(canvas,{host:sec,speed:0.7,amp:1.0,bri:0.95,glow:0.65,ties:16,cxFactor:0.5,cyFactor:0.52});if(window.ResizeObserver&&inst&&inst.resize){try{new ResizeObserver(inst.resize).observe(sec);}catch(e){}}})();<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_3 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_3 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_3 et_pb_code et_pb_module preset--module--divi-code--default\"><div class=\"et_pb_code_inner\"><style>\n.ov-team .tm-head{max-width:760px;margin:0 0 56px}\n.ov-team .eyebrow{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(33,32,37,.6);display:inline-block;margin-bottom:16px}\n.ov-team .tm-head h2{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(28px,3.8vw,48px);line-height:1.05;letter-spacing:-.025em;color:#212025;margin:0 0 20px;text-wrap:balance}\n.ov-team .tm-head p{font-family:Inter,sans-serif;font-size:clamp(16px,1.2vw,18px);line-height:1.55;color:#6e6d75;margin:0;max-width:640px}\n.ov-team .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start;padding-bottom:60px}\n.ov-team .team-grid .member:nth-child(2),.ov-team .team-grid .member:nth-child(4){transform:translateY(52px)}\n.ov-team .member{position:relative}\n.ov-team .member__photo{position:relative;aspect-ratio:4\/5;border-radius:16px;overflow:hidden;border:1px solid #36353c;background:#212025;isolation:isolate;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1)}\n.ov-team .member:hover .member__photo{transform:translateY(-6px);box-shadow:0 26px 52px rgba(33,32,37,.30),0 0 0 1px rgba(123,242,66,.55),0 0 44px rgba(123,242,66,.20)}\n.ov-team .photo-ph{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%,rgba(123,242,66,.16),transparent 60%),#212025;display:flex;align-items:center;justify-content:center}\n.ov-team .photo-ph::before{content:\"\";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:30px 30px}\n.ov-team .photo-ph__mono{position:relative;font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(34px,6vw,52px);letter-spacing:-.03em;color:#7bf242;text-shadow:0 0 36px rgba(123,242,66,.4)}\n.ov-team .member__tag{position:absolute;top:16px;right:16px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.32);transition:opacity .22s}\n.ov-team .member:hover .member__tag{opacity:0}\n.ov-team .member__info{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:26px 20px 20px;background:linear-gradient(180deg,transparent 0%,rgba(20,19,23,.55) 38%,rgba(20,19,23,.94) 100%)}\n.ov-team .member:hover .member__info{background:linear-gradient(180deg,rgba(20,19,23,.55) 0%,rgba(20,19,23,.92) 26%,rgba(20,19,23,.985) 48%,rgba(20,19,23,.995) 100%)}\n.ov-team .member__name{font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;letter-spacing:-.01em;color:#fff;margin:0}\n.ov-team .member__role{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7bf242;margin:8px 0 0}\n.ov-team .member__bio{font-family:Inter,sans-serif;font-size:13px;line-height:1.55;color:#b8b7bd;margin:0;max-height:0;opacity:0;overflow:hidden;text-wrap:pretty;transition:max-height .42s cubic-bezier(.22,1,.36,1),opacity .22s,margin .22s}\n.ov-team .member:hover .member__bio,.ov-team .member.is-open .member__bio{max-height:200px;opacity:1;margin-top:12px}\n.ov-team .member.is-open .member__tag{opacity:0}\n.ov-team .member.is-open .member__info{background:linear-gradient(180deg,rgba(20,19,23,.55) 0%,rgba(20,19,23,.92) 26%,rgba(20,19,23,.985) 48%,rgba(20,19,23,.995) 100%)}\n.ov-team .member__photo{cursor:pointer}\n@media(max-width:960px){.ov-team .team-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding-bottom:0}.ov-team .team-grid .member:nth-child(2),.ov-team .team-grid .member:nth-child(4){transform:none}.ov-team .team-grid .member:nth-child(even){transform:translateY(40px)}}\n@media(max-width:560px){.ov-team .team-grid{grid-template-columns:1fr}.ov-team .team-grid .member:nth-child(even){transform:none}}\n<\/style><div class=\"ov-team\"><div class=\"tm-head\"><span class=\"eyebrow\">THE TEAM<\/span><h2>The people who do it.<\/h2><p>Small team, senior make-up. Each one a consultant with a background in finance, operations, data or ERP.<\/p><\/div><div class=\"team-grid\"><article class=\"member\" style=\"--i: 1\"><div class=\"member__photo\"><div class=\"photo-ph\"><span class=\"photo-ph__mono\">ET<\/span><\/div><span class=\"member__tag\">PHOTO<\/span><div class=\"member__info\"><h3 class=\"member__name\">Edip Torun<\/h3><p class=\"member__role\">CEO &amp; Business Consultant<\/p><p class=\"member__bio\">Founder of Growyu. Former GL accountant and senior Dynamics 365 and BI consultant, today also building AI solutions on the Microsoft stack.<\/p><\/div><\/div><\/article><article class=\"member\" style=\"--i: 2\"><div class=\"member__photo\"><div class=\"photo-ph\"><span class=\"photo-ph__mono\">SW<\/span><\/div><span class=\"member__tag\">PHOTO<\/span><div class=\"member__info\"><h3 class=\"member__name\">Simon Wernsen<\/h3><p class=\"member__role\">Business Consultant<\/p><p class=\"member__bio\">ERP consultant on Dynamics 365 Business Central and F&amp;SCM, focused on process optimisation, configuration and testing.<\/p><\/div><\/div><\/article><article class=\"member\" style=\"--i: 3\"><div class=\"member__photo\"><div class=\"photo-ph\"><span class=\"photo-ph__mono\">SA<\/span><\/div><span class=\"member__tag\">PHOTO<\/span><div class=\"member__info\"><h3 class=\"member__name\">Samer<\/h3><p class=\"member__role\">Developer<\/p><p class=\"member__bio\">Builds websites, custom plugins and integrations \u2014 the technical engine of the team.<\/p><\/div><\/div><\/article><article class=\"member\" style=\"--i: 4\"><div class=\"member__photo\"><div class=\"photo-ph\"><span class=\"photo-ph__mono\">ES<\/span><\/div><span class=\"member__tag\">PHOTO<\/span><div class=\"member__info\"><h3 class=\"member__name\">Esra Torun<\/h3><p class=\"member__role\">Power BI Consultant<\/p><p class=\"member__bio\">Translates raw data into clear Power BI dashboards, so teams see what's going on in one place.<\/p><\/div><\/div><\/article><\/div><\/div><script>(function(){document.addEventListener('click',function(e){var m=e.target.closest&&e.target.closest('.ov-team .member'); if(!m) return;var wasOpen=m.classList.contains('is-open');var grid=m.closest('.team-grid'); var all=grid?grid.querySelectorAll('.member'):[m];for(var i=0;i<all.length;i++) all[i].classList.remove('is-open');if(!wasOpen) m.classList.add('is-open');});})();<\/script><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section\">\n<div class=\"et_pb_row_4 et_pb_row et_flex_row preset--module--divi-row--default\">\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_4 et_pb_code et_pb_module preset--module--divi-code--default\"><div class=\"et_pb_code_inner\"><style>\n.ov-partner .partner2{display:grid;grid-template-columns:1.1fr 0.9fr;gap:72px;align-items:center}\n.ov-partner .partner2__text{max-width:560px}\n.ov-partner .eyebrow{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(33,32,37,.6);display:inline-block;margin-bottom:16px}\n.ov-partner .partner2__title{font-family:Montserrat,sans-serif;font-weight:800;font-size:clamp(28px,3.8vw,48px);line-height:1.05;letter-spacing:-.025em;color:#212025;margin:0 0 22px;text-wrap:balance}\n.ov-partner .partner2__body{font-family:Inter,sans-serif;font-size:16.5px;line-height:1.72;color:#6e6d75;margin:0;text-wrap:pretty}\n.ov-partner .partner2__body strong{color:#212025;font-weight:600}\n.ov-partner .partner2__badge{margin:0;display:flex;justify-content:center}\n.ov-partner .partner2__badge img{width:100%;max-width:380px;height:auto;display:block;filter:drop-shadow(0 18px 50px rgba(36,99,235,.18))}\n@media(max-width:860px){.ov-partner .partner2{grid-template-columns:1fr;gap:40px}.ov-partner .partner2__text{max-width:none}}\n<\/style><div class=\"ov-partner\"><div class=\"partner2\"><div class=\"partner2__text\"><span class=\"eyebrow\">MICROSOFT PARTNER<\/span><h2 class=\"partner2__title\">Certified and recognised to pass it on.<\/h2><p class=\"partner2__body\">We work with the full Microsoft stack, from Dynamics 365 and Business Central to Power BI, Power Platform and Copilot. As a <strong>Microsoft Certified Trainer<\/strong> we're also officially recognised to pass that knowledge on to your team.<\/p><\/div><figure class=\"partner2__badge\"><img decoding=\"async\" src=\"https:\/\/growyu.nl\/wp-content\/uploads\/2026\/06\/microsoft-certified-trainer.png\" alt=\"Microsoft Certified Trainer\" loading=\"lazy\"><\/figure><\/div><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1285","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/pages\/1285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/comments?post=1285"}],"version-history":[{"count":4,"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/pages\/1285\/revisions"}],"predecessor-version":[{"id":1289,"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/pages\/1285\/revisions\/1289"}],"wp:attachment":[{"href":"https:\/\/growyu.nl\/en\/wp-json\/wp\/v2\/media?parent=1285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}