.gallery-hero{padding:180px 0 40px;position:relative;z-index:2;text-align:center}.gallery-hero-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:100px;background:rgba(0,120,212,.08);border:1px solid rgba(0,120,212,.25);margin-bottom:1.5rem;backdrop-filter:blur(8px)}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#0078d4;box-shadow:0 0 10px #0078d4;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.hero-badge-text{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:#50e6ff}.gallery-hero-title{font-family:var(--font-sans);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.05;color:#ffffff;letter-spacing:-.04em;margin-bottom:1.25rem}.gallery-hero-title .accent-serif{font-family:var(--font-sans);font-style:italic;font-weight:400;color:#50e6ff}.gallery-hero-title .accent-glow{background:linear-gradient(135deg,#ffffff,#0078d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gallery-hero-desc{font-family:var(--font-sans);font-size:1.05rem;color:rgba(255,255,255,.65);line-height:1.7;max-width:600px;margin:0 auto}.gallery-controls-section{padding:20px 0 40px;position:relative;z-index:10}.gallery-controls-wrapper{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:12px 20px;border-radius:100px;background:var(--glass-bg-light);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));box-shadow:inset 0 1px 0 var(--glass-specular),0 10px 30px rgba(0,0,0,.3),0 0 40px var(--glass-outer-glow)}.gallery-filter-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-pill{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:rgba(255,255,255,.6);background:transparent;border:1px solid transparent;padding:8px 18px;border-radius:100px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.filter-pill:hover{color:#ffffff;background:rgba(255,255,255,.05)}.filter-pill.active{color:#ffffff;background:rgba(0,120,212,.2);border-color:rgba(0,120,212,.4);box-shadow:0 0 20px rgba(0,120,212,.2)}.gallery-actions{display:flex;align-items:center;gap:12px;flex-grow:1;justify-content:flex-end}.gallery-search-box{position:relative;display:flex;align-items:center;min-width:220px}.gallery-search-box .search-icon{position:absolute;left:14px;color:rgba(255,255,255,.4);font-size:.85rem;pointer-events:none}.gallery-search-box input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:8px 16px 8px 38px;color:#ffffff;font-family:var(--font-sans);font-size:.85rem;outline:none;transition:all .3s ease}.gallery-search-box input:focus{background:rgba(0,0,0,.4);border-color:rgba(0,120,212,.5);box-shadow:0 0 15px rgba(0,120,212,.2)}.msc-upload-trigger{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:100px;background:linear-gradient(135deg,#0078d4,#005a9e);color:#ffffff;font-family:var(--font-sans);font-size:.82rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 15px rgba(0,120,212,.3);transition:all .3s cubic-bezier(.16,1,.3,1);white-space:nowrap}.msc-upload-trigger:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,120,212,.5)}.gallery-grid-section{padding:20px 0 100px;position:relative;z-index:2}.gallery-bento-grid{display:flex;flex-direction:column;gap:24px}.bento-card{position:relative;cursor:pointer;width:100%;height:380px;border-radius:16px;overflow:hidden}.bento-card .msc-image-box{width:100%;height:100%}.bento-card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,13,.92),rgba(8,9,13,.2) 50%,transparent);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;z-index:5;transition:background .4s ease}.bento-card:hover .bento-card-overlay{background:linear-gradient(0deg,rgba(8,9,13,.96),rgba(8,9,13,.4) 60%,transparent)}.bento-meta-badge{align-self:flex-start;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#50e6ff;background:rgba(0,120,212,.25);border:1px solid rgba(80,230,255,.3);padding:3px 10px;border-radius:100px;margin-bottom:8px;backdrop-filter:blur(4px)}.bento-title{font-family:var(--font-sans);font-size:1.25rem;font-weight:700;color:#ffffff;margin:0 0 6px;line-height:1.2}.bento-card.featured .bento-title{font-size:1.85rem}.bento-date{font-family:var(--font-mono);font-size:.72rem;color:rgba(255,255,255,.55)}.vf-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s ease}.vf-lightbox.active{opacity:1;visibility:visible}.vf-lightbox-backdrop{position:absolute;inset:0;background:rgba(6,7,10,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.vf-close-btn{position:absolute;top:24px;right:24px;z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#ffffff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.vf-close-btn:hover{background:rgba(255,255,255,.2);transform:rotate(90deg)}.vf-lightbox-body{position:relative;z-index:5;width:92%;max-width:1200px;height:82vh;display:grid;grid-template-columns:1fr 360px;gap:30px}.vf-viewport{position:relative;height:100%}.vf-nav-arrow,.vf-viewport{display:flex;align-items:center;justify-content:center}.vf-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);color:#ffffff;font-size:1rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(8px)}.vf-nav-arrow.vf-prev{left:10px}.vf-nav-arrow.vf-next{right:10px}.vf-nav-arrow:hover{background:rgba(0,120,212,.6);border-color:#0078d4;transform:translateY(-50%) scale(1.1)}.vf-img-wrapper{width:100%;height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;border-radius:16px}.vf-img-wrapper img{width:100%;height:100%;object-fit:contain;border-radius:12px}.vf-panel{background:rgba(18,20,29,.85);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px 24px;display:flex;flex-direction:column;backdrop-filter:blur(24px);box-shadow:0 20px 50px rgba(0,0,0,.5);overflow-y:auto}.vf-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.vf-tag{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#50e6ff;background:rgba(0,120,212,.2);padding:4px 12px;border-radius:100px;border:1px solid rgba(0,120,212,.4)}.vf-date,.vf-tag{font-family:var(--font-mono)}.vf-date{font-size:.72rem;color:rgba(255,255,255,.5)}.vf-title{font-size:1.6rem;font-weight:700;color:#ffffff;margin-bottom:12px;line-height:1.25}.vf-desc,.vf-title{font-family:var(--font-sans)}.vf-desc{font-size:.92rem;color:rgba(255,255,255,.7);line-height:1.65;margin-bottom:24px}.vf-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);margin-bottom:24px}.vf-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:auto}.vf-stat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:12px;border-radius:10px}.vf-stat-label{font-family:var(--font-mono);font-size:.62rem;color:rgba(255,255,255,.45);text-transform:uppercase;margin-bottom:4px;display:block}.vf-stat-value{font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:#ffffff}.vf-panel-actions{margin-top:24px}.vf-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;border-radius:100px;font-family:var(--font-sans);font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease}.vf-action-btn.primary{background:#0078d4;color:#ffffff;border:none;box-shadow:0 4px 15px rgba(0,120,212,.4)}.vf-action-btn.primary:hover{background:#0086ed;box-shadow:0 8px 25px rgba(0,120,212,.6)}.upload-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.upload-modal.active{opacity:1;visibility:visible}.upload-modal-backdrop{position:absolute;inset:0;background:rgba(8,9,13,.85);backdrop-filter:blur(16px)}.upload-modal-card{position:relative;z-index:5;width:90%;max-width:560px;background:#12141d;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:28px;box-shadow:0 25px 60px rgba(0,0,0,.6);max-height:90vh;overflow-y:auto}.upload-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.upload-modal-title{font-family:var(--font-sans);font-size:1.4rem;font-weight:700;color:#ffffff;margin:0 0 4px}.upload-modal-subtitle{font-family:var(--font-sans);font-size:.85rem;color:rgba(255,255,255,.55);margin:0}.upload-modal-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:1.2rem;cursor:pointer;transition:color .25s ease}.upload-modal-close:hover{color:#ffffff}.drop-zone{position:relative;border:2px dashed rgba(0,120,212,.4);border-radius:12px;padding:24px;text-align:center;background:rgba(0,120,212,.03);margin-bottom:20px;cursor:pointer;transition:all .3s ease}.drop-zone.dragover,.drop-zone:hover{border-color:#0078d4;background:rgba(0,120,212,.08)}.drop-zone-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.drop-icon{font-size:2rem;color:#0078d4;margin-bottom:8px}.drop-title{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:#ffffff;margin:0 0 4px}.drop-hint{font-size:.75rem;color:rgba(255,255,255,.45);margin:0}.drop-zone-preview{position:relative;width:100%;height:180px;border-radius:8px;overflow:hidden}.drop-zone-preview img{width:100%;height:100%;object-fit:cover}.preview-remove-btn{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.7);border:none;color:#ff4d4d;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.upload-form{display:flex;flex-direction:column;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 14px;color:#ffffff;font-family:var(--font-sans);font-size:.85rem;outline:none;transition:border-color .3s ease}.form-group select option{background:#12141d;color:#ffffff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0078d4}.upload-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}.form-btn{padding:10px 20px;border-radius:100px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:all .3s ease}.form-btn.cancel{background:rgba(255,255,255,.06);color:rgba(255,255,255,.7)}.form-btn.cancel:hover{background:rgba(255,255,255,.12)}.form-btn.submit{background:#0078d4;color:#ffffff;box-shadow:0 4px 15px rgba(0,120,212,.3)}.form-btn.submit:hover{background:#0086ed}@media (max-width:1024px){.gallery-bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}.vf-lightbox-body{grid-template-columns:1fr;height:90vh;overflow-y:auto}.vf-panel{height:auto}}@media (max-width:768px){.gallery-controls-wrapper{border-radius:16px}.gallery-actions,.gallery-controls-wrapper{flex-direction:column;align-items:stretch}.gallery-search-box{width:100%}.msc-upload-trigger{width:100%;justify-content:center}.gallery-bento-grid{grid-template-columns:1fr;grid-auto-rows:250px}.bento-card.featured,.bento-card.tall,.bento-card.wide{grid-column:span 1;grid-row:span 1}.form-row{grid-template-columns:1fr}}.circular-gallery{width:100%;height:100%;overflow:hidden;cursor:grab}.circular-gallery:active{cursor:grabbing}.circular-gallery:focus-visible{outline:2px solid #fff;outline-offset:4px}