.project-gallery[data-astro-cid-wwpe33xl]{padding:0 0 1.6rem}.project-gallery-grid[data-astro-cid-wwpe33xl]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.project-gallery-thumb[data-astro-cid-wwpe33xl]{position:relative;display:block;width:100%;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);background:transparent;cursor:zoom-in;color:inherit;transition:border-color .14s ease,transform .16s var(--ease-out)}.project-gallery-thumb[data-astro-cid-wwpe33xl]:hover,.project-gallery-thumb[data-astro-cid-wwpe33xl]:focus-visible{border-color:var(--accent)}.project-gallery-thumb[data-astro-cid-wwpe33xl]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-gallery-thumb[data-astro-cid-wwpe33xl]:active{transform:scale(.985)}.project-gallery-thumb[data-astro-cid-wwpe33xl] img[data-astro-cid-wwpe33xl]{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top center}.project-gallery-expand[data-astro-cid-wwpe33xl]{position:absolute;right:.55rem;bottom:.55rem;display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--bg) 88%,transparent);border:1px solid var(--line);backdrop-filter:blur(8px);opacity:0;transform:translateY(4px);transition:opacity .16s ease,transform .16s var(--ease-out)}.project-gallery-thumb[data-astro-cid-wwpe33xl]:hover .project-gallery-expand[data-astro-cid-wwpe33xl],.project-gallery-thumb[data-astro-cid-wwpe33xl]:focus-visible .project-gallery-expand[data-astro-cid-wwpe33xl]{opacity:1;transform:translateY(0)}.project-gallery-thumb[data-astro-cid-wwpe33xl].is-morphing{visibility:hidden}@media(max-width:720px){.project-gallery-grid[data-astro-cid-wwpe33xl]{grid-template-columns:1fr}.project-gallery-expand[data-astro-cid-wwpe33xl]{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.project-gallery-thumb[data-astro-cid-wwpe33xl],.project-gallery-expand[data-astro-cid-wwpe33xl]{transition:none}}.project-lightbox-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-lightbox{--lightbox-nav-size: 2.5rem;--lightbox-nav-inset: clamp(.6rem, 2vw, 1.2rem);--lightbox-side-gutter: calc(var(--lightbox-nav-inset) + var(--lightbox-nav-size) + .75rem);--lightbox-stage-max-height: min(72vh, calc(100dvh - 10.5rem) );position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:clamp(4.5rem,10vh,6rem) var(--lightbox-side-gutter) clamp(5.5rem,12vh,7rem);box-sizing:border-box}.project-lightbox[hidden]{display:none!important}.project-lightbox-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--selection-bg) 88%,transparent);opacity:0}.project-lightbox-ui{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .14s var(--ease-out)}.project-lightbox[data-state=open] .project-lightbox-ui{opacity:1}.project-lightbox[data-state=closing] .project-lightbox-ui,.project-lightbox[data-state=opening] .project-lightbox-ui{opacity:0;transition-duration:.11s}.project-lightbox-chrome{position:absolute;top:clamp(.85rem,2.4vw,1.4rem);left:clamp(.85rem,2.4vw,1.4rem);right:clamp(.85rem,2.4vw,1.4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:none}.project-lightbox-counter{margin:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--selection-ink) 88%,transparent)}.project-lightbox-close,.project-lightbox-nav,.project-lightbox-thumb{pointer-events:auto}.project-lightbox[data-state=closing] .project-lightbox-close,.project-lightbox[data-state=closing] .project-lightbox-nav,.project-lightbox[data-state=closing] .project-lightbox-thumb,.project-lightbox[data-state=opening] .project-lightbox-close,.project-lightbox[data-state=opening] .project-lightbox-nav,.project-lightbox[data-state=opening] .project-lightbox-thumb{pointer-events:none}.project-lightbox-close,.project-lightbox-nav{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin:0;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--selection-ink) 18%,transparent);background:color-mix(in srgb,var(--selection-bg) 70%,transparent);color:var(--selection-ink);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .15s var(--ease-out)}.project-lightbox-close:hover,.project-lightbox-nav:hover{background:color-mix(in srgb,var(--selection-bg) 88%,transparent);border-color:color-mix(in srgb,var(--selection-ink) 34%,transparent)}.project-lightbox-close:focus-visible,.project-lightbox-nav:focus-visible,.project-lightbox-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-lightbox-close:active{transform:scale(.96)}.project-lightbox-nav{position:absolute;top:50%;width:var(--lightbox-nav-size);height:var(--lightbox-nav-size);transform:translateY(-50%)}.project-lightbox-nav--prev{left:var(--lightbox-nav-inset)}.project-lightbox-nav--next{right:var(--lightbox-nav-inset)}.project-lightbox-nav:active{transform:translateY(-50%) scale(.96)}.project-lightbox-stage{position:relative;z-index:1;width:min(calc(100vw - 2 * var(--lightbox-side-gutter)),calc(var(--lightbox-stage-max-height) * 1.6),1080px);max-width:100%;min-width:0;justify-self:center;max-height:var(--lightbox-stage-max-height);transform-origin:center center;will-change:transform,opacity;opacity:0}.project-lightbox-stage img{display:block;width:100%;max-height:var(--lightbox-stage-max-height);height:auto;aspect-ratio:16 / 10;object-fit:contain;object-position:center;border:1px solid color-mix(in srgb,var(--selection-ink) 14%,transparent);background:var(--bg);box-shadow:0 28px 80px -36px #0000008c}.project-lightbox-caption{margin:.85rem auto 0;max-width:52ch;color:color-mix(in srgb,var(--selection-ink) 78%,transparent);font-size:.92rem;line-height:1.55;text-align:center}.project-lightbox-thumbs{position:absolute;bottom:max(.85rem,env(safe-area-inset-bottom,0px));left:50%;display:flex;gap:.4rem;max-width:min(92vw,420px);padding:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;transform:translate(-50%);border:1px solid color-mix(in srgb,var(--selection-ink) 14%,transparent);background:color-mix(in srgb,var(--selection-bg) 78%,transparent);pointer-events:auto}.project-lightbox-thumb{flex:0 0 auto;width:3.75rem;margin:0;padding:0;overflow:hidden;border:2px solid transparent;background:transparent;cursor:pointer;opacity:.55;transition:opacity .14s ease,border-color .14s ease}.project-lightbox-thumb[aria-selected=true]{opacity:1;border-color:var(--accent)}.project-lightbox-thumb img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top center}@media(max-width:720px){.project-lightbox{--lightbox-side-gutter: max(.5rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--lightbox-stage-max-height: min(82dvh, calc(100dvh - 8.5rem) );padding:max(3.25rem,calc(env(safe-area-inset-top,0px) + 2.6rem)) var(--lightbox-side-gutter) max(4.75rem,calc(env(safe-area-inset-bottom,0px) + 3.75rem))}.project-lightbox-backdrop{background:color-mix(in srgb,var(--selection-bg) 94%,transparent)}.project-lightbox-chrome{top:max(.65rem,calc(env(safe-area-inset-top,0px) + .4rem));left:max(.65rem,env(safe-area-inset-left,0px));right:max(.65rem,env(safe-area-inset-right,0px))}.project-lightbox-nav{display:none}.project-lightbox-thumb{width:4.25rem}.project-lightbox-stage img{box-shadow:0 18px 48px -24px #000000a6}}@media(prefers-reduced-motion:reduce){.project-lightbox-ui,.project-lightbox-close,.project-lightbox-nav,.project-lightbox-thumb{transition:none!important}}
