.portfolio{position:relative}.portfolio-container{max-width:var(--container-medium);margin:0 auto}.section-subtitle{margin-top:var(--space-sm);max-width:600px}.projects-grid{gap:var(--space-lg);margin-top:var(--space-xl)}.project-card,.projects-grid{display:flex;flex-direction:column}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.project-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-md)}.project-header{margin-bottom:var(--space-sm)}.project-category{font-size:.85rem;font-weight:500;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.05em}.project-card h3{margin-bottom:var(--space-xs);font-size:1.25rem;color:var(--text-primary)}.project-url{display:inline-block;font-size:.85rem;color:var(--text-muted);text-decoration:none;margin-bottom:var(--space-sm);font-family:JetBrains Mono,monospace;transition:color var(--transition-fast)}.project-url:hover{color:var(--accent-primary)}.project-card p{margin-bottom:var(--space-md);line-height:1.6;color:var(--text-secondary);flex:1 1}.project-link{color:var(--accent-primary);font-size:.9rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast);align-self:flex-start}.project-link:hover{color:var(--accent-secondary)}@media (max-width:768px){.project-card{padding:var(--space-md)}}