.portfolio-page{padding:40px 0;min-height:calc(100vh - 60px)}.portfolio-content{max-width:1000px;margin:0 auto;padding:0 20px}.portfolio-content h1{font-size:2.5rem;font-weight:600;color:var(--text-dark);margin-bottom:16px}.portfolio-content h1,.portfolio-description{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:left}.portfolio-description{font-size:1.1rem;color:var(--text-medium);margin-bottom:40px;line-height:1.6}.portfolio-empty{text-align:center;padding:60px 20px;background:var(--background-secondary);border-radius:12px;transition:background-color .4s cubic-bezier(.4,0,.2,1)}.portfolio-empty p{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem;color:var(--text-medium)}.portfolio-section{margin-bottom:60px}.portfolio-section h2{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--accent)}.portfolio-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px}.portfolio-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease,background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1)}.portfolio-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.portfolio-item-image{width:100%;height:280px;overflow:hidden;background:var(--background-tertiary);transition:background-color .4s cubic-bezier(.4,0,.2,1)}.portfolio-item-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.portfolio-item:hover .portfolio-item-image img{transform:scale(1.02)}.portfolio-item-content{padding:24px}.portfolio-item-content h3{font-size:1.25rem;font-weight:600;color:var(--text-dark);margin-bottom:12px}.portfolio-item-content h3,.portfolio-item-content p{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:color .4s cubic-bezier(.4,0,.2,1)}.portfolio-item-content p{font-size:1rem;color:var(--text-medium);line-height:1.6;margin-bottom:16px}.portfolio-item-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.portfolio-tag{font-size:.75rem;color:var(--accent);background:var(--accent-light);padding:4px 10px;border-radius:12px;border:1px solid rgba(var(--accent-rgb),.2);transition:background-color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1)}.portfolio-tag,.portfolio-visit-button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500}.portfolio-visit-button{display:inline-block;background:var(--accent);color:#fff;padding:10px 20px;border-radius:8px;font-size:.9rem;text-decoration:none;transition:all .2s ease}.portfolio-visit-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.portfolio-visit-button:active{transform:translateY(0)}@media(min-width:768px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-item-image{height:220px}}@media(max-width:768px){.portfolio-content h1{font-size:2rem}.portfolio-item-image{height:200px}.portfolio-item-content{padding:20px}.portfolio-item-content h3{font-size:1.1rem}.portfolio-item-content p{font-size:.95rem}}