.portfolio-section{background:var(--background);padding:8rem 0}.portfolio-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:992px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card{background:var(--card-bg);border:1px solid var(--border);transition:var(--transition);border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.portfolio-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001a}.portfolio-img{aspect-ratio:4/3;position:relative;overflow:hidden}.portfolio-img .img-placeholder{background:var(--background-alt);width:100%;height:100%}.portfolio-overlay{opacity:0;transition:var(--transition);background:#e67e22cc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-card:hover .portfolio-overlay{opacity:1}.portfolio-link-btn{width:60px;height:60px;color:var(--primary);font-size:2rem;font-family:var(--font-heading);transition:var(--transition);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;transform:translateY(20px)}.portfolio-card:hover .portfolio-link-btn{transform:translateY(0)}.portfolio-info{padding:2rem}.portfolio-cat{color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.portfolio-info h3{font-size:1.5rem}.portfolio-info h3 a{color:var(--foreground)}.portfolio-info h3 a:hover{color:var(--primary)}
