.video-gallery{width:100%}.filter-container{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;justify-content:center}.filter-btn{padding:10px 24px;background:transparent;border:2px solid rgba(255,255,255,.2);border-radius:24px;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);color:var(--color-text-secondary);transition:all .3s ease}.filter-btn:hover{border-color:var(--color-brand-purple);color:var(--color-text-primary)}.filter-btn.active{background:var(--gradient-purple);border-color:var(--color-brand-purple);color:var(--color-text-primary);box-shadow:0 4px 20px #6a0dad66}.bento-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.grid-item{position:relative;overflow:hidden;border-radius:16px;cursor:pointer;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 20px #0000004d;aspect-ratio:9 / 16}.grid-item.featured{grid-column:span 1;grid-row:span 1}.grid-item:hover{transform:scale(1.02);box-shadow:0 8px 40px #0006,0 0 0 2px #6a0dad80,0 0 30px #6a0dad4d}.video-thumb{width:100%;height:100%;position:relative;overflow:hidden}.video-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#0003,#0009);z-index:1;transition:background .4s ease;pointer-events:none}.grid-item:hover .video-thumb:before{background:linear-gradient(180deg,#6a0dad1a,#0000004d 40%,#000000d9)}.video-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.grid-item:hover .video-thumb img{transform:scale(1.08)}.play-overlay{position:absolute;inset:0;background:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s cubic-bezier(.25,.46,.45,.94),background .4s ease;z-index:2}.grid-item:hover .play-overlay{opacity:1;background:#0000004d}.play-button{width:80px;height:80px;background:var(--gradient-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;z-index:1}.play-button:before,.play-button:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(106,13,173,.6);opacity:0;transition:opacity .3s ease}.play-button:after{inset:-16px;border-color:#6a0dad4d}.grid-item:hover .play-button:before{opacity:1;animation:playPulseInner 1.5s cubic-bezier(.25,.46,.45,.94) infinite}.grid-item:hover .play-button:after{opacity:1;animation:playPulseOuter 1.5s cubic-bezier(.25,.46,.45,.94) infinite .2s}@keyframes playPulseInner{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:.4}to{transform:scale(1.4);opacity:0}}@keyframes playPulseOuter{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:.3}to{transform:scale(1.3);opacity:0}}.grid-item:hover .play-button{transform:scale(1.1);box-shadow:0 0 20px #6a0dadcc,0 0 40px #6a0dad66,0 8px 30px #6a0dad99}.project-info{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9));color:#fff;z-index:3;transform:translateY(8px);transition:transform .4s cubic-bezier(.25,.46,.45,.94),background .4s ease}.grid-item:hover .project-info{transform:translateY(0);background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.95) 100%)}.category-badge{display:inline-block;padding:4px 12px;background:var(--color-brand-yellow);color:var(--color-primary-bg);border-radius:12px;font-size:.75rem;font-weight:600;margin-bottom:8px}.project-info h3{font-size:1.25rem;font-weight:600;margin-bottom:4px;color:#fff}.project-info p{font-size:.875rem;color:var(--color-text-secondary);margin:0}.lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease;padding:20px}.lightbox-content{position:relative;width:100%;max-width:1200px;max-height:90vh;background:var(--color-secondary-bg);border-radius:16px;overflow-y:auto;animation:slideUp .3s ease;display:flex;flex-direction:column}.close-btn{position:absolute;top:20px;right:20px;background:#000c;border:none;color:#fff;font-size:2rem;cursor:pointer;width:48px;height:48px;border-radius:50%;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-btn:hover{background:var(--color-brand-purple);transform:rotate(90deg)}.video-wrapper{width:100%;max-height:70vh;background:#000;position:relative;display:flex;align-items:center;justify-content:center}.video-wrapper video{width:auto;height:auto;max-width:100%;max-height:70vh;aspect-ratio:9 / 16;-o-object-fit:contain;object-fit:contain}.video-wrapper iframe{width:auto;height:70vh;aspect-ratio:9 / 16;max-width:100%;border:none;border-radius:8px}.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary);gap:8px}.video-placeholder .text-sm{font-size:.875rem;opacity:.6}.lightbox-info{padding:30px;overflow-y:auto;flex-shrink:0}.lightbox-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.lightbox-info h3{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0}.client-name{color:var(--color-text-secondary);font-size:1rem;margin-bottom:16px}.description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:24px}.case-study-link{display:inline-flex;align-items:center;gap:8px;color:var(--color-brand-yellow);font-weight:600;text-decoration:none;transition:all .3s ease}.case-study-link:hover{color:var(--color-text-primary);gap:12px}.skeleton-item{position:relative;overflow:hidden;border-radius:16px;background:var(--color-secondary-bg)}.skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg,#ffffff0d,#ffffff26,#ffffff0d);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:100px 20px;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.empty-icon{font-size:5rem;opacity:.5;margin-bottom:16px}.empty-state h3{font-size:1.75rem;color:var(--color-text-primary);margin-bottom:8px}.empty-state p{font-size:1.125rem;color:var(--color-text-secondary);max-width:500px;line-height:1.6;margin-bottom:24px}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;margin-left:8px;background:#ffffff1a;border-radius:12px;font-size:.75rem;font-weight:700}.filter-btn.active .filter-count{background:var(--color-brand-yellow);color:var(--color-primary-bg)}.filter-btn:active{transform:scale(.95)}.bento-grid{transition:opacity .3s ease}.bento-grid.filtering{opacity:.5;pointer-events:none}.grid-item{animation:fadeInUp .5s ease backwards}.grid-item:nth-child(1){animation-delay:.05s}.grid-item:nth-child(2){animation-delay:.1s}.grid-item:nth-child(3){animation-delay:.15s}.grid-item:nth-child(4){animation-delay:.2s}.grid-item:nth-child(5){animation-delay:.25s}.grid-item:nth-child(6){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.grid-item:focus-visible{outline:3px solid var(--color-brand-yellow);outline-offset:4px}.filter-btn:focus-visible{outline:3px solid var(--color-brand-yellow);outline-offset:2px}.close-btn:focus-visible{outline:3px solid var(--color-brand-yellow);outline-offset:2px}@media (max-width: 1024px){.bento-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid-item.featured{grid-column:span 1;grid-row:span 1}}@media (max-width: 768px){.bento-grid{grid-template-columns:repeat(2,1fr);gap:16px}.grid-item{aspect-ratio:9 / 16}.grid-item.featured{grid-column:span 1;grid-row:span 1}.video-wrapper{max-height:60vh}.video-wrapper video{max-height:60vh}.video-wrapper iframe{height:60vh}.filter-container{gap:8px}.filter-btn{padding:12px 20px;font-size:.875rem;min-height:44px;min-width:44px}.play-button{width:70px;height:70px;font-size:1.75rem}.grid-item{min-height:280px}.close-btn{width:56px;height:56px;font-size:2.25rem;top:12px;right:12px}.lightbox{padding:10px}.lightbox-content{max-height:95vh}.lightbox-info{padding:20px}.lightbox-info h3{font-size:1.5rem}}@media (hover: none){.grid-item{transition:transform .3s ease}.grid-item:hover{transform:none;box-shadow:0 4px 20px #0000004d}.grid-item:hover .video-thumb img{transform:none}.grid-item:hover .video-thumb:before{background:linear-gradient(180deg,#0000001a,#0003,#0009)}.play-overlay{opacity:1;background:#0000004d}.play-button:before,.play-button:after{display:none}.grid-item:hover .play-button{transform:none;box-shadow:0 8px 30px #6a0dad99}.project-info{transform:translateY(0)}.grid-item:active{transform:scale(.98);transition:transform .1s ease}.grid-item:active .video-thumb img{transform:scale(1.02)}}@media (prefers-reduced-motion: reduce){.grid-item,.video-thumb img,.video-thumb:before,.play-overlay,.play-button,.project-info{transition-duration:.01ms!important}.play-button:before,.play-button:after{animation:none!important}.grid-item{animation:none!important}}
