.project-gallery:where(.astro-2piwf5p4){min-width:0}.project-gallery-surface:where(.astro-2piwf5p4){border:1px solid var(--color-ink-muted);background:var(--color-ink-soft);border-radius:6px;margin:0;overflow:hidden}.project-gallery-stage:where(.astro-2piwf5p4){aspect-ratio:8/5;background:var(--color-ink);touch-action:pan-y pinch-zoom;display:grid;position:relative}.project-gallery-slide:where(.astro-2piwf5p4){opacity:0;visibility:hidden;pointer-events:none;grid-area:1/1;min-width:0;min-height:0;transition:opacity .18s,visibility 0s linear .18s}.project-gallery-slide:where(.astro-2piwf5p4)[data-active]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.project-gallery-image:where(.astro-2piwf5p4){cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.project-gallery-image:where(.astro-2piwf5p4):disabled{cursor:default}.project-gallery-image:where(.astro-2piwf5p4) img{object-fit:contain;width:100%;height:100%}.project-gallery-expand:where(.astro-2piwf5p4){background:var(--color-ink);width:32px;height:32px;color:var(--color-paper);border:1px solid var(--color-ink-muted);border-radius:4px;place-items:center;display:grid;position:absolute;bottom:.65rem;right:.65rem}.project-gallery-footer:where(.astro-2piwf5p4){align-items:center;gap:.65rem;min-width:0;padding:.25rem .65rem;display:flex}.project-gallery-caption:where(.astro-2piwf5p4){text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-stone);flex:1;font-size:.7rem;line-height:1.7;overflow:hidden}.project-gallery-count:where(.astro-2piwf5p4){background:color-mix(in srgb, var(--color-ink) 88%, transparent);color:var(--color-paper);font:.6rem/1.7 var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:3px;padding:.2rem .4rem;position:absolute;bottom:.65rem;left:.65rem}.project-gallery-arrows:where(.astro-2piwf5p4){pointer-events:none;justify-content:space-between;align-items:center;padding-inline:.4rem;display:flex;position:absolute;inset:0}.project-gallery:where(.astro-2piwf5p4) :where(.astro-2piwf5p4)[data-gallery-controls][hidden],.project-gallery:where(.astro-2piwf5p4):not([data-ready]) :where(.astro-2piwf5p4)[data-gallery-controls],.project-gallery:where(.astro-2piwf5p4):not([data-ready]) .project-gallery-expand:where(.astro-2piwf5p4){display:none}.project-gallery-indicators:where(.astro-2piwf5p4){scrollbar-width:none;flex:none;align-items:center;gap:.1rem;max-width:70%;display:flex;overflow-x:auto}.project-gallery-indicators:where(.astro-2piwf5p4)::-webkit-scrollbar{display:none}.project-gallery-arrow:where(.astro-2piwf5p4),.project-gallery-indicator:where(.astro-2piwf5p4){cursor:pointer;border-radius:4px;flex:none;place-items:center;display:grid}.project-gallery-arrow:where(.astro-2piwf5p4){pointer-events:auto;width:36px;height:44px;color:var(--color-paper);background:color-mix(in srgb, var(--color-ink) 88%, transparent);opacity:.3;transition:opacity .15s}.project-gallery-stage:where(.astro-2piwf5p4):hover .project-gallery-arrow:where(.astro-2piwf5p4),.project-gallery:where(.astro-2piwf5p4):focus-within .project-gallery-arrow:where(.astro-2piwf5p4){opacity:1}.project-gallery-indicator:where(.astro-2piwf5p4){flex:0 28px;min-width:24px;height:32px}.project-gallery-indicator:where(.astro-2piwf5p4) span:where(.astro-2piwf5p4){background:var(--color-stone);opacity:.5;border-radius:2px;width:20px;height:3px;display:block}.project-gallery-indicator:where(.astro-2piwf5p4):hover span:where(.astro-2piwf5p4){opacity:1}.project-gallery-indicator:where(.astro-2piwf5p4)[aria-current=true] span:where(.astro-2piwf5p4){background:var(--color-amber);opacity:1}.project-gallery:where(.astro-2piwf5p4) :where(.astro-2piwf5p4):is(button,dialog):focus-visible,.project-gallery:where(.astro-2piwf5p4):focus-visible{outline:2px solid var(--color-amber);outline-offset:3px}.project-gallery-image:where(.astro-2piwf5p4):focus-visible{outline-offset:-4px}.project-gallery-lightbox:where(.astro-2piwf5p4){width:min(94vw,1800px);max-width:94vw;max-height:94dvh;color:var(--color-paper);background:var(--color-ink);border:1px solid var(--color-ink-muted);border-radius:8px;margin:auto;padding:1rem;overflow:auto}.project-gallery-lightbox:where(.astro-2piwf5p4)::backdrop{background:color-mix(in srgb, var(--color-ink) 88%, transparent)}html:has(.project-gallery-lightbox[open]){overflow:hidden}.project-gallery-dialog-bar:where(.astro-2piwf5p4){justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;font-size:.85rem;display:flex}.project-gallery-close:where(.astro-2piwf5p4){border:1px solid var(--color-ink-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .75rem;display:flex}.project-gallery-close:where(.astro-2piwf5p4):hover{border-color:var(--color-amber)}.project-gallery-lightbox:where(.astro-2piwf5p4) .project-gallery-stage:where(.astro-2piwf5p4){width:100%;max-height:min(70dvh,1100px)}.project-gallery-lightbox:where(.astro-2piwf5p4) .project-gallery-image:where(.astro-2piwf5p4){cursor:default}.project-gallery-lightbox:where(.astro-2piwf5p4) .project-gallery-expand:where(.astro-2piwf5p4){display:none}@media (width<=480px){.project-gallery-lightbox:where(.astro-2piwf5p4){padding:.65rem}.project-gallery-dialog-bar:where(.astro-2piwf5p4){font-size:.75rem}}@media (hover:none),(pointer:coarse){.project-gallery-arrow:where(.astro-2piwf5p4){opacity:.55;width:32px}.project-gallery-indicator:where(.astro-2piwf5p4){flex-basis:32px;height:44px}}@media (prefers-reduced-motion:reduce){.project-gallery-slide:where(.astro-2piwf5p4),.project-gallery-arrow:where(.astro-2piwf5p4){transition:none}}
