Próximamente

Artemia

Inspirado en arte. Creado con IA.
Un lugar donde el arte parece hecho por humanos, pero no lo está.
Aquí, la inteligencia artificial diseña con técnica de museo y humor de sobremesa.

Clásicas

Obras en Rebeldía

Clásicos en huelga: así se ven cuando se rebelan.
Obras con licencia para desobedecer.

Modernas

Acrílico Total

Superficies brillantes que atrapan la mirada y la sostienen un instante más de lo que esperas.

Nada más

Posters

Minimalista hasta en el naming.
Colecciones de pósters que no necesitan adornos ni mensajes ocultos. Solo color, forma y silencio en la pared.

PARA SABER MÁS

Suscríbete

Recibe antes que nadie nuestras novedades, colecciones y descuentos exclusivos.

¡Ya te has suscrito!

Tu bandeja de entrada acaba de ponerse más guapa. No hay vuelta atrás.

Obras en Rebeldía

El Parlamento de Londres Actualizado

El Parlamento nunca imaginó que a su reflejo en el Támesis le acompañaría una noria futurista.

Inspirado en: El Parlamento de Londres, Monet

  • 20×30 cm
  • 30×45 cm
  • 40×60 cm
21,50 €
const AFX_VARIANTS = { "20x30": { label:"20×30 cm", price: 21.50 }, "30x45": { label:"30×45 cm", price: 30.25 }, "40x60": { label:"40×60 cm", price: 47.25 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function init(){ const root = document.querySelector('.afx'); if(!root) return; const trigger = root.querySelector('.afx-trigger'); const valueEl = root.querySelector('.afx-value'); const menu = root.querySelector('.afx-menu'); const opts = Array.from(menu.querySelectorAll('.afx-opt')); const priceEl = root.querySelector('.afx-price'); const hiddenVariant = root.querySelector('.afx-var'); const hiddenPrice = root.querySelector('.afx-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX_VARIANTS[key].label; const p = AFX_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); } else { init(); } })();

La Danza Felina

Un ritual felino: cinco cuerpos naranjas orbitan sobre un azul profundo, evocando la danza primitiva de la alegría. No son gatos, son figuras arquetípicas que nos recuerdan que el arte puede ser juego y ceremonia al mismo tiempo. Ironía y misticismo en una misma pincelada, como si el cuadro se riera de su propio intento de ser trascendental.

Inspirado en: La Danza, Matisse

  • 20×30 cm
  • 30×45 cm
  • 40×60 cm
21,50 €
const AFX2_VARIANTS = { "20x30": { label:"20×30 cm", price: 21.50 }, "30x45": { label:"30×45 cm", price: 30.25 }, "40x60": { label:"40×60 cm", price: 47.25 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx2-trigger'); const valueEl = root.querySelector('.afx2-value'); const menu = root.querySelector('.afx2-menu'); const opts = Array.from(menu.querySelectorAll('.afx2-opt')); const priceEl = root.querySelector('.afx2-price'); const hiddenVariant = root.querySelector('.afx2-var'); const hiddenPrice = root.querySelector('.afx2-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX2_VARIANTS[key].label; const p = AFX2_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx2'); if(root) initOne(root); })();
Imagen 1 Imagen 2 Imagen 3

La Chica Urbana de la sombrilla

La mujer con sombrilla de Monet se convierte aquí en un icono urbano: rodeada de asfalto, neón y ruido contemporáneo. Impreso sobre lienzo, este cuadro mantiene la fuerza del original pero con un giro rebelde, directo y sin nostalgia.

Inspirado en: Mujer con Sombrilla, Monet

  • 20×30 cm
  • 30×45 cm
  • 40×60 cm
21,50 €
const AFX3_VARIANTS = { "20x30": { label:"20×30 cm", price: 21.50 }, "30x45": { label:"30×45 cm", price: 30.25 }, "40x60": { label:"40×60 cm", price: 47.25 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx3-trigger'); const valueEl = root.querySelector('.afx3-value'); const menu = root.querySelector('.afx3-menu'); const opts = Array.from(menu.querySelectorAll('.afx3-opt')); const priceEl = root.querySelector('.afx3-price'); const hiddenVariant = root.querySelector('.afx3-var'); const hiddenPrice = root.querySelector('.afx3-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX3_VARIANTS[key].label; const p = AFX3_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx3'); if(root) initOne(root); })();
Imagen 1Imagen 2Imagen 3

Terraza de Fast Food

Bajo el mismo cielo estrellado que pintó Van Gogh, la vieja bohemia ha cerrado sus puertas y ha cedido su lugar a un rótulo luminoso.
Donde antes se servía absenta y conversación, hoy se despachan menús en minutos.
Los trazos de la noche —intensos, vibrantes, casi románticos— siguen ahí, pero el ritual ha cambiado: los comensales ya no buscan inspiración, sino wifi.

Inspirado en: Terraza de Café, Van Gogh

  • 20×30 cm
  • 30×45 cm
  • 40×60 cm
21,50 €
const AFX4_VARIANTS = { "20x30": { label:"20×30 cm", price: 21.50 }, "30x45": { label:"30×45 cm", price: 30.25 }, "40x60": { label:"40×60 cm", price: 47.25 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx4-trigger'); const valueEl = root.querySelector('.afx4-value'); const menu = root.querySelector('.afx4-menu'); const opts = Array.from(menu.querySelectorAll('.afx4-opt')); const priceEl = root.querySelector('.afx4-price'); const hiddenVariant = root.querySelector('.afx4-var'); const hiddenPrice = root.querySelector('.afx4-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX4_VARIANTS[key].label; const p = AFX4_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx4'); if(root) initOne(root); })();

Artemia 2025. Todos los derechos reservados.
Concepto y visuales por Artemia Store.

Acrílico Total

Imagen 1 Imagen 2 Imagen 3

Arena y Mar

Arena y Mar no intenta ser profundo. Un acrílico que mezcla calma y caos, como cuando miras el horizonte y no sabes si pensar o dejarte ir. Texturas líquidas, alma salada, y un toque de insolencia visual.

  • 20×30 cm
  • 40×60 cm
  • 60×90 cm
95,00 €
const AFX3_VARIANTS = { "20x30": { label:"20×30 cm", price: 95.00 }, "40x60": { label:"40×60 cm", price: 139.00 }, "60x90": { label:"60×90 cm", price: 290.00 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx31-trigger'); const valueEl = root.querySelector('.afx31-value'); const menu = root.querySelector('.afx31-menu'); const opts = Array.from(menu.querySelectorAll('.afx31-opt')); const priceEl = root.querySelector('.afx31-price'); const hiddenVariant = root.querySelector('.afx31-var'); const hiddenPrice = root.querySelector('.afx31-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX3_VARIANTS[key].label; const p = AFX3_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx31'); if(root) initOne(root); })();
Imagen 1 Imagen 2 Imagen 3

Túnel Rojo

Túnel Rojo no ilumina: hipnotiza. Parece abrir un pasaje entre lo real y lo que imaginamos cuando apagamos la luz. Brilla con arrogancia, como si supiera que no hace falta entenderlo para quedarse mirándolo.

  • 20×30 cm
  • 40×60 cm
  • 60×90 cm
95,00 €
const AFX32_VARIANTS = { "20x30": { label:"20×30 cm", price: 95.00 }, "40x60": { label:"40×60 cm", price: 139.00 }, "60x90": { label:"60×90 cm", price: 290.00 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx32-trigger'); const valueEl = root.querySelector('.afx32-value'); const menu = root.querySelector('.afx32-menu'); const opts = Array.from(menu.querySelectorAll('.afx32-opt')); const priceEl = root.querySelector('.afx32-price'); const hiddenVariant = root.querySelector('.afx32-var'); const hiddenPrice = root.querySelector('.afx32-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX32_VARIANTS[key].label; const p = AFX32_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx32'); if(root) initOne(root); })();
Imagen 1 Imagen 2 Imagen 3

Destellos en la Oscuridad

Destellos en la Oscuridad se mueve como un pensamiento líquido: brillante, indescifrable, casi vivo. No busca reflejar nada, solo deslizarse. En la penumbra, cada trazo parece respirar luz, un recordatorio de que incluso la oscuridad sabe brillar.

  • 20×30 cm
  • 40×60 cm
  • 60×90 cm
95,00 €
const AFX33_VARIANTS = { "20x30": { label:"20×30 cm", price: 95.00 }, "40x60": { label:"40×60 cm", price: 139.00 }, "60x90": { label:"60×90 cm", price: 290.00 } }; (function(){ function fmt(val, locale, currencyCode, symbol){ try { return new Intl.NumberFormat(locale,{style:'currency',currency:currencyCode}).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root){ const trigger = root.querySelector('.afx33-trigger'); const valueEl = root.querySelector('.afx33-value'); const menu = root.querySelector('.afx33-menu'); const opts = Array.from(menu.querySelectorAll('.afx33-opt')); const priceEl = root.querySelector('.afx33-price'); const hiddenVariant = root.querySelector('.afx33-var'); const hiddenPrice = root.querySelector('.afx33-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key){ opts.forEach(li=>{ const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX33_VARIANTS[key].label; const p = AFX33_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu(){ menu.classList.add('is-open'); trigger.setAttribute('aria-expanded','true'); } function closeMenu(){ menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded','false'); } trigger.addEventListener('click', (e)=>{ e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li=>li.addEventListener('click', (e)=>{ e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e)=>{ if(!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e)=>{ if(e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || '20x30'); } const root = document.querySelector('.afx33'); if(root) initOne(root); })();

Artemia 2025. Todos los derechos reservados.
Concepto y visuales por Artemia Store.

Posters

Naturaleza

Imagen 1Imagen 2

Agua

Una pausa líquida en medio del ruido. Agua fluye entre la quietud y el movimiento, invitando a mirar más allá de la superficie. Su presencia transforma la pared en respiración, en horizonte. Es un recordatorio de que lo esencial no se ve, se siente.

  • 21×29.7 cm
  • 40×60 cm
  • 60×90 cm
48,00 €
const AFX11_VARIANTS = { "21x29.7": { label: "21×29.7 cm", price: 48.00 }, "40x60": { label: "40×60 cm", price: 65.00 }, "60x90": { label: "60×90 cm", price: 69.00 } }; (function () { function fmt(val, locale, currencyCode, symbol) { try { return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root) { const trigger = root.querySelector('.afx11-trigger'); const valueEl = root.querySelector('.afx11-value'); const menu = root.querySelector('.afx11-menu'); const opts = Array.from(menu.querySelectorAll('.afx11-opt')); const priceEl = root.querySelector('.afx11-price'); const hiddenVariant = root.querySelector('.afx11-var'); const hiddenPrice = root.querySelector('.afx11-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key) { opts.forEach(li => { const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX11_VARIANTS[key].label; const p = AFX11_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu() { menu.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); } function closeMenu() { menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); } trigger.addEventListener('click', (e) => { e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li => li.addEventListener('click', (e) => { e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); }) ); document.addEventListener('click', (e) => { if (!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || Object.keys(AFX11_VARIANTS)[0]); } document.querySelectorAll('.afx11').forEach(initOne); })();
Imagen 1Imagen 2

Tierra

Materia viva, origen y destino. Tierra es una reverencia al equilibrio: la calma que sostiene, la fuerza que germina. Evoca el peso amable de lo natural y la belleza que ocurre cuando todo vuelve a su centro. No busca destacar, sino pertenecer.

  • 21×29.7 cm
  • 40×60 cm
  • 60×90 cm
48,00 €
const AFX12_VARIANTS = { "21x29.7": { label: "21×29.7 cm", price: 48.00 }, "40x60": { label: "40×60 cm", price: 65.00 }, "60x90": { label: "60×90 cm", price: 69.00 } }; (function () { function fmt(val, locale, currencyCode, symbol) { try { return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root) { const trigger = root.querySelector('.afx12-trigger'); const valueEl = root.querySelector('.afx12-value'); const menu = root.querySelector('.afx12-menu'); const opts = Array.from(menu.querySelectorAll('.afx12-opt')); const priceEl = root.querySelector('.afx12-price'); const hiddenVariant = root.querySelector('.afx12-var'); const hiddenPrice = root.querySelector('.afx12-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key) { opts.forEach(li => { const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX12_VARIANTS[key].label; const p = AFX12_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu() { menu.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); } function closeMenu() { menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); } trigger.addEventListener('click', (e) => { e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li => li.addEventListener('click', (e) => { e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); }) ); document.addEventListener('click', (e) => { if (!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || Object.keys(AFX12_VARIANTS)[0]); } document.querySelectorAll('.afx12').forEach(initOne); })();
Imagen 1Imagen 2

Fuego

Intenso, pero sin prisa. Fuego vibra, ilumina y se repliega con la elegancia de algo que sabe su poder. Es energía en reposo: una explosión medida, un impulso que no necesita permiso para existir. Perfecto para quien prefiere provocar sin decirlo.

  • 21×29.7 cm
  • 40×60 cm
  • 60×90 cm
48,00 €
const AFX13_VARIANTS = { "21x29.7": { label: "21×29.7 cm", price: 48.00 }, "40x60": { label: "40×60 cm", price: 65.00 }, "60x90": { label: "60×90 cm", price: 69.00 } }; (function () { function fmt(val, locale, currencyCode, symbol) { try { return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root) { const trigger = root.querySelector('.afx13-trigger'); const valueEl = root.querySelector('.afx13-value'); const menu = root.querySelector('.afx13-menu'); const opts = Array.from(menu.querySelectorAll('.afx13-opt')); const priceEl = root.querySelector('.afx13-price'); const hiddenVariant = root.querySelector('.afx13-var'); const hiddenPrice = root.querySelector('.afx13-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key) { opts.forEach(li => { const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX13_VARIANTS[key].label; const p = AFX13_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu() { menu.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); } function closeMenu() { menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); } trigger.addEventListener('click', (e) => { e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li => li.addEventListener('click', (e) => { e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); }) ); document.addEventListener('click', (e) => { if (!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || Object.keys(AFX13_VARIANTS)[0]); } document.querySelectorAll('.afx13').forEach(initOne); })();

Viaje en el Tiempo

Imagen 1Imagen 2Imagen 3Imagen 4Imagen 5Imagen 6

Edición Vintage

Un homenaje a lo analógico en tiempos de algoritmos.
La Edición Vintage reinterpreta objetos que alguna vez marcaron el ritmo del mundo: una cámara que aún escucha la luz, una máquina de escribir que respira palabras, una bicicleta que huele a libertad, un teléfono que sonaba con intención o una radio que narraba sin pantalla.
Cada pieza se posa sobre sutiles marcas de acuarela, como si el tiempo mismo hubiese dejado su huella.

  • Bicicleta
  • Cámara
  • Radio
  • Teléfono
  • Máquina de Escribir
(function () { const AFX15_VARIANTS = { "bicicleta": { label: "Bicicleta" }, "camara": { label: "Cámara" }, "radio": { label: "Radio" }, "telefono": { label: "Teléfono" }, "maquina": { label: "Máquina de Escribir" } }; function initAFX15(root) { const trigger = root.querySelector('.afx15-trigger'); const valueEl = root.querySelector('.afx15-value'); const menu = root.querySelector('.afx15-menu'); const opts = Array.from(menu.querySelectorAll('.afx15-opt')); const hiddenInput = root.querySelector('.afx15-var'); function setActiveByKey(key) { opts.forEach(li => { const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX15_VARIANTS[key].label; hiddenInput.value = key; } function openMenu() { menu.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); } function closeMenu() { menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); } trigger.addEventListener('click', (e) => { e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li => li.addEventListener('click', (e) => { e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); })); document.addEventListener('click', (e) => { if (!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || Object.keys(AFX15_VARIANTS)[0]); } document.querySelectorAll('.afx15').forEach(initAFX15); })();
  • 21×29.7 cm
  • 40×60 cm
  • 60×90 cm
48,00 €
const AFX11_VARIANTS = { "21x29.7": { label: "21×29.7 cm", price: 48.00 }, "40x60": { label: "40×60 cm", price: 65.00 }, "60x90": { label: "60×90 cm", price: 69.00 } }; (function () { function fmt(val, locale, currencyCode, symbol) { try { return new Intl.NumberFormat(locale, { style: 'currency', currency: currencyCode }).format(val); } catch { return (Number(val).toFixed(2)) + ' ' + symbol; } } function initOne(root) { const trigger = root.querySelector('.afx11-trigger'); const valueEl = root.querySelector('.afx11-value'); const menu = root.querySelector('.afx11-menu'); const opts = Array.from(menu.querySelectorAll('.afx11-opt')); const priceEl = root.querySelector('.afx11-price'); const hiddenVariant = root.querySelector('.afx11-var'); const hiddenPrice = root.querySelector('.afx11-price-hidden'); const currencyCode = root.dataset.currency || 'EUR'; const symbol = root.dataset.symbol || '€'; const locale = root.dataset.locale || 'es-ES'; function setActiveByKey(key) { opts.forEach(li => { const active = li.dataset.key === key; li.classList.toggle('is-active', active); li.setAttribute('aria-selected', active ? 'true' : 'false'); }); valueEl.dataset.key = key; valueEl.textContent = AFX11_VARIANTS[key].label; const p = AFX11_VARIANTS[key].price; priceEl.textContent = fmt(p, locale, currencyCode, symbol); hiddenVariant.value = key; hiddenPrice.value = p.toFixed(2); } function openMenu() { menu.classList.add('is-open'); trigger.setAttribute('aria-expanded', 'true'); } function closeMenu() { menu.classList.remove('is-open'); trigger.setAttribute('aria-expanded', 'false'); } trigger.addEventListener('click', (e) => { e.stopPropagation(); menu.classList.contains('is-open') ? closeMenu() : openMenu(); }); opts.forEach(li => li.addEventListener('click', (e) => { e.stopPropagation(); setActiveByKey(li.dataset.key); closeMenu(); }) ); document.addEventListener('click', (e) => { if (!root.contains(e.target)) closeMenu(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeMenu(); }); setActiveByKey(valueEl.dataset.key || Object.keys(AFX11_VARIANTS)[0]); } document.querySelectorAll('.afx11').forEach(initOne); })();

Artemia 2025. Todos los derechos reservados.
Concepto y visuales por Artemia Store.

¡Te notificaremos cuando este producto esté disponible!

Ingresa tus datos en el formulario y nos pondremos en contacto contigo cuando este producto sea lanzado.

Artemia 2025. Todos los derechos reservados.
Concepto y visuales por Artemia Store.