Diseño Gráfico

Tu marca se ve en cien lugares distintos.
Nos encargamos de que en los cien se vea igual de bien.

Image gallery marquee
Image gallery marquee
Image gallery marquee
Image gallery marquee
Image gallery marquee
Image gallery marquee
Image gallery marquee

Cuatro razones para llamarnos

[ NOSOTROS ]

Una marca no se recuerda por lo que dice. Se recuerda por cómo se ve mientras lo dice.

Nadie va a felicitarte por el espaciado entre letras de tu logo. Pero si está mal, todos lo van a sentir aunque no sepan explicar por qué.

En esos detalles se nos van los días.

Tres servicios,
un solo criterio

Identidad de marca

Diseño de logo & Branding

Construimos la identidad completa y las reglas para que no se rompa cuando la use otro.
Sales con un manual que tu equipo puede aplicar sin llamarnos.

contenido para redes

Social Media & Diseño multimedia

Plantillas y sistemas visuales para publicar todas las semanas sin improvisar.
Que se note que es tuyo antes que aparezca el nombre.

Documentos y piezas impresas

Diseño editorial

Catálogos, dossiers y presentaciones que se leen sin esfuerzo.
Documentos largos que no parecen un Word con el logo pegado arriba.

INNOVACIÓN

MODERNIDAD

TECNOLOGÍA

¿Cuál es tu
presupuesto?

Paso 1

¿Qué servicio necesitas?

Paso 2

Nivel de exploración e impacto

Esencial Equilibrado Alocado 🚀
Propuesta directa y funcional enfocada en la claridad de marca.
Inversión estimada
350 € + IVA
Solicitar este presupuesto

* Estimación orientativa. Definiremos los entregables finales en una breve llamada.

Esencial

Diseño de Logo Esencial

Un diseño de logotipo claro, moderno y adaptable para consolidar la imagen de tu negocio.

Vista previa del proyecto

¿Qué incluye este proyecto?

    ") O en un plugin tipo "Insert Headers and Footers" ============================================ */document.addEventListener('DOMContentLoaded', function () {/* 1. Crear los elementos del cursor una sola vez */ var glow = document.createElement('div'); glow.id = 'custom-cursor-glow'; document.body.appendChild(glow);var cursor = document.createElement('div'); cursor.id = 'custom-cursor'; cursor.innerHTML = ''; document.body.appendChild(cursor);var cursorIcon = cursor.querySelector('i'); var cursorText = cursor.querySelector('span');/* 2. Config por variante: tamaño del circulo y tamaño de fuente al activarse */ var VARIANT_SIZE = { 'cursor-solid': 72, 'cursor-gradient': 72, 'cursor-glass': 66, 'cursor-outline': 66, 'cursor-square': 80, 'cursor-blur': 74, 'cursor-glow': 60, 'cursor-icon': 76 }; var VARIANT_FONT = { 'cursor-solid': 11, 'cursor-gradient': 11, 'cursor-glass': 11, 'cursor-outline': 10, 'cursor-square': 11, 'cursor-blur': 10, 'cursor-glow': 11, 'cursor-icon': 9 }; var ALL_VARIANTS = Object.keys(VARIANT_SIZE);/* 3. Movimiento con retardo (lerp) */ var mouseX = 0, mouseY = 0; var curX = 0, curY = 0; var ease = 0.16; var currentSize = 0; var targetSize = 0; var glowExtra = 30;document.addEventListener('mousemove', function (e) { mouseX = e.clientX; mouseY = e.clientY; });function loop() { curX += (mouseX - curX) * ease; curY += (mouseY - curY) * ease; currentSize += (targetSize - currentSize) * ease;cursor.style.opacity = currentSize > 0.5 ? '1' : '0'; cursor.style.width = currentSize + 'px'; cursor.style.height = currentSize + 'px'; cursor.style.transform = 'translate(' + (curX - currentSize / 2) + 'px,' + (curY - currentSize / 2) + 'px)'; var glowSize = currentSize > 0 ? currentSize + glowExtra : 0; glow.style.width = glowSize + 'px'; glow.style.height = glowSize + 'px'; glow.style.transform = 'translate(' + (curX - glowSize / 2) + 'px,' + (curY - glowSize / 2) + 'px)';requestAnimationFrame(loop); } loop();/* 4. Detectar hover sobre cualquier elemento con alguna clase cursor-* */ var selector = ALL_VARIANTS.map(function (v) { return '.' + v; }).join(', ');document.addEventListener('mouseover', function (e) { var target = e.target.closest(selector); if (!target) return;var variant = ALL_VARIANTS.find(function (v) { return target.classList.contains(v); }); if (!variant) return;/* limpia variantes anteriores y aplica la actual */ ALL_VARIANTS.forEach(function (v) { cursor.classList.remove(v); }); ALL_VARIANTS.forEach(function (v) { document.body.classList.remove(v); }); cursor.classList.add(variant); document.body.classList.add(variant, '__active'); target.classList.add('__active');targetSize = VARIANT_SIZE[variant] || 70;var text = target.getAttribute('data-cursor-text') || ''; var iconClass = target.getAttribute('data-cursor-icon') || ''; cursorText.textContent = text; cursorText.style.fontSize = text ? (VARIANT_FONT[variant] || 11) + 'px' : '0px'; cursorIcon.className = iconClass; cursorIcon.style.fontSize = iconClass ? (variant === 'cursor-icon' ? 16 : 14) + 'px' : '0px'; });document.addEventListener('mouseout', function (e) { var target = e.target.closest(selector); if (!target) return; var related = e.relatedTarget; if (related && target.contains(related)) return;target.classList.remove('__active'); document.body.classList.remove('__active'); ALL_VARIANTS.forEach(function (v) { document.body.classList.remove(v); }); targetSize = 0; cursorText.style.fontSize = '0px'; cursorIcon.style.fontSize = '0px'; });});