.portfolio-filter-tabs{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:3.5rem;display:flex}.agency-tab-btn{background:var(--glass-bg);border:1px solid var(--color-border);color:var(--color-light);cursor:pointer;transition:var(--transition);border-radius:9999px;min-height:44px;padding:.6rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:600}.agency-tab-btn:hover,.agency-tab-btn.active{background:var(--color-primary);color:#0b0f19;border-color:var(--color-primary);box-shadow:0 0 15px var(--color-primary-glow)}.agency-tab-btn:active{transform:scale(.97)}.agency-tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.portfolio__container{grid-template-columns:repeat(3,1fr);gap:2.2rem;display:grid}.portfolio__item{border-radius:var(--radius-md);transition:var(--transition);background:var(--color-bg-card);border:1px solid var(--color-border);flex-direction:column;justify-content:space-between;display:flex;overflow:hidden}.portfolio__item:hover{border-color:var(--color-border-glow);transform:translateY(-6px);box-shadow:0 20px 50px #0006,0 0 25px #7ec8341a}.portfolio-card-media{width:100%;height:220px;position:relative;overflow:hidden}.portfolio-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio__item:hover .portfolio-img{transform:scale(1.06)}.portfolio-overlay{backdrop-filter:blur(4px);opacity:0;background:#07090ebf;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.portfolio__item:hover .portfolio-overlay{opacity:1}@media (hover:none){.portfolio-overlay{opacity:1}}.view-case-study-btn{background:var(--color-primary);color:#000;box-shadow:0 5px 15px var(--color-primary-glow);transition:var(--transition);border-radius:9999px;align-items:center;gap:6px;min-height:44px;padding:.6rem 1.3rem;font-size:.88rem;font-weight:700;display:inline-flex}.view-case-study-btn:hover{box-shadow:0 8px 20px var(--color-primary-glow);background:#8fe03e;transform:translateY(-2px)}.case-study-badge{border:1px solid var(--color-border-glow);color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;backdrop-filter:blur(8px);background:#0f1624d9;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:12px;left:12px}.portfolio-card-content{flex-direction:column;gap:.8rem;padding:1.5rem;display:flex}.portfolio-title{color:var(--color-white);font-size:1.2rem;font-weight:700;line-height:1.3}.portfolio-subtitle{color:var(--color-light);font-size:.88rem;line-height:1.5}.portfolio-card-actions{flex-wrap:wrap;gap:.8rem;margin-top:.5rem;display:flex}.portfolio-card-actions .btn{flex:120px}.btn-sm{min-height:44px;padding:.65rem 1.1rem;font-size:.85rem}.seeMore__btn{justify-content:center;margin-top:4rem;display:flex}@media screen and (max-width:600px){.seeMore__btn .btn{width:100%;max-width:280px;min-height:40px;padding:.6rem 1.1rem;font-size:.85rem}.portfolio-card-actions .btn{flex:100px;min-height:38px;padding:.5rem .8rem;font-size:.8rem}.view-case-study-btn{min-height:38px;padding:.5rem 1rem;font-size:.8rem}.agency-tab-btn{min-height:38px;padding:.5rem 1rem;font-size:.82rem}}@media screen and (max-width:1024px){.portfolio__container{grid-template-columns:repeat(2,1fr);gap:1.8rem}}.portfolio__item{height:100%}.portfolio-empty-state{text-align:center;color:var(--color-light);padding:60px 20px}@media screen and (max-width:650px){.portfolio__container{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.portfolio__item,.portfolio-img,.portfolio-overlay,.view-case-study-btn,.agency-tab-btn{transition:none}.portfolio__item:hover,.portfolio__item:hover .portfolio-img{transform:none}}
.skeleton{background:var(--color-bg-variant);border-radius:.5rem;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--color-primary-variant), transparent);will-change:transform;animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-circle{border-radius:50%}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--color-bg-variant);animation:none}.skeleton:after{animation:none;display:none}}
