.nav[data-astro-cid-wpvy4v7s]{top:0;z-index:calc(var(--z-menu) + 1);height:var(--nav-h);justify-content:space-between;align-items:center;gap:var(--space-md);padding-inline:var(--page-margin);pointer-events:none;background:0 0;display:flex;position:fixed;inset-inline:0;transform:translateZ(0)}.nav[data-astro-cid-wpvy4v7s]>[data-astro-cid-wpvy4v7s]{pointer-events:auto}.nav__spacer[data-astro-cid-wpvy4v7s]{height:var(--nav-h)}.nav__close[data-astro-cid-wpvy4v7s]{width:34px;height:34px;transition:background var(--dur-fast) var(--ease-out);background:#0006;place-items:center;display:grid}.nav__close[data-astro-cid-wpvy4v7s]:hover,.nav__close[data-astro-cid-wpvy4v7s]:focus-visible{background:#0000008c}.nav__close[data-astro-cid-wpvy4v7s] svg[data-astro-cid-wpvy4v7s]{width:46%;height:46%;stroke:var(--paper);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;fill:none}.nav__close[data-astro-cid-wpvy4v7s] svg[data-astro-cid-wpvy4v7s] path[data-astro-cid-wpvy4v7s]{vector-effect:non-scaling-stroke}.nav__toggle[data-astro-cid-wpvy4v7s]{padding:var(--space-2xs);place-items:center;margin-inline-end:calc(var(--space-2xs) * -1);display:grid}.nav__square[data-astro-cid-wpvy4v7s]{background:var(--fill-mute);width:34px;height:34px;position:relative;overflow:hidden}.nav__disc[data-astro-cid-wpvy4v7s]{aspect-ratio:1;background:var(--accent);width:62%;transition:transform var(--dur-base) var(--ease-out), border-radius var(--dur-base) var(--ease-out);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.nav__scan[data-astro-cid-wpvy4v7s]{transform:rotate(var(--scroll-rot,0deg));transition:opacity var(--dur-fast) var(--ease-out);position:absolute;inset:0}.nav__dot[data-astro-cid-wpvy4v7s]{background:var(--ink);border-radius:50%;width:8%;height:8%;position:absolute;top:25.7%;left:50%;transform:translate(-50%,-50%)}.nav__x[data-astro-cid-wpvy4v7s]{width:60%;height:60%;stroke:var(--ink);stroke-width:1.5px;fill:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);position:absolute;inset:20%;transform:rotate(-90deg)}body[data-menu-open] .nav__disc[data-astro-cid-wpvy4v7s]{border-radius:0;transform:translate(-50%,-50%)scale(1.7)}body[data-menu-open] .nav__scan[data-astro-cid-wpvy4v7s]{opacity:0}body[data-menu-open] .nav__x[data-astro-cid-wpvy4v7s]{opacity:1;transition-delay:var(--dur-fast);transform:rotate(0)}@media (prefers-reduced-motion:reduce){.nav__disc[data-astro-cid-wpvy4v7s],.nav__x[data-astro-cid-wpvy4v7s]{transition:none}}.model[data-astro-cid-fqv7jy6b]{width:100%;height:100%}model-viewer[data-astro-cid-fqv7jy6b]{--progress-bar-color:transparent;--poster-color:transparent;background:0 0;width:100%;height:100%;display:block}.menu[data-astro-cid-xrc56gie]{z-index:var(--z-menu);width:var(--menu-w);gap:var(--space-2xs);height:100dvh;padding:var(--space-2xs);background:var(--paper);border-left:1px solid var(--line);visibility:hidden;transition:transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}body[data-menu-open] .menu[data-astro-cid-xrc56gie]{visibility:visible;transition:transform var(--dur-base) var(--ease-out), visibility 0s;transform:translate(0)}.menu__block[data-astro-cid-xrc56gie]{padding:var(--space-md);flex:auto;min-height:0;display:block}.menu[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:hover{color:#000}.menu__block--contact[data-astro-cid-xrc56gie],.menu__block--projects[data-astro-cid-xrc56gie]{flex:none}.menu__block--contact[data-astro-cid-xrc56gie]{background:var(--fill-mute)}.menu__block--projects[data-astro-cid-xrc56gie]{background:var(--c-menu-green)}.menu__block--request[data-astro-cid-xrc56gie]{background:#e2deff}.menu__block--request[data-astro-cid-xrc56gie],.menu__block--about[data-astro-cid-xrc56gie],.menu__block--lab[data-astro-cid-xrc56gie]{align-items:center;display:flex;position:relative}.menu__block--request[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie],.menu__block--about[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie],.menu__block--lab[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie]{align-items:center;display:inline-flex}.menu__block--request[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie]:after,.menu__block--about[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie]:after,.menu__block--lab[data-astro-cid-xrc56gie] h2[data-astro-cid-xrc56gie]:after{content:"";opacity:0;width:.72em;height:.72em;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 74' fill='none' stroke='%23000000' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 37H70'/%3E%3Cpath d='M40 8L69 37L40 66'/%3E%3C/svg%3E") 50%/contain no-repeat;flex:none;margin-left:6px;transform:translate(-3px)}.menu__block--request[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--request[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after,.menu__block--about[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--about[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after,.menu__block--lab[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--lab[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after{opacity:1;animation:1.3s .16s infinite menu-arrow-bob;transform:translate(0)}@keyframes menu-arrow-bob{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.menu__block--request[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--request[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after,.menu__block--about[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--about[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after,.menu__block--lab[data-astro-cid-xrc56gie]:hover h2[data-astro-cid-xrc56gie]:after,.menu__block--lab[data-astro-cid-xrc56gie]:focus-visible h2[data-astro-cid-xrc56gie]:after{animation:none}}.menu__block--about[data-astro-cid-xrc56gie]{background:var(--c-menu-blue)}.menu__block--lab[data-astro-cid-xrc56gie]{--menu-grid-cols:15;--menu-grid-cell:calc((var(--menu-w) - 2 * var(--space-2xs)) / var(--menu-grid-cols));background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);background-size:var(--menu-grid-cell) var(--menu-grid-cell);box-shadow:inset 0 0 0 1px var(--line)}.menu__block--time[data-astro-cid-xrc56gie]{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.menu__inline[data-astro-cid-xrc56gie]{gap:var(--space-2xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.menu__sep[data-astro-cid-xrc56gie]{color:var(--ink-muted)}.menu__block--projects[data-astro-cid-xrc56gie] ul[data-astro-cid-xrc56gie]{gap:var(--space-xs);margin-top:var(--space-md);flex-direction:column;display:flex}.menu__here[data-astro-cid-xrc56gie]{vertical-align:middle;background:#10bc36;border-radius:50%;width:6px;height:6px;margin-left:8px;display:inline-block;transform:translateY(-.06em)}.menu__figure[data-astro-cid-xrc56gie]{right:var(--space-3xs);width:28%;position:absolute;top:0;bottom:0}@media (height<=760px){.menu__figure[data-astro-cid-xrc56gie]{display:none}.menu__block--request[data-astro-cid-xrc56gie],.menu__block--about[data-astro-cid-xrc56gie],.menu__block--lab[data-astro-cid-xrc56gie],.menu__block--time[data-astro-cid-xrc56gie]{padding-block:var(--space-xs);overflow:hidden}}.menu__clock[data-astro-cid-xrc56gie]{font-variant-numeric:tabular-nums}.note[data-astro-cid-mkm5ztd2]{width:var(--note-span);aspect-ratio:1;background:var(--accent);padding:var(--space-md);transform:translateY(var(--note-offset)) rotate(var(--note-rotate));transition:transform var(--dur-base) var(--ease-out);flex:none;align-items:flex-start;display:flex;box-shadow:0 5px 8px #00000038}.note[data-astro-cid-mkm5ztd2]+.note[data-astro-cid-mkm5ztd2]{margin-inline-start:calc(var(--note-span) * -.28)}.note--action[data-astro-cid-mkm5ztd2]{cursor:pointer}.note--action[data-astro-cid-mkm5ztd2]:hover{transform:translateY(calc(var(--note-offset) - 6px)) rotate(var(--note-rotate))}.note__text[data-astro-cid-mkm5ztd2]{color:var(--ink)}.note--free[data-astro-cid-mkm5ztd2]{left:var(--nx,0px);top:var(--ny,0px);transform:rotate(var(--note-rotate));touch-action:none;cursor:grab;margin:0;transition:none;position:absolute}.note--free[data-astro-cid-mkm5ztd2]+.note--free[data-astro-cid-mkm5ztd2]{margin-inline-start:0}.note--free[data-astro-cid-mkm5ztd2].is-drag{cursor:grabbing}.note--free[data-astro-cid-mkm5ztd2].note--action:hover{transform:rotate(var(--note-rotate))}@media (width<=960px){.note[data-astro-cid-mkm5ztd2]{width:calc(var(--note-span) * .7);padding:var(--space-sm)}.note[data-astro-cid-mkm5ztd2]+.note[data-astro-cid-mkm5ztd2]{margin-inline-start:calc(var(--note-span) * -.34)}.note--free[data-astro-cid-mkm5ztd2]{width:min(var(--note-span), 62vw);padding:var(--space-md)}}.footer[data-astro-cid-jo6i4kqk]{color:var(--paper);padding-block:var(--section-y) calc(var(--space-xl) / 2);background:#6f6f6f;overflow:hidden}.footer__top[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:flex-start;gap:var(--space-2xl);display:flex}.footer__thoughts[data-astro-cid-jo6i4kqk]{flex:auto;min-width:0}.footer__heading[data-astro-cid-jo6i4kqk],.footer__colhead[data-astro-cid-jo6i4kqk]{color:var(--paper)}.footer__pile[data-astro-cid-jo6i4kqk]{margin-top:var(--space-lg);align-items:flex-start;display:flex}.footer__pile[data-astro-cid-jo6i4kqk].is-scatter{display:block;position:relative;overflow:visible}.footer__links[data-astro-cid-jo6i4kqk]{gap:var(--space-3xl);flex-shrink:0;display:flex}.footer__col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2xs);margin-top:var(--space-md);flex-direction:column;display:flex}.footer__col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink)}.footer__col[data-astro-cid-jo6i4kqk][aria-label=Contact]{min-width:105px}.footer__legal[data-astro-cid-jo6i4kqk]{margin-top:var(--space-4xl);text-align:center;color:#ffffff8c}@media (width<=960px){.footer__top[data-astro-cid-jo6i4kqk]{gap:var(--space-2xl);flex-direction:column}.footer__thoughts[data-astro-cid-jo6i4kqk]{align-self:stretch}.footer__pile[data-astro-cid-jo6i4kqk]{padding-bottom:var(--space-md);scrollbar-width:none;overflow-x:auto}.footer__pile[data-astro-cid-jo6i4kqk]::-webkit-scrollbar{display:none}.footer__pile[data-astro-cid-jo6i4kqk].is-scatter{margin-top:var(--space-md);padding-bottom:0}.footer__links[data-astro-cid-jo6i4kqk]{gap:var(--space-2xl)}.footer__col[data-astro-cid-jo6i4kqk][aria-label=Contact]{min-width:0}.footer__legal[data-astro-cid-jo6i4kqk]{margin-top:var(--space-2xl)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.canvas{transition:transform var(--dur-base) var(--ease-out)}body[data-menu-arm] .canvas,body[data-menu-open] .canvas{will-change:transform}body[data-menu-open] .canvas{transform:translateX(calc(var(--menu-w) * -1))}:root{--slant:17.6vw}html[data-nav=in]::view-transition-old(root){animation:none}html[data-nav=in]::view-transition-new(root){animation:case-rise-in .82s var(--ease-in-out) both;z-index:1}@keyframes case-rise-in{0%{clip-path:polygon(0 100%, 100% calc(100% + var(--slant)), 100% 200%, 0 200%)}to{clip-path:polygon(0 calc(0% - var(--slant)), 100% 0%, 100% 200%, 0 200%)}}html[data-nav=out]::view-transition-old(root){animation:case-slide-out .62s var(--ease-in-out) both;z-index:1}html[data-nav=out]::view-transition-new(root){z-index:0;animation:none}@keyframes case-slide-out{0%{clip-path:polygon(0 calc(0% - var(--slant)), 100% 0%, 100% 200%, 0 200%)}to{clip-path:polygon(0 100%, 100% calc(100% + var(--slant)), 100% 200%, 0 200%)}}html[data-nav=none]::view-transition-old(root),html[data-nav=none]::view-transition-new(root){animation:none}@media (prefers-reduced-motion:reduce){html[data-nav]::view-transition-old(root),html[data-nav]::view-transition-new(root){animation-duration:.01ms!important}}
