section[data-astro-cid-extphafd]{border-bottom:1px solid #ffffff36;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(1.2rem,4vw,4rem);margin-top:3rem;padding-bottom:3rem;display:grid}figure[data-astro-cid-extphafd]{margin:0}img[data-astro-cid-extphafd]{border:1px solid #42635f;border-radius:.45rem;width:100%;height:auto;display:block}figcaption[data-astro-cid-extphafd],.category[data-astro-cid-extphafd]{color:#b9e5da;font-size:.85rem}figcaption[data-astro-cid-extphafd]{margin-top:.5rem}h2[data-astro-cid-extphafd]{letter-spacing:-.035em;margin:.6rem 0;font:400 clamp(2.5rem,4.4vw,4rem)/1.02 Instrument Serif,Georgia,serif}p[data-astro-cid-extphafd]{max-width:45ch}a[data-astro-cid-extphafd]{text-underline-offset:.3em}@media (width<=740px){section[data-astro-cid-extphafd]{grid-template-columns:1fr}section[data-astro-cid-extphafd]>div[data-astro-cid-extphafd]{grid-row:1}}.case-shortcut[data-astro-cid-jz54t2tz]{text-align:center;margin:.75rem 0}.ready[data-astro-cid-jz54t2tz] .project-link[data-astro-cid-jz54t2tz]{display:none}.ready[data-astro-cid-jz54t2tz] .wheel-item[data-astro-cid-jz54t2tz][data-open] .project-link[data-astro-cid-jz54t2tz]{color:#effff9;z-index:2;text-underline-offset:3px;background:#132b29;border-radius:4px;place-items:center;min-height:36px;font-size:.85rem;display:grid;position:absolute;bottom:6px;left:10px;right:10px}.ready[data-astro-cid-jz54t2tz] .wheel-item[data-astro-cid-jz54t2tz][data-linked] .detail-face[data-astro-cid-jz54t2tz]{padding-bottom:48px}.wheel-item[data-astro-cid-jz54t2tz]{margin-bottom:1.2rem}.card-symbol[data-astro-cid-jz54t2tz],.badge[data-astro-cid-jz54t2tz],.note[data-astro-cid-jz54t2tz] strong[data-astro-cid-jz54t2tz]{display:none}.wheel-hint[data-astro-cid-jz54t2tz]{color:#d2e2e1;font-size:.875rem}.ready[data-astro-cid-jz54t2tz] .wheel-stage[data-astro-cid-jz54t2tz]{perspective:1000px;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;width:min(94vw,840px);height:clamp(410px,48vw + 80px,520px);margin-left:50%;position:relative;overflow:hidden;transform:translate(-50%)}.ready[data-astro-cid-jz54t2tz] .wheel-stage[data-astro-cid-jz54t2tz]:active{cursor:grabbing}.ready[data-astro-cid-jz54t2tz] .wheel-item[data-astro-cid-jz54t2tz]{width:clamp(142px,20vw,168px);height:clamp(202px,27vw,225px);transform-style:preserve-3d;margin:0;position:absolute;top:50%;left:50%}.ready[data-astro-cid-jz54t2tz] .flip-shell[data-astro-cid-jz54t2tz]{width:100%;height:100%;transform-style:preserve-3d;transition:transform .38s;position:relative}.ready[data-astro-cid-jz54t2tz] .wheel-item[data-astro-cid-jz54t2tz][data-open] .flip-shell[data-astro-cid-jz54t2tz]{transform:rotateY(180deg)}.ready[data-astro-cid-jz54t2tz] .face[data-astro-cid-jz54t2tz]{box-sizing:border-box;backface-visibility:hidden;color:#fff;background:#161819;border-radius:7px;position:absolute;inset:0;overflow:hidden}.ready[data-astro-cid-jz54t2tz] .cover-face[data-astro-cid-jz54t2tz]{text-align:center;background-color:color-mix(in srgb,var(--accent) 17%,transparent);border:1px solid color-mix(in srgb,var(--accent) 72%,white);box-shadow:inset 0 1px 2px #ffffff80,inset 0 0 22px color-mix(in srgb,var(--accent) 28%,transparent);backdrop-filter:blur(7px)saturate(1.2);text-shadow:0 1px 4px #081015;background-image:linear-gradient(138deg,#ffffff40,#0000 35%,#07101445 70%,#ffffff21);align-content:center;justify-items:center;gap:1.4rem;padding:14px;display:grid}.ready[data-astro-cid-jz54t2tz] .card-symbol[data-astro-cid-jz54t2tz]{color:var(--accent);font:600 2.6rem/1 monospace;display:block}.ready[data-astro-cid-jz54t2tz] h3[data-astro-cid-jz54t2tz]{margin:0;font-size:1.05rem}.ready[data-astro-cid-jz54t2tz] .detail-face[data-astro-cid-jz54t2tz]{border:1px solid var(--accent);background:radial-gradient(ellipse at 27% 35%,var(--accent),transparent 54%),radial-gradient(ellipse at 90% 19%,#61454b,transparent 46%),#17191b;flex-direction:column;justify-content:space-between;padding:10px;display:flex;transform:rotateY(180deg)}.ready[data-astro-cid-jz54t2tz] .badge[data-astro-cid-jz54t2tz],.ready[data-astro-cid-jz54t2tz] .note[data-astro-cid-jz54t2tz] strong[data-astro-cid-jz54t2tz]{display:block}.ready[data-astro-cid-jz54t2tz] .badge[data-astro-cid-jz54t2tz]{color:#fff;background:#151617;border-radius:1em;align-self:flex-start;padding:2px 9px;font-size:.75rem}.ready[data-astro-cid-jz54t2tz] .note[data-astro-cid-jz54t2tz]{background:#101213eb;border-radius:4px;padding:9px}.ready[data-astro-cid-jz54t2tz] .note[data-astro-cid-jz54t2tz] p[data-astro-cid-jz54t2tz]{margin:.4em 0 0;font-size:.85rem;line-height:1.35}.ready[data-astro-cid-jz54t2tz] .card-hit[data-astro-cid-jz54t2tz]{width:100%;height:100%;cursor:inherit;background:0 0;border:none;border-radius:7px;position:absolute;inset:0}@media (width<=600px){.ready[data-astro-cid-jz54t2tz] .wheel-stage[data-astro-cid-jz54t2tz]{height:400px}.ready[data-astro-cid-jz54t2tz] .note[data-astro-cid-jz54t2tz] p[data-astro-cid-jz54t2tz]{font-size:.78rem}}@media (prefers-reduced-motion:reduce){.ready[data-astro-cid-jz54t2tz] .flip-shell[data-astro-cid-jz54t2tz]{transition:none}}.profile-dock[data-astro-cid-zpjfavmh]{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:20;pointer-events:none;color:#f1fffd;position:fixed}details[data-astro-cid-zpjfavmh]{--size:min(340px, calc(100vw - 2rem), calc(100dvh - 2rem));width:var(--size);height:var(--size);pointer-events:auto;transform-origin:100% 100%;background:linear-gradient(140deg,#183c40,#224852 65%,#34384b);border-radius:32px;transition:transform .5s ease-in-out,border-radius .5s ease-in-out;position:relative;transform:scale(.6);box-shadow:0 10px 32px #0007}details[data-astro-cid-zpjfavmh][open]{border-top-left-radius:55px;transform:scale(1)}summary[data-astro-cid-zpjfavmh]{z-index:1;box-sizing:border-box;cursor:pointer;background:#bde9df;border:0 solid #488c86;border-radius:29px;width:calc(100% - 6px);height:calc(100% - 6px);list-style:none;transition:all .5s ease-in-out .2s;display:block;position:absolute;inset:3px;overflow:hidden}summary[data-astro-cid-zpjfavmh]::-webkit-details-marker{display:none}summary[data-astro-cid-zpjfavmh] img[data-astro-cid-zpjfavmh]{object-fit:cover;transform-origin:45% 20%;width:100%;height:100%;transition:transform .5s ease-in-out}details[data-astro-cid-zpjfavmh][open] summary[data-astro-cid-zpjfavmh]{z-index:3;border-width:7px;border-radius:50%;width:36%;height:36%;transition:all .5s ease-in-out,z-index .5s ease-in-out .1s;top:10px;left:10px;box-shadow:0 4px 8px #001a}details[data-astro-cid-zpjfavmh][open] summary[data-astro-cid-zpjfavmh] img[data-astro-cid-zpjfavmh]{transition-delay:.5s;transform:scale(2.5)}@media (hover:hover){details[data-astro-cid-zpjfavmh][open] summary[data-astro-cid-zpjfavmh]:hover{border-radius:0;transform:scale(1.3)}}summary[data-astro-cid-zpjfavmh]:focus-visible{outline-offset:3px;outline:3px solid #c8fff4}details[data-astro-cid-zpjfavmh]::details-content{content-visibility:visible}.sheet[data-astro-cid-zpjfavmh]{z-index:2;pointer-events:none;background:linear-gradient(145deg,#347871,#153941 85%);border-radius:29px;transition:top .5s cubic-bezier(.645,.045,.355,1),border-radius .5s cubic-bezier(.645,.045,.355,1);position:absolute;inset:80% 3px 3px;overflow:hidden;box-shadow:inset 0 1px 5px #18383890}details[data-astro-cid-zpjfavmh][open] .sheet[data-astro-cid-zpjfavmh]{pointer-events:auto;border-radius:80px 29px 29px;transition-delay:.2s;top:20%}.email[data-astro-cid-zpjfavmh]{z-index:4;color:#abf3e6;border-radius:50%;place-items:center;width:44px;height:44px;display:none;position:absolute;top:.45rem;right:1rem}details[data-astro-cid-zpjfavmh][open] .email[data-astro-cid-zpjfavmh]{display:grid}.email[data-astro-cid-zpjfavmh]:hover,.email[data-astro-cid-zpjfavmh]:focus-visible{color:#fff;background:#ffffff14}.mail-options[data-astro-cid-zpjfavmh]{z-index:5;visibility:hidden;pointer-events:none;margin:0;padding:0 0 .5rem;transition:visibility 0s .5s;position:absolute;inset:auto 0 100%}.mail-options[data-astro-cid-zpjfavmh][data-visible]{visibility:visible;pointer-events:auto;transition-delay:0s}.mail-surface[data-astro-cid-zpjfavmh]{box-sizing:border-box;max-height:calc(100dvh - var(--size) - max(1rem, env(safe-area-inset-bottom)) - max(1rem, env(safe-area-inset-top)) - .5rem);overscroll-behavior:contain;transform-origin:89% bottom;opacity:0;background:#102c31;border:1px solid #54807d;border-radius:1.25rem;padding:.5rem;transition:transform .5s ease-in-out,opacity .4s ease-in-out;overflow-y:auto;transform:scale(.16);box-shadow:0 8px 24px #00181c66}.mail-options[data-astro-cid-zpjfavmh][data-visible] .mail-surface[data-astro-cid-zpjfavmh]{opacity:1;transform:scale(1)}.mail-rows[data-astro-cid-zpjfavmh]{--total-radio:4;--rail-opacity:0;--rail-offset:var(--hover-offset,var(--focus-offset,0%));grid-auto-rows:1fr;padding-left:.5rem;display:grid;position:relative}.mail-rows[data-astro-cid-zpjfavmh]:has(:focus-visible){--rail-opacity:1}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(2):focus-visible){--focus-offset:100%}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(3):focus-visible){--focus-offset:200%}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(4):focus-visible){--focus-offset:300%}.mail-options[data-astro-cid-zpjfavmh] strong[data-astro-cid-zpjfavmh],.mail-options[data-astro-cid-zpjfavmh] small[data-astro-cid-zpjfavmh]{padding:.5rem .75rem;display:block}.mail-options[data-astro-cid-zpjfavmh] strong[data-astro-cid-zpjfavmh]{color:#eafffa}.mail-options[data-astro-cid-zpjfavmh] a[data-astro-cid-zpjfavmh],.mail-options[data-astro-cid-zpjfavmh] button[data-astro-cid-zpjfavmh]{box-sizing:border-box;color:#e0f4f0;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.65rem;align-items:center;padding:.5rem .75rem;text-decoration:none;transition:color .3s ease-in-out;display:flex}@media (hover:hover){.mail-rows[data-astro-cid-zpjfavmh]:has(:is(a,button):hover){--rail-opacity:1}.mail-rows[data-astro-cid-zpjfavmh]:has(:first-child:hover){--hover-offset:0%}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(2):hover){--hover-offset:100%}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(3):hover){--hover-offset:200%}.mail-rows[data-astro-cid-zpjfavmh]:has(:nth-child(4):hover){--hover-offset:300%}.mail-rows[data-astro-cid-zpjfavmh] [data-astro-cid-zpjfavmh]:is(a,button):hover{color:#f7e479}}.mail-rows[data-astro-cid-zpjfavmh] [data-astro-cid-zpjfavmh]:is(a,button):focus-visible{color:#f7e479;outline-offset:-2px;outline:2px solid #f7e479}.mail-options[data-astro-cid-zpjfavmh] small[data-astro-cid-zpjfavmh]{overflow-wrap:anywhere;color:#c4deda;border-top:1px solid #3d5c5e}@media (height<=620px){details[data-astro-cid-zpjfavmh][open]:has(.mail-options[data-visible]){--compact-height:7rem;height:var(--compact-height)}.mail-surface[data-astro-cid-zpjfavmh]{max-height:calc(100dvh - var(--compact-height) - max(1rem, env(safe-area-inset-bottom)) - max(1rem, env(safe-area-inset-top)) - .5rem)}details[data-astro-cid-zpjfavmh][open]:has(.mail-options[data-visible]){& summary{border-width:3px;width:44px;height:44px}& .sheet{border-radius:29px;transition:none;inset:3px}& .bio{height:auto;inset:1.65rem 4rem auto;transform:translateY(-50%)}& .bio strong{font-size:1rem;line-height:1.15}& .bio p{display:none}}}.bio[data-astro-cid-zpjfavmh],.actions[data-astro-cid-zpjfavmh]{position:absolute;left:1.1rem;right:1.1rem}.bio[data-astro-cid-zpjfavmh]{height:calc(var(--size) * .52);text-align:left;bottom:0}.sheet[data-astro-cid-zpjfavmh] strong[data-astro-cid-zpjfavmh]{font-size:1.18rem;display:block}.sheet[data-astro-cid-zpjfavmh] p[data-astro-cid-zpjfavmh]{color:#d9eeeb;margin:.45rem 0 0;font-size:.92rem;line-height:1.3}.actions[data-astro-cid-zpjfavmh]{justify-content:space-between;align-items:center;gap:.7rem;display:flex;bottom:.55rem}.actions[data-astro-cid-zpjfavmh] a[data-astro-cid-zpjfavmh],.actions[data-astro-cid-zpjfavmh] button[data-astro-cid-zpjfavmh]{box-sizing:border-box;border-radius:2rem;align-items:center;gap:.5rem;min-height:44px;padding:0 .8rem;font:600 .85rem system-ui;display:inline-flex}.actions[data-astro-cid-zpjfavmh] a[data-astro-cid-zpjfavmh]{color:#123337;background:#e3fbf7;text-decoration:none}.actions[data-astro-cid-zpjfavmh] a[data-astro-cid-zpjfavmh]:hover{text-decoration:underline}.actions[data-astro-cid-zpjfavmh] .cv-download[data-astro-cid-zpjfavmh]{color:#d8fbef;background:0 0;border:1px solid #83b8b2}@media (prefers-reduced-motion:reduce){.mail-surface[data-astro-cid-zpjfavmh],.mail-options[data-astro-cid-zpjfavmh],.mail-options[data-astro-cid-zpjfavmh] [data-astro-cid-zpjfavmh]:is(a,button){transition:none}details[data-astro-cid-zpjfavmh],summary[data-astro-cid-zpjfavmh],summary[data-astro-cid-zpjfavmh] img[data-astro-cid-zpjfavmh],.sheet[data-astro-cid-zpjfavmh]{transition:none!important}}.intro-copy[data-astro-cid-c6r7gr4v] .availability[data-astro-cid-c6r7gr4v]{color:#c8e2dc;font-size:1rem;line-height:1.4}.intro-title[data-astro-cid-c6r7gr4v]{margin:0 0 .5rem;font:600 clamp(1.3rem,2vw,1.8rem)/1.2 Space Grotesk,sans-serif}.intro-copy[data-astro-cid-c6r7gr4v] .intro-focus[data-astro-cid-c6r7gr4v]{color:#b9e5da;letter-spacing:0;margin-bottom:1.15rem;font:500 .92rem/1.6 ui-monospace,monospace}.technologies[data-astro-cid-c6r7gr4v]{grid-template-columns:repeat(auto-fit,minmax(7.1rem,1fr));gap:.85rem;padding:0;list-style:none;display:grid}.technologies[data-astro-cid-c6r7gr4v] li[data-astro-cid-c6r7gr4v]{align-items:center;gap:.65rem;display:flex}.logo[data-astro-cid-c6r7gr4v]{background:#f0f6f5;border-radius:.55rem;flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}.logo[data-astro-cid-c6r7gr4v] img[data-astro-cid-c6r7gr4v]{object-fit:contain}
