.project-card[data-astro-cid-4yu5y2jt] a[data-astro-cid-4yu5y2jt]{color:var(--color-text);text-decoration:none;display:block}.project-card__image-frame[data-astro-cid-4yu5y2jt]{aspect-ratio:4/3;background:var(--color-surface-muted);overflow:hidden}.project-card__image-frame[data-astro-cid-4yu5y2jt]>picture{width:100%;height:100%}.project-card__image[data-astro-cid-4yu5y2jt]{object-fit:cover;height:100%;transition:transform var(--motion-medium) var(--ease-standard);width:100%}.project-card__content[data-astro-cid-4yu5y2jt]{padding-block:var(--space-4)}.project-card[data-astro-cid-4yu5y2jt] h2[data-astro-cid-4yu5y2jt],.project-card[data-astro-cid-4yu5y2jt] h3[data-astro-cid-4yu5y2jt]{font-weight:400}.project-card[data-astro-cid-4yu5y2jt] h2[data-astro-cid-4yu5y2jt],.project-card[data-astro-cid-4yu5y2jt] h3[data-astro-cid-4yu5y2jt],.project-card[data-astro-cid-4yu5y2jt] p[data-astro-cid-4yu5y2jt]{margin-block:0 var(--space-2)}.project-card__disciplines[data-astro-cid-4yu5y2jt]{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (hover:hover){.project-card[data-astro-cid-4yu5y2jt] a[data-astro-cid-4yu5y2jt]:hover .project-card__image[data-astro-cid-4yu5y2jt],.project-card[data-astro-cid-4yu5y2jt] a[data-astro-cid-4yu5y2jt]:focus-visible .project-card__image[data-astro-cid-4yu5y2jt]{transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.project-card__image[data-astro-cid-4yu5y2jt]{transition:none}}html.restoring-projects-scroll{scroll-behavior:auto!important}html.restoring-projects-scroll body{visibility:hidden}.projects-container[data-astro-cid-yjitjrjk]{width:100%;max-width:none}.projects-header[data-astro-cid-yjitjrjk]{gap:0 var(--grid-gutter);padding-block:var(--space-6) var(--space-8);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.projects-home-link[data-astro-cid-yjitjrjk]{border-bottom:1px solid var(--color-text);color:var(--color-text);font-size:var(--font-size-xs);align-self:start;align-items:center;gap:var(--space-2);letter-spacing:.075em;padding-block:var(--space-2);text-transform:uppercase;grid-column:10/-1;justify-self:end;font-weight:700;text-decoration:none;display:inline-flex}.projects-home-link[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk]{transition:transform var(--motion-fast) var(--ease-standard)}.projects-home-link[data-astro-cid-yjitjrjk]:hover span[data-astro-cid-yjitjrjk],.projects-home-link[data-astro-cid-yjitjrjk]:focus-visible span[data-astro-cid-yjitjrjk]{transform:translate(-.35rem)}.projects-header[data-astro-cid-yjitjrjk] h1[data-astro-cid-yjitjrjk]{margin-top:var(--space-8);grid-column:1/-1}.projects-header[data-astro-cid-yjitjrjk]>p[data-astro-cid-yjitjrjk]{font-size:var(--font-size-lg);margin-top:var(--space-7);grid-column:1/span 4;line-height:1.35}.sort-controls[data-astro-cid-yjitjrjk]{border-block:1px solid var(--color-border);align-items:center;gap:var(--space-4);padding-block:var(--space-3);justify-content:flex-end;margin-block-end:var(--space-7);display:flex}.sort-label[data-astro-cid-yjitjrjk]{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.075em;text-transform:uppercase;font-weight:700;line-height:1.35}.sort-menu[data-astro-cid-yjitjrjk]{min-width:11.5rem;position:relative}.sort-menu[data-astro-cid-yjitjrjk] summary[data-astro-cid-yjitjrjk]{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;padding:var(--space-2) var(--space-6) var(--space-2) var(--space-3);transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);justify-content:space-between;align-items:center;list-style:none;display:flex}.sort-menu[data-astro-cid-yjitjrjk] summary[data-astro-cid-yjitjrjk]::-webkit-details-marker{display:none}.sort-menu[data-astro-cid-yjitjrjk] summary[data-astro-cid-yjitjrjk]:after{content:"";height:.4rem;right:var(--space-3);transition:transform var(--motion-fast) var(--ease-standard);border-block-end:1px solid;border-inline-end:1px solid;width:.4rem;position:absolute;top:50%;transform:translateY(-65%)rotate(45deg)}.sort-menu[data-astro-cid-yjitjrjk][open] summary[data-astro-cid-yjitjrjk]:after{transform:translateY(-25%)rotate(225deg)}.sort-menu[data-astro-cid-yjitjrjk] summary[data-astro-cid-yjitjrjk]:hover,.sort-menu[data-astro-cid-yjitjrjk][open] summary[data-astro-cid-yjitjrjk]{border-color:var(--color-text-muted)}.sort-menu[data-astro-cid-yjitjrjk] summary[data-astro-cid-yjitjrjk]:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:2px}.sort-menu[data-astro-cid-yjitjrjk] ul[data-astro-cid-yjitjrjk]{background:var(--color-surface);border:1px solid var(--color-border);margin:var(--space-1) 0 0;padding:var(--space-1);z-index:10;width:100%;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 .75rem 1.5rem #11110f1f}.sort-menu[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk]{color:var(--color-text);cursor:pointer;padding:var(--space-2) var(--space-3);text-align:left;background:0 0;border:0;width:100%}.sort-menu[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk]:hover,.sort-menu[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk]:focus-visible{background:var(--color-accent);color:var(--color-surface);outline:none}.sort-status[data-astro-cid-yjitjrjk]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-grid[data-astro-cid-yjitjrjk]{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.back-to-top[data-astro-cid-yjitjrjk]{background:var(--color-text);border:1px solid var(--color-text);bottom:calc(max(var(--space-6), calc(env(safe-area-inset-bottom) + 1rem)) + 2.5rem);color:var(--color-background);cursor:pointer;opacity:0;pointer-events:none;height:3rem;right:max(var(--space-6), calc(env(safe-area-inset-right) + 1rem));transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), visibility var(--motion-fast) var(--ease-standard);visibility:hidden;z-index:15;border-radius:0;justify-content:center;align-items:center;width:3rem;padding:0;display:flex;position:fixed;transform:translateY(.5rem)}.back-to-top--visible[data-astro-cid-yjitjrjk]{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.back-to-top[data-astro-cid-yjitjrjk] svg[data-astro-cid-yjitjrjk]{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5px;width:1.25rem;height:1.25rem}.back-to-top[data-astro-cid-yjitjrjk]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (hover:hover){.back-to-top[data-astro-cid-yjitjrjk]:hover{background:var(--color-background);color:var(--color-text)}}@media (width<=63.99rem){.projects-home-link[data-astro-cid-yjitjrjk]{grid-column:9/-1}.projects-header[data-astro-cid-yjitjrjk]>p[data-astro-cid-yjitjrjk]{grid-column:1/span 5}.back-to-top[data-astro-cid-yjitjrjk]{bottom:calc(max(var(--space-5), calc(env(safe-area-inset-bottom) + 1rem)) + 2.5rem);right:max(var(--space-5), calc(env(safe-area-inset-right) + 1rem))}}@media (width<=30rem){.projects-header[data-astro-cid-yjitjrjk]{padding-block:var(--space-5) var(--space-7);grid-template-columns:repeat(4,minmax(0,1fr))}.projects-home-link[data-astro-cid-yjitjrjk]{grid-column:2/-1;justify-self:end}.projects-header[data-astro-cid-yjitjrjk] h1[data-astro-cid-yjitjrjk]{margin-top:var(--space-7);grid-column:1/-1}.projects-header[data-astro-cid-yjitjrjk]>p[data-astro-cid-yjitjrjk]{margin-top:var(--space-6);grid-column:1/-1;font-size:1rem}.sort-controls[data-astro-cid-yjitjrjk]{align-items:stretch;gap:var(--space-1);flex-direction:column}.sort-menu[data-astro-cid-yjitjrjk]{width:100%;min-width:0}.back-to-top[data-astro-cid-yjitjrjk]{bottom:calc(max(var(--space-4), calc(env(safe-area-inset-bottom) + 1rem)) + 2.5rem);height:2.75rem;right:max(var(--space-4), calc(env(safe-area-inset-right) + 1rem));width:2.75rem}}@media (prefers-reduced-motion:reduce){.projects-home-link[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk],.back-to-top[data-astro-cid-yjitjrjk]{transition:none}}
