.portfolio{padding:6rem 0;background:var(--bg-primary)}.portfolio-container{max-width:1280px;margin:0 auto;padding:0 2rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.portfolio-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .3s ease}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.portfolio-image{position:relative;height:200px;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));display:flex;align-items:center;justify-content:center;overflow:hidden}.project-emoji{font-size:5rem;transition:transform .3s ease}.portfolio-card:hover .project-emoji{transform:scale(1.1)}.portfolio-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.portfolio-card:hover .portfolio-overlay{opacity:1}.view-project{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transform:translateY(20px);transition:all .3s ease}.portfolio-card:hover .view-project{transform:translateY(0)}.portfolio-content{padding:1.5rem}.portfolio-category{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .75rem;border-radius:4px;margin-bottom:.75rem}.portfolio-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.portfolio-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1rem}.portfolio-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px}.portfolio-cta{display:flex;justify-content:center;margin-top:3rem}.portfolio-cta .btn{display:inline-flex;align-items:center;gap:.5rem}@media (max-width:992px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.portfolio-grid{grid-template-columns:1fr}}