.lightbox-overlay{z-index:9999;animation:lightbox-in .3s var(--ease-out-cubic);background:#000000eb;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-main{flex:1;justify-content:center;align-items:center;padding:2rem 3rem;display:flex;position:relative}.lightbox-photo{object-fit:contain;max-width:100%;max-height:90vh;transition:opacity .25s}.lightbox-main video.lightbox-photo{background:#00000059}.lightbox-video-loading{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lightbox-sidebar{background:#fff;flex-shrink:0;width:300px;padding:2rem 1.5rem;position:relative;overflow-y:auto}.lightbox-close{z-index:10;color:#1a1a1a;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:#0000000f}.lightbox-arrow{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#ffffff26}.lightbox-arrow--prev{left:1.5rem}.lightbox-arrow--next{right:1.5rem}.lightbox-title{font-family:var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#1a1a1a;margin-bottom:.75rem;padding-right:2.5rem;font-size:.75rem;font-weight:700;line-height:1.4}.lightbox-brief{font-family:var(--sans);color:#888;margin-bottom:1rem;font-size:.78rem;line-height:1.6}.lightbox-dots{flex-wrap:wrap;gap:6px;margin-bottom:1.25rem;display:flex}.lightbox-dot{cursor:pointer;background:#ddd;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s}.lightbox-dot--active{background:#1a1a1a}.lightbox-gallery-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem}.lightbox-gallery{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lightbox-thumb{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:4px;transition:border-color .2s;position:relative;overflow:hidden}.lightbox-thumb--active{border-color:#1a1a1a}.lightbox-thumb img,.lightbox-thumb video{object-fit:cover;width:100%;height:100%}.lightbox-mobile{background:#000;flex-direction:column}.lightbox-m-header{top:calc(env(safe-area-inset-top,0px) + 12px);z-index:10001;-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000008c;border:none;border-radius:20px;align-items:center;gap:10px;height:40px;padding:0 16px 0 10px;display:flex;position:fixed;left:12px;box-shadow:0 2px 10px #0000004d}.lightbox-m-back{flex-shrink:0;justify-content:center;align-items:center;display:flex}.lightbox-m-back-label{font-family:var(--sans);color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.82rem;font-weight:600;overflow:hidden}.lightbox-m-scroll{overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;flex:1;height:100%;overflow:hidden auto}.lightbox-m-scroll::-webkit-scrollbar{display:none}.lightbox-m-slide{scroll-snap-align:start;scroll-snap-stop:always;-webkit-tap-highlight-color:transparent;background:#000;width:100%;height:100%;min-height:100%;position:relative;overflow:hidden}.lightbox-m-vid,.lightbox-m-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.lightbox-m-slide img{object-fit:contain}.lightbox-m-counter{top:calc(env(safe-area-inset-top,0px) + 14px);z-index:4;-webkit-backdrop-filter:blur(10px);color:#ffffffd9;height:30px;font-family:var(--sans);letter-spacing:.03em;pointer-events:none;background:#00000073;border-radius:999px;align-items:center;padding:0 10px;font-size:.7rem;font-weight:600;display:inline-flex;position:absolute;right:14px}.lightbox-m-caption{bottom:calc(env(safe-area-inset-bottom,0px) + 20px);z-index:4;-webkit-backdrop-filter:blur(10px);color:#ffffffeb;font-family:var(--sans);pointer-events:none;background:#00000080;border-radius:14px;margin:0;padding:10px 14px;font-size:.85rem;line-height:1.5;position:absolute;left:16px;right:16px}.lightbox-m-video-overlay{z-index:5;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.lightbox-m-spinner{border:3px solid #ffffff26;border-top-color:#fff;border-radius:50%;width:44px;height:44px;animation:.7s linear infinite lightbox-spin}@keyframes lightbox-spin{to{transform:rotate(360deg)}}.lightbox-m-error-label{font-family:var(--sans);color:#ffffffb3;font-size:.85rem}.lightbox-m-retry-btn{color:#fff;height:36px;font-family:var(--sans);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;padding:0 20px;font-size:.78rem;font-weight:600;display:inline-flex}@keyframes lightbox-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.lightbox-m-video-loading{z-index:5;pointer-events:none;background:linear-gradient(#00000014,#00000038);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lightbox-m-video-loading--floating{background:0 0}.lightbox-m-controls{bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:6;-webkit-backdrop-filter:blur(12px);background:#0000008c;border-radius:999px;align-items:center;gap:10px;height:36px;padding:0 10px;display:flex;position:absolute;left:16px;right:16px}.lightbox-m-ctrl-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.lightbox-m-scrub{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;background:#fff3 padding-box content-box;border-radius:2px;flex:1;height:4px;margin:-10px 0;padding:10px 0;position:relative}.lightbox-m-scrub-fill{pointer-events:none;background:#fff;border-radius:2px;height:4px;position:absolute;top:10px;left:0}.lightbox-m-slide:has(.lightbox-m-controls) .lightbox-m-caption{bottom:calc(env(safe-area-inset-bottom,0px) + 64px)}.lightbox-desktop{display:flex}.lightbox-mobile{display:none}@media (max-width:768px){.lightbox-desktop{display:none!important}.lightbox-mobile{display:flex!important}}
