Design · Strategy · TechnologyWorking systems, not just decoration.
I solve messy brand, web, campaign, and communication problems through clear systems, strong visuals, and thoughtful strategy. Choose the path that fits what you need.
DESIGN · STRATEGY · TECHNOLOGY
Hiring for a role
For recruiters, employers, studios, or teams looking for a full-time digital marketing designer, graphic designer, or campaign strategist.
View Portfolio & Resume →How design thinking can help
For founders, brands, businesses, and organizations looking for freelance brand, web, app, or campaign support.
Explore Services & Case Studies →Felipe Cardona is a marketing strategist, digital marketing designer, graphic designer, campaign strategist, creative technologist, UX/UI designer, freelance web designer, app builder, and brand systems designer working across campaigns, accessibility, community, nonprofit, local business, e-commerce, and enterprise healthcare communication. This homepage acts as a minimal intent router and portfolio operating screen, guiding recruiters, employers, studios, founders, brands, and organizations to the most relevant portfolio path.
(function(){
if(window.__fcrMobileToggleScrollGuard)return;window.__fcrMobileToggleScrollGuard=true;
document.addEventListener('click',function(e){
var btn=e.target&&e.target.closest&&e.target.closest('.fc-theme-toggle');
if(!btn||!window.matchMedia('(max-width:820px)').matches)return;
var y=window.scrollY||document.documentElement.scrollTop||0;
requestAnimationFrame(function(){window.scrollTo(0,y);document.documentElement.scrollLeft=0;document.body.scrollLeft=0;});
setTimeout(function(){window.scrollTo(0,y);document.documentElement.scrollLeft=0;document.body.scrollLeft=0;},80);
},true);
})();
(function(){
function currentTheme(){
var root=document.documentElement, body=document.body;
if(root.classList.contains('fc-theme-light')||body.classList.contains('fc-theme-light')||root.classList.contains('fcr-global-light')||body.classList.contains('fcr-global-light')||root.dataset.fcrTheme==='light'||body.dataset.fcrTheme==='light') return 'light';
if(root.classList.contains('fc-theme-dark')||body.classList.contains('fc-theme-dark')||root.classList.contains('fcr-global-dark')||body.classList.contains('fcr-global-dark')||root.dataset.fcrTheme==='dark'||body.dataset.fcrTheme==='dark') return 'dark';
return localStorage.getItem('theme') || localStorage.getItem('fcr-theme') || localStorage.getItem('fc-theme') || 'dark';
}
function syncTheme(){
var t=currentTheme();
try{
localStorage.setItem('theme', t);
localStorage.setItem('fcr-theme', t);
localStorage.setItem('fc-theme', t);
}catch(e){}
var btn=document.querySelector('.fc-theme-toggle');
if(btn){ btn.setAttribute('aria-pressed', t==='light'?'true':'false'); btn.setAttribute('data-theme-state', t); }
}
// Let the existing Home theme script apply saved state first; then mirror that state to all site keys.
window.addEventListener('load', function(){ setTimeout(syncTheme, 1200); });
document.addEventListener('click', function(e){
if(e.target.closest && e.target.closest('.fc-theme-toggle')){
setTimeout(syncTheme, 120);
setTimeout(syncTheme, 500);
}
}, true);
})();
(function(){
var roots=[].slice.call(document.querySelectorAll('.fc-page,.fc-site,.fcr-utility-shell,.fcr-woo-local,.fc-gate'));
var root=roots[0]||document.body;
function stored(){try{return localStorage.getItem('theme')||localStorage.getItem('fcr-theme')||localStorage.getItem('fc-theme')}catch(e){return null}}
function save(t){try{localStorage.setItem('theme',t);localStorage.setItem('fcr-theme',t);localStorage.setItem('fc-theme',t)}catch(e){}}
function apply(t){
t=(t==='light')?'light':'dark'; save(t);
[document.documentElement,document.body].concat(roots).forEach(function(el){if(!el)return;el.classList.toggle('fc-theme-light',t==='light');el.classList.toggle('fc-theme-dark',t!=='light');el.classList.toggle('fcr-global-light',t==='light');el.classList.toggle('fcr-global-dark',t!=='light');el.setAttribute('data-theme',t);el.setAttribute('data-fcr-theme',t);});
document.querySelectorAll('.fc-theme-toggle').forEach(function(btn){btn.setAttribute('aria-pressed',t==='light'?'true':'false');btn.setAttribute('aria-label',t==='light'?'Switch to dark theme':'Switch to light theme');btn.setAttribute('title',t==='light'?'Switch to dark theme':'Switch to light theme');btn.setAttribute('data-theme-state',t);var state=btn.querySelector('.fc-theme-toggle-state'); if(state) state.textContent=t==='light'?'Light':'Dark';});
}
apply((stored()==='light'||stored()==='dark')?stored():(root.getAttribute('data-default-theme')||'dark'));
document.addEventListener('click',function(ev){var btn=ev.target.closest&&ev.target.closest('.fc-theme-toggle'); if(!btn)return; ev.preventDefault(); ev.stopPropagation(); if(ev.stopImmediatePropagation) ev.stopImmediatePropagation(); apply(document.documentElement.classList.contains('fc-theme-light')?'dark':'light');},true);
})();