[data-astro-cid-fkhhtwsf][data-gallery]{cursor:grab;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-astro-cid-fkhhtwsf][data-gallery].is-dragging{cursor:grabbing}[data-astro-cid-fkhhtwsf][data-gallery-overlay]{background:#ffffff05}[data-astro-cid-fkhhtwsf][data-gallery-viewport]{gap:var(--gallery-gap);-webkit-overflow-scrolling:touch;will-change:scroll-position;scroll-behavior:auto}@media(min-width:768px){[data-astro-cid-fkhhtwsf][data-gallery-viewport]{scroll-behavior:smooth}}[data-astro-cid-fkhhtwsf][data-gallery] [data-astro-cid-fkhhtwsf]{-webkit-user-drag:none}[data-astro-cid-fkhhtwsf][data-image-protect]{cursor:not-allowed}.portfolio-lightbox-trigger{position:relative;z-index:11;display:block;max-width:100%;padding:0;border:0;background:transparent;text-align:left}.portfolio-lightbox-image-overlay{position:absolute;z-index:1;inset:0;background:transparent}.portfolio-lightbox-dialog{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#171717;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s cubic-bezier(.4,0,.2,1)}.portfolio-lightbox-dialog[data-portfolio-lightbox-open]{opacity:1;visibility:visible;pointer-events:auto}.portfolio-lightbox-backdrop,.portfolio-lightbox-close{position:absolute;border:0;background:transparent}.portfolio-lightbox-backdrop{inset:0;cursor:default}.portfolio-lightbox-close{top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;color:#fff;font-size:1.875rem;line-height:1;cursor:pointer;filter:drop-shadow(0 1px 3px rgba(0,0,0,.9));transition:transform .2s ease}.portfolio-lightbox-close:hover{transform:scale(1.1)}.portfolio-lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:2px}.portfolio-lightbox-safe-area{position:relative;z-index:1;display:flex;width:100%;max-width:72rem;flex-direction:column;align-items:center;padding-inline:1.75rem}.portfolio-lightbox-frame{--portfolio-lightbox-image-title-gap: 1.5rem;display:flex;width:-moz-fit-content;width:fit-content;max-width:min(100%,calc(100vw - 5rem));flex-direction:column;gap:var(--portfolio-lightbox-image-title-gap)}.portfolio-lightbox-content{position:relative;display:flex;width:-moz-fit-content;width:fit-content;max-width:min(100%,calc(100vw - 5rem));max-height:min(850px,calc(100vh - 14rem));align-items:center;justify-content:center;transform:scale(.95) translateY(.5rem);opacity:0;filter:blur(2px);transition:transform .65s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1),filter .65s cubic-bezier(.4,0,.2,1)}.portfolio-lightbox-image{display:block;width:auto;height:min(850px,calc(100vh - 14rem));max-width:min(100%,calc(100vw - 5rem));-o-object-fit:contain;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.portfolio-lightbox-metadata{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.portfolio-lightbox-title{margin:0;color:#fff;font-size:1.5rem;font-weight:500;line-height:1.25;letter-spacing:-.04em}.portfolio-lightbox-metadata-inner{display:flex;flex-direction:column;gap:1rem}.portfolio-lightbox-description{margin:0;color:#fff;font-size:.875rem;line-height:1.5rem}.portfolio-lightbox-dialog[data-portfolio-lightbox-open] .portfolio-lightbox-content{transform:scale(1) translateY(0);opacity:1;filter:blur(0)}@media(min-width:640px){.portfolio-lightbox-title{font-size:1.875rem}.portfolio-lightbox-description{font-size:1rem}}@media(max-width:639px){.portfolio-lightbox-safe-area{padding-inline:.5rem}.portfolio-lightbox-frame,.portfolio-lightbox-content,.portfolio-lightbox-image{max-width:calc(100vw - 1rem)}}@media(prefers-reduced-motion:reduce){.portfolio-lightbox-dialog,.portfolio-lightbox-content{transition-duration:1ms}}@media(min-width:640px){.project-body[data-collapsed]>:not(:first-child):not([data-project-read-more-toggle]){display:none}[data-project-read-more-toggle][data-has-more=false]{display:none}}[data-project-read-more-toggle] svg{transform:translateY(1px) rotate(135deg)}[data-project-read-more-toggle][aria-expanded=true] svg{transform:translateY(1px) rotate(315deg)}
