:root{--c-coffee: #1d1d1f;--c-bg: #fbfbfd;--c-surface: #ffffff;--c-ink: #1d1d1f;--c-ink-soft: #6e6e73;--c-line: #d2d2d7;--c-accent: #0071e3;--c-accent-deep: #0066cc;--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}*,*: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:#f4f1ea;background:#000;--c-ink: #f4f1ea;--c-ink-soft: #b4ada2;--c-line: rgba(255, 255, 255, .16);--c-surface: #161616;--c-ink-rgb: 244, 241, 234;--c-cursor: #f4f1ea;--c-cursor-ink: #14100f}body:has(main.home-route){color:#1d1d1f;background:#f5f5f7;--c-accent: #1d1d1f;--c-accent-deep: #000000;--c-ink: #1d1d1f;--c-ink-soft: #6e6e73;--c-line: #d2d2d7;--c-surface: #ffffff;--c-ink-rgb: 29, 29, 31;--c-cursor: #1d1d1f;--c-cursor-ink: #ffffff}html:not(.dark,[data-theme=dark]) body:has(main.home-route) .hero,html:not(.dark,[data-theme=dark]) body:has(main.home-route) .xp-section,html:not(.dark,[data-theme=dark]) body:has(main.home-route) .section,html:not(.dark,[data-theme=dark]) body:has(main.home-route) .footer{background:#f5f5f7!important}html:is(.dark,[data-theme=dark]):has(main.home-route){color-scheme:dark}html:is(.dark,[data-theme=dark]) body:has(main.home-route){background:#000;color:#f5f5f7;--c-coffee: #f5f5f7;--c-bg: #000000;--c-surface: #1c1c1e;--c-ink: #f5f5f7;--c-ink-soft: #a1a1a6;--c-line: #38383a;--c-accent: #f5f5f7;--c-accent-deep: #ffffff;--c-ink-rgb: 245, 245, 247;--c-cursor: #f5f5f7;--c-cursor-ink: #1d1d1f}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .hero,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .xp-section,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .section,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .footer{background:#000!important;color:#f5f5f7!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .hero{--c-ink: #f5f5f7 !important;--c-ink-soft: #a1a1a6 !important;--c-line: #48484a !important;--c-surface: #2c2c2e !important;--c-cursor: #f5f5f7 !important;--c-cursor-ink: #1d1d1f !important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .frame{background:linear-gradient(145deg,#1c1c1e,#0d0d0e)!important;box-shadow:0 20px 60px #00000052!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .xp,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .card{background:#1c1c1e!important;color:#f5f5f7!important;border-color:#38383a!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .xp .logo,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .card .visual.framed,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .period,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .contact-nav,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .contact-nav a{background:#2c2c2e!important;color:#f5f5f7!important;border-color:#48484a!important;box-shadow:none!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .blurb,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .points,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .featured-summary,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .project-name,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .status,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .mono,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .fine,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .intro,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .eyebrow,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .head>p{color:#a1a1a6!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .pill{background:#2c2c2ee0!important;border-color:#ffffff29!important;box-shadow:none!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .pill a[aria-current],html:is(.dark,[data-theme=dark]) body:has(main.home-route) .pill a:hover{background:#f5f5f7!important;color:#1d1d1f!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .contact-nav a:hover,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .contact-nav a:focus-visible,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .resume,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .tool{background:#f5f5f7!important;color:#1d1d1f!important}img,svg{display:block;max-width:100%}main [id]{scroll-margin-top:5.5rem}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}: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}html:is(.dark,[data-theme=dark]) body:has(main.home-route){--c-ink: #ffffff;--c-ink-soft: #d2d2d7;--c-line: #a1a1a6}body:has(main.home-route) .pill,body:has(main.home-route) .theme-toggle,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) .theme-toggle{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}html:is(.dark,[data-theme=dark]) body:has(main.home-route) .pill,html:is(.dark,[data-theme=dark]) body:has(main.home-route) .theme-toggle{background:#2c2c2e!important}}@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{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)}@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:#f5f5f7;color:#1d1d1f}.footer.compact.svelte-4jwo3w{padding-top:4rem}.footer.home.svelte-4jwo3w{--pad-x: clamp(1.25rem, 3vw, 2.5rem);padding-block:40px}.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 #d2d2d7;border-radius:999px;background:#ffffffbd;box-shadow:inset 0 1px #ffffffd9}.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 #d2d2d7;color:#1d1d1f;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:#1d1d1f;color:#fff;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:#515154;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 #d2d2d7}}@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}}
