.page-header[data-astro-cid-b2i3gsw2]{border-bottom:1px solid hsl(var(--text-alt), .4);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem;padding:.75rem 0;display:flex}.crumbs[data-astro-cid-b2i3gsw2]{align-items:baseline;gap:.75rem;min-width:0;display:flex}.crumb[data-astro-cid-b2i3gsw2]{color:hsl(var(--text));font-weight:600;text-decoration:none;transition:color .2s}.crumb[data-astro-cid-b2i3gsw2]:hover{color:hsl(var(--accent1-bright))}.crumb-sep[data-astro-cid-b2i3gsw2]{color:hsl(var(--text-alt));font-weight:400}.crumb-current[data-astro-cid-b2i3gsw2]{color:hsl(var(--text-alt));overflow-wrap:anywhere;font-weight:500}.back-btn[data-astro-cid-b2i3gsw2]{border:1px solid hsl(var(--text-alt));color:hsl(var(--text));white-space:nowrap;background-color:#ffffff0f;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s;display:inline-flex}.back-btn[data-astro-cid-b2i3gsw2] svg{width:1.1rem;height:1.1rem;color:hsl(var(--text-alt));transition:color .2s}.back-btn[data-astro-cid-b2i3gsw2]:hover{border-color:hsl(var(--accent1));background-color:#ffffff1a;transform:translateY(-1px)}.back-btn[data-astro-cid-b2i3gsw2]:hover svg{color:hsl(var(--accent1-bright))}.info-card[data-astro-cid-fdamvlf2]{background-color:hsl(var(--text), .06);border-radius:12px;align-self:start;height:fit-content;margin-block:0 2.5rem;padding:2rem 1.75rem;position:sticky;top:2rem}.title[data-astro-cid-fdamvlf2]{color:hsl(var(--text));font-size:var(--font-size-fluid-2);overflow-wrap:break-word;margin-bottom:1rem;font-weight:800;line-height:1.1}@media (width<=767px){.title[data-astro-cid-fdamvlf2]{display:none}}.description[data-astro-cid-fdamvlf2]{white-space:pre-line;margin-bottom:1.25rem;line-height:1.6}.description[data-astro-cid-fdamvlf2] a{color:inherit;background-color:hsl(var(--accent1), .3);border-radius:4px;padding:.05rem .35rem;text-decoration:none;transition:background-color .2s}.description[data-astro-cid-fdamvlf2] a:hover{background-color:hsl(var(--accent1), .55)}.tags[data-astro-cid-fdamvlf2]{color:hsl(var(--text));flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.tag[data-astro-cid-fdamvlf2]{background:#ffffff1a;border-radius:20px;padding:.25rem .75rem;font-size:.85rem}.tech[data-astro-cid-fdamvlf2]{flex-direction:column;gap:.5rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.tech[data-astro-cid-fdamvlf2] li[data-astro-cid-fdamvlf2]{color:hsl(var(--text-alt));align-items:center;gap:.6rem;font-size:.95rem;display:flex}.icon[data-astro-cid-fdamvlf2]{color:hsl(var(--accent1));font-size:1rem}.lightbox-open-btn{z-index:30;color:#fff;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;background:#000c;border:1px solid #ffffff59;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:opacity .2s,visibility .2s,background .2s,transform .2s;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 4px 12px #00000080}[data-lightbox-trigger]:hover .lightbox-open-btn,[data-lightbox-trigger]:focus-within .lightbox-open-btn{opacity:1;visibility:visible;pointer-events:auto}.lightbox-open-btn:hover{background:#000000f2;transform:scale(1.08)}.lightbox[data-astro-cid-utnzf2kr]{backdrop-filter:blur(12px);z-index:999999;user-select:none;background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox[data-astro-cid-utnzf2kr].open{display:flex}.lightbox-stage[data-astro-cid-utnzf2kr]{flex-direction:column;justify-content:center;align-items:center;max-width:90vw;max-height:88vh;display:flex}.lightbox-content[data-astro-cid-utnzf2kr]{justify-content:center;align-items:center;width:100%;max-width:90vw;height:100%;max-height:80vh;display:flex}.lightbox-content .lightbox-media{-o-object-fit:contain;object-fit:contain;border-radius:6px;width:auto;max-width:88vw;height:auto;max-height:78vh;box-shadow:0 10px 40px #000c}.lightbox-embed--youtube{aspect-ratio:16/9;width:min(85vw,1400px);max-height:75vh}.lightbox-embed--sketchfab{width:min(85vw,1400px);height:75vh;max-height:850px}.lightbox-embed iframe{border:none;border-radius:8px;width:100%;height:100%;min-height:450px;box-shadow:0 10px 40px #000c}.lightbox-embed--three{width:min(85vw,900px);height:min(75vh,85vw)}.lightbox-content .compare-slider{width:min(85vw,1200px)}.lightbox-caption[data-astro-cid-utnzf2kr]{color:hsl(var(--text-alt));text-align:center;margin-top:1rem;font-size:1rem}.lightbox-btn[data-astro-cid-utnzf2kr]{color:#fff;cursor:pointer;z-index:1000000;background:#ffffff1f;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex;position:absolute}.lightbox-btn[data-astro-cid-utnzf2kr]:hover{background:#ffffff4d;transform:scale(1.08)}.lightbox-close[data-astro-cid-utnzf2kr]{width:44px;height:44px;font-size:1.25rem;top:1.5rem;right:1.5rem}.lightbox-prev[data-astro-cid-utnzf2kr],.lightbox-next[data-astro-cid-utnzf2kr]{width:52px;height:52px;font-size:1.5rem;top:50%}.lightbox-prev[data-astro-cid-utnzf2kr]{left:1.5rem}.lightbox-next[data-astro-cid-utnzf2kr]{right:1.5rem}.image-slider[data-astro-cid-kbfqvhec]{justify-content:center;width:100%;display:flex;position:relative}.three-container[data-astro-cid-bd7fivcj]{background:#000c;border-radius:8px;width:100%;height:100%;min-height:460px;position:relative;overflow:hidden}.three-canvas[data-astro-cid-bd7fivcj]{cursor:grab;width:100%;height:100%;display:block}.three-canvas[data-astro-cid-bd7fivcj]:active{cursor:grabbing}.three-loader[data-astro-cid-bd7fivcj]{color:#ffffffb3;pointer-events:none;justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;inset:0}.three-label[data-astro-cid-bd7fivcj]{color:#ffffff8c;letter-spacing:.06em;pointer-events:none;z-index:2;font-size:.8rem;position:absolute;top:.75rem;left:.9rem}.media[data-astro-cid-kg7vladn]{flex-direction:column;align-items:center;width:100%;margin:0;display:flex}.media-trigger[data-astro-cid-kg7vladn]{justify-content:center;width:100%;display:flex;position:relative}.image-container[data-astro-cid-kg7vladn]{justify-content:center;width:100%;display:flex}.media-frame[data-astro-cid-kg7vladn]{width:fit-content;max-width:100%;position:relative}.image-container[data-astro-cid-kg7vladn] img[data-astro-cid-kg7vladn]{-o-object-fit:contain;object-fit:contain;border-radius:8px;width:auto;max-width:100%;max-height:70vh;transition:filter .2s;display:block}.image-container[data-astro-cid-kg7vladn] img[data-astro-cid-kg7vladn]:hover{filter:brightness(1.04)}.video-frame[data-astro-cid-kg7vladn]{width:fit-content;max-width:100%;position:relative}.video-frame[data-astro-cid-kg7vladn] video[data-astro-cid-kg7vladn]{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:70vh;display:block}.embed[data-astro-cid-kg7vladn]{aspect-ratio:16/9;border-radius:8px;width:100%;max-height:70vh;position:relative;overflow:hidden}.embed[data-astro-cid-kg7vladn].model{aspect-ratio:1;width:min(100%,70vh)}.embed[data-astro-cid-kg7vladn] iframe[data-astro-cid-kg7vladn],.embed[data-astro-cid-kg7vladn] video[data-astro-cid-kg7vladn]{-o-object-fit:contain;object-fit:contain;border:0;width:100%;height:100%}.media-caption[data-astro-cid-kg7vladn]{color:hsl(var(--text-alt));text-align:center;margin-top:.5rem;font-size:.875rem}.media-caption[data-astro-cid-kg7vladn] a{color:inherit;background-color:hsl(var(--accent1), .3);border-radius:4px;padding:.05rem .35rem;text-decoration:none;transition:background-color .2s}.media-caption[data-astro-cid-kg7vladn] a:hover{background-color:hsl(var(--accent1), .55)}.project-gallery[data-astro-cid-j4gwzyy4]{flex-direction:column;gap:1.5rem;display:flex}@media (width<=767px){.project-gallery[data-astro-cid-j4gwzyy4]{gap:1rem}}.page-nav{z-index:400;border:1px solid hsl(var(--text-alt), .5);width:44px;height:44px;color:hsl(var(--text));opacity:.35;background-color:#00000073;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,border-color .2s,background-color .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.page-nav svg{fill:currentColor;width:1.2rem;height:1.2rem}.page-nav:hover,.page-nav:focus-visible{opacity:1;border-color:hsl(var(--accent1));background-color:#000000b3}.page-nav.prev{left:1rem}.page-nav.next{right:1rem}:root{--font-size-fluid-2:clamp(1.5rem, 6vw, 2.5rem)}.mobile-title[data-astro-cid-yq2gsstb]{display:none}@media (width<=767px){.mobile-title[data-astro-cid-yq2gsstb]{color:hsl(var(--text));font-size:var(--font-size-fluid-2);overflow-wrap:anywhere;margin-bottom:1.5rem;font-weight:800;line-height:1.1;display:block}}
