.portfolio-section{padding:var(--spacing-xl) 0}.portfolio-filters{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.filter-btn{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);margin:0 var(--spacing-xs);font-size:var(--font-size-medium);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;position:relative;transition:all .3s ease}.filter-btn:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background-color:var(--primary-color);transition:all .3s ease;transform:translate(-50%)}.filter-btn:hover:after,.filter-btn.active:after{width:50%}.filter-btn.active{font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.portfolio-item{position:relative;overflow:hidden;aspect-ratio:1;cursor:pointer}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e30613b3;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-title{color:var(--secondary-color);text-align:center;padding:var(--spacing-md)}.portfolio-title h3{font-size:var(--font-size-large);margin-bottom:var(--spacing-xs);text-transform:uppercase}.portfolio-title p{font-size:var(--font-size-medium);opacity:.8}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal.open{opacity:1;visibility:visible}.modal-content{position:relative;max-width:90%;max-height:90vh;background-color:var(--secondary-color);overflow:auto;display:flex;flex-direction:column;color:var(--text-color);padding-bottom:var(--spacing-lg)}.modal-close{position:absolute;top:15px;right:20px;font-size:30px;color:var(--text-light);cursor:pointer;z-index:1001}.modal-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);padding:var(--spacing-md)}.modal-image{width:100%;height:auto;object-fit:contain}.modal-info{padding:var(--spacing-md) var(--spacing-lg)}.modal-info h2{margin-bottom:var(--spacing-sm);text-transform:uppercase;color:var(--primary-color)}.modal-category{font-size:var(--font-size-medium);color:var(--primary-color);margin-bottom:var(--spacing-md);text-transform:uppercase}.modal-description{font-size:var(--font-size-medium);line-height:1.6}.scroll-indicator-container{position:absolute;bottom:20px;left:0;width:100%;display:flex;justify-content:center;pointer-events:none}.modal-scroll-indicator{background-color:var(--primary-color);color:var(--text-light);padding:10px 20px;border-radius:20px;display:flex;align-items:center;gap:8px;animation:bounce 1.5s infinite;box-shadow:0 4px 8px #0003}.modal-scroll-indicator i{font-size:12px}.modal-scroll-indicator span{font-size:14px;font-weight:500}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 768px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.modal-content{max-width:95%}.modal-gallery{grid-template-columns:1fr}}
