.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--color-dark);color:var(--color-white)}.lightbox::backdrop{background:var(--color-dark)}.lightbox[open]{animation:lightbox-in .36s cubic-bezier(.22,1,.36,1)}@keyframes lightbox-in{0%{opacity:0}}.lightbox__figure{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:flex;flex-direction:column}.lightbox__img{flex:1;min-height:0;width:100%;object-fit:contain;animation:lightbox-in .32s cubic-bezier(.22,1,.36,1)}.lightbox__img[data-skeleton]:not([data-loaded]){background-color:var(--color-line-on-dark);background-image:linear-gradient(100deg,transparent 30%,var(--color-line-on-dark) 50%,transparent 70%);animation:lightbox-in .32s cubic-bezier(.22,1,.36,1),skeleton-shimmer 1.4s ease-in-out infinite}.lightbox__caption{display:flex;justify-content:space-between;gap:24px;padding:16px 32px 20px;font-size:14px;color:var(--color-accent-light)}.lightbox__count{font-variant-numeric:tabular-nums;color:var(--color-accent-muted);white-space:nowrap}.lightbox__close,.lightbox__nav{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--color-glass-dark);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-white);border:1px solid var(--color-line-on-dark);transition:background-color var(--transition-base)}.lightbox__close:hover,.lightbox__nav:hover{background:var(--color-accent)}.lightbox__close{top:20px;right:20px}.lightbox__nav{top:50%;margin-top:-44px}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}.lightbox :focus-visible{outline:2px solid var(--color-white);outline-offset:3px}@media (max-width: 860px){.lightbox__nav{top:auto;bottom:64px;margin-top:0}.lightbox__caption{padding:12px 20px 16px;font-size:13px}}@media (prefers-reduced-motion: reduce){.lightbox[open],.lightbox__img{animation:none}}.carousel{position:relative;grid-column:1 / -1;margin:var(--space-wall-gap) 0;height:var(--wall-row)}.carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% / 3);height:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__track>.tile{grid-column:auto;grid-row:auto;margin:0;scroll-snap-align:start}.carousel__nav{position:absolute;top:50%;display:grid;place-items:center;width:52px;height:52px;margin-top:-26px;padding:0;border:0;border-radius:var(--radius-full);background:var(--color-white);color:var(--color-text);box-shadow:var(--shadow-md);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-slow),opacity var(--transition-slow)}.carousel__nav--prev{left:clamp(14px,1.6vw,24px)}.carousel__nav--next{right:clamp(14px,1.6vw,24px)}.carousel__nav:hover{background:var(--color-accent);color:var(--color-white)}.carousel__nav:active{transform:scale(.94)}.carousel__nav:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.carousel__nav:disabled{opacity:0;pointer-events:none}.carousel__nav--prev:disabled{transform:translate(-8px)}.carousel__nav--next:disabled{transform:translate(8px)}@media (max-width: 860px){.carousel__track{grid-auto-columns:82%}.carousel__nav{width:44px;height:44px;margin-top:-22px}}@media (prefers-reduced-motion: reduce){.carousel__nav{transition:none}}
