/* ═══ PORTFOLIO PAGE ═══ */
.filter-bar{display:flex;justify-content:center;gap:.5rem;margin-bottom:var(--bb-space-xl);flex-wrap:wrap}
.filter-btn{padding:.5rem 1.25rem;border:1.5px solid rgba(97,26,36,.12);border-radius:var(--bb-radius-full);background:transparent;color:var(--bb-text-secondary);font-family:var(--bb-font-body);font-size:var(--bb-text-small);font-weight:500;cursor:pointer;transition:var(--bb-transition)}
.filter-btn:hover{border-color:var(--bb-rose-ancien);color:var(--bb-bordeaux)}
.filter-btn.active{background:var(--bb-bordeaux);border-color:var(--bb-bordeaux);color:#fff}
.portfolio-section{padding:0 0 var(--bb-space-3xl)}
.portfolio-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bb-space-md)}
.portfolio-item{position:relative;border-radius:var(--bb-radius-lg);overflow:hidden;cursor:pointer;transition:transform .5s cubic-bezier(.25,1,.5,1),opacity .4s}
.portfolio-item.hidden{display:none}
.portfolio-item:nth-child(3n+1){aspect-ratio:3/4}.portfolio-item:nth-child(3n+2){aspect-ratio:4/3}.portfolio-item:nth-child(3n+3){aspect-ratio:1/1}
.portfolio-item__link{display:block;position:absolute;inset:0}
.portfolio-item__bg{position:absolute;inset:0;transition:filter .6s,transform .6s}.portfolio-item__bg img{width:100%;height:100%;object-fit:cover}
.portfolio-item:hover .portfolio-item__bg{filter:saturate(0) brightness(.7);transform:scale(1.05)}
.portfolio-item__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--bb-space-md);opacity:0;transition:opacity .4s;background:linear-gradient(to top,rgba(97,26,36,.8),transparent 60%);z-index:1}
.portfolio-item:hover .portfolio-item__overlay{opacity:1}
.portfolio-item__category{font-size:var(--bb-text-xs);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);color:var(--bb-rose-ancien);font-weight:500;margin-bottom:.25rem}
.portfolio-item__title{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:#fff;font-weight:600;margin-bottom:.15rem}
.portfolio-item__client{font-size:var(--bb-text-small);color:rgba(255,255,255,.65)}
.portfolio-empty{grid-column:1/-1;text-align:center;padding:var(--bb-space-2xl);font-family:var(--bb-font-display);font-style:italic;color:var(--bb-text-secondary);font-size:var(--bb-text-body-lg);display:none}

/* Single portfolio */
.project-detail__back{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--bb-text-small);color:var(--bb-text-secondary);margin-bottom:var(--bb-space-xl);cursor:pointer;border:none;background:none;font-family:var(--bb-font-body);transition:color .3s;text-decoration:none}.project-detail__back:hover{color:var(--bb-bordeaux)}
.project-detail__hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--bb-space-2xl);align-items:center;margin-bottom:var(--bb-space-3xl)}
.project-detail__image{border-radius:var(--bb-radius-lg);overflow:hidden;aspect-ratio:4/3}.project-detail__image img{width:100%;height:100%;object-fit:cover}
.project-detail__meta{display:flex;gap:var(--bb-space-md);margin:var(--bb-space-sm) 0 var(--bb-space-lg);flex-wrap:wrap}
.project-detail__meta-item{font-size:var(--bb-text-xs);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);color:var(--bb-text-secondary)}
.project-detail__meta-dot{width:4px;height:4px;border-radius:50%;background:var(--bb-rose-ancien);align-self:center}
.project-story{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bb-space-lg);margin-bottom:var(--bb-space-3xl)}
.project-story__label{font-size:var(--bb-text-xs);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);color:var(--bb-rose-ancien);font-weight:500;margin-bottom:var(--bb-space-xs)}
.project-story__text{font-size:var(--bb-text-body);color:var(--bb-text-secondary);line-height:1.7}

/* Before/After Slider */
.ba-slider{position:relative;border-radius:var(--bb-radius-lg);overflow:hidden;aspect-ratio:16/9;margin-bottom:var(--bb-space-3xl);cursor:ew-resize;user-select:none;-webkit-user-select:none}
.ba-slider__before,.ba-slider__after{position:absolute;inset:0}.ba-slider__before{z-index:2;clip-path:inset(0 50% 0 0)}.ba-slider__after{z-index:1}
.ba-slider__before img,.ba-slider__after img{width:100%;height:100%;object-fit:cover}
.ba-slider__handle{position:absolute;top:0;bottom:0;left:50%;z-index:3;width:4px;background:#fff;transform:translateX(-50%);box-shadow:0 0 12px rgba(0,0,0,.25)}
.ba-slider__handle::before{content:'⟨ ⟩';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--bb-bordeaux);font-weight:700;letter-spacing:.2em;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.ba-slider__label{position:absolute;top:var(--bb-space-sm);z-index:4;font-size:var(--bb-text-xs);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);font-weight:500;padding:.35rem .75rem;border-radius:var(--bb-radius-full);background:rgba(0,0,0,.5);color:#fff;backdrop-filter:blur(4px)}
.ba-slider__label--before{left:var(--bb-space-sm)}.ba-slider__label--after{right:var(--bb-space-sm)}

/* Project testimonial */
.project-testimonial{background:var(--bb-bg-cream);border-radius:var(--bb-radius-lg);padding:var(--bb-space-xl);position:relative;max-width:700px;margin:0 auto var(--bb-space-xl)}
.project-testimonial::before{content:'"';font-family:var(--bb-font-display);font-size:6rem;color:var(--bb-rose-ancien);opacity:.1;position:absolute;top:-.5rem;left:1.5rem;line-height:1}
.project-testimonial__text{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);font-style:italic;color:var(--bb-text-primary);line-height:1.55;margin-bottom:var(--bb-space-md);position:relative}
.project-testimonial__author{display:flex;align-items:center;gap:.75rem}
.project-testimonial__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--bb-rose-ancien),var(--bb-marsala));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--bb-font-display);font-size:1.2rem;font-weight:600}
.project-testimonial__name{font-weight:500;font-size:var(--bb-text-small)}
.project-testimonial__company{font-size:var(--bb-text-xs);color:var(--bb-text-secondary)}

@media(max-width:999px){.portfolio-masonry{grid-template-columns:repeat(2,1fr)}.project-detail__hero,.project-story{grid-template-columns:1fr}}
@media(max-width:767px){.portfolio-masonry{grid-template-columns:1fr}.portfolio-item,.portfolio-item:nth-child(n){aspect-ratio:4/3}}
