.ai-web-gallery.project-showcase { padding: 0; margin: 3.5rem -1.25rem 0; background: transparent; }
.ai-web-gallery.project-showcase.is-animated .project-showcase__track { animation: none; }
.ai-web-gallery .project-showcase__row { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; cursor: default; -webkit-overflow-scrolling: touch; }
.ai-web-gallery .project-showcase__row:focus-visible { outline: 2px solid #42e8e0; outline-offset: -2px; }
.ai-web-gallery .project-showcase__row::-webkit-scrollbar { display: none; }
.ai-web-gallery .project-showcase__track { user-select: none; }
html.codelabz-custom-cursor .ai-web-gallery .project-showcase__row,
html.codelabz-custom-cursor .ai-web-gallery .ai-web-gallery__image { cursor: none; }
.ai-web-gallery__image { padding: 0; border: 0; border-radius: 0; cursor: zoom-in; }
.ai-web-gallery .ai-web-gallery__image { aspect-ratio: 3 / 4; border: 1px solid rgba(66, 232, 224, .25); border-radius: 14px; }
.ai-web-gallery__image:focus-visible { outline: 3px solid #42e8e0; outline-offset: -3px; }
.ai-web-gallery:has(dialog[open]) .project-showcase__track { animation-play-state: paused; }
.ai-web-gallery__lightbox { position: fixed; inset: 0; padding: 0; margin: auto; width: fit-content; max-width: 94vw; max-height: 94dvh; border: 0; background: transparent; overflow: visible; }
.ai-web-gallery__lightbox::backdrop { background: rgba(0, 6, 22, .92); }
html.codelabz-custom-cursor .ai-web-gallery__lightbox,
html.codelabz-custom-cursor .ai-web-gallery__lightbox * { cursor: auto; }
html.codelabz-custom-cursor .ai-web-gallery__lightbox .ai-web-gallery__close { cursor: pointer; }
html:has(.ai-web-gallery__lightbox[open]) .codelabz-cursor { visibility: hidden; }
.ai-web-gallery__full-image { display: block; width: auto; height: auto; max-width: 94vw; max-height: 88dvh; object-fit: contain; }
.ai-web-gallery__close { position: absolute; z-index: 1; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: #021133; color: #fff; font: 32px/1 Arial, sans-serif; cursor: pointer; }
.ai-web-gallery__close:hover,
.ai-web-gallery__close:focus-visible { background: #42e8e0; color: #021133; }
@media (max-width: 767px) {
    .ai-web-gallery.project-showcase { margin-top: 2.5rem; }
}
