@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2)format("woff2")}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2)format("woff2-variations")}html{--accent:#8ddbd2;--accent-hover:#a9e6df;--on-accent:#0f1718;--text-strong:#fff4e8;--text:#ffffffeb;--text-soft:#ffffffbd;--bg:#0f1618;--bg-alt:#142024;--bg-deep:#0b1011;--surface:#ffffff09;--surface-raised:#0f1718d1;--border:#ffffff17;--glass:#0c141694;--footer-bg:#182125;--shadow:#0000002e;--radius-card:1rem;--content-max:76rem;--font-body:"Be Vietnam Pro", sans-serif;--font-accent:"Caveat Variable", cursive;--text-xs:.82rem;--text-sm:.95rem;--text-base:1rem;--text-lg:1.1rem;--text-xl:clamp(1.1rem, 2vw, 1.25rem);--text-display-md:clamp(2rem, 4vw, 3rem);--line-body:1.7;--tracking-label:.1em;font-family:var(--font-body);background-color:var(--bg);color:var(--text-strong);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:color-mix(in srgb, var(--accent) 35%, transparent) var(--bg);scroll-behavior:smooth}html a{color:var(--accent);text-underline-offset:.2em;text-decoration:none;text-decoration-thickness:.08em}html a:hover{text-decoration:underline}@media (prefers-color-scheme:light){html{--accent:#0b6a86;--accent-hover:#08566d;--on-accent:#fff;--text-strong:#0f1a1d;--text:#0f1a1de6;--text-soft:#0f1a1db3;--bg:#f3f6f7;--bg-alt:#e8eff1;--bg-deep:#ebf0f2;--surface:#ffffffb8;--surface-raised:#ffffffe6;--border:#0f1a1d1c;--glass:#f3f6f7b8;--footer-bg:#e2eaed;--shadow:#0f1a1d14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--bg);font-size:var(--text-base);line-height:var(--line-body);margin:0}*{box-sizing:border-box}img{max-width:100%;display:block}::selection{background-color:color-mix(in srgb, var(--accent) 28%, transparent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.25rem}.home-section{padding:6rem 1rem 5rem;scroll-margin-top:1rem}@media screen and (width>=680px){.home-section{padding-left:1.5rem;padding-right:1.5rem}}@media screen and (width>=900px){.home-section{padding-left:5vw;padding-right:5vw}}.section-inner{max-width:var(--content-max);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal-tile{--reveal-delay:0s;opacity:0;transition:opacity .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay), transform .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay);transform:translateY(1rem)}.reveal-tile.is-revealed,.reveal-tile:focus-within{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-tile{opacity:1;transition:none;transform:none}}.analytics-consent[data-v-fba41385]{z-index:1500;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));border:1px solid var(--border);border-radius:var(--radius-card);width:min(30rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);background:var(--bg-alt);box-shadow:0 1.25rem 3rem var(--shadow);padding:1.25rem;position:fixed;overflow-y:auto}h2[data-v-fba41385]{color:var(--text-strong);font-size:var(--text-lg);margin:0 0 .75rem;line-height:1.35}p[data-v-fba41385]{color:var(--text-soft);font-size:var(--text-sm);margin:.5rem 0;line-height:1.55}.analytics-consent__state[data-v-fba41385]{color:var(--text-strong);font-weight:700}.analytics-consent__links[data-v-fba41385]{flex-wrap:wrap;column-gap:1.25rem;display:flex}.analytics-consent__links a[data-v-fba41385]{min-height:44px;color:var(--accent);align-items:center;text-decoration:underline;display:inline-flex}.analytics-consent__actions[data-v-fba41385]{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}button[data-v-fba41385]{border:1px solid var(--border);min-height:48px;color:var(--text-strong);background:var(--surface);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:auto;padding:.65rem 1rem;font-weight:700}button[data-v-fba41385]:hover{border-color:var(--accent)}.skip-link[data-v-a1d78367]{z-index:2000;background-color:var(--accent);color:var(--on-accent);border-radius:.75rem;padding:.85rem 1rem;font-weight:700;transition:top .2s;position:fixed;top:-4rem;left:1rem}.skip-link[data-v-a1d78367]:focus{top:1rem}.header-icon[data-v-0e7762f6]{color:var(--text-strong);font-size:var(--text-base);letter-spacing:-.01em;font-weight:800;line-height:1;display:inline-block}.short[data-v-0e7762f6]{display:none}@media screen and (width<=479px){.full[data-v-0e7762f6]{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.short[data-v-0e7762f6]{display:inline}}header[data-v-bd44c1ed]{z-index:1000;background:linear-gradient(180deg, #ffffff14, #ffffff08), var(--glass);-webkit-backdrop-filter:blur(1rem)saturate(1.15);border-bottom:1px solid var(--border);width:100%;height:3.5rem;box-shadow:0 .7rem 1.5rem var(--shadow);align-items:center;padding:0 .75rem;display:flex;position:fixed;top:0}.animate[data-v-bd44c1ed]{animation:1s linear paused background-color-bd44c1ed;animation-delay:calc(var(--scroll) * -1s)}@keyframes background-color-bd44c1ed{0%{-webkit-backdrop-filter:unset;box-shadow:none;background-color:#0000;background-image:none;border-bottom-color:#0000}10%{-webkit-backdrop-filter:blur(1em)}95%{-webkit-backdrop-filter:blur(1em);background:linear-gradient(180deg, #ffffff14, #ffffff08), var(--glass);border-bottom-color:var(--border);box-shadow:0 .7rem 1.5rem var(--shadow)}}nav[data-v-bd44c1ed]{white-space:nowrap;align-items:center;width:100%;display:flex}@media screen and (width>=400px){nav[data-v-bd44c1ed]{padding-left:.75em;padding-right:.75em}}nav[data-v-bd44c1ed]{min-height:100%}a[data-v-bd44c1ed]{color:var(--text-strong)}.header-icon-link[data-v-bd44c1ed]{align-items:center;line-height:1;display:inline-flex}.header-icon-link[data-v-bd44c1ed]:hover{text-decoration:none}.jump-to[data-v-bd44c1ed]{flex:1;justify-content:end;align-items:center;gap:.55rem;margin-left:.75rem;font-size:.86rem;font-weight:700;display:flex}.jump-to a[data-v-bd44c1ed]{padding:.7rem 0}.jump-to .language-menu[data-v-bd44c1ed]{position:relative}.jump-to .language-menu summary[data-v-bd44c1ed]{border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;height:2.45rem;padding:0 .6rem 0 .75rem;list-style:none;transition:border-color .2s;display:flex}.jump-to .language-menu summary[data-v-bd44c1ed]::-webkit-details-marker{display:none}.jump-to .language-menu summary[data-v-bd44c1ed]:hover{border-color:var(--accent)}@media screen and (width<=399px){.jump-to .language-menu summary[data-v-bd44c1ed]{gap:.2rem;padding:0 .4rem 0 .5rem}}.jump-to .language-menu .chevron[data-v-bd44c1ed]{fill:none;width:1rem;height:1rem;stroke:var(--accent);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.jump-to .language-menu[open] summary[data-v-bd44c1ed]{border-color:var(--accent)}.jump-to .language-menu[open] .chevron[data-v-bd44c1ed]{transform:rotate(180deg)}.jump-to .language-menu ul[data-v-bd44c1ed]{border:1px solid var(--border);background:var(--bg-alt);min-width:10rem;box-shadow:0 .9rem 2rem var(--shadow);border-radius:.85rem;gap:.15rem;margin:0;padding:.35rem;list-style:none;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.jump-to .language-menu a[data-v-bd44c1ed]{color:var(--text);border-radius:.55rem;align-items:center;gap:.6rem;padding:.55rem .75rem;display:flex}.jump-to .language-menu a[data-v-bd44c1ed]:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);text-decoration:none}.jump-to .language-menu a[aria-current=true][data-v-bd44c1ed]{color:var(--accent)}.jump-to .flag[data-v-bd44c1ed]{font-size:1.15rem;line-height:1}@media screen and (width>=400px){.jump-to[data-v-bd44c1ed]{font-size:var(--text-sm);gap:1.1rem}}@media screen and (width>=700px){.jump-to[data-v-bd44c1ed]{gap:1.5rem}}.location-popover[data-v-5b41f544]{z-index:1001;pointer-events:none;filter:drop-shadow(0 1.8rem 2.4rem #00000057);width:17rem;position:fixed;transform:translateY(-50%)}.popover-shell[data-v-5b41f544]{-webkit-backdrop-filter:blur(26px)saturate(1.1);background:linear-gradient(160deg,#8ddbd21f,#8ddbd205 35%,#0000 60%),linear-gradient(#ffffff09,#fff0 28%),#060c0deb;border:1px solid #8ddbd224;border-radius:1.5rem;position:relative;overflow:hidden;box-shadow:0 2rem 4rem #0000006b,0 0 0 1px #ffffff05,inset 0 1px #ffffff14}.popover-shell[data-v-5b41f544]:before{content:"";pointer-events:none;background:linear-gradient(#04090a57,#04090a14 42%,#04090a33),radial-gradient(circle at 78% 14%,#8ddbd233,#0000 30%),radial-gradient(circle at 16% 100%,#8ddbd214,#0000 42%);position:absolute;inset:0}.popover-copy[data-v-5b41f544],.map-stage[data-v-5b41f544]{z-index:1;position:relative}.popover-copy[data-v-5b41f544]{padding:1.05rem 1.05rem .65rem}.locality[data-v-5b41f544],.coordinates[data-v-5b41f544]{margin:0}.locality[data-v-5b41f544]{color:#fff;text-shadow:0 .2rem 1rem #00000038;font-size:1.24rem;font-weight:800;line-height:1.02}.state[data-v-5b41f544]{color:#ffffffbf;margin-top:.35rem;font-size:.82rem}.coordinates[data-v-5b41f544]{color:#ffffffa3;margin-top:.35rem;font-size:.82rem}.map-stage[data-v-5b41f544]{background:linear-gradient(#ffffff08,#fff0),linear-gradient(160deg,#8ddbd20d,#0000 46%),#0b1f24e6;border-radius:1rem;height:15rem;margin:0 .5rem .5rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #8ddbd214,inset 0 -2.5rem 3rem #030a0c38}.map-frame[data-v-5b41f544]{position:absolute;inset:.8rem}.map-glow[data-v-5b41f544]{aspect-ratio:1;filter:blur(.4rem);background:radial-gradient(circle,#8ddbd23d,#8ddbd200 72%);border-radius:50%;width:92%;position:absolute;inset:auto -18% -28% auto}.map-image[data-v-5b41f544]{object-fit:contain;object-position:center;opacity:1;filter:drop-shadow(0 .8rem 1rem #0003);width:100%;height:100%;position:absolute;inset:0}.marker[data-v-5b41f544]{filter:drop-shadow(0 .4rem 1rem #8ddbd273);animation:2.8s cubic-bezier(.22,1,.36,1) infinite markerFloat-5b41f544;position:absolute;transform:translate(-50%,-94%)}.marker-ripple[data-v-5b41f544]{background:#8ddbd21a;border:1px solid #8ddbd257;border-radius:50%;animation:2.8s ease-out infinite ripplePulse-5b41f544;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple-outer[data-v-5b41f544]{width:2.2rem;height:2.2rem}.ripple-inner[data-v-5b41f544]{width:1.3rem;height:1.3rem;animation-delay:.35s}.marker-pin[data-v-5b41f544]{background:#8ddbd2;border:2px solid #060f1185;border-radius:50% 50% 50% 0;width:1.1rem;height:1.1rem;display:block;position:relative;transform:rotate(-45deg)}.marker-core[data-v-5b41f544]{background:#092126;border-radius:50%;width:.34rem;height:.34rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}@media (prefers-color-scheme:light){.location-popover[data-v-5b41f544]{filter:drop-shadow(0 1.4rem 2rem #0f1a1d24)}.popover-shell[data-v-5b41f544]{background:linear-gradient(160deg,#0b6a8614,#0b6a8603 35%,#0000 60%),#ffffffe6;border-color:#0b6a8629;box-shadow:0 1.6rem 3rem #0f1a1d1f,inset 0 1px #ffffffe6}.popover-shell[data-v-5b41f544]:before{background:radial-gradient(circle at 78% 14%,#0b6a861a,#0000 30%)}.locality[data-v-5b41f544]{color:var(--text-strong);text-shadow:none}.state[data-v-5b41f544]{color:var(--text-soft)}.coordinates[data-v-5b41f544]{color:#0f1a1d99}.map-stage[data-v-5b41f544]{background:linear-gradient(160deg,#0b6a860d,#0000 46%),#e8eff1;box-shadow:inset 0 0 0 1px #0b6a861a}.map-glow[data-v-5b41f544]{background:radial-gradient(circle,#0b6a8624,#0b6a8600 72%)}.map-image[data-v-5b41f544]{filter:invert()hue-rotate(180deg)drop-shadow(0 .6rem .8rem #0f1a1d14)}.marker[data-v-5b41f544]{filter:drop-shadow(0 .4rem .8rem #0b6a8659)}.marker-ripple[data-v-5b41f544]{background:#0b6a8614;border-color:#0b6a864d}.marker-pin[data-v-5b41f544]{background:var(--accent);border-color:#ffffffb3}.marker-core[data-v-5b41f544]{background:#fff}}@keyframes markerFloat-5b41f544{0%,to{transform:translate(-50%,-94%)}50%{transform:translate(-50%,-101%)}}@keyframes ripplePulse-5b41f544{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(.82)}58%{opacity:0;transform:translate(-50%,-50%)scale(1.24)}}.location-anchor[data-v-9d65f570]{display:inline-flex;position:relative}.location-trigger[data-v-9d65f570]{color:inherit;font:inherit;cursor:default;background:0 0;border:0;padding:0;position:relative}.location-trigger[data-v-9d65f570]:after{content:"";vertical-align:middle;background:color-mix(in srgb, var(--accent) 78%, transparent);border-radius:50%;width:.38rem;height:.38rem;margin-left:.4rem;transition:transform .18s cubic-bezier(.22,1,.36,1);display:inline-block}.location-trigger[data-v-9d65f570]:hover:after,.location-trigger[data-v-9d65f570]:focus-visible:after{transform:scale(1.35)}.location-backdrop[data-v-9d65f570]{z-index:1000;pointer-events:none;-webkit-backdrop-filter:blur(4px)saturate(.88);-webkit-mask-image:radial-gradient(circle 18rem at var(--spotlight-x) var(--spotlight-y), transparent 0, #00000005 .8rem, #00000014 1.8rem, #0000002b 3rem, #0000004d 4.8rem, #00000075 6.8rem, #000000a1 9.2rem, #000000c7 12rem, #000 18rem);mask-image:radial-gradient(circle 18rem at var(--spotlight-x) var(--spotlight-y), transparent 0, #00000005 .8rem, #00000014 1.8rem, #0000002b 3rem, #0000004d 4.8rem, #00000075 6.8rem, #000000a1 9.2rem, #000000c7 12rem, #000 18rem);-webkit-mask-image:radial-gradient(circle 18rem at var(--spotlight-x) var(--spotlight-y), transparent 0, #00000005 .8rem, #00000014 1.8rem, #0000002b 3rem, #0000004d 4.8rem, #00000075 6.8rem, #000000a1 9.2rem, #000000c7 12rem, #000 18rem);background:#050a0b24;position:fixed;inset:0}.location-backdrop-enter-active[data-v-9d65f570],.location-backdrop-leave-active[data-v-9d65f570]{transition:opacity .42s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .42s cubic-bezier(.16,1,.3,1),backdrop-filter .42s cubic-bezier(.16,1,.3,1)}.location-backdrop-enter-from[data-v-9d65f570],.location-backdrop-leave-to[data-v-9d65f570]{opacity:0;-webkit-backdrop-filter:blur()saturate()}.location-popover-enter-active[data-v-9d65f570],.location-popover-leave-active[data-v-9d65f570]{transition:opacity .42s cubic-bezier(.16,1,.3,1),filter .42s cubic-bezier(.16,1,.3,1)}.location-popover-enter-from[data-v-9d65f570],.location-popover-leave-to[data-v-9d65f570]{opacity:0;filter:blur(.7rem)}.location-popover-enter-active[data-v-9d65f570] .popover-shell,.location-popover-leave-active[data-v-9d65f570] .popover-shell{transition:transform .42s cubic-bezier(.16,1,.3,1)}.location-popover-enter-from[data-v-9d65f570] .popover-shell,.location-popover-leave-to[data-v-9d65f570] .popover-shell{transform:translateY(.8rem)scale(.965)}@media (not (any-hover:hover)) or (not (any-pointer:fine)){.location-trigger[data-v-9d65f570]{cursor:inherit}.location-trigger[data-v-9d65f570]:after{display:none}}.technology-icon[data-v-b2533b7e]{color:currentColor;fill:currentColor;flex:none;width:1.15em;height:1.15em;display:block}.technology-pill[data-v-dde7db64]{border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);min-height:2.45rem;color:var(--text);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:.55rem;padding:.5rem .85rem;font-weight:600;display:inline-flex}.technology-pill[data-v-dde7db64] .technology-icon{width:1.05rem;height:1.05rem;color:var(--accent)}.entry-home-section[data-v-557a6ad9]{background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 32rem), var(--bg);align-items:center;min-height:min(100svh,max(64rem,100vw));padding-top:6rem;display:flex}.hero-shell[data-v-557a6ad9]{gap:2.5rem;width:100%;display:grid}@media screen and (width>=960px){.hero-shell[data-v-557a6ad9]{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.8fr);align-items:center;gap:4rem}}.name[data-v-557a6ad9]{font-family:var(--font-accent);color:var(--text-strong);margin:0;font-size:clamp(3.2rem,9vw,5.6rem);font-weight:700;line-height:.95}.role[data-v-557a6ad9]{color:var(--accent);font-size:var(--text-lg);margin:1rem 0 0;font-weight:700}.lead[data-v-557a6ad9]{max-width:38rem;font-size:var(--text-xl);line-height:var(--line-body);color:var(--text);margin:1.25rem 0 0}.lead a[data-v-557a6ad9]{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);font-weight:700}.highlights[data-v-557a6ad9]{flex-wrap:wrap;gap:.6rem;margin:1.75rem 0 0;padding:0;list-style:none;display:flex}.actions[data-v-557a6ad9]{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.action[data-v-557a6ad9]{border-radius:999px;align-items:center;min-height:3rem;padding:0 1.4rem;font-weight:700;transition:background-color .2s,border-color .2s;display:inline-flex}.action[data-v-557a6ad9]:hover{text-decoration:none}.primary[data-v-557a6ad9]{background-color:var(--accent);color:var(--on-accent)}.primary[data-v-557a6ad9]:hover{background-color:var(--accent-hover)}.secondary[data-v-557a6ad9]{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text-strong)}.secondary[data-v-557a6ad9]:hover{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.hero-profile[data-v-557a6ad9]{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.25rem;padding-top:2rem;display:grid}@media screen and (width>=960px){.hero-profile[data-v-557a6ad9]{border-top:0;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1.75rem;padding-top:0}}.portrait[data-v-557a6ad9]{border-radius:50%;width:5rem;height:5rem}@media screen and (width>=960px){.portrait[data-v-557a6ad9]{width:min(18rem,100%);height:auto;box-shadow:0 1.25rem 2.5rem #0000004d}}.profile-list[data-v-557a6ad9]{gap:.5rem;margin:0;display:grid}@media screen and (width>=960px){.profile-list[data-v-557a6ad9]{gap:.8rem}}.profile-list dd[data-v-557a6ad9]{color:var(--text);align-items:center;gap:.65rem;margin:0;line-height:1.45;display:flex}.profile-list a[data-v-557a6ad9]{font-weight:700}.profile-list svg[data-v-557a6ad9]{width:1.05rem;height:1.05rem;color:var(--accent);fill:currentColor;flex:none}.section-intro[data-v-f6c34888]{flex-direction:column;gap:.75rem;max-width:44rem;display:flex}.align-center[data-v-f6c34888]{text-align:center;align-items:center;margin-left:auto;margin-right:auto}.title[data-v-f6c34888]{color:var(--text-strong);font-size:var(--text-display-md);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:800;line-height:1.1}.lead[data-v-f6c34888]{color:var(--text-soft);font-size:var(--text-xl);line-height:var(--line-body);margin:0}.jobs-home-section[data-v-f7cb3b0b]{background-color:var(--bg-alt)}.timeline[data-v-f7cb3b0b]{flex-direction:column;gap:1.25rem;margin:3rem 0 0;padding:0 0 0 1.75rem;list-style:none;display:flex;position:relative}.timeline[data-v-f7cb3b0b]:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 70%, transparent), color-mix(in srgb, var(--accent) 8%, transparent));border-radius:999px;width:2px;position:absolute;top:.5rem;bottom:0;left:.35rem}.job[data-v-f7cb3b0b]{position:relative}.job[data-v-f7cb3b0b]:before{content:"";border:2px solid var(--accent);background-color:var(--bg-alt);border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:1.85rem;left:calc(1px - 1.4rem);transform:translate(-50%)}.job.current[data-v-f7cb3b0b]:before{background-color:var(--accent)}.job-card[data-v-f7cb3b0b]{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:1rem;padding:1.5rem;display:grid}@media screen and (width>=900px){.job-card[data-v-f7cb3b0b]{grid-template-columns:11rem minmax(0,1fr);gap:2.5rem;padding:1.75rem 2rem}}.meta[data-v-f7cb3b0b]{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}@media screen and (width>=900px){.meta[data-v-f7cb3b0b]{flex-direction:column;align-items:flex-start;gap:.5rem}}.meta p[data-v-f7cb3b0b]{margin:0}.status-badge[data-v-f7cb3b0b]{background-color:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:999px;padding:.2rem .65rem;font-weight:700}.duration[data-v-f7cb3b0b]{color:var(--text-soft);font-variant-numeric:tabular-nums;font-weight:600}.company[data-v-f7cb3b0b]{color:var(--text-soft);flex-wrap:wrap;gap:.5rem;display:flex}.company a[data-v-f7cb3b0b]{color:var(--text-strong);font-weight:700}h3[data-v-f7cb3b0b]{color:var(--text-strong);margin:0;font-size:clamp(1.2rem,2vw,1.4rem);font-weight:700;line-height:1.25}.company-name[data-v-f7cb3b0b]{color:var(--text-soft);font-size:var(--text-sm);margin:.3rem 0 0}.summary[data-v-f7cb3b0b]{max-width:58ch;color:var(--text);margin:1rem 0 0}.technologies[data-v-f7cb3b0b]{flex-wrap:wrap;gap:.6rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.projects-home-section[data-v-b936bec0]{background-color:var(--bg)}.section-inner[data-v-b936bec0]{flex-direction:column;gap:2.5rem;display:flex}.zielbock[data-v-b936bec0],.homelab[data-v-b936bec0]{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.zielbock[data-v-b936bec0]{gap:1.5rem;padding:1.5rem;scroll-margin-top:5rem;display:grid;overflow:clip}@media screen and (width>=720px){.zielbock[data-v-b936bec0]{gap:2rem;padding:2.5rem}}@media screen and (width>=1060px){.zielbock[data-v-b936bec0]{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);column-gap:2.5rem;padding:3rem}.zielbock>.zielbock-header[data-v-b936bec0],.zielbock>.parts[data-v-b936bec0],.zielbock>.pill-list[data-v-b936bec0]{grid-column:1/-1}}.zielbock-copy[data-v-b936bec0]{flex-direction:column;align-items:flex-start;gap:1.5rem;min-width:0;display:flex}.zielbock-header[data-v-b936bec0]{align-items:flex-start;gap:1rem;display:flex}@media screen and (width<=359px){.zielbock-header[data-v-b936bec0]{flex-direction:column;gap:.9rem}}.zielbock-logo[data-v-b936bec0]{flex:none;width:5rem;height:5rem}@media screen and (width<=359px){.zielbock-logo[data-v-b936bec0]{width:4rem;height:4rem}}.zielbock-heading[data-v-b936bec0]{text-box:trim-both cap alphabetic;min-width:0}h3[data-v-b936bec0]{color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;line-height:1.15}.tagline[data-v-b936bec0]{color:var(--text-soft);font-size:var(--text-sm);text-wrap:balance;margin:.2rem 0 0;font-weight:600}.copy[data-v-b936bec0]{max-width:62ch;color:var(--text);margin:0}.parts[data-v-b936bec0]{border-top:1px solid var(--border);gap:1.5rem;margin:0;padding-top:1.5rem;display:grid}@media screen and (width>=900px){.parts[data-v-b936bec0]{grid-template-columns:repeat(3,minmax(0,1fr))}.parts>div+div[data-v-b936bec0]{border-left:1px solid var(--border);padding-left:2rem}}.parts .role dt[data-v-b936bec0]{color:var(--text-strong)}.parts dt[data-v-b936bec0]{color:var(--accent);font-size:var(--text-sm);font-weight:700}.parts dd[data-v-b936bec0]{color:var(--text-soft);font-size:var(--text-sm);margin:.25rem 0 0;line-height:1.6}.pill-list[data-v-b936bec0]{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.links[data-v-b936bec0]{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:.5rem;display:flex}.badge-link[data-v-b936bec0]{border-radius:.5rem;display:inline-flex}.badge[data-v-b936bec0]{width:auto;height:2.75rem}.website-link[data-v-b936bec0]{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);font-weight:700}.website-link[data-v-b936bec0]:hover{text-decoration-color:currentColor}.screens[data-v-b936bec0]{gap:1rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}@media screen and (width<=719px){.screens[data-v-b936bec0]{scroll-snap-type:x mandatory;scrollbar-width:thin;margin:0 -1.5rem;padding:1.25rem 1.5rem 2.75rem;scroll-padding-inline:1.5rem;overflow-x:auto}.screens .device[data-v-b936bec0]{scroll-snap-align:start;filter:drop-shadow(0 .8rem .8rem #0000004d);width:min(62vw,15rem)}}@media screen and (width>=720px){.screens .device[data-v-b936bec0]{width:calc(33.3333% - .666667rem)}}.device[data-v-b936bec0]{aspect-ratio:1350/2760;filter:drop-shadow(0 1.2rem 1.6rem #00000059);flex:none;position:relative}.device-screen[data-v-b936bec0]{background-color:#fff;border-radius:11.8%/5.4%;width:89.334%;height:95%;position:absolute;top:2.5%;left:5.333%;overflow:hidden}.device-screen img[data-v-b936bec0]{object-fit:cover;width:100%;height:100%}.device-frame[data-v-b936bec0]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.homelab[data-v-b936bec0]{gap:1.5rem;padding:1.5rem;display:grid}@media screen and (width>=720px){.homelab[data-v-b936bec0]{padding:2rem 2.5rem}}@media screen and (width>=1060px){.homelab[data-v-b936bec0]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:3.5rem;padding:2.5rem 3rem}}.homelab h3[data-v-b936bec0]{margin-bottom:.75rem;font-size:clamp(1.35rem,2.4vw,1.6rem)}.homelab .copy[data-v-b936bec0]{color:var(--text-soft)}.contact-home-section[data-v-8f563467]{background-color:var(--bg-alt)}.contact[data-v-8f563467]{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.mail-row[data-v-8f563467]{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.mail-cta[data-v-8f563467],.copy-button[data-v-8f563467]{min-height:3rem;font:inherit;border-radius:999px;align-items:center;padding:0 1.4rem;font-weight:700;transition:background-color .2s,border-color .2s;display:inline-flex}.mail-cta[data-v-8f563467]{background-color:var(--accent);color:var(--on-accent)}.mail-cta[data-v-8f563467]:hover{background-color:var(--accent-hover);text-decoration:none}.copy-button[data-v-8f563467]{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text-strong);cursor:pointer;background:0 0}.copy-button[data-v-8f563467]:hover{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.copy-feedback[data-v-8f563467]{min-height:1.5em;color:var(--text-soft);font-size:var(--text-sm);margin:-.75rem 0 0}.socials[data-v-8f563467]{gap:1.5rem;margin:0;padding:0;font-weight:700;list-style:none;display:flex}.socials a[data-v-8f563467]{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}.socials a[data-v-8f563467]:hover{text-decoration-color:currentColor}footer[data-v-e6bc24e3]{background:linear-gradient(180deg, #ffffff0a, #ffffff05), var(--footer-bg);border-top:1px solid var(--border);min-height:3.5rem;font-size:var(--text-sm);justify-content:center;align-items:center;padding:.75rem 1rem;display:flex}nav[data-v-e6bc24e3]{flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;display:flex}button[data-v-e6bc24e3]{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}a[data-v-e6bc24e3],button[data-v-e6bc24e3]{color:var(--text-soft);font-weight:700}a.router-link-active[data-v-e6bc24e3],button.router-link-active[data-v-e6bc24e3]{color:var(--text-strong)}.legal-page[data-v-4c098e3c]{background:radial-gradient(circle at top, color-mix(in srgb, var(--accent) 14%, transparent), transparent 36%), linear-gradient(180deg, var(--bg-deep) 0%, var(--bg) 100%);min-height:100vh}.wrapper[data-v-4c098e3c]{width:min(52rem,100% - 2rem);min-height:calc(100vh - 3.5rem);margin:0 auto;padding-top:7rem;padding-bottom:4rem}.legal-content[data-v-4c098e3c]{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0d, #ffffff05), var(--surface-raised);min-width:0;box-shadow:0 1.25rem 2.6rem var(--shadow);border-radius:1.1rem;padding:1.5rem}.legal-content[data-v-4c098e3c] h1,.legal-content[data-v-4c098e3c] h2,.legal-content[data-v-4c098e3c] h3{color:var(--text-strong);line-height:1.16}.legal-content[data-v-4c098e3c] h1{margin:0 0 1.5rem;font-size:clamp(2.2rem,6vw,3.8rem)}.legal-content[data-v-4c098e3c] h2{margin:2.75rem 0 .85rem;font-size:clamp(1.45rem,3vw,2rem)}.legal-content[data-v-4c098e3c] h3{margin:1.75rem 0 .65rem;font-size:1.15rem}.legal-content[data-v-4c098e3c] p,.legal-content[data-v-4c098e3c] li{color:var(--text-soft)}.legal-content[data-v-4c098e3c] ul{padding-left:1.25rem}.legal-content[data-v-4c098e3c] li+li{margin-top:.5rem}.legal-content[data-v-4c098e3c] a{text-underline-offset:.18em;font-weight:700;text-decoration:underline}.legal-content[data-v-4c098e3c] strong{color:var(--text-strong)}@media screen and (width<=680px){.legal-content[data-v-4c098e3c]{padding:1.25rem}.legal-content[data-v-4c098e3c] h1{font-size:1.7rem}}
