*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#c81f25;--primary-dark:#ab0d22;--text-dark:#0b113a;--text-light:#666;--border-color:#e0e0e0;--shadow-sm:0 2px 8px rgba(0,0,0,.1);--shadow-md:0 4px 16px rgba(0,0,0,.15);--shadow-lg:0 8px 32px rgba(0,0,0,.2)}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f8f9fa;color:var(--text-dark);line-height:1.6}.gallery-header{padding:2rem 1rem;position:relative;top:0}.gallery-header h1{text-align:center;font-size:2rem;color:var(--text-dark);margin-bottom:.5rem}.gallery-header p{text-align:center;color:var(--text-light);font-size:1rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:var(--text-dark);border:2px solid var(--border-color);border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;margin:2rem auto;cursor:pointer}.back-button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateX(-4px)}.back-button .material-symbols-outlined{font-size:1.2rem}.share-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:2px solid var(--primary-color);border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;margin:2rem 0 2rem 1rem;cursor:pointer}.share-button:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-2px)}.share-button .material-symbols-outlined{font-size:1.2rem}.share-button.copied{background:#28a745;border-color:#28a745}.button-group{display:flex;align-items:center;flex-wrap:wrap}.container{max-width:1400px;margin:0 auto;padding:2rem 1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}.project-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease;cursor:pointer;position:relative}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.project-card-image{width:100%;height:280px;object-fit:cover;background:#f0f0f0;position:relative;background-size:cover;background-repeat:no-repeat;background-position:center}.project-card-badge{position:absolute;top:1rem;right:1rem;background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.3rem}.project-card-content{padding:1.5rem}.project-card-category{color:var(--primary-color);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.project-card-title{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.project-card-description{color:var(--text-light);font-size:.95rem;margin-bottom:1rem;line-height:1.5;display:none}.project-card-meta{display:flex;gap:1.5rem;color:var(--text-light);font-size:.875rem}.project-card-meta-item{display:flex;align-items:center;gap:.3rem}.project-card-meta-item .material-symbols-outlined{font-size:1.1rem}.project-detail{display:none}.project-detail.active{display:block}.project-detail-header{background:#fff;padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.project-detail-header h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:1rem}.project-detail-header p{color:var(--text-light);font-size:1.1rem;max-width:800px}.project-stats{display:flex;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}.project-stat{display:flex;align-items:center;gap:.5rem;color:var(--text-dark);font-weight:600}.project-stat .material-symbols-outlined{color:var(--primary-color);font-size:1.5rem}.filter-tabs{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;background:#fff;padding:1rem;border-radius:12px;box-shadow:var(--shadow-sm)}.filter-tab{padding:.75rem 1.5rem;border:2px solid var(--border-color);background:#fff;color:var(--text-dark);border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.filter-tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.media-item{position:relative;aspect-ratio: 4/3;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .3s ease;background:#f0f0f0}.media-item:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.media-item img,.media-item video{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.media-item img.loading{opacity:0}.media-item img.loaded{opacity:1}.video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;transition:background .3s ease}.media-item:hover .video-overlay{background:rgba(0,0,0,.5)}.play-button{width:60px;height:60px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.media-item:hover .play-button{transform:scale(1.1);background:var(--primary-dark)}.play-button .material-symbols-outlined{font-size:2rem;color:#fff}.media-item.skeleton::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }.load-more-container{text-align:center;margin:3rem 0}.load-more-btn{padding:1rem 3rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.load-more-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.load-more-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.load-more-btn .material-symbols-outlined{font-size:1.2rem}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:1000;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox-content{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid #fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1001}.lightbox-close:hover{background:#fff;transform:rotate(90deg)}.lightbox-close .material-symbols-outlined{font-size:2rem;color:#fff;transition:color .3s ease}.lightbox-close:hover .material-symbols-outlined{color:var(--text-dark)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid #fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1001}.lightbox-nav:hover{background:#fff}.lightbox-nav.prev{left:2rem}.lightbox-nav.next{right:2rem}.lightbox-nav .material-symbols-outlined{font-size:2rem;color:#fff;transition:color .3s ease}.lightbox-nav:hover .material-symbols-outlined{color:var(--text-dark)}.lightbox-counter{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);color:#fff;padding:.75rem 1.5rem;border-radius:20px;font-weight:600}@media (max-width:768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.project-detail-header h2{font-size:1.75rem}.gallery-header h1{font-size:1.5rem}.filter-tabs{gap:.5rem}.filter-tab{padding:.5rem 1rem;font-size:.875rem}.lightbox-nav,.lightbox-close{width:40px;height:40px}.lightbox-nav .material-symbols-outlined,.lightbox-close .material-symbols-outlined{font-size:1.5rem}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-light)}.empty-state .material-symbols-outlined{font-size:4rem;margin-bottom:1rem;opacity:.3}.empty-state h3{font-size:1.5rem;margin-bottom:.5rem}