.portfolio-container{min-height:calc(100vh - 76px);background:var(--paper);padding:0 0 clamp(3rem,6vw,5rem)}.portfolio-content{max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.portfolio-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55vh;gap:1rem;color:var(--ink-faint);font-size:.9rem}.portfolio-header{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.25rem)}.portfolio-header .eyebrow{display:block;margin-bottom:.85rem}.portfolio-header h1{font-family:var(--font-display),Georgia,serif;font-size:clamp(2.1rem,5vw,3.5rem);font-weight:400;letter-spacing:-.025em;line-height:1.05;color:var(--ink);margin-bottom:.85rem;max-width:18ch}.portfolio-header p{color:var(--ink-soft);font-size:clamp(.98rem,1.4vw,1.1rem);max-width:46ch}.portfolio-stats{display:flex;flex-wrap:wrap;gap:0 clamp(2rem,5vw,4rem);padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-item{gap:.6rem;padding:.4rem 0}.stat-item,.stat-item>div{display:flex;align-items:baseline}.stat-item>div{gap:.55rem}.stat-item svg{display:none}.stat-item strong{font-family:var(--font-display),Georgia,serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;color:var(--ink);line-height:1}.stat-item span{font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.portfolio-filters{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;margin-bottom:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line)}.filter-group{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.filter-group svg{display:none}.filter-buttons{display:flex;gap:1rem}.filter-select{padding:.6rem .85rem;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font-size:.88rem;cursor:pointer;min-width:15rem;transition:border-color var(--t-fast)}.filter-select:focus,.filter-select:hover{outline:none;border-color:var(--ink)}.designers-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.designer-row-group{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.designer-row{display:flex;gap:clamp(1.5rem,3vw,2.75rem);padding:clamp(1.5rem,3vw,2.25rem) 0;transition:background var(--t-fast)}.designer-row:hover{background:var(--surface)}.designer-info-panel{flex:0 0 clamp(15rem,24vw,19rem);display:flex;flex-direction:column;gap:.85rem;min-width:0}.designer-portfolio-panel{flex:1;min-width:0;display:flex;align-items:flex-start}.designer-reviews-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs)}.review-item{padding-bottom:1.25rem;border-bottom:1px solid var(--line-soft)}.review-item:last-child{padding-bottom:0;border-bottom:none}.review-item-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.review-item-header strong{color:var(--ink);font-size:.92rem}.review-item .star-rating{display:flex;gap:.1rem;color:var(--forest)}.review-item p{color:var(--ink-soft);font-size:.92rem;line-height:1.6;margin:0 0 .5rem}.review-item small{color:var(--ink-faint);font-size:.72rem;letter-spacing:.04em}.designer-card-header{display:flex;align-items:center;gap:.9rem}.designer-card-header-button{width:100%;padding:.4rem;margin:-.4rem;border:none;background:none;border-radius:var(--r-xs);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background var(--t-fast)}.designer-card-header-button:hover{background:var(--paper-deep)}.designer-card-header-button:hover .designer-heading h3{color:var(--forest)}.designer-card-header-icon{margin-left:auto;flex-shrink:0;color:var(--ink-faint);opacity:.6;transition:opacity var(--t-fast),color var(--t-fast)}.designer-card-header-button:hover .designer-card-header-icon{opacity:1;color:var(--forest)}.designer-avatar{flex-shrink:0}.avatar-img,.avatar-placeholder{width:56px;height:56px;border-radius:var(--r-round);border:1px solid var(--line-strong)}.avatar-img{object-fit:cover;display:block}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--paper-deep);color:var(--ink-faint)}.designer-heading{min-width:0;flex:1}.designer-heading h3{font-family:var(--font-display),Georgia,serif;font-size:1.2rem;font-weight:400;color:var(--ink);margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--t-fast)}.designer-rating-inline{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--forest);font-weight:500}.designer-rating-inline .review-count{color:var(--ink-faint);font-weight:400}.designer-badges{display:flex;flex-wrap:wrap;gap:.35rem}.type-badge{padding:.26rem .5rem;border:1px solid var(--line-strong);border-radius:var(--r-xs);font-size:.64rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;flex-shrink:0}.type-badge,.type-badge.desainer{color:var(--ink-soft);background:transparent}.type-badge.rating-badge{display:inline-flex;align-items:center;gap:.3rem;color:var(--forest);border-color:var(--forest)}.type-badge.vendor-badge{background:var(--forest);border-color:var(--forest);color:var(--ruana-white)}.designer-bio{color:var(--ink-soft);line-height:1.6;font-size:.88rem;margin:0}.designer-stats{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;color:var(--ink-faint);font-size:.78rem;letter-spacing:.02em;margin-top:auto;padding-top:.5rem}.view-reviews-toggle{background:none;border:none;padding:0 0 .1rem;color:var(--ink);font-size:.78rem;font-weight:500;border-bottom:1px solid var(--line-strong);cursor:pointer;flex-shrink:0;transition:color var(--t-fast),border-color var(--t-fast)}.view-reviews-toggle:hover{color:var(--forest);border-bottom-color:var(--forest)}.portfolio-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;width:100%;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.portfolio-strip::-webkit-scrollbar{height:3px}.portfolio-strip::-webkit-scrollbar-thumb{background:var(--line-strong)}.portfolio-thumb{position:relative;flex:0 0 clamp(7rem,12vw,9.5rem);aspect-ratio:1/1;overflow:hidden;border:0;border-radius:0;background:var(--paper-deep);padding:0;cursor:pointer;scroll-snap-align:start}.portfolio-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-slow)}.portfolio-thumb:hover img{transform:scale(1.05)}.no-portfolio{padding:1.5rem 0;color:var(--ink-faint);font-size:.85rem}.review-count.no-rating{font-style:normal}.lightbox-backdrop{position:fixed;inset:0;background:rgba(28,30,26,.93);z-index:1000;display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:min(1000px,90vw);max-height:100%}.lightbox-content img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:0;background:#1c1e1a}.lightbox-caption{color:var(--ink-invert);text-align:center;margin-top:1.25rem}.lightbox-caption strong{display:block;font-family:var(--font-display),Georgia,serif;font-size:1.2rem;font-weight:400;margin-bottom:.35rem}.lightbox-caption p{color:rgba(248,246,240,.72);font-size:.9rem;margin:0 0 .6rem}.lightbox-counter{font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(248,246,240,.5)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px}.lightbox-close,.lightbox-nav{background:transparent;border:1px solid rgba(248,246,240,.3);color:var(--ink-invert);border-radius:var(--r-xs);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.lightbox-nav{flex-shrink:0;width:48px;height:48px}.lightbox-close:hover,.lightbox-nav:hover{background:rgba(248,246,240,.12);border-color:rgba(248,246,240,.6)}.empty-state{padding:clamp(3rem,8vw,5rem) 0;color:var(--ink-soft);max-width:40ch}.empty-state svg{color:var(--line-strong);margin-bottom:1.25rem}.empty-state h3{font-family:var(--font-display),Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:.5rem}.empty-state p{margin-bottom:1.5rem;line-height:1.6}.portfolio-thumb-count{position:absolute;top:.4rem;right:.4rem;min-width:1.3rem;padding:.12rem .35rem;border-radius:var(--r-xs);background:rgba(28,30,26,.72);color:#fff;font-size:.66rem;font-weight:500;text-align:center}@media (max-width:900px){.designer-info-panel{flex-basis:15rem}}@media (max-width:768px){.portfolio-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.filter-buttons,.filter-select{width:100%;min-width:0}}@media (max-width:640px){.designer-row{flex-direction:column;gap:1.25rem}.designer-info-panel{flex-basis:auto}.designer-portfolio-panel{margin:0 calc(-1 * clamp(1rem, 4vw, 2.5rem));padding:0 clamp(1rem,4vw,2.5rem)}.lightbox-nav{width:40px;height:40px}.lightbox-backdrop{padding:1rem;gap:.5rem}}@media (max-width:480px){.portfolio-stats{gap:0 1.75rem}.avatar-img,.avatar-placeholder{width:48px;height:48px}.type-badge{font-size:.6rem}}