{"id":1523,"date":"2022-06-22T10:25:07","date_gmt":"2022-06-22T08:25:07","guid":{"rendered":"https:\/\/www.wearestudio.eu\/inicio\/"},"modified":"2026-10-29T19:59:26","modified_gmt":"2026-10-29T18:59:26","slug":"inicio","status":"publish","type":"page","link":"https:\/\/www.wearestudio.eu\/es\/","title":{"rendered":"Inicio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1523\" class=\"elementor elementor-1523 elementor-111\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0a5ac1e e-con-boxed e-flex e-con e-parent\" data-id=\"0a5ac1e\" data-element_type=\"container\" data-e-type=\"container\" id=\"hero\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-926c7a0 e-grid e-con-full e-con e-child\" data-id=\"926c7a0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6c27d5 elementor-widget elementor-widget-heading\" data-id=\"f6c27d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\"><b>Hacemos Branding Intencional.<\/b> Acompa\u00f1amos a fundadores y l\u00edderes para dar vida a las ideas que les mueven y con las que quieren generar un impacto positivo en el mundo. Exploramos el prop\u00f3sito que hay detr\u00e1s de cada proyecto y combinamos estrategia, intuici\u00f3n y dise\u00f1o para convertir ese prop\u00f3sito en una marca que tambi\u00e9n tenga significado para los dem\u00e1s.<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96977b1 elementor-widget elementor-widget-heading\" data-id=\"96977b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Somos<br>el reflejo de<br>tu verdad.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-89f9a5c e-grid e-con-full e-con e-child\" data-id=\"89f9a5c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9a9372d elementor-nav-menu--dropdown-none elementor-hidden-mobile ws-menu-hero elementor-nav-menu__align-start elementor-widget elementor-widget-nav-menu\" data-id=\"9a9372d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;horizontal&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-caret-down\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;}}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-9a9372d\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1545\"><a href=\"https:\/\/www.wearestudio.eu\/es\/que-hacemos\/\" class=\"elementor-item\">Qu\u00e9 hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1546\"><a href=\"https:\/\/www.wearestudio.eu\/es\/como-lo-hacemos\/\" class=\"elementor-item\">C\u00f3mo lo hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1547\"><a href=\"https:\/\/www.wearestudio.eu\/es\/acerca-de\/\" class=\"elementor-item\">Acerca de<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-9a9372d\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1545\"><a href=\"https:\/\/www.wearestudio.eu\/es\/que-hacemos\/\" class=\"elementor-item\" tabindex=\"-1\">Qu\u00e9 hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1546\"><a href=\"https:\/\/www.wearestudio.eu\/es\/como-lo-hacemos\/\" class=\"elementor-item\" tabindex=\"-1\">C\u00f3mo lo hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1547\"><a href=\"https:\/\/www.wearestudio.eu\/es\/acerca-de\/\" class=\"elementor-item\" tabindex=\"-1\">Acerca de<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51dff2a elementor-nav-menu--dropdown-none elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-nav-menu\" data-id=\"51dff2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;vertical&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-caret-down\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;}}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-vertical e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-51dff2a\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1545\"><a href=\"https:\/\/www.wearestudio.eu\/es\/que-hacemos\/\" class=\"elementor-item\">Qu\u00e9 hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1546\"><a href=\"https:\/\/www.wearestudio.eu\/es\/como-lo-hacemos\/\" class=\"elementor-item\">C\u00f3mo lo hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1547\"><a href=\"https:\/\/www.wearestudio.eu\/es\/acerca-de\/\" class=\"elementor-item\">Acerca de<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-51dff2a\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1545\"><a href=\"https:\/\/www.wearestudio.eu\/es\/que-hacemos\/\" class=\"elementor-item\" tabindex=\"-1\">Qu\u00e9 hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1546\"><a href=\"https:\/\/www.wearestudio.eu\/es\/como-lo-hacemos\/\" class=\"elementor-item\" tabindex=\"-1\">C\u00f3mo lo hacemos<\/a><\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1547\"><a href=\"https:\/\/www.wearestudio.eu\/es\/acerca-de\/\" class=\"elementor-item\" tabindex=\"-1\">Acerca de<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7fe5126 elementor-widget elementor-widget-html\" data-id=\"7fe5126\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    \/* 1. EL HERO CONTIENE EL CANVAS *\/\n    #hero {\n        position: relative !important;\n        overflow: hidden !important;\n    }\n\n    \/* 2. CANVAS DEL DEGRADADO, DETR\u00c1S DE TODO EL CONTENIDO *\/\n    .canvas-hero-background {\n        position: absolute !important;\n        top: 0 !important;\n        left: 0 !important;\n        width: 100% !important;\n        height: 100% !important;\n        pointer-events: none !important;\n        z-index: 0 !important;\n    }\n\n    \/* 3. CONTENIDO ENCIMA DEL CANVAS (posicionado y despu\u00e9s del canvas en el DOM) *\/\n    #hero > .e-con-inner,\n    #hero > .elementor-widget-wrap,\n    #hero > *:not(.canvas-hero-background) {\n        position: relative;\n    }\n\n    \/* 4. TITULAR N\u00cdTIDO Y CASI BLANCO: el color difuminado del degradado se ve a trav\u00e9s de las letras *\/\n    #hero h1 {\n        color: rgba(255, 255, 255, 0.62) !important;\n    }\n<\/style>\n\n<script>\n    (function () {\n        \/\/ Ajustes del efecto (campo de ruido de color tipo contemporarytype.com, colores del dise\u00f1o)\n        const CONFIG = {\n            \/\/ Rampa de color: del fondo crema del Kit al cian, violeta y magenta del dise\u00f1o\n            colors: [\n                [255, 255, 248],  \/\/ Crema (fondo de la p\u00e1gina)\n                [120, 209, 234],  \/\/ Cian\n                [168, 140, 240],  \/\/ Violeta\n                [236, 126, 232]   \/\/ Magenta\n            ],\n            noiseScale: 1.5,      \/\/ Tama\u00f1o de las manchas (m\u00e1s alto = m\u00e1s peque\u00f1as)\n            speed: 0.00006,       \/\/ Velocidad del flujo en reposo\n            speedMoved: 0.00022,  \/\/ Velocidad del flujo mientras se mueve el rat\u00f3n\n            speedEase: 0.04,      \/\/ Suavidad del cambio de velocidad\n            grain: 0.06,          \/\/ Grano de pel\u00edcula\n            vignette: 0.75,       \/\/ Cu\u00e1nto se apaga el color hacia los bordes\n            vignetteCenter: [0.3, 0.5], \/\/ Centro del color en reposo (fracci\u00f3n del hero)\n            vignetteFollow: 0.4,  \/\/ Cu\u00e1nto se desplaza el centro hacia el cursor (0 a 1)\n            vignetteEase: 0.03,   \/\/ Suavidad de ese desplazamiento\n            bottomFade: 0.22,     \/\/ Franja inferior que se funde con la crema (fracci\u00f3n del alto): sin corte con la secci\u00f3n siguiente\n            titleBoost: 0.45,     \/\/ Color m\u00ednimo bajo el titular: las letras blancas siempre se leen\n            light: 0.35,          \/\/ Luz alrededor del cursor\n            lightRadius: 0.35,    \/\/ Radio de la luz (fracci\u00f3n del lado mayor del hero)\n            scale: 0.5,           \/\/ Resoluci\u00f3n del canvas en escritorio\n            scaleMobile: 0.35,    \/\/ Resoluci\u00f3n del canvas en m\u00f3vil\n            mobileFps: 30         \/\/ Fotogramas por segundo en m\u00f3vil\n        };\n\n        const VERTEX = 'attribute vec2 p;void main(){gl_Position=vec4(p,0.0,1.0);}';\n\n        const FRAGMENT = [\n            '#ifdef GL_FRAGMENT_PRECISION_HIGH',\n            'precision highp float;',\n            '#else',\n            'precision mediump float;',\n            '#endif',\n            'uniform vec2 u_res;',\n            'uniform float u_time;',\n            'uniform vec2 u_mouse;',\n            'uniform float u_light;',\n            'uniform vec2 u_vig;',\n            'uniform vec3 u_c0;',\n            'uniform vec3 u_c1;',\n            'uniform vec3 u_c2;',\n            'uniform vec3 u_c3;',\n            'uniform float u_noise;',\n            'uniform float u_grain;',\n            'uniform float u_vigAmt;',\n            'uniform float u_radius;',\n            'uniform float u_fade;',\n            'uniform vec4 u_box;',\n            'uniform float u_boost;',\n            \/\/ Ruido de gradiente 3D\n            'vec3 hash3(vec3 p){',\n            '  p=vec3(dot(p,vec3(127.1,311.7,74.7)),dot(p,vec3(269.5,183.3,246.1)),dot(p,vec3(113.5,271.9,124.6)));',\n            '  return -1.0+2.0*fract(sin(p)*43758.5453);',\n            '}',\n            'float noise(vec3 p){',\n            '  vec3 i=floor(p);vec3 f=fract(p);vec3 u=f*f*(3.0-2.0*f);',\n            '  return mix(mix(mix(dot(hash3(i),f),dot(hash3(i+vec3(1,0,0)),f-vec3(1,0,0)),u.x),',\n            '                 mix(dot(hash3(i+vec3(0,1,0)),f-vec3(0,1,0)),dot(hash3(i+vec3(1,1,0)),f-vec3(1,1,0)),u.x),u.y),',\n            '             mix(mix(dot(hash3(i+vec3(0,0,1)),f-vec3(0,0,1)),dot(hash3(i+vec3(1,0,1)),f-vec3(1,0,1)),u.x),',\n            '                 mix(dot(hash3(i+vec3(0,1,1)),f-vec3(0,1,1)),dot(hash3(i+vec3(1,1,1)),f-vec3(1,1,1)),u.x),u.y),u.z);',\n            '}',\n            'float rand(vec2 p){return fract(sin(dot(p,vec2(12.9898,78.233)))*43758.5453);}',\n            'void main(){',\n            '  vec2 uv=gl_FragCoord.xy\/u_res;',\n            '  float aspect=u_res.x\/u_res.y;',\n            '  vec2 q=vec2(uv.x*aspect,uv.y);',\n            '  float n=noise(vec3(q*u_noise,u_time))*1.4+0.62;',\n            '  float g=(rand(gl_FragCoord.xy+fract(u_time*37.0)*91.0)-0.5)*u_grain;',\n            '  float d=distance(gl_FragCoord.xy,u_mouse)\/(max(u_res.x,u_res.y)*u_radius);',\n            '  float l=u_light*pow(max(0.0,1.0-d),2.0);',\n            '  float v=distance(q,vec2(u_vig.x*aspect,u_vig.y))*u_vigAmt;',\n            '  float b=1.0-smoothstep(0.0,u_fade,uv.y);',\n            '  vec2 e=(gl_FragCoord.xy-u_box.xy)\/u_box.zw;',\n            '  float k=u_boost*(1.0-smoothstep(0.6,1.0,length(e)));',\n            '  float t=clamp(max(n+g+l-v,k+g)-b*1.2,0.0,1.0)*3.0;',\n            '  vec3 c=t<1.0?mix(u_c0,u_c1,t):(t<2.0?mix(u_c1,u_c2,t-1.0):mix(u_c2,u_c3,t-2.0));',\n            '  gl_FragColor=vec4(c,1.0);',\n            '}'\n        ].join('\\n');\n\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initHeroBackground);\n        } else {\n            initHeroBackground();\n        }\n\n        function initHeroBackground() {\n            const hero = document.getElementById('hero');\n            if (!hero || hero.querySelector('.canvas-hero-background')) return;\n\n            const canvas = document.createElement('canvas');\n            canvas.className = 'canvas-hero-background';\n            canvas.setAttribute('aria-hidden', 'true');\n            hero.insertBefore(canvas, hero.firstChild);\n\n            const gl = canvas.getContext('webgl', { antialias: false, alpha: false, preserveDrawingBuffer: false });\n            const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n            const mobile = window.matchMedia('(max-width: 767px), (hover: none)').matches;\n            const scale = mobile ? CONFIG.scaleMobile : CONFIG.scale;\n\n            \/\/ Sin WebGL: degradado fijo con los mismos colores\n            const program = gl && buildProgram(gl, VERTEX, FRAGMENT);\n            if (!program) {\n                drawFallback(canvas, hero, scale);\n                return;\n            }\n            gl.useProgram(program);\n\n            const buffer = gl.createBuffer();\n            gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n            gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 3, -1, -1, 3]), gl.STATIC_DRAW);\n            const attr = gl.getAttribLocation(program, 'p');\n            gl.enableVertexAttribArray(attr);\n            gl.vertexAttribPointer(attr, 2, gl.FLOAT, false, 0, 0);\n\n            const u = {};\n            ['u_res', 'u_time', 'u_mouse', 'u_light', 'u_vig', 'u_c0', 'u_c1', 'u_c2', 'u_c3',\n                'u_noise', 'u_grain', 'u_vigAmt', 'u_radius', 'u_fade', 'u_box', 'u_boost'].forEach(function (name) {\n                u[name] = gl.getUniformLocation(program, name);\n            });\n            CONFIG.colors.forEach(function (c, i) {\n                gl.uniform3f(u['u_c' + i], c[0] \/ 255, c[1] \/ 255, c[2] \/ 255);\n            });\n            gl.uniform1f(u.u_noise, CONFIG.noiseScale);\n            gl.uniform1f(u.u_grain, CONFIG.grain);\n            gl.uniform1f(u.u_vigAmt, CONFIG.vignette);\n            gl.uniform1f(u.u_radius, CONFIG.lightRadius);\n            gl.uniform1f(u.u_fade, CONFIG.bottomFade);\n            gl.uniform1f(u.u_boost, CONFIG.titleBoost);\n\n            let w = 0, h = 0, time = Math.random() * 50, speed = CONFIG.speed;\n            let lastMove = 0, visible = true, raf = 0, last = 0;\n            let mouse = null, light = 0;\n            const vig = CONFIG.vignetteCenter.slice();\n            const pos = [0.5, 0.5]; \/\/ Cursor en fracciones del hero, con suavizado\n            const title = hero.querySelector('h1');\n\n            function resize() {\n                w = Math.max(1, Math.round(hero.clientWidth * scale));\n                h = Math.max(1, Math.round(hero.clientHeight * scale));\n                canvas.width = w;\n                canvas.height = h;\n                gl.viewport(0, 0, w, h);\n                gl.uniform2f(u.u_res, w, h);\n\n                \/\/ Elipse que envuelve el titular, en p\u00edxeles del canvas (origen abajo a la izquierda)\n                let box = [0, 0, 1, 1];\n                if (title) {\n                    const t = title.getBoundingClientRect(), r = hero.getBoundingClientRect();\n                    box = [\n                        (t.left - r.left + t.width \/ 2) * scale,\n                        (r.bottom - t.bottom + t.height \/ 2) * scale,\n                        Math.max(1, t.width * 0.75 * scale),\n                        Math.max(1, t.height * 0.95 * scale)\n                    ];\n                }\n                gl.uniform4f(u.u_box, box[0], box[1], box[2], box[3]);\n            }\n\n            function draw() {\n                \/\/ El centro del color se desplaza poco a poco hacia el cursor\n                const base = CONFIG.vignetteCenter;\n                const target = mouse\n                    ? [base[0] + (mouse[0] - base[0]) * CONFIG.vignetteFollow, base[1] + (mouse[1] - base[1]) * CONFIG.vignetteFollow]\n                    : base;\n                vig[0] += (target[0] - vig[0]) * CONFIG.vignetteEase;\n                vig[1] += (target[1] - vig[1]) * CONFIG.vignetteEase;\n                if (mouse) {\n                    pos[0] += (mouse[0] - pos[0]) * 0.12;\n                    pos[1] += (mouse[1] - pos[1]) * 0.12;\n                }\n                light += ((mouse ? CONFIG.light : 0) - light) * 0.05;\n\n                gl.uniform1f(u.u_time, time);\n                gl.uniform2f(u.u_vig, vig[0], 1 - vig[1]);\n                gl.uniform2f(u.u_mouse, pos[0] * w, (1 - pos[1]) * h);\n                gl.uniform1f(u.u_light, light);\n                gl.drawArrays(gl.TRIANGLES, 0, 3);\n            }\n\n            function frame(now) {\n                raf = 0;\n                if (!visible || document.hidden) return;\n                if (mobile && last && now - last < 1000 \/ CONFIG.mobileFps) {\n                    raf = requestAnimationFrame(frame);\n                    return;\n                }\n                const dt = last ? Math.min(now - last, 64) : 16;\n                last = now;\n\n                \/\/ Al mover el rat\u00f3n el flujo se acelera y vuelve poco a poco a su ritmo\n                const target = now - lastMove < 300 ? CONFIG.speedMoved : CONFIG.speed;\n                speed += (target - speed) * CONFIG.speedEase;\n                time += speed * dt;\n\n                draw();\n                raf = requestAnimationFrame(frame);\n            }\n\n            function start() {\n                if (reduced) {\n                    draw();\n                    return;\n                }\n                if (!raf) {\n                    last = 0;\n                    raf = requestAnimationFrame(frame);\n                }\n            }\n\n            hero.addEventListener('pointermove', function (e) {\n                if (e.pointerType !== 'mouse') return;\n                const rect = hero.getBoundingClientRect();\n                mouse = [(e.clientX - rect.left) \/ rect.width, (e.clientY - rect.top) \/ rect.height];\n                lastMove = performance.now();\n            });\n            hero.addEventListener('pointerleave', function () {\n                mouse = null;\n            });\n\n            \/\/ Pausa fuera del viewport y con la pesta\u00f1a oculta\n            new IntersectionObserver(function (entries) {\n                visible = entries[0].isIntersecting;\n                if (visible) start();\n            }).observe(hero);\n            document.addEventListener('visibilitychange', function () {\n                if (!document.hidden) start();\n            });\n            window.addEventListener('resize', function () {\n                resize();\n                draw();\n            });\n\n            if (document.fonts) document.fonts.ready.then(function () { resize(); draw(); });\n            resize();\n            draw();\n            start();\n        }\n\n        function buildProgram(gl, vs, fs) {\n            function compile(type, src) {\n                const s = gl.createShader(type);\n                gl.shaderSource(s, src);\n                gl.compileShader(s);\n                return gl.getShaderParameter(s, gl.COMPILE_STATUS) ? s : null;\n            }\n            const v = compile(gl.VERTEX_SHADER, vs), f = compile(gl.FRAGMENT_SHADER, fs);\n            if (!v || !f) return null;\n            const p = gl.createProgram();\n            gl.attachShader(p, v);\n            gl.attachShader(p, f);\n            gl.linkProgram(p);\n            return gl.getProgramParameter(p, gl.LINK_STATUS) ? p : null;\n        }\n\n        function drawFallback(canvas, hero, scale) {\n            const ctx = canvas.getContext('2d');\n            if (!ctx) return;\n            const w = canvas.width = Math.max(1, Math.round(hero.clientWidth * scale));\n            const h = canvas.height = Math.max(1, Math.round(hero.clientHeight * scale));\n            const c = CONFIG.colors;\n            const cx = CONFIG.vignetteCenter[0] * w, cy = CONFIG.vignetteCenter[1] * h, r = Math.max(w, h) * 0.6;\n            ctx.fillStyle = 'rgb(' + c[0].join(',') + ')';\n            ctx.fillRect(0, 0, w, h);\n            const g = ctx.createRadialGradient(cx, cy, 0, cx, cy, r);\n            g.addColorStop(0, 'rgb(' + c[2].join(',') + ')');\n            g.addColorStop(0.35, 'rgb(' + c[1].join(',') + ')');\n            g.addColorStop(1, 'rgba(' + c[0].join(',') + ', 0)');\n            ctx.fillStyle = g;\n            ctx.fillRect(0, 0, w, h);\n        }\n    })();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-252dfc8 e-con-boxed e-flex e-con e-parent\" data-id=\"252dfc8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c44425a elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"c44425a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_skin&quot;:&quot;post&quot;,&quot;template_id&quot;:1827,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:20,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:20,&quot;sizes&quot;:[]},&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-1827\">.elementor-1827 .elementor-element.elementor-element-02b312b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1827 .elementor-element.elementor-element-5497e01 img{width:100%;height:min(32.14vw, 486px);object-fit:cover;object-position:center center;}.elementor-1827 .elementor-element.elementor-element-6acf0d2 img{width:100%;height:min(32.14vw, 486px);object-fit:cover;object-position:center center;}.elementor-1827 .elementor-element.elementor-element-6acf0d2{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;top:0px;}body:not(.rtl) .elementor-1827 .elementor-element.elementor-element-6acf0d2{left:0px;}body.rtl .elementor-1827 .elementor-element.elementor-element-6acf0d2{right:0px;}.elementor-1827 .elementor-element.elementor-element-9128fac{--display:flex;--min-height:100%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:22px;--padding-left:23px;--padding-right:22px;--position:absolute;top:0px;}body:not(.rtl) .elementor-1827 .elementor-element.elementor-element-9128fac{left:0px;}body.rtl .elementor-1827 .elementor-element.elementor-element-9128fac{right:0px;}.elementor-1827 .elementor-element.elementor-element-970acbc .elementor-heading-title{font-family:var( --e-global-typography-c154000-font-family ), Sans-serif;font-size:var( --e-global-typography-c154000-font-size );font-weight:var( --e-global-typography-c154000-font-weight );font-style:var( --e-global-typography-c154000-font-style );line-height:var( --e-global-typography-c154000-line-height );letter-spacing:var( --e-global-typography-c154000-letter-spacing );word-spacing:var( --e-global-typography-c154000-word-spacing );color:var( --e-global-color-1c65502 );}.elementor-1827 .elementor-element.elementor-element-023f88d .elementor-heading-title{font-family:var( --e-global-typography-c602000-font-family ), Sans-serif;font-size:var( --e-global-typography-c602000-font-size );font-weight:var( --e-global-typography-c602000-font-weight );line-height:var( --e-global-typography-c602000-line-height );letter-spacing:var( --e-global-typography-c602000-letter-spacing );word-spacing:var( --e-global-typography-c602000-word-spacing );color:var( --e-global-color-1c65502 );}.elementor-1827 .elementor-element.elementor-element-aaa0c49{text-align:end;width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;bottom:40px;}.elementor-1827 .elementor-element.elementor-element-aaa0c49 .elementor-heading-title{font-family:var( --e-global-typography-c125400-font-family ), Sans-serif;font-size:var( --e-global-typography-c125400-font-size );font-weight:var( --e-global-typography-c125400-font-weight );line-height:var( --e-global-typography-c125400-line-height );letter-spacing:var( --e-global-typography-c125400-letter-spacing );word-spacing:var( --e-global-typography-c125400-word-spacing );color:var( --e-global-color-1c65502 );}body:not(.rtl) .elementor-1827 .elementor-element.elementor-element-aaa0c49{right:22px;}body.rtl .elementor-1827 .elementor-element.elementor-element-aaa0c49{left:22px;}@media(min-width:768px){.elementor-1827 .elementor-element.elementor-element-9128fac{--width:100%;}}@media(max-width:1024px){.elementor-1827 .elementor-element.elementor-element-5497e01 img{height:calc((100vw - 60px) \/ 2 * 1.018);}.elementor-1827 .elementor-element.elementor-element-6acf0d2 img{height:calc((100vw - 60px) \/ 2 * 1.018);}.elementor-1827 .elementor-element.elementor-element-970acbc .elementor-heading-title{font-size:var( --e-global-typography-c154000-font-size );line-height:var( --e-global-typography-c154000-line-height );letter-spacing:var( --e-global-typography-c154000-letter-spacing );word-spacing:var( --e-global-typography-c154000-word-spacing );}.elementor-1827 .elementor-element.elementor-element-023f88d .elementor-heading-title{font-size:var( --e-global-typography-c602000-font-size );line-height:var( --e-global-typography-c602000-line-height );letter-spacing:var( --e-global-typography-c602000-letter-spacing );word-spacing:var( --e-global-typography-c602000-word-spacing );}.elementor-1827 .elementor-element.elementor-element-aaa0c49 .elementor-heading-title{font-size:var( --e-global-typography-c125400-font-size );line-height:var( --e-global-typography-c125400-line-height );letter-spacing:var( --e-global-typography-c125400-letter-spacing );word-spacing:var( --e-global-typography-c125400-word-spacing );}}@media(max-width:767px){.elementor-1827 .elementor-element.elementor-element-5497e01 img{height:calc((100vw - 40px) * 1.018);}.elementor-1827 .elementor-element.elementor-element-6acf0d2 img{height:calc((100vw - 40px) * 1.018);}.elementor-1827 .elementor-element.elementor-element-970acbc .elementor-heading-title{font-size:var( --e-global-typography-c154000-font-size );line-height:var( --e-global-typography-c154000-line-height );letter-spacing:var( --e-global-typography-c154000-letter-spacing );word-spacing:var( --e-global-typography-c154000-word-spacing );}.elementor-1827 .elementor-element.elementor-element-023f88d .elementor-heading-title{font-size:var( --e-global-typography-c602000-font-size );line-height:var( --e-global-typography-c602000-line-height );letter-spacing:var( --e-global-typography-c602000-letter-spacing );word-spacing:var( --e-global-typography-c602000-word-spacing );}.elementor-1827 .elementor-element.elementor-element-aaa0c49 .elementor-heading-title{font-size:var( --e-global-typography-c125400-font-size );line-height:var( --e-global-typography-c125400-line-height );letter-spacing:var( --e-global-typography-c125400-letter-spacing );word-spacing:var( --e-global-typography-c125400-word-spacing );}}<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"1827\" class=\"elementor elementor-1827 e-loop-item e-loop-item-1815 post-1815 project type-project status-publish has-post-thumbnail hentry\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<a class=\"elementor-element elementor-element-02b312b e-con-full ws-card e-flex e-con e-parent\" data-id=\"02b312b\" data-element_type=\"container\" data-e-type=\"container\" href=\"https:\/\/www.wearestudio.eu\/es\/proyectos\/miut\/\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5497e01 elementor-widget elementor-widget-image\" data-id=\"5497e01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-768x1024.webp\" class=\"attachment-large size-large wp-image-1853\" alt=\"Bodeg\u00f3n de Miut con panal de miel, jarra roja y caja de regalo\" srcset=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-768x1024.webp 768w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-225x300.webp 225w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-180x240.webp 180w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-360x480.webp 360w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel-640x853.webp 640w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-bodegon-miel.webp 960w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6acf0d2 elementor-absolute elementor-widget__width-initial ws-card__hover elementor-widget elementor-widget-image\" data-id=\"6acf0d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-768x1024.webp\" class=\"attachment-large size-large wp-image-1850\" alt=\"S\u00edmbolo de sol amarillo de Miut\" srcset=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-768x1024.webp 768w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-225x300.webp 225w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-180x240.webp 180w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-360x480.webp 360w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol-640x853.webp 640w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/10\/ws-miut-sol.webp 960w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9128fac e-con-full ws-card__info e-flex e-con e-child\" data-id=\"9128fac\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-970acbc elementor-widget elementor-widget-heading\" data-id=\"970acbc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">We are<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-023f88d elementor-widget elementor-widget-heading\" data-id=\"023f88d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Miut<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aaa0c49 elementor-absolute elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"aaa0c49\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Productos y experiencias de bienestar<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9c332be e-grid e-con-boxed e-con e-parent\" data-id=\"9c332be\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52528aa elementor-widget elementor-widget-heading\" data-id=\"52528aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\"><a href=\"\/es\/que-hacemos\/\"><b>+ proyectos<\/b><\/a><\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb5c264 elementor-widget elementor-widget-heading\" data-id=\"eb5c264\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\"><i>La parte m\u00e1s importante de lo que hacemos es c\u00f3mo lo hacemos:<\/i> Hemos dise\u00f1ado nuestra propia metodolog\u00eda, adoptando un enfoque diferente para el proceso de branding: uno m\u00e1s profundo, m\u00e1s conectado y, sobre todo, m\u00e1s intencional. Co-creamos desde el coraz\u00f3n de nuestros clientes para descubrir el coraz\u00f3n de su marca y conectar con el coraz\u00f3n de las personas.<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c3b26e e-con-full e-flex e-con e-child\" data-id=\"3c3b26e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b37275d elementor-widget elementor-widget-heading\" data-id=\"b37275d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Servicios<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6eb1f56 elementor-nav-menu--dropdown-none home-services-menu elementor-widget elementor-widget-nav-menu\" data-id=\"6eb1f56\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"animated-menu\" data-settings=\"{&quot;layout&quot;:&quot;vertical&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-caret-down\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;}}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-vertical e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-6eb1f56\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1553\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Branding intencional<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1554\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Estrategia de marca<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1555\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Identidad visual y direcci\u00f3n de arte<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1556\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Comunicaci\u00f3n<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1557\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Packaging<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1558\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\">Dise\u00f1o web<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-6eb1f56\" class=\"elementor-nav-menu sm-vertical\"><li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1553\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Branding intencional<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1554\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Estrategia de marca<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1555\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Identidad visual y direcci\u00f3n de arte<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1556\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Comunicaci\u00f3n<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1557\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Packaging<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1558\"><a href=\"\/es\/como-lo-hacemos\/#servicios\" class=\"elementor-item elementor-item-anchor\" tabindex=\"-1\">Dise\u00f1o web<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9c018c elementor-widget elementor-widget-html\" data-id=\"c9c018c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n    \/* 1. EL WIDGET DEL MEN\u00da CONTIENE EL CANVAS *\/\n    #animated-menu {\n        position: relative !important;\n    }\n\n    \/* 2. CANVAS: desde el borde izquierdo del contenedor del widget hasta pasado el inicio del men\u00fa (posici\u00f3n en JS) *\/\n    .canvas-menu-background {\n        position: absolute !important;\n        pointer-events: none !important;\n        z-index: 0 !important;\n    }\n\n    \/* 3. ENLACES DEL MEN\u00da POR ENCIMA DEL CANVAS *\/\n    #animated-menu > .elementor-widget-container,\n    #animated-menu > *:not(.canvas-menu-background) {\n        position: relative;\n        z-index: 1;\n    }\n<\/style>\n\n<script>\n    (function () {\n        \/\/ Ajustes del efecto (dise\u00f1o: mancha azul cortada por el borde del contenedor y mancha verde junto al servicio)\n        const CONFIG = {\n            \/\/ [r, g, b, x, radio horizontal, radio vertical, opacidad]; x en px desde el borde izquierdo del contenedor\n            edge: [85, 95, 255, -35, 85, 100, 1],    \/\/ Azul \/ violeta, centrada fuera del contenedor\n            mint: [160, 252, 215, 45, 110, 75, 1],   \/\/ Verde menta, entre el borde y el texto\n            pad: 140,          \/\/ P\u00edxeles por encima y por debajo del men\u00fa (evita recortes)\n            followSpeed: 0.14  \/\/ Velocidad con la que la zona pasa de un servicio a otro\n        };\n\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', initMenuBackground);\n        } else {\n            initMenuBackground();\n        }\n\n        function initMenuBackground() {\n            const menu = document.getElementById('animated-menu');\n            if (!menu || menu.querySelector('.canvas-menu-background')) return;\n\n            const canvas = document.createElement('canvas');\n            canvas.className = 'canvas-menu-background';\n            canvas.setAttribute('aria-hidden', 'true');\n            menu.insertBefore(canvas, menu.firstChild);\n            const ctx = canvas.getContext('2d');\n\n            const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n            const items = menu.querySelectorAll('.elementor-nav-menu--main .menu-item > a');\n            let left = 0, width = 0, height = 0, dpr = 1, raf = 0;\n            let y = 0, ty = 0;   \/\/ Centro vertical de la zona, relativo al canvas\n            let current = items[0] || null;\n\n            \/\/ Contenedor de Elementor en el que est\u00e1 el widget: su borde izquierdo corta la mancha azul\n            const box = menu.parentElement.closest('.e-con, .elementor-column') || menu.parentElement;\n\n            \/\/ El canvas empieza en el borde izquierdo del contenedor; lo que queda fuera no se pinta\n            function resize() {\n                const rect = menu.getBoundingClientRect();\n                left = rect.left - box.getBoundingClientRect().left;\n                width = Math.ceil(left + CONFIG.mint[3] + CONFIG.mint[4] + 20);\n                height = Math.ceil(menu.clientHeight + CONFIG.pad * 2);\n                dpr = Math.min(window.devicePixelRatio || 1, 2);\n                canvas.style.left = -left + 'px';\n                canvas.style.top = -CONFIG.pad + 'px';\n                canvas.style.width = width + 'px';\n                canvas.style.height = height + 'px';\n                canvas.width = Math.round(width * dpr);\n                canvas.height = Math.round(height * dpr);\n                if (current) y = ty = centerOf(current);\n                draw();\n            }\n\n            function centerOf(item) {\n                const r = item.getBoundingClientRect();\n                const m = menu.getBoundingClientRect();\n                return r.top - m.top + r.height \/ 2 + CONFIG.pad;\n            }\n\n            function blob(b, cy) {\n                const c = b.slice(0, 3).join(', ');\n                ctx.save();\n                ctx.translate(b[3], cy);\n                ctx.scale(1, b[5] \/ b[4]);\n                const g = ctx.createRadialGradient(0, 0, 0, 0, 0, b[4]);\n                g.addColorStop(0, 'rgba(' + c + ', ' + b[6] + ')');\n                g.addColorStop(0.4, 'rgba(' + c + ', ' + (b[6] * 0.6) + ')');\n                g.addColorStop(1, 'rgba(' + c + ', 0)');\n                ctx.fillStyle = g;\n                ctx.fillRect(-b[4], -b[4], b[4] * 2, b[4] * 2);\n                ctx.restore();\n            }\n\n            function draw() {\n                ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n                ctx.clearRect(0, 0, width, height);\n                if (!current) return;\n                blob(CONFIG.mint, y);\n                blob(CONFIG.edge, y);\n            }\n\n            \/\/ Solo se anima mientras la zona se desplaza; despu\u00e9s se queda quieta sin gastar recursos\n            function frame() {\n                raf = 0;\n                y += (ty - y) * CONFIG.followSpeed;\n                if (Math.abs(ty - y) < 0.3) y = ty;\n                draw();\n                if (y !== ty) raf = requestAnimationFrame(frame);\n            }\n\n            function moveTo(item) {\n                current = item;\n                ty = centerOf(item);\n                if (reduced) {\n                    y = ty;\n                    draw();\n                } else if (!raf) {\n                    raf = requestAnimationFrame(frame);\n                }\n            }\n\n            items.forEach(function (item) {\n                item.addEventListener('mouseenter', function () { moveTo(item); });\n                item.addEventListener('focus', function () { moveTo(item); });\n            });\n\n            window.addEventListener('resize', resize);\n            if (document.fonts) document.fonts.ready.then(resize);\n            resize();\n        }\n    })();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05c86c3 elementor-widget elementor-widget-heading\" data-id=\"05c86c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Antes de definir el aspecto de una marca, exploramos lo que representa. Descubrimos su esencia, prop\u00f3sito, valores y punto de vista \u00fanico para crear una base estrat\u00e9gica clara para todo lo que viene despu\u00e9s.<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-607670c e-grid e-con-boxed e-con e-parent\" data-id=\"607670c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-386e028 elementor-widget elementor-widget-heading\" data-id=\"386e028\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">\u201cUna marca significativa comienza por saber qui\u00e9n eres, en qu\u00e9 crees y por qu\u00e9 deber\u00eda importarle a la gente\u201d.<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d517f15 elementor-widget elementor-widget-image\" data-id=\"d517f15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1920\" height=\"2881\" src=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg\" class=\"attachment-full_hd size-full_hd wp-image-1526\" alt=\"\" srcset=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg 1920w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-200x300.jpg 200w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-683x1024.jpg 683w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-768x1152.jpg 768w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1024x1536.jpg 1024w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1365x2048.jpg 1365w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-180x270.jpg 180w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-360x540.jpg 360w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-640x960.jpg 640w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1366x2050.jpg 1366w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1600x2401.jpg 1600w, https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-scaled.jpg 1706w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3060861 ws-texto elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"3060861\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Creemos que el branding no consiste en crear algo que simplemente se vea bien. Se trata de revelar lo que ya est\u00e1 ah\u00ed: las ideas, creencias y emociones que hacen que un proyecto sea genuinamente diferente. A trav\u00e9s de un proceso intencional de escucha, cuestionamiento y creaci\u00f3n conjunta, convertimos esa verdad en una marca que se siente coherente, distintiva y viva.<\/p><p>Desde la estrategia hasta la identidad visual, la comunicaci\u00f3n y las experiencias digitales, cada decisi\u00f3n tiene una raz\u00f3n de ser. El resultado es una marca construida con claridad e intenci\u00f3n, una que se mantiene fiel a s\u00ed misma a la vez que crea una conexi\u00f3n significativa con las personas a las que quiere llegar.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8e387ef e-con-full e-flex e-con e-child\" data-id=\"8e387ef\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30aa837 elementor-widget elementor-widget-heading\" data-id=\"30aa837\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">\u00bfTienes curiosidad por saber c\u00f3mo\nveo yo el Branding?<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7204293 elementor-widget elementor-widget-heading\" data-id=\"7204293\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">S\u00edguenos<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Hacemos Branding Intencional. Construimos marcas desde dentro hacia fuera. A trav\u00e9s de la estrategia, la creatividad y una colaboraci\u00f3n significativa, descubrimos lo que hace que su marca sea aut\u00e9ntica y la transformamos en una identidad que la gente pueda ver, sentir y con la que pueda conectar. Somosel reflejo desu verdad. + proyectos La parte [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"tags":[],"class_list":["post-1523","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Inicio - We Are Studio<\/title>\n<meta name=\"description\" content=\"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wearestudio.eu\/es\/inicio\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Inicio - We Are Studio\" \/>\n<meta property=\"og:description\" content=\"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wearestudio.eu\/es\/inicio\/\" \/>\n<meta property=\"og:site_name\" content=\"We Are Studio\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T18:59:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/\",\"url\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/\",\"name\":\"Inicio - We Are Studio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.wearestudio.eu\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/IMG_4222-1920x2881.jpg\",\"datePublished\":\"2022-06-22T08:25:07+00:00\",\"dateModified\":\"2026-10-29T18:59:26+00:00\",\"description\":\"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.wearestudio.eu\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/IMG_4222-1920x2881.jpg\",\"contentUrl\":\"https:\\\/\\\/www.wearestudio.eu\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/IMG_4222-1920x2881.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.wearestudio.eu\\\/es\\\/inicio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Inicio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.wearestudio.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.wearestudio.eu\\\/\",\"name\":\"We Are Studio\",\"description\":\"We do Intentional Branding.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.wearestudio.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Inicio - We Are Studio","description":"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wearestudio.eu\/es\/inicio\/","og_locale":"es_ES","og_type":"article","og_title":"Inicio - We Are Studio","og_description":"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.","og_url":"https:\/\/www.wearestudio.eu\/es\/inicio\/","og_site_name":"We Are Studio","article_modified_time":"2026-10-29T18:59:26+00:00","og_image":[{"url":"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/","url":"https:\/\/www.wearestudio.eu\/es\/inicio\/","name":"Inicio - We Are Studio","isPartOf":{"@id":"https:\/\/www.wearestudio.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/#primaryimage"},"image":{"@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/#primaryimage"},"thumbnailUrl":"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg","datePublished":"2022-06-22T08:25:07+00:00","dateModified":"2026-10-29T18:59:26+00:00","description":"Hacemos Branding Intencional. Acompa\u00f1amos a fundadores y l\u00edderes para convertir el prop\u00f3sito de sus ideas en marcas con significado para los dem\u00e1s.","breadcrumb":{"@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wearestudio.eu\/es\/inicio\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/#primaryimage","url":"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg","contentUrl":"https:\/\/www.wearestudio.eu\/wp-content\/uploads\/2026\/09\/IMG_4222-1920x2881.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.wearestudio.eu\/es\/inicio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.wearestudio.eu\/es\/inicio\/"},{"@type":"ListItem","position":2,"name":"Inicio"}]},{"@type":"WebSite","@id":"https:\/\/www.wearestudio.eu\/#website","url":"https:\/\/www.wearestudio.eu\/","name":"We Are Studio","description":"We do Intentional Branding.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wearestudio.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"_links":{"self":[{"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/pages\/1523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/comments?post=1523"}],"version-history":[{"count":5,"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/pages\/1523\/revisions"}],"predecessor-version":[{"id":1848,"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/pages\/1523\/revisions\/1848"}],"wp:attachment":[{"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/media?parent=1523"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wearestudio.eu\/es\/wp-json\/wp\/v2\/tags?post=1523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}