{"id":3278,"date":"2026-01-14T17:51:28","date_gmt":"2026-01-14T17:51:28","guid":{"rendered":"https:\/\/test.innovacore.group\/?post_type=portfolio&#038;p=3278"},"modified":"2026-01-15T11:50:14","modified_gmt":"2026-01-15T11:50:14","slug":"financial-studiio","status":"publish","type":"portfolio","link":"https:\/\/test.innovacore.group\/pl\/portfolio\/financial-studiio\/","title":{"rendered":"Financial Studio &#8211; Fueling Sports-Tech Ventures"},"content":{"rendered":"\n<p>Financial Studio offers comprehensive advisory services, specializing in top-of-the-balance-sheet fundraising. Standing at the intersection of Sports and Tech, they leverage exclusive connections to secure capital and build innovative ventures. By fostering ecosystem synergies, they guide clients through complex financial landscapes to achieve scalable growth, ensuring that visionary ideas are backed by the necessary resources to succeed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Expert fundraising and venture building at the crossroads of Sports and Tech.<\/p>\n","protected":false},"featured_media":2369,"parent":0,"template":"","meta":{"inline_featured_image":false,"company_name":"Financial Studio","summary":"<span class=\"ic-nycd\">Fueling<\/span> Sports-Tech Ventures","mission":"<p>To unlock unprecedented growth through ecosystem synergy. Financial Studio connects capital with innovation, empowering Sports and Tech ventures to secure the funding they need while fostering deep collaboration that drives industry-wide advancement.<\/p>\n","impact":"<p>Financial Studio acts as a catalyst for the Sports-Tech revolution. By providing specialized access to capital and strategic guidance, they enable niche innovations to scale rapidly, effectively maturing the market and creating a robust bridge between high-finance and athletic technology.<\/p>\n","company_logo":"https:\/\/test.innovacore.group\/wp-content\/uploads\/financial-studio-logo-core-innovacore-optimized-1.jpg","website_url":"https:\/\/www.financial-studio.com\/","linkedin_url":"https:\/\/www.linkedin.com\/company\/financialstudio\/","location":"London, UK","founded_year":"2021","key_numbers":{"item-0":{"metric_label":"+$ Capital Raised","metric_value":"40"},"item-1":{"metric_label":"% Tailored Advisory","metric_value":"100"},"item-2":{"metric_label":"Exclusive Network","metric_value":"1"}},"hiring_status":"stealth","sector":"other","company_type":"sme","audience":["b2b"],"geo_scope":["global"],"business_model":["services"],"funding_stage":"undisclosed","partnership_type":"other","logo_animation":"<div id=\"financial-particle-root\">\r\n    <canvas id=\"financialCanvas\"><\/canvas>\r\n<\/div>\r\n\r\n<style>\r\n    #financial-particle-root {\r\n        width: 100%;\r\n        height: 300px; \/* Hauteur fixe respect\u00e9e *\/\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        background: transparent; \/* Fond transparent *\/\r\n        overflow: hidden;\r\n        cursor: crosshair;\r\n    }\r\n<\/style>\r\n\r\n<script>\r\n(function() {\r\n    const canvas = document.getElementById('financialCanvas');\r\n    const ctx = canvas.getContext('2d', { willReadFrequently: true });\r\n    const root = document.getElementById('financial-particle-root');\r\n    \r\n    let width, height;\r\n    let particles = [];\r\n    let mouse = { x: -1000, y: -1000 };\r\n    const particleColor = '#f5f5f5'; \/\/ Gris clair demand\u00e9\r\n    let time = 0;\r\n\r\n    function init() {\r\n        width = root.offsetWidth;\r\n        height = 300;\r\n        \r\n        const dpr = window.devicePixelRatio || 1;\r\n        canvas.width = width * dpr;\r\n        canvas.height = height * dpr;\r\n        canvas.style.width = width + 'px';\r\n        canvas.style.height = height + 'px';\r\n        ctx.scale(dpr, dpr);\r\n\r\n        createLogoParticles();\r\n    }\r\n\r\n    function createLogoParticles() {\r\n        particles = [];\r\n        \r\n        \/\/ Configuration de la typographie pour respecter le logo \"Financial Studio\"\r\n        \/\/ On va dessiner sur deux lignes pour bien remplir l'espace 300px\r\n        \r\n        const isMobile = width < 600;\r\n        const fontSize = isMobile ? 50 : 80;\r\n        const lineHeight = fontSize * 1.1;\r\n        \r\n        ctx.textAlign = 'center';\r\n        ctx.textBaseline = 'middle';\r\n        ctx.fillStyle = 'white'; \/\/ Couleur de scan\r\n        \r\n        \/\/ Ligne 1 : \"Financial\" (souvent plus gras dans les logos)\r\n        ctx.font = `bold ${fontSize}px Arial, Helvetica, sans-serif`;\r\n        ctx.fillText('Financial', width \/ 2, height \/ 2 - lineHeight * 0.5);\r\n\r\n        \/\/ Ligne 2 : \"Studio\" (souvent plus fin)\r\n        ctx.font = `normal ${fontSize}px Arial, Helvetica, sans-serif`;\r\n        ctx.fillText('Studio', width \/ 2, height \/ 2 + lineHeight * 0.5);\r\n\r\n        \/\/ Scan des pixels\r\n        const density = 4;\r\n        const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;\r\n        const dataWidth = canvas.width; \r\n\r\n        for (let y = 0; y < canvas.height; y += density) {\r\n            for (let x = 0; x < canvas.width; x += density) {\r\n                if (imageData[(y * dataWidth + x) * 4 + 3] > 128) {\r\n                    const dpr = window.devicePixelRatio || 1;\r\n                    particles.push({\r\n                        x: x \/ dpr,\r\n                        y: y \/ dpr,\r\n                        originX: x \/ dpr,\r\n                        originY: y \/ dpr,\r\n                        vx: 0, \r\n                        vy: 0,\r\n                        size: Math.random() * 1.5 + 0.5,\r\n                        force: Math.random() \r\n                    });\r\n                }\r\n            }\r\n        }\r\n        \r\n        \/\/ Nettoyage\r\n        ctx.clearRect(0, 0, width, height);\r\n    }\r\n\r\n    function draw() {\r\n        ctx.clearRect(0, 0, width, height);\r\n        time += 0.05;\r\n\r\n        ctx.fillStyle = particleColor;\r\n        \r\n        particles.forEach(p => {\r\n            \/\/ 1. Respiration\r\n            const waveX = Math.sin(time * 0.5 + p.y * 0.05) * 2;\r\n            const waveY = Math.cos(time * 0.3 + p.x * 0.05) * 2;\r\n            \r\n            \/\/ 2. Interaction Souris\r\n            const dx = mouse.x - p.x;\r\n            const dy = mouse.y - p.y;\r\n            const dist = Math.sqrt(dx*dx + dy*dy);\r\n            const radius = 80;\r\n            \r\n            let repelX = 0;\r\n            let repelY = 0;\r\n\r\n            if (dist < radius) {\r\n                const force = (radius - dist) \/ radius;\r\n                const angle = Math.atan2(dy, dx);\r\n                repelX = -Math.cos(angle) * force * 20;\r\n                repelY = -Math.sin(angle) * force * 20;\r\n            }\r\n\r\n            \/\/ 3. Physique\r\n            const targetX = p.originX + waveX;\r\n            const targetY = p.originY + waveY;\r\n\r\n            const ax = (targetX - p.x) * 0.08;\r\n            const ay = (targetY - p.y) * 0.08;\r\n\r\n            p.vx += ax;\r\n            p.vy += ay;\r\n            p.vx += repelX * 0.5;\r\n            p.vy += repelY * 0.5;\r\n            p.vx *= 0.85; \r\n            p.vy *= 0.85;\r\n\r\n            p.x += p.vx;\r\n            p.y += p.vy;\r\n\r\n            ctx.beginPath();\r\n            ctx.arc(p.x, p.y, p.size, 0, Math.PI * 2);\r\n            ctx.fill();\r\n        });\r\n\r\n        requestAnimationFrame(draw);\r\n    }\r\n\r\n    const updateMouse = (e) => {\r\n        const r = canvas.getBoundingClientRect();\r\n        const cx = e.touches ? e.touches[0].clientX : e.clientX;\r\n        const cy = e.touches ? e.touches[0].clientY : e.clientY;\r\n        mouse.x = cx - r.left;\r\n        mouse.y = cy - r.top;\r\n    };\r\n\r\n    window.addEventListener('resize', init);\r\n    canvas.addEventListener('mousemove', updateMouse);\r\n    canvas.addEventListener('touchmove', updateMouse, {passive: true});\r\n    canvas.addEventListener('mouseleave', () => { mouse.x = -1000; mouse.y = -1000; });\r\n    canvas.addEventListener('touchend', () => { mouse.x = -1000; mouse.y = -1000; });\r\n\r\n    setTimeout(init, 50);\r\n    draw();\r\n})();\r\n<\/script>"},"pt":[],"pipeline":[33,61],"class_list":["post-3278","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","pipeline-core","pipeline-finance"],"_links":{"self":[{"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/portfolio\/3278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/types\/portfolio"}],"version-history":[{"count":1,"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/portfolio\/3278\/revisions"}],"predecessor-version":[{"id":3280,"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/portfolio\/3278\/revisions\/3280"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/media\/2369"}],"wp:attachment":[{"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/media?parent=3278"}],"wp:term":[{"taxonomy":"pt","embeddable":true,"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/pt?post=3278"},{"taxonomy":"pipeline","embeddable":true,"href":"https:\/\/test.innovacore.group\/pl\/wp-json\/wp\/v2\/pipeline?post=3278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}