.gallery-wrapper{width:100%;display:flex;flex-direction:column;gap:36px}.hidden{display:none!important}.gallery-loading{padding:64px 20px;text-align:center}.loading-spinner{width:42px;height:42px;border:4px solid rgba(0,229,255,.25);border-top-color:#00e5ff;border-radius:50%;animation:maritron-spin .85s linear infinite;margin:0 auto 16px}@keyframes maritron-spin{to{transform:rotate(360deg)}}.loading-text{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#a9b4c2!important;font-weight:600;margin:0!important}.gallery-filter-bar{margin-bottom:8px}.mobile-filter-wrapper{display:block;max-width:380px;margin:0 auto}.select-container{position:relative}.select-icon-left{pointer-events:none;position:absolute;inset-block:0;left:0;display:flex;align-items:center;padding-left:14px;color:#00e5ff}.select-icon-right{pointer-events:none;position:absolute;inset-block:0;right:0;display:flex;align-items:center;padding-right:14px;color:#94a3b8}.mobile-select{width:100%;appearance:none;background:#040d22d9;border:1px solid rgba(79,172,254,.35);color:#f0f4f8;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:12px 40px;border-radius:12px;box-shadow:0 8px 24px #00000040;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.mobile-select:hover,.mobile-select:focus{outline:none;border-color:#00e5ff;box-shadow:0 0 0 2px #00e5ff33}.desktop-filters{display:none;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;max-width:960px;margin:0 auto}@media (min-width: 640px){.mobile-filter-wrapper{display:none}.desktop-filters{display:flex}}.gallery-filter-btn{background:#040d22b3;border:1px solid rgba(79,172,254,.3);color:#cbd5e0;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:9px 18px;border-radius:999px;cursor:pointer;transition:all .22s ease;backdrop-filter:blur(8px);display:inline-flex;align-items:center;gap:7px}.gallery-filter-btn:hover{border-color:#00e5ffa6;color:#fff;background:#0a1836e6;transform:translateY(-1px)}.gallery-filter-btn.active{background:linear-gradient(135deg,#00e5ff,#4facfe);border-color:#00e5ff;color:#040d22;box-shadow:0 4px 18px #00e5ff59}.filter-pill-count{padding:2px 7px;border-radius:999px;font-size:.72rem;background:#040d2299;color:#94a3b8;font-weight:700}.gallery-filter-btn.active .filter-pill-count{background:#040d2240;color:#040d22}.empty-gallery{text-align:center;padding:64px 24px;background:#040d22a6;border:1px dashed rgba(79,172,254,.35);border-radius:16px;max-width:640px;margin:16px auto;backdrop-filter:blur(8px)}.empty-icon{color:#4facfe;margin-bottom:16px;display:flex;justify-content:center}.empty-gallery h3{color:#f8fbff!important;font-size:1.45rem!important;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px!important}.empty-gallery p{color:#cbd8ea!important;font-size:.95rem!important;line-height:1.6!important;margin:0 auto!important;max-width:460px}.events-list{display:flex;flex-direction:column;gap:64px}.event-section{transition:opacity .3s ease}.event-section-header{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid rgba(79,172,254,.25)}.event-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}.event-photo-count{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#00e5ff}.event-title{color:#f0f4f8!important;font-size:clamp(1.5rem,2.5vw,2.1rem)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.04em;margin:0!important}.masonry-columns{columns:1;column-gap:20px}@media (min-width: 640px){.masonry-columns{columns:2}}@media (min-width: 768px){.masonry-columns{columns:3;column-gap:24px}}@media (min-width: 1024px){.masonry-columns{columns:4}}.photo-card{break-inside:avoid;margin-bottom:20px;background:#040d22;border:1px solid rgba(79,172,254,.22);border-radius:12px;overflow:hidden;cursor:pointer;position:relative;box-shadow:0 6px 20px #0000004d;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}@media (min-width: 768px){.photo-card{margin-bottom:24px}}.photo-card:hover,.photo-card:focus-visible{transform:translateY(-4px);border-color:#00e5ffa6;box-shadow:0 12px 32px #00000073,0 0 18px #00e5ff33;outline:none}.photo-card-media{width:100%;overflow:hidden;background:#061024;position:relative}.photo-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1)}.photo-card:hover .photo-card-media img{transform:scale(1.05)}.photo-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(4,13,34,.85) 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.photo-card:hover .photo-card-overlay,.photo-card:focus-visible .photo-card-overlay{opacity:1}.photo-card-zoom{position:absolute;bottom:0;right:0;padding:14px;transform:translateY(6px);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}.photo-card:hover .photo-card-zoom,.photo-card:focus-visible .photo-card-zoom{transform:translateY(0);opacity:1}.zoom-badge{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#00e5ff,#4facfe);color:#040d22;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00e5ff66}.lightbox-modal{position:fixed;inset:0;z-index:9999;background:#040d22f5;backdrop-filter:blur(16px);display:flex;flex-direction:column;user-select:none;transition:opacity .3s ease}.lightbox-modal.opacity-0{opacity:0}.lightbox-modal.opacity-100{opacity:1}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(79,172,254,.25);background:#040d22d9;flex-shrink:0;z-index:10}.lightbox-header-left{display:flex;align-items:center;gap:12px;min-width:0;padding-right:16px}.lightbox-counter{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:6px;background:#0a1628e6;border:1px solid rgba(0,229,255,.35);color:#00e5ff;flex-shrink:0}.lightbox-title-wrap{min-width:0}.lightbox-title{font-size:.95rem!important;font-weight:600!important;color:#f0f4f8!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em}.lightbox-close-btn{width:40px;height:40px;border-radius:50%;background:#0a1628d9;border:1px solid rgba(79,172,254,.35);color:#cbd5e0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.lightbox-close-btn:hover{background:#00e5ff;border-color:#00e5ff;color:#040d22}.lightbox-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:12px 16px;overflow:hidden}.lightbox-img-container{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.lightbox-img{max-height:76vh;max-width:90vw;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #000000a6}@media (min-width: 640px){.lightbox-img{max-height:82vh}}.lightbox-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#040d2280;border-radius:8px}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:44px;height:44px;border-radius:50%;background:#0a1628d9;border:1px solid rgba(79,172,254,.4);color:#f0f4f8;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #00000073;transition:all .2s ease}@media (min-width: 640px){.lightbox-nav-btn{width:52px;height:52px}}.lightbox-nav-btn:hover{background:linear-gradient(135deg,#00e5ff,#4facfe);border-color:#00e5ff;color:#040d22;transform:translateY(-50%) scale(1.06)}.lightbox-nav-btn.prev{left:12px}.lightbox-nav-btn.next{right:12px}@media (min-width: 640px){.lightbox-nav-btn.prev{left:24px}.lightbox-nav-btn.next{right:24px}}.lightbox-footer{padding:12px 24px;border-top:1px solid rgba(79,172,254,.2);background:#040d22d9;font-size:.75rem;color:#94a3b8;flex-shrink:0;display:none;align-items:center;justify-content:space-between}@media (min-width: 640px){.lightbox-footer{display:flex}}.lightbox-footer-hint{display:flex;align-items:center;gap:8px}.kbd-badge{background:#0a1628e6;padding:2px 8px;border-radius:4px;border:1px solid rgba(79,172,254,.3);color:#cbd5e0;font-family:monospace}.gallery-cta{background:radial-gradient(circle at top left,rgba(79,172,254,.15),transparent 45%),linear-gradient(135deg,#081840e6,#020924f2);border:1px solid rgba(79,172,254,.3);border-radius:16px;padding:40px;margin-top:16px;box-shadow:0 12px 40px #00000059}.cta-inner{max-width:680px;margin:0 auto;text-align:center}.cta-inner h3{color:#f8fbff!important;font-size:clamp(1.4rem,2.5vw,1.9rem)!important;font-weight:700!important;margin:0 0 14px!important}.cta-inner p{color:#cbd5e0!important;font-size:1rem!important;line-height:1.65!important;margin:0 0 24px!important}.cta-inner .button{display:inline-flex;align-items:center;background:linear-gradient(135deg,#06c,#049);color:#fff!important;padding:14px 28px;border-radius:6px;text-decoration:none;font-weight:600;border:1px solid rgba(79,172,254,.4);box-shadow:0 4px 16px #0066cc59;transition:all .25s ease}.cta-inner .button:hover{background:linear-gradient(135deg,#07e,#05b);transform:translateY(-2px);box-shadow:0 8px 24px #0066cc80}
