.portfolio__filters{padding:var(--space-8) var(--section-padding-x);border-bottom:1px solid var(--color-border);top:var(--header-height);background-color:color-mix(in srgb, var(--color-background) 95%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;position:sticky}.portfolio__filters-inner{max-width:var(--container-max);gap:var(--space-3);flex-wrap:wrap;margin-left:auto;margin-right:auto;display:flex}.portfolio__filter-btn{font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:.1em;padding:var(--space-2) var(--space-5);text-transform:uppercase;transition:background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);border:1px solid var(--color-border);color:var(--color-muted-foreground);background-color:#0000;font-size:.85rem}.portfolio__filter-btn:hover{border-color:color-mix(in srgb, var(--color-foreground) 30%, transparent);color:var(--color-foreground)}.portfolio__filter-btn--active{background-color:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.portfolio__count{font-family:var(--font-mono);color:color-mix(in srgb, var(--color-muted-foreground) 40%, transparent);font-size:var(--text-xs);align-self:center;margin-left:auto}.portfolio__grid-section{padding:var(--space-16) var(--section-padding-x)}.portfolio__grid{background-color:var(--color-border);grid-template-columns:1fr;gap:1px;display:grid}@media (min-width:768px){.portfolio__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.portfolio__grid{grid-template-columns:repeat(3,1fr)}}.portfolio__card{background-color:var(--color-card);cursor:pointer}.portfolio__image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.portfolio__image{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-default)}.portfolio__card:hover .portfolio__image{transform:scale(1.05)}.portfolio__overlay{background-color:color-mix(in srgb, var(--color-background) 50%, transparent);transition:background-color var(--duration-normal) var(--ease-default);position:absolute;inset:0}.portfolio__card:hover .portfolio__overlay{background-color:color-mix(in srgb, var(--color-background) 20%, transparent)}.portfolio__hover-cta{transition:opacity var(--duration-normal) var(--ease-default);opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio__hover-cta--visible{opacity:1}.portfolio__view-btn{background-color:var(--color-primary);color:var(--color-primary-foreground);padding:var(--space-2) var(--space-5);align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:.1em;font-size:.85rem;display:flex}.portfolio__info{padding:var(--space-6);border-top:1px solid var(--color-border)}.portfolio__info-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.portfolio__client{font-family:var(--font-display);font-weight:var(--font-weight-black);letter-spacing:-.01em;color:var(--color-foreground);text-transform:uppercase;font-size:1.35rem;line-height:1}.portfolio__year{font-family:var(--font-mono);color:color-mix(in srgb, var(--color-muted-foreground) 50%, transparent);font-size:var(--text-xs);flex-shrink:0}.portfolio__desc{font-family:var(--font-body);color:var(--color-muted-foreground);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.portfolio__info-footer{justify-content:space-between;align-items:center;display:flex}.portfolio__result{font-family:var(--font-display);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide);color:var(--color-primary);font-size:var(--text-sm);text-transform:uppercase}.portfolio__type{font-family:var(--font-mono);letter-spacing:var(--tracking-wider);color:color-mix(in srgb, var(--color-muted-foreground) 50%, transparent);font-size:var(--text-xs);text-transform:uppercase;border:1px solid var(--color-border);padding:var(--space-1) var(--space-2)}
