
/* Extra CSS separado */
.section .lead{max-width:62ch}
.project-grid{}
.project-card{cursor:pointer}
.project-card:hover .thumb{filter:contrast(1.03) brightness(1.05)}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
@media(max-width:900px){.footer-cols{grid-template-columns:1fr}}


/* Animaciones extra */
.card{transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease}
.card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.45)}
.menu-list a{position:relative}
.menu-list a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:linear-gradient(135deg,var(--acc),var(--acc2));transition:width .25s ease}
.menu-list a:hover:after{width:100%}
.pulse{animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.8}50%{opacity:1}}

/* Hero shimmer */
.h-title{background-size:200% auto}
.h-title span{animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}

/* Simple marquee for logos (optional) */
.scroller{overflow:hidden;mask-image:linear-gradient(90deg,transparent, #000 10%, #000 90%, transparent)}
.scroller-track{display:flex;gap:40px;min-width:max-content;animation:scroll 26s linear infinite}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
