.portfolio-filters-section{border-bottom:1px solid var(--slate-200);background:#fff;padding:1.5rem 0;position:relative;top:60px}.portfolio-filters-grid{grid-template-columns:1fr;align-items:center;gap:1rem;display:grid}.portfolio-filter-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-filter-tabs .filter-tab{transition:background-color .2s,color .2s,border-color .2s,transform .2s}.portfolio-filter-tabs .filter-tab:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.portfolio-search-box,.search-input-wrapper{position:relative}.search-input-wrapper .form-input{padding-left:2.5rem}.search-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.portfolio-grid-section{scroll-margin-top:5rem}.portfolio-project-card{min-width:0;height:100%;color:inherit;text-decoration:none;transition:box-shadow .25s,border-color .25s,transform .25s;position:relative;overflow:hidden}.portfolio-project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-300);transform:translateY(-2px)}.portfolio-project-card:focus-visible{outline:2px solid var(--primary-500);outline-offset:3px}.portfolio-project-card>div:first-child{min-width:0}.portfolio-project-image{background:#0f172a;height:12rem;position:relative;overflow:hidden}.portfolio-project-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.portfolio-project-card:hover .portfolio-project-image img{transform:scale(1.035)}.portfolio-project-image-placeholder{color:#ffffff8c;background:linear-gradient(135deg,#1e293b,#0f172a);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:100%;height:100%;font-size:.8rem;display:flex}.portfolio-project-image-placeholder i{opacity:.7;width:22px;height:22px}.project-category-badge{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 1.5rem);position:absolute;top:.75rem;right:.75rem;overflow:hidden}.project-status-badge{position:absolute;bottom:.75rem;right:.75rem}.portfolio-project-body{padding:1.25rem}.project-meta{min-height:2rem;color:var(--text-muted);border-bottom:1px solid var(--slate-100);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;font-size:.6875rem;display:flex}.project-meta>span:first-child{min-width:0}.project-meta strong{color:var(--slate-800)}.project-contract{min-width:0;color:var(--primary-700);align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.6875rem;display:flex}.project-contract span{text-overflow:ellipsis;overflow:hidden}.project-contract i{flex-shrink:0;width:13px;height:13px}.portfolio-project-title{color:var(--slate-900);margin:0;font-size:.9375rem;line-height:1.5}.portfolio-project-desc{color:var(--slate-600);text-align:justify;margin:.25rem 0 0;font-size:.75rem;line-height:1.7}.portfolio-project-techs{flex-wrap:wrap;gap:.35rem;padding-top:.75rem;display:flex}.tech-badge{color:#475569;text-overflow:ellipsis;background:#f1f5f9;max-width:100%;font-family:monospace;font-size:.625rem;overflow:hidden}.portfolio-project-footer{background:var(--slate-50);border-top:1px solid var(--slate-100);color:var(--primary-700);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.75rem;font-weight:700;display:flex}.portfolio-project-footer i{flex-shrink:0;width:16px;height:16px}.portfolio-empty-state{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:.75rem;min-height:20rem;padding:4rem 1rem;display:flex}.portfolio-empty-state i{width:48px;height:48px;color:var(--text-muted)}.portfolio-empty-state h4{color:var(--slate-800);margin:0;font-size:1.1rem;font-weight:700}.portfolio-empty-state p{color:var(--text-muted);margin:0;font-size:.8125rem}.portfolio-request-error{min-height:18rem}.portfolio-pagination{justify-content:center;margin-top:2rem;display:flex}.portfolio-pagination[hidden]{display:none}.portfolio-assurance-banner{color:#fff;background:#0f172a;padding:4rem 0}.assurance-grid{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}.assurance-content{flex-direction:column;gap:.75rem;display:flex}.assurance-badge{color:#fde68a;background:#fbbf2433;border:1px solid #fbbf2466;width:fit-content;display:inline-block}.assurance-content h3{color:#fff;margin:0;font-size:1.35rem;font-weight:800}.assurance-content p{color:#cbd5e1;text-align:justify;margin:0;font-size:.8125rem;line-height:1.8}.assurance-action{text-align:center}.portfolio-main-grid.is-loading{opacity:.55;pointer-events:none}@media (width>=768px){.portfolio-filters-grid{grid-template-columns:2fr 1fr}}@media (width>=1024px){.assurance-grid{grid-template-columns:2fr 1fr}.assurance-action{text-align:left}}@media (width<=639px){.portfolio-filter-tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.portfolio-filter-tabs::-webkit-scrollbar{display:none}.portfolio-filter-tabs .filter-tab{flex:none}.portfolio-project-image{height:13rem}.project-meta{flex-direction:column;gap:.25rem}.portfolio-project-body{padding:1rem}.portfolio-project-footer{padding:.75rem 1rem}.portfolio-assurance-banner{padding:3rem 0}.assurance-content h3{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.portfolio-project-card,.portfolio-project-image img,.portfolio-filter-tabs .filter-tab{transition:none}}
