David C.

IllustratorPhotographerScreenwriterAnimator

function dcApplyLang(lang) { var name = document.getElementById('dc-hero-name'); var sub = document.getElementById('dc-hero-sub'); name.classList.add('dc-fade'); sub.classList.add('dc-fade'); setTimeout(function() { document.querySelectorAll('[data-en]').forEach(function(el) { el.textContent = lang === 'en' ? el.dataset.en : el.dataset.es; }); name.classList.remove('dc-fade'); sub.classList.remove('dc-fade'); }, 280); } var savedLang = localStorage.getItem('dc-lang') || 'en'; dcApplyLang(savedLang); window.addEventListener('storage', function(e) { if (e.key === 'dc-lang') dcApplyLang(e.newValue); });
TitleAuthorYearISBN
NeuromancerWilliam Gibson19840-441-56956-0
Snow CrashNeal Stephenson19920-553-08853-X
SoftwareRudy Rucker19820-441-77408-3
var text = { en: [ "Digital artist specializing in Illustration and Audiovisual Production, with a focus on character art. My work draws influence from anime and features vibrant color palettes.", "My passion for concept art and visual storytelling in video games has driven me to study cinematography and illustration over the years.", "I currently aspire to build my career around character art and environment design.", "Let's get in touch: " ], es: [ "Artista digital especializado en las áreas de la Ilustración y Producción Audiovisual, con un enfoque en el arte de personajes. Mi trabajo cobra influencia del anime y contiene tonalidades vibrantes.", "Mi pasión por el arte conceptual y la narrativa visual en videojuegos me ha impulsado a estudiar cinematografía e ilustración a lo largo de los años.", "Actualmente aspiro a encaminar mi carrera hacia el arte de personajes y diseño de escenarios.", "Pongámonos en contacto: " ] }; function applyLang(lang) { document.getElementById('dc-p1').textContent = text[lang][0]; document.getElementById('dc-p2').textContent = text[lang][1]; document.getElementById('dc-p3').textContent = text[lang][2]; document.getElementById('dc-contact-label').textContent = text[lang][3]; } var lang = 'en'; try { lang = localStorage.getItem('dc-lang') || 'en'; } catch(e) {} applyLang(lang); setInterval(function() { var current = 'en'; try { current = localStorage.getItem('dc-lang') || 'en'; } catch(e) {} if (current !== lang) { lang = current; applyLang(lang); } }, 500);