.portfolio-listing{background-color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.portfolio-item{transition:all .3s ease;border-radius:8px;overflow:hidden;background:#fff;height:100%;display:flex;flex-direction:column;border:1px solid #eee}.portfolio-item:hover{border-color:#ddd;box-shadow:0 5px 15px #00000014}.portfolio-card{display:flex;flex-direction:column;height:100%}.portfolio-img-container{position:relative;width:100%;overflow:hidden;height:220px}.portfolio-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.portfolio-item:hover .portfolio-img{transform:scale(1.03)}.portfolio-color-box{width:100%;height:80px;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease;margin-top:.6em}.portfolio-color-box img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.portfolio-color-box:hover img{transform:scale(1.03)}.portfolio-category-badge{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:.5rem}.portfolio-category-badge .badge{background:#000c;color:#fff;padding:5px 12px;border-radius:20px;font-size:.8rem;font-weight:500;box-shadow:0 2px 5px #0000001a}.portfolio-content{padding:1.4rem;flex-grow:1;display:flex;flex-direction:column}.portfolio-title{font-size:1.1rem;font-weight:500;margin-bottom:.9rem;line-height:1.4;color:#333}.portfolio-title a{color:inherit;text-decoration:none}.portfolio-title a:hover{color:#000}.portfolio-meta{margin:.8rem 0;flex-grow:1}.meta-line{display:flex;margin-bottom:.35rem;font-size:.8rem;line-height:1.4}.meta-label{color:#777;margin-right:.4rem;flex-shrink:0;font-weight:500}.meta-value{color:#555}.portfolio-action{margin-top:auto;padding-top:1rem}.portfolio-btn{display:inline-block;padding:.7rem 1.5rem;background-color:#3a3a3a;color:#fff;border-radius:6px;font-weight:500;font-size:.9rem;transition:all .3s ease;text-decoration:none;text-align:center;width:100%}.portfolio-btn:hover{background-color:#1a1a1a;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a;color:#fff}.empty-portfolio{grid-column:1 / -1;padding:2.5rem;text-align:center;background-color:#fafafa;border-radius:8px}.empty-icon{font-size:3rem;color:#ddd;margin-bottom:1rem}.empty-portfolio h4{font-weight:400;margin-bottom:.5rem;color:#666}.empty-portfolio p{font-size:.9rem;color:#888}@media (max-width: 1200px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 992px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.8rem}.portfolio-img-container{height:200px}}@media (max-width: 768px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.portfolio-img-container{height:180px}.portfolio-content{padding:1.2rem}}@media (max-width: 576px){.portfolio-grid{grid-template-columns:1fr;gap:1.8rem}.portfolio-img-container{height:200px}.portfolio-title{font-size:1.05rem}.meta-line{font-size:.78rem}}.project-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem}.info-item{display:flex;flex-direction:column}.info-label{font-weight:600;color:#3a3a3a;margin-bottom:.25rem;font-size:.9rem}.info-value{color:#555}.social-links .info-value{display:flex;align-items:center}.social-icons{display:flex;gap:.75rem}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:#3a3a3a;color:#fff;transition:all .3s ease}.social-icon:hover{transform:translateY(-2px);background-color:#d4af37}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.products-grid.grid-1col{grid-template-columns:1fr}.product-card{padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;border:1px solid #eee}.product-title{font-size:1.1rem;margin-bottom:1rem;color:#3a3a3a;font-weight:600}.product-colors{display:flex;flex-wrap:wrap;gap:1rem}.products-grid.grid-1col .product-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.color-item{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1;aspect-ratio:inherit}.color-swatch{position:relative;width:60px;height:60px;border-radius:50%;overflow:visible;margin-bottom:.5rem;border:2px solid white;box-shadow:0 2px 5px #0000001a;transition:all .3s ease;cursor:pointer}.color-swatch img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%;transition:all .3s ease}.color-expand{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translate(-50%) scale(.9);width:200px;height:200px;border-radius:8px;overflow:hidden;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 15px 35px #0003;z-index:100;pointer-events:none}.color-expand img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:0}.color-item:hover .color-expand{opacity:1;visibility:visible;transform:translate(-50%) scale(1);bottom:calc(100% + 20px)}.color-item:hover .color-swatch{transform:scale(1.15);box-shadow:0 8px 20px #00000040}.color-item:hover .color-swatch img{transform:scale(1.1)}.color-name{font-size:.8rem;color:#777;text-align:center;transition:all .3s ease;font-weight:500}.color-item:hover .color-name{color:#3a3a3a;font-weight:600}@media (max-width: 768px){.project-info-grid,.products-grid{grid-template-columns:1fr}.color-expand{width:150px;height:150px}}
