.portfolio-section{padding:10rem 0 8rem;background-color:#f8fafc;position:relative;overflow:hidden}.portfolio-bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(rgba(15,23,42,.03) 1px,transparent 0);background-size:24px 24px;z-index:1;pointer-events:none}.header-content{max-width:680px}.badge-subheading{font-size:.65rem;font-weight:700;letter-spacing:.15em;color:#6366f1;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15)}.section-title{font-family:system-ui,sans-serif;font-size:clamp(2.2rem,4.8vw,3.5rem);font-weight:800;letter-spacing:-.03em;color:#0f172a}.section-title span{color:#64748b;font-weight:400}.lead-text{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.75}.filter-container{display:flex;justify-content:center;gap:.25rem;margin-bottom:4.5rem;flex-wrap:wrap;background:#ffffff;padding:.4rem;border-radius:100px;box-shadow:0 4px 20px rgba(15,23,42,.02);border:1px solid rgba(15,23,42,.05);width:-moz-fit-content;width:fit-content;margin-left:auto;margin-right:auto}.filter-tab{background:transparent;border:none;padding:.6rem 1.6rem;border-radius:100px;color:#64748b;font-weight:600;font-size:.92rem;text-transform:capitalize;transition:all .25s ease;cursor:pointer}.filter-tab:hover{color:#0f172a}.filter-tab.active{background-color:#0f172a;color:#ffffff;box-shadow:0 8px 16px rgba(15,23,42,.1)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:2.5rem;gap:2.5rem}.portfolio-card{border-radius:24px;overflow:hidden;border:1px solid rgba(15,23,42,.04);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .4s ease;display:flex;flex-direction:column}.portfolio-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(15,23,42,.04)!important;border-color:rgba(99,102,241,.2)}.image-wrapper{width:100%;padding-top:75%;overflow:hidden;background-color:#f8fafc;border-bottom:1px solid rgba(15,23,42,.04)}.image-link{display:block;position:absolute;inset:0}.category-glass-badge{position:absolute;top:1.25rem;left:1.25rem;background:rgba(15,23,42,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffff;font-size:.65rem;font-weight:700;text-transform:uppercase;padding:5px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);letter-spacing:.05em;z-index:2}.card-body{padding:2.5rem;display:flex;flex-direction:column;flex-grow:1}.card-title{font-size:1.35rem;color:#0f172a;letter-spacing:-.01em;transition:color .25s ease}.portfolio-card:hover .card-title{color:#6366f1}.services-container{display:flex;flex-wrap:wrap;gap:.4rem}.tech-badge{font-size:.7rem;font-weight:700;color:#475569;background-color:#f1f5f9;padding:.35rem .65rem;border-radius:6px;letter-spacing:-.01em;border:1px solid rgba(15,23,42,.03)}.card-text{font-size:.92rem;line-height:1.65;color:#475569;margin-bottom:2rem;flex-grow:1}.btn-agency-link{display:inline-flex;align-items:center;font-weight:600;color:#0f172a;text-decoration:none!important;font-size:.9rem;transition:color .25s ease}.btn-agency-link i{transition:transform .25s cubic-bezier(.16,1,.3,1);font-size:.75rem}.btn-agency-link:hover{color:#6366f1}.btn-agency-link:hover i{transform:translate(3px,-3px)}.btn-agency-link.disabled-lock{color:#94a3b8;cursor:default}.empty-state{grid-column:1/-1;text-align:center;padding:5rem 2rem;background:#ffffff;border-radius:24px;border:1px dashed rgba(15,23,42,.1)}.empty-icon-wrapper{width:64px;height:64px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;color:#cbd5e1;font-size:1.5rem}.portfolio-section :focus-visible{outline:2px solid #6366f1;outline-offset:4px;border-radius:4px}@media (max-width:767px){.portfolio-section{padding:7rem 0 5rem}.card-body{padding:2rem 1.75rem}}