.portfolio-listing{margin:var(--spacing-lg, 2rem) 0;position:relative}.portfolio-listing--loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff6;pointer-events:none;z-index:2}.portfolio-listing__filters{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:var(--spacing-lg, 2rem);padding-bottom:var(--spacing-md, 1rem);justify-content:center}@media(min-width:768px){.portfolio-listing__filters{margin-top:-8rem;padding-bottom:6rem}}.portfolio-listing__filter-btn{background:transparent;border:1px solid var(--color-accent-darker);background:var(--color-accent);border-radius:999px;padding:.35rem 1rem;font-size:.875rem;color:var(--color-text, #1f2937);cursor:pointer;font-weight:600;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.portfolio-listing__filter-btn:hover,.portfolio-listing__filter-btn.is-active{background:var(--color-primary, #4f46e5);border-color:var(--color-primary, #4f46e5);color:#fff}.portfolio-listing__grid{display:grid;gap:var(--spacing-lg, 2rem);grid-template-columns:1fr}@media(min-width:600px){.portfolio-listing__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.portfolio-listing__grid{grid-template-columns:repeat(3,1fr)}}.portfolio-listing__grid .pl-portfolio{overflow:unset;aspect-ratio:unset;background:unset;border-radius:unset;box-shadow:unset;display:flex;flex-flow:column}.portfolio-listing__grid .pl-portfolio:hover{box-shadow:unset}.portfolio-listing__grid .pl-portfolio:hover .pl-portfolio__front{opacity:1}.portfolio-listing__grid .pl-portfolio>a{background:#374151;border-radius:12px;width:100%;transition:box-shadow .3s;display:block;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000026}.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__categories{position:absolute;display:block;padding:15px 20px}@media(max-width:768px){.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__categories{padding:10px}}.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__categories .pl-portfolio__category{display:inline-block;color:var(--color-primary);border:1px solid var(--color-primary);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;line-height:normal;margin-right:.5rem}@media(max-width:768px){.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__categories .pl-portfolio__category{margin-right:.3rem;margin-bottom:.3rem}}.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__gradient{display:flex;align-items:center;justify-content:center}.portfolio-listing__grid .pl-portfolio>a .pl-portfolio__gradient .pl-portfolio__logo{max-height:180px;margin-top:0!important;margin-left:0}.portfolio-listing__grid .pl-portfolio__front{position:relative;padding:.5rem 0;display:inline-block}.portfolio-listing__grid .pl-portfolio__front .pl-portfolio__title{color:var(--color-text);text-shadow:unset;font-size:1.1rem!important}.portfolio-listing__pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:var(--spacing-xl, 3rem)}.portfolio-listing__page-btn{min-width:2.5rem;height:2.5rem;padding:0 .65rem;border-radius:6px;border:1px solid var(--color-neutral-lighter, #e5e7eb);background:#fff;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.portfolio-listing__page-btn:hover,.portfolio-listing__page-btn.is-active{background:var(--color-primary, #4f46e5);border-color:var(--color-primary, #4f46e5);color:#fff}.portfolio-listing__empty,.portfolio-listing__error{margin:var(--spacing-lg, 2rem) 0;text-align:center;color:var(--color-neutral-dark, #4b5563)}.portfolio-listing__load-more-wrap{display:flex;justify-content:center;margin-top:var(--spacing-xl, 3rem)}.portfolio-listing__load-more{display:inline-flex;align-items:center;justify-content:center;padding:.4rem 1.5rem;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;border-radius:999px;transition:background .2s ease,opacity .2s ease}.portfolio-listing__load-more:hover:not(:disabled){filter:brightness(1.05)}.portfolio-listing__load-more:disabled{opacity:.5;cursor:not-allowed}
