:root{--c-coffee: #1d1d1f;--c-bg: #fbfbfd;--c-surface: #ffffff;--c-surface-subtle: #f1f2f4;--c-surface-strong: #1d1d1f;--c-ink: #1d1d1f;--c-ink-soft: #6e6e73;--c-ink-inverse: #ffffff;--c-line: #d2d2d7;--c-line-strong: #8b8b92;--c-accent: #1d1d1f;--c-accent-deep: #1d1d1f;--c-ink-rgb: 29, 29, 31;--c-cursor: #1d1d1f;--c-cursor-ink: #ffffff;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--fs-display: clamp(4.5rem, 14vw, 11rem);--fs-h2: clamp(2rem, 4vw, 3.5rem);--fs-lead: clamp(1rem, 2vw, 1.5rem);--fs-body: 1rem;--fs-small: .875rem;--fs-label: .75rem;--lh-body: 1.5;--lh-tight: 1.08;--maxw: 1200px;--pad-x: clamp(1.25rem, 4vw, 3.5rem);--pad-y: clamp(1.25rem, 3vw, 2.5rem);--radius: 28px;--radius-card: 28px;--shadow-card: 0 1px 2px rgb(0 0 0 / 4%), 0 16px 42px -28px rgb(0 0 0 / 24%);--shadow-card-lift: 0 6px 18px rgb(0 0 0 / 8%), 0 30px 58px -30px rgb(0 0 0 / 30%);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-back: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .35s;--dur-med: .6s;--parallax-range: 130px}html[data-theme=dark]:has(body main.home-route){color-scheme:dark;--c-bg: #121212;--c-surface: #202020;--c-surface-subtle: #303030;--c-surface-strong: #050505;--c-ink: #f5f5f5;--c-ink-soft: #c9c9c9;--c-ink-inverse: #ffffff;--c-line: #666666;--c-line-strong: #9a9a9a;--c-accent: #eeeeee;--c-accent-deep: #ffffff;--c-coffee: #f5f5f5;--c-ink-rgb: 245, 245, 245;--c-cursor: #f5f5f5;--c-cursor-ink: #121212;--shadow-card: 0 1px 2px rgb(0 0 0 / 28%), 0 16px 42px -28px rgb(0 0 0 / 72%);--shadow-card-lift: 0 6px 18px rgb(0 0 0 / 34%), 0 30px 58px -30px rgb(0 0 0 / 76%)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{min-height:100svh;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;color:var(--c-ink);background:var(--c-bg)}body:has(main.home-route){color:var(--c-ink);background:var(--c-bg)}body:has(main.home-route) .hero,body:has(main.home-route) .xp-section,body:has(main.home-route) .section,body:has(main.home-route) .footer{background:var(--c-bg)!important}html[data-theme=dark] body:has(main.home-route) .pill,html[data-theme=dark] body:has(main.home-route) .contact-nav,html[data-theme=dark] body:has(main.home-route) .card,html[data-theme=dark] body:has(main.home-route) .xp,html[data-theme=dark] body:has(main.home-route) .download{background:var(--c-surface)!important;border-color:var(--c-line)!important;color:var(--c-ink)!important}html[data-theme=dark] body:has(main.home-route) :is(.hero,.xp-section,.section,.footer){color:var(--c-ink)!important;--c-ink: #f5f5f5 !important;--c-ink-soft: #c9c9c9 !important;--c-line: #666666 !important;--c-surface: #202020 !important;--c-surface-subtle: #303030 !important;--c-ink-rgb: 245, 245, 245 !important;--c-cursor: #f5f5f5 !important;--c-cursor-ink: #121212 !important}html[data-theme=dark] body:has(main.home-route) .hero .frame{background:linear-gradient(145deg,#292929,#1a1a1a)!important;box-shadow:0 20px 60px #00000070!important}html[data-theme=dark] body:has(main.home-route) .card :is(h2,h3,p,span):not(:is(.shot,.preview) *),html[data-theme=dark] body:has(main.home-route) .xp :is(h2,h3,p,span),html[data-theme=dark] body:has(main.home-route) .footer :is(h2,p,a),html[data-theme=dark] body:has(main.home-route) .section :is(h2,h3,p,li,a):not(:is(.shot,.preview) *),html[data-theme=dark] body:has(main.home-route) .hero :is(h1,p,span,a){color:var(--c-ink)!important}html[data-theme=dark] body:has(main.home-route) .card .period,html[data-theme=dark] body:has(main.home-route) .footer .fine,html[data-theme=dark] body:has(main.home-route) .section .company,html[data-theme=dark] body:has(main.home-route) .section .intro{color:var(--c-ink-soft)!important}html[data-theme=dark] body:has(main.home-route) :is(.card,.xp) .period{background:#4a4a4a!important;color:#fff!important;box-shadow:0 5px 14px #00000047!important}html[data-theme=dark] body:has(main.home-route) :is(.card,.xp) .period :is(.period-date,.status,.tag,.ic,svg){color:#fff!important}html[data-theme=dark] body:has(main.home-route) .contact-nav a:hover,html[data-theme=dark] body:has(main.home-route) .contact-nav a:focus-visible,html[data-theme=dark] body:has(main.home-route) .pill a:hover,html[data-theme=dark] body:has(main.home-route) .pill a[aria-current]{background:var(--c-accent)!important;color:#111318!important}html[data-theme=dark] body:has(main.home-route) .video{border-color:var(--c-line)!important}html[data-theme=dark] body:has(main.home-route) .card .theme-logo--light{display:none}html[data-theme=dark] body:has(main.home-route) .card .theme-logo--dark{display:block}img,svg{display:block;max-width:100%}main [id]{scroll-margin-top:5.5rem}a{color:inherit;text-decoration:none}html.has-custom-cursor,html.has-custom-cursor *,html.has-custom-cursor *:before,html.has-custom-cursor *:after{cursor:none!important}button{font:inherit;color:inherit}html.theme-switching body,html.theme-switching :is(*,*:before,*:after){transition-property:background-color,background-image,color,border-color,box-shadow,fill,stroke,outline-color;transition-duration:.26s;transition-timing-function:var(--ease-out)}.page-transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;background:#050505;will-change:clip-path,opacity}::view-transition-old(root){animation:none}::view-transition-new(root){animation:theme-diagonal-reveal 1.35s cubic-bezier(.22,.08,.12,1) both}html.theme-to-light::view-transition-new(root){animation-name:theme-diagonal-reveal-reverse}html.page-transitioning::view-transition-old(root){animation:portfolio-page-out .24s ease-in both}html.page-transitioning::view-transition-new(root){animation:portfolio-page-open 1s cubic-bezier(.22,.61,.36,1) both;will-change:clip-path,filter}html.page-returning::view-transition-new(root){animation:none}html.page-returning::view-transition-old(root){animation:portfolio-page-return 1s cubic-bezier(.22,.61,.36,1) both;will-change:clip-path,filter}@keyframes portfolio-page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes portfolio-page-open{0%{opacity:1;clip-path:circle(0% at 50% 100%);filter:brightness(0)}22%{opacity:1;clip-path:circle(40% at 50% 100%);filter:brightness(0)}42%{clip-path:circle(88% at 50% 100%);filter:brightness(1)}to{clip-path:circle(160% at 50% 100%);filter:none}}@keyframes portfolio-page-return{0%{clip-path:circle(160% at 50% 100%);filter:none}58%{clip-path:circle(88% at 50% 100%);filter:brightness(1)}78%{clip-path:circle(40% at 50% 100%);filter:brightness(0)}to{clip-path:circle(0% at 50% 100%);filter:brightness(0)}}@keyframes theme-diagonal-reveal{0%{clip-path:circle(0% at 0 0)}to{clip-path:circle(155% at 0 0)}}@keyframes theme-diagonal-reveal-reverse{0%{clip-path:circle(0% at 100% 100%)}to{clip-path:circle(155% at 100% 100%)}}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}@media(prefers-contrast:more){:root{--c-ink: #000000;--c-ink-soft: #424245;--c-line: #6e6e73}body:has(main.home-route) .pill,body:has(main.home-route) .contact-nav,body:has(main.home-route) .xp,body:has(main.home-route) .card{border-width:2px!important}}@media(prefers-reduced-transparency:reduce){body:has(main.home-route) .pill,body:has(main.home-route) .xp,body:has(main.home-route) .card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--c-surface)!important}}@media(prefers-reduced-motion:reduce){html.page-transitioning::view-transition-old(root),html.page-transitioning::view-transition-new(root),html.page-returning::view-transition-old(root){animation:none}}@keyframes bob{0%{transform:translate3d(0,-7px,0) rotate(-5deg)}to{transform:translate3d(0,7px,0) rotate(5deg)}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.parallax-layer{transform:none!important}}.trail.svelte-1nx4icj{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;opacity:0;transition:opacity .3s ease}.trail.visible.svelte-1nx4icj{opacity:1}.cursor.svelte-1nx4icj{inset:auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;width:auto;height:auto;position:fixed;top:0;left:0;z-index:9999;display:flex;align-items:center;gap:.6rem;pointer-events:none;opacity:0;transition:opacity .25s ease;will-change:transform}.cursor.visible.svelte-1nx4icj{opacity:1}.dot.svelte-1nx4icj{flex:none;width:34px;height:34px;margin:-17px 0 0 -17px;color:var(--cur-ink, var(--c-cursor));filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transition:transform .28s var(--ease-back)}.cursor.labelled.svelte-1nx4icj .dot:where(.svelte-1nx4icj){transform:scale(.55)}.cursor.pressed.svelte-1nx4icj .dot:where(.svelte-1nx4icj){transform:scale(1.28)}.cursor.pressed.labelled.svelte-1nx4icj .dot:where(.svelte-1nx4icj){transform:scale(.7)}.label.svelte-1nx4icj{margin-top:-1.9em;padding:.32rem .66rem;border-radius:999px;background:var(--cur-ink, var(--c-cursor));color:var(--cur-paper, var(--c-cursor-ink));box-shadow:0 2px 10px #0000004d;font-family:var(--font-body);font-size:.78rem;font-weight:600;line-height:1;white-space:nowrap;transform-origin:0 50%;animation:svelte-1nx4icj-cursor-pop .28s var(--ease-back)}.cursor[data-variant=card].svelte-1nx4icj .label:where(.svelte-1nx4icj){background:#fff;color:#1d1d1f;box-shadow:0 0 0 1px #1d1d1f1a,0 4px 14px #0000001f}@keyframes svelte-1nx4icj-cursor-pop{0%{opacity:0;transform:scale(.55) translate(-4px)}to{opacity:1;transform:scale(1) translate(0)}}@media(prefers-reduced-motion:reduce){.trail.svelte-1nx4icj{display:none}.dot.svelte-1nx4icj,.label.svelte-1nx4icj{transition:none;animation:none}}.sticky-nav.svelte-b6p9k8{position:fixed;top:0;left:0;right:0;z-index:60;padding:.7rem var(--pad-x);translate:0 -100%;opacity:0;pointer-events:none;transition:translate var(--dur-med) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.sticky-nav.shown.svelte-b6p9k8{translate:0 0;opacity:1;pointer-events:auto}.inner.svelte-b6p9k8{display:flex;justify-content:center}.sticky-nav .nav.centered{display:flex;justify-content:center;width:fit-content;max-width:100%;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.sticky-nav .brand,.sticky-nav .resume{display:none}.sticky-nav .nav-actions{display:none!important}.sticky-nav .pill{background:#000000b8;border-color:#ffffff3d;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.sticky-nav .pill a{color:#f4f1ea;min-height:38px;padding:.3rem .75rem .35rem;font-size:.9rem}.sticky-nav .pill a.wide{padding-inline:1.1rem}@media(max-width:560px){.sticky-nav.svelte-b6p9k8{padding:.55rem .75rem}.sticky-nav .pill a{min-height:34px;padding:.25rem .55rem .3rem;font-size:.78rem}.sticky-nav .pill a.wide{padding-inline:.8rem}}.footer.svelte-4jwo3w{margin-top:0;padding-block:clamp(2.5rem,6vw,4.5rem) 1.5rem;background:var(--c-bg);color:var(--c-ink)}.footer.home.svelte-4jwo3w{--pad-x: clamp(1.25rem, 3vw, 2.5rem);padding-block:180px 40px;padding-inline:var(--pad-x)}.footer.home.svelte-4jwo3w .container{padding-inline:0}.footer-shell.svelte-4jwo3w{display:grid;gap:clamp(1.5rem,3vw,2rem)}.intro.svelte-4jwo3w{max-width:none}.eyebrow.svelte-4jwo3w{margin-bottom:1rem;color:var(--c-accent);font-size:.7rem;font-weight:700;letter-spacing:.12em}h2.svelte-4jwo3w{margin:0;font-family:var(--font-display);font-size:clamp(2rem,calc(6.1vw - 1.5rem),4.25rem);font-weight:500;letter-spacing:-.055em;line-height:.96}.contact-nav.svelte-4jwo3w{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--c-line);border-radius:999px;background:var(--c-surface);box-shadow:none}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w){display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.92rem 1.2rem;border-right:1px solid var(--c-line);color:var(--c-ink);font-size:.95rem;font-weight:600;text-decoration:none;transition:background .18s ease,color .18s ease}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):last-child{border-right:0}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):hover,.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):focus-visible{background:var(--c-surface-strong);color:var(--c-ink-inverse);outline:none}.contact-nav.svelte-4jwo3w span:where(.svelte-4jwo3w){font-size:1rem;transition:transform .18s var(--ease-out)}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):hover span:where(.svelte-4jwo3w),.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):focus-visible span:where(.svelte-4jwo3w){transform:translate3d(.35rem,0,0)}.fine.svelte-4jwo3w{margin:0;color:var(--c-ink-soft);font-size:var(--fs-small);text-align:center}@media(max-width:620px){.footer.svelte-4jwo3w{padding-block:2.5rem 1.25rem}.footer-shell.svelte-4jwo3w{gap:2rem}h2.svelte-4jwo3w{font-size:clamp(2rem,calc(12vw - 1.5rem),2.5rem)}.contact-nav.svelte-4jwo3w{grid-template-columns:repeat(2,1fr);border-radius:1.2rem}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w){padding:.85rem 1rem}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):nth-child(2){border-right:0}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):nth-child(-n+2){border-bottom:1px solid var(--c-line)}}@media(prefers-reduced-motion:reduce){.contact-nav.svelte-4jwo3w span:where(.svelte-4jwo3w){transition:none}.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):hover span:where(.svelte-4jwo3w),.contact-nav.svelte-4jwo3w a:where(.svelte-4jwo3w):focus-visible span:where(.svelte-4jwo3w){transform:none}}
