.cursor-glow[data-v-8827290b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;opacity:var(--glow-opacity);background:radial-gradient(var(--glow-radius) circle at var(--glow-x, var(--glow-origin-x)) var(--glow-y, var(--glow-origin-y)),var(--glow-color),transparent var(--glow-fade))}@media(min-width:1024px)and (hover:hover)and (pointer:fine){.cursor-glow[data-v-8827290b]{position:absolute}}.mobile-nav[data-v-51d41c42]{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:8px;visibility:hidden;opacity:0;transform:translate(-50%,12px);transition:opacity var(--transition-smooth),transform var(--transition-smooth),visibility 0s linear .24s}.mobile-nav.is-visible[data-v-51d41c42]{visibility:visible;opacity:1;transform:translate(-50%);transition-delay:0s}ul[data-v-51d41c42]{position:relative;display:flex;gap:2px;margin:0;padding:4px;border:1px solid var(--color-border-strong);border-radius:999px;background:rgba(var(--bg-deep-rgb),.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);list-style:none}.mobile-lang[data-v-51d41c42]{display:grid;width:48px;height:48px;flex:none;place-items:center;padding:0;border:1px solid var(--color-border-strong);border-radius:50%;background:rgba(var(--bg-deep-rgb),.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-muted);cursor:pointer;transition:color var(--transition-smooth),transform var(--transition-smooth);font:var(--type-nav-label);letter-spacing:var(--tracking-wide)}.mobile-lang[data-v-51d41c42]:active{color:var(--color-text);transform:scale(.94)}.mobile-nav-thumb[data-v-51d41c42]{position:absolute;top:4px;bottom:4px;left:0;width:var(--thumb-w);border-radius:999px;background:var(--color-chip);box-shadow:inset 0 0 0 1px var(--color-border);opacity:0;transform:translate(var(--thumb-x))}.mobile-nav-thumb.is-ready[data-v-51d41c42]{opacity:1;transition:transform var(--transition-smooth),width var(--transition-smooth)}.mobile-nav-link[data-v-51d41c42]{position:relative;display:block;min-height:40px;padding:0 11px;border-radius:999px;color:var(--color-muted);line-height:40px;transition:color var(--transition-smooth)}.mobile-nav-link.is-current[data-v-51d41c42]{color:var(--color-text)}.mobile-nav-label[data-v-51d41c42]{display:inline-grid;text-align:center;font:var(--type-nav-label);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.mobile-nav-label>span[data-v-51d41c42],.mobile-nav-label[data-v-51d41c42]:after{grid-area:1 / 1}.mobile-nav-label[data-v-51d41c42]:after{content:attr(data-alt);visibility:hidden}@media(max-width:389px){.mobile-nav-link[data-v-51d41c42]{padding:0 9px}}@media(max-width:339px){.mobile-nav[data-v-51d41c42]{gap:6px}.mobile-nav-link[data-v-51d41c42]{padding:0 7px}.mobile-nav-label[data-v-51d41c42]{letter-spacing:.06em}}.mobile-nav--lang-only[data-v-51d41c42]{right:16px;left:auto;transform:translateY(12px)}.mobile-nav--lang-only.is-visible[data-v-51d41c42]{transform:none}@media(min-width:1024px){.mobile-nav[data-v-51d41c42]{display:none}}.language[data-v-148a348e]{display:inline-flex;align-items:center;width:fit-content;padding:4px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);transition:border-color var(--transition-smooth),color var(--transition-smooth)}.language[data-v-148a348e]:hover,.language[data-v-148a348e]:focus-within{border-color:var(--color-border-strong);color:var(--color-text)}.language-options[data-v-148a348e]{--option-width: 40px;--option-gap: 2px;position:relative;display:inline-flex;gap:var(--option-gap)}.language-thumb[data-v-148a348e]{position:absolute;inset:0 auto 0 0;width:var(--option-width);border-radius:999px;background:var(--color-chip);box-shadow:inset 0 0 0 1px var(--color-border);transform:translate(calc(var(--language-index, 0) * (var(--option-width) + var(--option-gap))));transition:transform var(--transition-smooth)}.language-option[data-v-148a348e]{position:relative;width:var(--option-width);min-height:32px;padding:0;border-radius:999px;color:var(--color-muted);background:transparent;cursor:pointer;transition:color var(--transition-smooth);font:var(--type-nav-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase}.language-option[data-v-148a348e]:hover:not(.is-active){color:var(--color-accent)}.language-option[data-v-148a348e]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.language-option.is-active[data-v-148a348e]{color:var(--color-text);cursor:default}@media(max-width:1023px){.language[data-v-148a348e]{padding:0;border:0;border-radius:0}.language-options[data-v-148a348e]{--option-width: 44px;--option-gap: 0px;--underline-width: 20px}.language-thumb[data-v-148a348e]{inset:auto;top:calc(50% + 9px);left:calc((var(--option-width) - var(--underline-width)) / 2);width:var(--underline-width);height:1px;border-radius:0;background:var(--color-text);box-shadow:none;transform:translate(calc(var(--language-index, 0) * var(--option-width)))}.language-option[data-v-148a348e]{min-height:44px;border-radius:0}}.social-icons[data-v-cfc2c36c]{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.social-icons a[data-v-cfc2c36c]{display:grid;width:40px;height:40px;place-items:center;margin-left:-8px;color:var(--color-muted);transition:color var(--transition-smooth);font:var(--type-caption);letter-spacing:var(--tracking-normal);text-transform:none}.social-icons li+li a[data-v-cfc2c36c]{margin-left:0}.social-icons a[data-v-cfc2c36c]:hover,.social-icons a[data-v-cfc2c36c]:focus-visible{color:var(--color-accent)}.social-icons svg[data-v-cfc2c36c]{width:22px;height:22px}.stable-text[data-v-ec4bcc32]{display:grid}.stable-text>span[data-v-ec4bcc32],.stable-text[data-v-ec4bcc32]:after{grid-area:1 / 1}.stable-text[data-v-ec4bcc32]:after{content:attr(data-alt);visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.profile-column[data-v-202d7c17]{display:none;margin-bottom:40px;padding:28px 0;border-bottom:1px solid var(--color-border)}.profile-column.is-home[data-v-202d7c17]{display:block}.profile-name[data-v-202d7c17]{margin:0;color:var(--color-text);font:var(--type-name);letter-spacing:var(--tracking-tight);text-transform:none}.profile-name a[data-v-202d7c17]{transition:color var(--transition-smooth)}.profile-name a[data-v-202d7c17]:hover,.profile-name a[data-v-202d7c17]:focus-visible{color:var(--color-accent)}.profile-role[data-v-202d7c17]{margin:12px 0 0;color:var(--color-text);font:var(--type-role);letter-spacing:var(--tracking-tight);text-transform:none}.profile-headline[data-v-202d7c17]{margin:16px 0 0;color:var(--color-muted);font:var(--type-intro);letter-spacing:var(--tracking-normal);text-transform:none;max-width:min(100%,20rem);text-wrap:balance}.section-nav[data-v-202d7c17],.profile-locale[data-v-202d7c17]{display:none}.profile-links[data-v-202d7c17]{margin-top:12px}@media(min-width:1024px){.profile-column[data-v-202d7c17],.profile-column.is-home[data-v-202d7c17]{position:sticky;top:0;align-self:start;display:flex;height:100vh;height:100dvh;flex-direction:column;justify-content:space-between;gap:32px;margin:0;padding:var(--layout-top) 0 48px;border:0}.section-nav[data-v-202d7c17]{display:block;margin-top:clamp(32px,7vh,64px)}.section-nav ul[data-v-202d7c17]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.section-nav-link[data-v-202d7c17]{display:inline-flex;min-height:40px;align-items:center;gap:16px;color:var(--color-muted);transition:color var(--transition-smooth)}.section-nav-link[data-v-202d7c17]:before{width:2rem;height:1px;flex:none;content:"";background:var(--color-muted);opacity:.6;transition:width var(--transition-smooth),opacity var(--transition-smooth),background var(--transition-smooth)}.section-nav-link.is-current[data-v-202d7c17]{color:var(--color-text)}.section-nav-link[data-v-202d7c17]:hover,.section-nav-link[data-v-202d7c17]:focus-visible{color:var(--color-accent)}.section-nav-label[data-v-202d7c17]{display:inline-block;transition:transform var(--transition-smooth)}.section-nav-link:hover .section-nav-label[data-v-202d7c17],.section-nav-link:focus-visible .section-nav-label[data-v-202d7c17]{transform:translate(4px)}.section-nav-link.is-current[data-v-202d7c17]:before{width:4rem;background:var(--color-text);opacity:1}.section-nav-link[data-v-202d7c17]:hover:before,.section-nav-link[data-v-202d7c17]:focus-visible:before{width:4rem;background:var(--color-accent);opacity:1}.profile-footer[data-v-202d7c17]{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}.profile-links[data-v-202d7c17]{margin:0}.profile-locale[data-v-202d7c17]{display:inline-flex}}@media(max-width:767px){.profile-name[data-v-202d7c17]{white-space:nowrap}}@media(max-width:1023px){.profile-column[data-v-202d7c17],.profile-column.is-home[data-v-202d7c17]{display:block;margin:0;padding:48px 0 80px;border:0}.profile-footer[data-v-202d7c17]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.profile-links[data-v-202d7c17]{margin:0}.profile-locale[data-v-202d7c17]{display:inline-flex}}.section-nav-link[data-v-202d7c17]{font:var(--type-body);letter-spacing:var(--tracking-normal);text-transform:none}.section-nav-label[data-v-202d7c17]{font:var(--type-nav-label);letter-spacing:var(--tracking-wide);text-transform:uppercase}@media(min-width:768px)and (max-width:1023px){.profile-column[data-v-202d7c17],.profile-column.is-home[data-v-202d7c17]{padding:64px 0 96px}}.copy-email[data-v-b70aa40c]{position:relative;display:inline-grid;width:32px;height:32px;flex:none;place-items:center;padding:0;border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;transition:color var(--transition-smooth),background var(--transition-smooth)}.copy-email[data-v-b70aa40c]:hover,.copy-email[data-v-b70aa40c]:focus-visible{color:var(--color-accent);background:var(--color-surface-hover)}.copy-icon[data-v-b70aa40c]{grid-area:1 / 1;width:16px;height:16px;transition:opacity var(--transition-smooth),transform var(--transition-smooth)}.copy-icon--done[data-v-b70aa40c]{opacity:0;transform:scale(.6)}.copy-email.is-copied[data-v-b70aa40c]{color:var(--color-accent)}.copy-email.is-copied .copy-icon--copy[data-v-b70aa40c]{opacity:0;transform:scale(.6)}.copy-email.is-copied .copy-icon--done[data-v-b70aa40c]{opacity:1;transform:none}.site-footer[data-v-90a8273e]{width:100%;padding:0;color:var(--color-muted);font:var(--type-small)}.site-footer-credit[data-v-90a8273e]{max-width:28rem;margin:0;text-wrap:balance;color:var(--color-muted);font:var(--type-small);letter-spacing:var(--tracking-normal);text-transform:none}@media(max-width:1023px){.site-footer[data-v-90a8273e]{padding-top:32px;border-top:1px solid var(--color-border)}}.site-footer-contact[data-v-90a8273e]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:20px}@media(min-width:640px){.footer-socials[data-v-90a8273e]{margin-right:-9px}}.footer-email-row[data-v-90a8273e]{display:inline-flex;align-items:center;gap:4px}.footer-email[data-v-90a8273e]{min-height:40px;padding-bottom:0;background-position:0 calc(100% - 8px)}@media(min-width:1024px){.site-footer-contact[data-v-90a8273e]{display:none}}@media(max-width:639px){.site-footer-contact[data-v-90a8273e]{align-items:flex-start;flex-direction:column;gap:8px}}.site-footer-content[data-v-90a8273e]{display:flex;align-items:center;justify-content:space-between;gap:10px}.terminal-easter-egg[data-v-90a8273e]{display:grid;width:44px;height:44px;flex:none;place-items:center;padding:0;background:transparent;color:var(--color-muted);opacity:.42;cursor:pointer;transition:color var(--transition-smooth),opacity var(--transition-smooth);font:var(--type-caption);letter-spacing:var(--tracking-normal);text-transform:none}.terminal-easter-egg[data-v-90a8273e]:hover,.terminal-easter-egg[data-v-90a8273e]:focus-visible{color:var(--color-accent);opacity:.9}.terminal-easter-egg[data-v-90a8273e]:focus-visible{outline-color:var(--color-accent);outline-offset:3px}.terminal-easter-egg:hover .terminal-mark[data-v-90a8273e],.terminal-easter-egg:focus-visible .terminal-mark[data-v-90a8273e]{animation:terminal-nudge-90a8273e .42s ease-out}@keyframes terminal-nudge-90a8273e{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@media(max-width:1023px){.terminal-easter-egg[data-v-90a8273e]{display:none}}@media(prefers-reduced-motion:reduce){.terminal-easter-egg:hover .terminal-mark[data-v-90a8273e],.terminal-easter-egg:focus-visible .terminal-mark[data-v-90a8273e]{animation:none}}.skills-list[data-v-6ef28da8]{display:grid;gap:40px;margin:0;padding:0;list-style:none}.skills-item[data-v-6ef28da8]{display:grid;gap:10px}.skills-title[data-v-6ef28da8]{margin:0;color:var(--color-muted);font:var(--type-period);letter-spacing:var(--tracking-date);text-transform:uppercase}.skills-points[data-v-6ef28da8]{display:grid;gap:8px;margin:0;padding:0;list-style:none}.skills-point[data-v-6ef28da8]{position:relative;padding-left:16px;color:var(--color-muted);font:var(--type-description);letter-spacing:var(--tracking-normal);text-transform:none}.skills-point[data-v-6ef28da8]:before{position:absolute;top:.7em;left:0;width:6px;height:1px;background:var(--color-muted);content:""}.skills-body[data-v-6ef28da8]{display:grid;gap:14px;min-width:0}.skills-description[data-v-6ef28da8]{margin:0;color:var(--color-muted);font:var(--type-description);letter-spacing:var(--tracking-normal);text-transform:none}@media(min-width:640px){.skills[data-v-6ef28da8]{--entry-gap: 24px}.skills-item[data-v-6ef28da8]{grid-template-columns:var(--entry-columns);gap:var(--entry-gap)}.skills-title[data-v-6ef28da8]{grid-column:span 2;padding-top:4px}.skills-body[data-v-6ef28da8],.skills-points[data-v-6ef28da8]{grid-column:span 6}}.experience-list[data-v-9c7cce4d]{display:grid;gap:16px;margin:0;padding:0;list-style:none}.experience-item[data-v-9c7cce4d]{display:grid;gap:8px;margin:0 -16px;padding:16px;border:0;border-radius:var(--radius-card);transition:background var(--transition-smooth),opacity var(--transition-smooth)}.experience-item[data-v-9c7cce4d]:focus-within{background:var(--color-surface-hover)}@media(hover:hover){.experience-item[data-v-9c7cce4d]:hover{background:var(--color-surface-hover)}.experience-list:hover .experience-item[data-v-9c7cce4d]:not(:hover){opacity:var(--opacity-inactive)}}.experience-label[data-v-9c7cce4d]{margin:0 0 6px;color:var(--color-muted);font:var(--type-caption);letter-spacing:var(--tracking-normal)}.experience-period[data-v-9c7cce4d]{margin:0;color:var(--color-muted);font:var(--type-period);letter-spacing:var(--tracking-date);text-transform:uppercase}.experience-title[data-v-9c7cce4d]{margin:0;color:var(--color-text);transition:color var(--transition-smooth);font:var(--type-item-title);letter-spacing:var(--tracking-normal);text-transform:none}.experience-item:hover .experience-title[data-v-9c7cce4d],.experience-item:focus-within .experience-title[data-v-9c7cce4d]{color:var(--color-accent)}.experience-roles[data-v-9c7cce4d]{display:grid;gap:2px;margin:6px 0 0;padding:0;list-style:none}.experience-role[data-v-9c7cce4d]{color:var(--color-muted);font:var(--type-caption);letter-spacing:var(--tracking-normal)}.experience-role.is-current[data-v-9c7cce4d]{color:var(--color-text)}.experience-description[data-v-9c7cce4d]{margin:8px 0 0;color:var(--color-muted);font:var(--type-description);letter-spacing:var(--tracking-normal);text-transform:none}.experience-resume[data-v-9c7cce4d]{margin:8px 0 0}.experience-rail[data-v-9c7cce4d]{display:none}@media(min-width:640px){.experience[data-v-9c7cce4d]{--entry-gap: 24px}.experience-body[data-v-9c7cce4d]{position:relative}.experience-rail[data-v-9c7cce4d]{position:absolute;top:12px;bottom:-60px;left:calc(var(--entry-gap) / -2);display:block;width:1px;background:var(--color-border-strong);pointer-events:none}.experience-item:last-child .experience-rail[data-v-9c7cce4d]{bottom:auto;height:0}.experience-rail[data-v-9c7cce4d]:before{position:absolute;top:-3px;left:-3px;width:7px;height:7px;border-radius:50%;background:var(--color-bg);box-shadow:0 0 0 1px var(--color-border-strong);content:""}.experience-item.is-current .experience-rail[data-v-9c7cce4d]:before{background:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),0 0 0 4px var(--color-accent-soft)}@media(min-width:1024px)and (max-width:1279px){.experience-period[data-v-9c7cce4d]{font-size:.6875rem;letter-spacing:0}}.experience-item[data-v-9c7cce4d]{grid-template-columns:var(--entry-columns);gap:var(--entry-gap)}.experience-period[data-v-9c7cce4d]{grid-column:span 2;padding-top:4px;white-space:nowrap}.experience-body[data-v-9c7cce4d]{grid-column:span 6}.experience-item--no-period .experience-body[data-v-9c7cce4d]{grid-column:3 / span 6}.experience-resume[data-v-9c7cce4d]{margin-left:calc((100% + var(--entry-gap)) / 4)}}@media(max-width:1023px){.experience-list[data-v-9c7cce4d]{gap:48px}.experience-item[data-v-9c7cce4d]{margin:0;padding:0;border:0;border-radius:0}.experience-item[data-v-9c7cce4d]:hover,.experience-item[data-v-9c7cce4d]:focus-within{background:transparent}.experience-list:hover .experience-item[data-v-9c7cce4d]:not(:hover){opacity:1}.experience-body[data-v-9c7cce4d]{min-width:0}.experience-resume[data-v-9c7cce4d]{margin:24px 0 0}}@media(max-width:639px){.experience-period[data-v-9c7cce4d]{padding-top:0}}.project-list[data-v-1db23966]{display:grid;gap:16px;margin:0;padding:0;list-style:none}.project-card[data-v-1db23966]{position:relative;display:grid;gap:16px;margin:0 -16px;padding:16px;border:0;border-radius:var(--radius-card);transition:background var(--transition-smooth),opacity var(--transition-smooth)}.project-card[data-v-1db23966]:has(.project-title-link):hover,.project-card[data-v-1db23966]:focus-within{background:var(--color-surface-hover)}@media(hover:hover){.project-list:hover .project-card[data-v-1db23966]:not(:hover){opacity:var(--opacity-inactive)}}.project-list:has(:focus-visible) .project-card[data-v-1db23966]:not(:focus-within){opacity:var(--opacity-inactive)}.project-thumb[data-v-1db23966]{position:relative;width:100%;min-width:0;align-self:start;overflow:hidden;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-soft);aspect-ratio:var(--project-image-ratio)}.project-thumb[data-v-1db23966]{transition:border-color var(--transition-smooth)}.project-thumb img[data-v-1db23966]{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--project-image-position, 50% 50%);transition:transform .6s var(--reveal-easing),opacity var(--transition-smooth)}.project-thumb img.is-loading[data-v-1db23966]{opacity:0}.project-card:has(.project-title-link):hover .project-thumb[data-v-1db23966],.project-card:focus-within .project-thumb[data-v-1db23966]{border-color:var(--color-border-strong)}.project-card:has(.project-title-link):hover .project-thumb img[data-v-1db23966],.project-card:focus-within .project-thumb img[data-v-1db23966]{transform:scale(1.04)}.project-title-link[data-v-1db23966]{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size var(--transition-smooth)}.project-card:has(.project-title-link):hover .project-title-link[data-v-1db23966],.project-card:focus-within .project-title-link[data-v-1db23966]{background-size:100% 1px}.project-card:has(.project-title-link):hover .arrow[data-v-1db23966],.project-card:focus-within .arrow[data-v-1db23966]{transform:translate(2px,-2px)}.project-card:has(.project-title-link):hover .arrow--next[data-v-1db23966],.project-card:focus-within .arrow--next[data-v-1db23966]{transform:translate(3px)}.project-body[data-v-1db23966]{min-width:0}.project-title[data-v-1db23966]{margin:0;color:var(--color-text);transition:color var(--transition-smooth);font:var(--type-project-title);letter-spacing:var(--tracking-normal);text-transform:none}.project-card:has(.project-title-link):hover .project-title[data-v-1db23966],.project-card:focus-within .project-title[data-v-1db23966]{color:var(--color-accent)}.project-status[data-v-1db23966]{margin:4px 0 0;color:var(--color-muted);font:var(--type-caption)}.project-status+.project-description[data-v-1db23966]{margin-top:4px}.project-description[data-v-1db23966]{margin:8px 0 0;color:var(--color-muted);font:var(--type-description);letter-spacing:var(--tracking-normal);text-transform:none}.project-tags[data-v-1db23966]{margin-top:12px}.project-title-link .arrow[data-v-1db23966]{margin-left:4px}@media(min-width:640px){.project-card[data-v-1db23966]{grid-template-columns:var(--entry-columns);gap:var(--entry-gap);align-items:start}.project-thumb[data-v-1db23966]{grid-column:span 2;margin-top:4px}.project-body[data-v-1db23966]{grid-column:span 6}}@media(max-width:1023px){.project-list[data-v-1db23966]{gap:48px}.project-card[data-v-1db23966]{margin:0;padding:0;border:0;border-radius:0}.project-thumb[data-v-1db23966]{margin-top:0;border:0;border-radius:0}@media(max-width:639px){.project-thumb[data-v-1db23966]{width:60%;max-width:220px;border:1px solid var(--color-border);border-radius:6px}}.project-card[data-v-1db23966]:hover,.project-card[data-v-1db23966]:focus-within{background:transparent}.project-list:hover .project-card[data-v-1db23966]:not(:hover),.project-list:has(:focus-visible) .project-card[data-v-1db23966]:not(:focus-within){opacity:1}}.projects-archive[data-v-b78e89ae]{margin-top:32px;color:var(--color-muted)}:root{--bg-rgb: 19, 20, 43;--bg-deep-rgb: 10, 11, 26;--accent-rgb: 142, 162, 255;--muted-rgb: 163, 165, 200;--color-bg: rgb(var(--bg-rgb));--color-bg-deep: rgb(var(--bg-deep-rgb));--color-bg-soft: #1b1c38;--color-surface-subtle: rgba(var(--muted-rgb), .04);--color-surface-hover: rgba(var(--muted-rgb), .08);--color-chip: rgba(var(--muted-rgb), .1);--color-text: #e7e7f8;--color-muted: rgb(var(--muted-rgb));--color-border: rgba(var(--muted-rgb), .15);--color-border-input: rgba(var(--muted-rgb), .3);--color-border-strong: rgba(var(--muted-rgb), .42);--color-accent: rgb(var(--accent-rgb));--color-accent-soft: rgba(var(--accent-rgb), .13);--glow-color: #4f46e5;--glow-opacity: .15;--glow-radius: 600px;--glow-origin-x: 0px;--glow-origin-y: 0px;--glow-fade: 80%;--project-image-ratio: 16 / 10;--color-heading-backdrop: rgba(var(--bg-rgb), .75);--color-success: var(--color-accent);--color-success-soft: var(--color-accent-soft);--color-danger: #e28f94;--color-danger-soft: rgba(226, 143, 148, .14);--color-danger-border: rgba(226, 143, 148, .38);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-card: 6px;--layout-max: 1280px;--layout-gutter: clamp(20px, 5vw, 48px);--layout-top: 96px;--section-gap: 64px;--entry-columns: repeat(8, minmax(0, 1fr));--entry-gap: 16px;--opacity-inactive: .9;--sticky-heading-height: 60px;--reveal-duration: .42s;--reveal-distance: 8px;--reveal-stagger: 60ms;--reveal-easing: cubic-bezier(.22, 1, .36, 1);--transition-smooth: .24s cubic-bezier(.22, 1, .36, 1);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-normal: normal;--tracking-tight: -.025em;--tracking-wide: .1em;--tracking-date: .025em;--name-size: 2.25rem;--name-line: 2.5rem;--role-size: 1.25rem;--type-name: var(--weight-bold) var(--name-size) / var(--name-line) var(--font-sans);--type-role: var(--weight-medium) var(--role-size) / 1.75rem var(--font-sans);--type-body: var(--weight-regular) 1rem / 1.625rem var(--font-sans);--type-intro: var(--weight-regular) 1rem / 1.5rem var(--font-sans);--type-section: var(--weight-bold) .875rem / 1.25rem var(--font-sans);--type-nav-label: var(--weight-bold) .75rem / 1rem var(--font-sans);--type-caption: var(--weight-regular) .75rem / 1rem var(--font-sans);--type-period: var(--weight-semibold) .75rem / 1rem var(--font-sans);--type-item-title: var(--weight-medium) 1rem / 1.375rem var(--font-sans);--type-project-title: var(--weight-regular) 1rem / 1.625rem var(--font-sans);--type-description: var(--weight-regular) .875rem / 1.3125rem var(--font-sans);--type-tag: var(--weight-medium) .75rem / 1.25rem var(--font-sans);--type-link: var(--weight-semibold) 1rem / 1.25rem var(--font-sans);--type-small: var(--weight-regular) .875rem / 1.25rem var(--font-sans)}@media(min-width:640px){:root{--name-size: 3rem;--name-line: 3rem}}@media(min-width:768px){:root{--section-gap: 96px}}@media(min-width:1024px){:root{--section-gap: 144px}}@font-face{font-family:Inter;src:url(/fonts/InterVariable-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-bg);transition:background-color var(--transition-smooth);color:var(--color-text);overflow-x:clip;scroll-behavior:smooth;font-family:var(--font-sans);font-optical-sizing:auto;font-synthesis:none;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:rgba(var(--muted-rgb),.3) transparent}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg);transition:background-color var(--transition-smooth);color:var(--color-text);text-rendering:optimizeLegibility;font:var(--type-body);letter-spacing:var(--tracking-normal);text-transform:none}body.mobile-navigation-open{overflow:hidden}h1,h2,h3,h4,h5,h6,pre,code,kbd,samp,button,input,textarea{font:inherit}button{border:0;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p,h1,h2,h3,h4{overflow-wrap:break-word}::selection{color:var(--color-bg);background:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;box-shadow:0 0 0 6px var(--color-accent-soft);transition:box-shadow var(--transition-smooth)}a:focus-visible{border-radius:4px}.skip-link{position:fixed;top:12px;left:12px;z-index:10001;padding:10px 14px;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);transform:translateY(-160%);transition:transform .15s ease;font:var(--type-small);letter-spacing:var(--tracking-normal);text-transform:none}.skip-link:focus{transform:translateY(0)}#app{position:relative;min-height:100vh}.app-shell{width:100%;max-width:var(--layout-max);min-height:100vh;margin:0 auto;padding:0 var(--layout-gutter)}.main-content{min-width:0;padding:32px 0 72px}.main-content:focus{outline:none}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:minmax(0,561fr) minmax(0,607fr);gap:16px}.main-content{padding:var(--layout-top) 0 48px}}.section{padding:0 0 var(--section-gap)}.section[id]{scroll-margin-top:96px}.section-heading{display:flex;align-items:center;gap:14px;margin:0 0 32px;color:var(--color-text);font:var(--type-section);letter-spacing:var(--tracking-wide);text-transform:uppercase}@media(min-width:1024px){.section-heading--mobile-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}.eyebrow{display:flex;gap:10px;align-items:center;margin:0 0 14px;color:var(--color-muted);font:var(--type-section);letter-spacing:var(--tracking-wide);text-transform:uppercase}.title-lg{margin:0;color:var(--color-text);font:var(--type-name);letter-spacing:var(--tracking-tight);text-transform:none}.title-md{margin:0;color:var(--color-text);font:var(--type-role);letter-spacing:var(--tracking-tight);text-transform:none}.body-large{max-width:62ch;margin:0;color:var(--color-muted);font:var(--type-intro);letter-spacing:var(--tracking-normal);text-transform:none}.prose p{margin:0 0 16px;color:var(--color-muted)}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--color-text);font-weight:var(--weight-medium)}.page-header{display:grid;gap:18px;margin-bottom:clamp(48px,7vw,72px)}.page-header .eyebrow{margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tag{padding:4px 12px;border-radius:999px;background:rgba(var(--accent-rgb),.16);color:var(--color-accent);white-space:nowrap;font:var(--type-tag);letter-spacing:var(--tracking-normal);text-transform:none}.text-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;color:var(--color-text);transition:color var(--transition-smooth),background-size var(--transition-smooth);font:var(--type-link);letter-spacing:var(--tracking-normal);text-transform:none}.text-link:hover,.text-link:focus-visible{background-size:100% 1px;color:var(--color-accent)}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:transparent;color:var(--color-text);cursor:pointer;transition:background var(--transition-smooth),border-color var(--transition-smooth),color var(--transition-smooth);font:var(--type-link);letter-spacing:var(--tracking-normal);text-transform:none}.button:hover,.button:focus-visible{border-color:var(--color-accent);background:var(--color-surface-hover);color:var(--color-accent)}.button--solid{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}.button--solid:hover,.button--solid:focus-visible{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg)}.facts{display:grid;gap:14px;margin:0}.facts dt{margin:0 0 2px;color:var(--color-muted);font:var(--type-period);letter-spacing:var(--tracking-date);text-transform:uppercase}.facts dd{margin:0;color:var(--color-text);font:var(--type-small);letter-spacing:var(--tracking-normal);text-transform:none}.arrow{display:inline-block;transition:transform var(--transition-smooth)}a:hover .arrow,a:focus-visible .arrow,button:hover .arrow{transform:translate(2px,-2px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1023px){.app-shell{--layout-gutter: 24px}.main-content{padding:0 0 48px}.page-header{padding-top:19px}.section[id]{scroll-margin-top:0}.section-heading{position:sticky;top:env(safe-area-inset-top,0px);z-index:2;display:block;min-height:var(--sticky-heading-height);margin:0 calc(-1 * var(--layout-gutter)) 16px;padding:20px var(--layout-gutter);color:var(--color-text);pointer-events:none;background:var(--color-heading-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.text-link{max-width:100%;overflow-wrap:anywhere}}@media(min-width:768px)and (max-width:1023px){.app-shell{--layout-gutter: 48px}}.page-leave-active{transition:opacity .12s ease}.page-leave-to{opacity:0}@keyframes enter-up{0%{opacity:0;transform:translateY(var(--reveal-distance))}to{opacity:1;transform:none}}html:not(.has-entered) [data-enter]{animation:enter-up var(--reveal-duration) var(--reveal-easing) both;animation-delay:calc(var(--enter-index, 0) * var(--reveal-stagger))}html.js-reveal [data-reveal]:not([data-reveal=sequence]):not(.is-revealed){opacity:0}[data-reveal]:not([data-reveal=sequence]).is-revealed{animation:enter-up var(--reveal-duration) var(--reveal-easing) backwards;animation-delay:var(--reveal-delay, 0ms)}html.js-reveal [data-reveal=sequence]:not(.is-revealed) [data-reveal-step]{opacity:0}[data-reveal=sequence].is-revealed [data-reveal-step]{animation:enter-up var(--reveal-duration) var(--reveal-easing) backwards;animation-delay:calc(var(--reveal-delay, 0ms) + var(--step-index, 0) * var(--reveal-stagger))}@media(prefers-reduced-motion:reduce){html:not(.has-entered) [data-enter]{animation:none}html.js-reveal [data-reveal]:not(.is-revealed),html.js-reveal [data-reveal]:not(.is-revealed) [data-reveal-step]{opacity:1}[data-reveal].is-revealed,[data-reveal].is-revealed [data-reveal-step]{animation:none}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
