@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--color-background: oklch(14% .012 250);--color-text: oklch(94% .012 78);--color-text-muted: oklch(75% .018 245);--color-text-subtle: oklch(61% .018 245);--color-accent: oklch(65% .09 245);--color-accent-soft: oklch(78% .06 245);--color-border: oklch(25% .018 245);--color-border-strong: oklch(36% .025 245);--font-body: "Instrument Sans Variable", "Instrument Sans", sans-serif;--text-small: .875rem;--text-lead: clamp(1.0625rem, 2.5vw, 1.25rem);--text-title: clamp(1.35rem, 4vw, 1.75rem);--text-heading: clamp(2.4rem, 8vw, 5rem);--text-display: clamp(3rem, 7vw, 5.25rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--page-gutter: clamp(1.25rem, 5vw, 3rem);--content-width: 76rem;--duration-fast: .18s;--ease-out: cubic-bezier(.16, 1, .3, 1);font-family:var(--font-body);font-synthesis:none;font-kerning:normal;line-height:1.6;font-weight:400;color:var(--color-text);background:var(--color-background);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{min-width:20rem;background:var(--color-background);scroll-behavior:smooth}body{min-width:20rem;min-height:100vh;margin:0;background:var(--color-background)}button,a{font:inherit}a{color:var(--color-accent-soft)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:4px}::selection{color:var(--color-background);background:var(--color-accent-soft)}.site-footer{display:grid;justify-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--page-gutter) max(var(--space-xl),env(safe-area-inset-bottom));color:var(--color-text-muted);font-size:var(--text-small);text-align:center}.site-footer p{margin:0}.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-md)}.legal-links a{display:inline-flex;min-height:2.75rem;align-items:center;color:inherit;text-underline-offset:.25em}.particle-field{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.particle-layer{position:absolute;inset:-5rem 0;transform:translateZ(0)}.particle-point{position:absolute;top:var(--particle-y);left:var(--particle-x);width:var(--particle-size);height:var(--particle-size);border-radius:50%;color:var(--color-accent-soft);background:currentColor;opacity:var(--particle-opacity)}.particle-layer--far .particle-point{color:var(--color-accent)}.particle-layer--near .particle-point:nth-of-type(4n+1){width:3px;height:3px}@media(max-width:42rem),(pointer:coarse){.particle-layer--far{display:none}.particle-layer--middle .particle-point:nth-of-type(3n),.particle-layer--near .particle-point:nth-of-type(3n){display:none}}@media(prefers-reduced-motion:reduce){.particle-layer{transform:none!important}}.site-shell{position:relative;min-height:100vh;overflow:clip;isolation:isolate}.site-shell main,.site-shell .site-footer{position:relative;z-index:1}.skip-link{position:fixed;z-index:20;top:var(--space-sm);left:50%;min-height:2.75rem;padding:0 var(--space-md);display:inline-flex;align-items:center;color:var(--color-background);background:var(--color-text);transform:translate(-50%,calc(-100% - var(--space-lg)));transition:transform var(--duration-fast) var(--ease-out)}.skip-link:focus{transform:translate(-50%)}.hero-section,.page-section{width:min(100%,var(--content-width));margin-inline:auto;padding-inline:var(--page-gutter);text-align:center}.hero-section{min-height:100svh;display:grid;place-items:center;padding-block:clamp(3rem,8vh,5rem)}.hero-inner{display:grid;justify-items:center;gap:var(--space-lg)}.portrait-wrap{display:block;width:clamp(7rem,14vw,9rem);aspect-ratio:1}.portrait{width:100%;height:100%;display:block;object-fit:cover;border:1px solid color-mix(in oklch,var(--color-accent) 24%,transparent);border-radius:50%;filter:saturate(.72) contrast(1.04)}.identity{display:grid;justify-items:center;gap:var(--space-sm)}.eyebrow,.experience-period,.work-type{margin:0;color:var(--color-accent-soft);font-size:var(--text-small);font-weight:600;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.hero-section h1{max-width:14ch;margin:0;font-size:var(--text-display);font-weight:580;letter-spacing:-.058em;line-height:.96;text-wrap:balance}.primary-link{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;padding:.125rem var(--space-lg);color:var(--color-background);background:var(--color-text);border:1px solid var(--color-text);border-radius:999px;font-weight:650;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-lg)}.social-links a{min-height:2.75rem;display:inline-flex;align-items:center;color:var(--color-text-muted);font-size:var(--text-small);font-weight:550;text-decoration-color:var(--color-border-strong);text-underline-offset:.32em;transition:color var(--duration-fast) var(--ease-out)}.page-section{display:grid;justify-items:center;padding-block:clamp(5rem,12vw,9rem)}.page-section>h2,.utility-page h1{max-width:18ch;margin:0;font-size:var(--text-heading);font-weight:560;letter-spacing:-.05em;line-height:1;text-wrap:balance}.expertise-list,.experience-list,.work-list{width:min(100%,48rem);margin-top:clamp(3rem,7vw,5rem);display:grid;gap:clamp(2.75rem,7vw,4.5rem)}.expertise-entry,.experience-entry,.work-entry{display:grid;justify-items:center;gap:var(--space-xs)}.expertise-entry h3,.experience-entry h3,.work-entry h3{margin:0;font-size:var(--text-title);font-weight:570;letter-spacing:-.028em}.expertise-entry p,.experience-summary,.work-entry>p:not(.work-type){max-width:58ch;margin:var(--space-xs) 0 0;color:var(--color-text-muted);line-height:1.6;text-wrap:pretty}.experience-period,.work-type{margin-bottom:var(--space-xs)}.experience-company{margin:0;color:var(--color-accent-soft);font-size:var(--text-lead)}.work-entry h3 a{color:var(--color-text);text-decoration-color:var(--color-accent);text-decoration-thickness:.06em;text-underline-offset:.25em;transition:color var(--duration-fast) var(--ease-out)}.contact-section{min-height:min(70svh,44rem);align-content:center}.contact-email{margin-top:var(--space-lg);color:var(--color-text);font-size:clamp(1.25rem,4.5vw,2rem);font-weight:560;letter-spacing:-.025em;text-decoration-color:var(--color-accent);text-decoration-thickness:.08em;text-underline-offset:.28em}.contact-section .social-links{margin-top:var(--space-lg)}.utility-page{min-height:100svh;padding:var(--space-2xl) var(--page-gutter);display:grid;place-content:center;justify-items:center;gap:var(--space-md);text-align:center}.utility-page p{max-width:48ch;margin:0;color:var(--color-text-muted)}.redirect-link{color:var(--color-text);text-underline-offset:.25em}.intro-sequence>*{opacity:0;transform:translateY(.75rem);animation:enter .65s var(--ease-out) forwards}.intro-sequence>:nth-child(2){animation-delay:80ms}.intro-sequence>:nth-child(3){animation-delay:.16s}.intro-sequence>:nth-child(4){animation-delay:.24s}@keyframes enter{to{opacity:1;transform:translateY(0)}}@media(hover:hover){.primary-link:hover{color:var(--color-text);background:transparent;transform:translateY(-2px)}.social-links a:hover,.work-entry h3 a:hover,.legal-links a:hover{color:var(--color-accent-soft)}}@media(min-width:48rem){.expertise-list{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:var(--space-xl)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.privacy-policy-container{width:min(100%,48rem);min-height:100vh;margin:0 auto;padding:var(--space-lg) var(--page-gutter) var(--space-2xl)}.legal-home-link{min-height:2.75rem;display:inline-flex;align-items:center;color:var(--color-text-muted);font-size:var(--text-small);text-underline-offset:.3em}.privacy-policy-content{margin-top:clamp(3rem,10vw,7rem);color:var(--color-text-muted);line-height:1.75}.privacy-policy-content>h1,.privacy-policy-content>.last-updated{text-align:center}.privacy-policy-content h1{margin:0;color:var(--color-text);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:560;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}.privacy-policy-content .last-updated{margin:var(--space-sm) 0 var(--space-2xl);color:var(--color-text-subtle);font-size:var(--text-small)}.privacy-policy-content section{padding-block:var(--space-lg);border-top:1px solid var(--color-border)}.privacy-policy-content h2,.privacy-policy-content h3{color:var(--color-text);font-weight:560;letter-spacing:-.025em;line-height:1.2}.privacy-policy-content h2{margin:0 0 var(--space-md);font-size:clamp(1.5rem,5vw,2rem)}.privacy-policy-content h3{margin:var(--space-lg) 0 var(--space-xs);font-size:1.2rem}.privacy-policy-content p{margin:0 0 var(--space-sm)}.privacy-policy-content ul{margin:var(--space-sm) 0 var(--space-md);padding-left:var(--space-md)}.privacy-policy-content li{margin-bottom:var(--space-xs)}.privacy-policy-content strong{color:var(--color-text);font-weight:600}.privacy-policy-content a{color:var(--color-accent-soft);text-underline-offset:.25em}@media(min-width:48rem){.privacy-policy-container{padding-top:var(--space-xl)}}#root{min-height:100vh}
