@layer tokens{:root{--font-sans:"Pathway Extreme", system-ui, sans-serif;--color-ground:#fff;--color-ink:#111213;--color-secondary:#5e6166;--color-hairline:#e7e7e5;--color-faint:#b4b6b9;--color-tint:#f5f5f3;--color-navy:#1b2f55;--color-error:#b3261e;--space-gutter:clamp(1.25rem, 5vw, 4rem);--space-section:4rem;--radius-sm:4px;--radius-md:6px;--tap-target:44px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-settle:cubic-bezier(.32, .72, 0, 1);--bar-line:4rem}@media (width>=60rem){:root{--space-section:8rem}}}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;interpolate-size:allow-keywords}body{background:var(--color-ground);color:var(--color-ink);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:.9375rem;line-height:1.375rem}:where(h1,h2,h3,p,ul,ol,figure,pre){margin:0}:where(ul,ol)[class]{padding:0;list-style:none}:where(img,video,svg){block-size:auto;max-inline-size:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:3px;outline:2px solid}}@layer typography{@font-face{font-family:Pathway Extreme;src:url(/assets/PathwayExtreme-Display-DP8yFJtR.woff2)format("woff2");font-weight:400 600;font-stretch:82%;font-display:swap}@font-face{font-family:Pathway Extreme;src:url(/assets/PathwayExtreme-Lead-CTDqkcFe.woff2)format("woff2");font-weight:400 600;font-stretch:88%;font-display:swap}@font-face{font-family:Pathway Extreme;src:url(/assets/PathwayExtreme-Text-hmbNb0tg.woff2)format("woff2");font-weight:400 600;font-stretch:100%;font-display:swap}@font-face{font-family:Geist;src:url(/assets/Geist-BmXYcrHn.woff2)format("woff2");font-weight:400 500;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMono-DlvirLiQ.woff2)format("woff2");font-weight:400;font-display:swap}:where(h1,h2){letter-spacing:-.045em;font-weight:600;font-stretch:82%}:where(h3){font-size:inherit;font-weight:500}}@layer layout{.stack{gap:var(--stack-gap,1rem);flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,1rem);flex-wrap:wrap;display:flex}}@layer components{.Scene-link:after,.Project-back:before,.Project-next:after,.Index-list a:after,.MenuMock-button:after,.Contact-close:before,.Lightbox-close:before,.Workflow-return:after,.Contact-failed:before,.Contact-submit:after,.Chooser-option:any-link:after{content:"";block-size:14px;inline-size:14px;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;flex-shrink:0}.TopBar{block-size:3rem;padding-inline:var(--space-gutter);color:var(--scene-ink,inherit);justify-content:space-between;align-items:center;display:flex}.TopBar-name{font-weight:500}.TopBar-links{--cluster-gap:min(1.125rem, 4.6vw)}.TopBar-links [aria-current=page]{font-weight:500}.TopBar-name,.TopBar-links a,.TopBar-resume{min-block-size:var(--tap-target);align-items:center;display:flex}.TopBar-resume{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.TopBar:has(+:popover-open) .TopBar-resume{text-underline-offset:.45em;text-decoration:underline;text-decoration-thickness:1px}@media (width>=60rem){.TopBar{block-size:5.5rem}.TopBar-links{--cluster-gap:1.75rem}}.Crumb{display:none}@media (width>=60rem){.Crumb{align-items:center;margin-inline-end:auto;padding-inline-start:.75rem;transition:opacity .2s;display:flex}.Crumb:not(:has([aria-current])){visibility:hidden;opacity:0;transition:opacity .2s,visibility 0s .2s}.Crumb:before{content:"/";opacity:.6;padding-inline-end:.5rem}.Crumb-list{align-items:center;display:flex}.Crumb-list a{min-block-size:var(--tap-target);white-space:nowrap;opacity:0;inline-size:0;transition:inline-size .3s var(--ease-out), padding .3s var(--ease-out), opacity .2s ease, translate .3s var(--ease-out);align-items:center;padding-inline-end:0;display:flex;overflow:clip;translate:0 .6em}.Crumb-list li:has(~li>[aria-current])>a{translate:0 -.6em}.Crumb-list a[aria-current]{opacity:1;inline-size:auto;padding-inline-end:1.25rem;translate:none}.Crumb-list a:not([aria-current]){transition-delay:.14s}.Crumb:is(:hover,:has(:focus-visible)):not([data-folded]) .Crumb-list a{opacity:.6;inline-size:auto;transition-delay:0s, 0s, calc(var(--i,0) * 35ms), 0s;padding-inline-end:1.25rem;translate:none}.Crumb:is(:hover,:has(:focus-visible)):not([data-folded]) .Crumb-list a:is([aria-current],:hover,:focus-visible){opacity:1}.Crumb-list li:nth-child(2){--i:1}.Crumb-list li:nth-child(3){--i:2}.Crumb-list li:nth-child(4){--i:3}.Crumb-list li:nth-child(5){--i:4}.Crumb-list li:nth-child(6){--i:5}.Crumb-list a:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion:reduce){.Crumb-list a{transition:none;translate:none}.Crumb-list li:has(~li>[aria-current])>a{transition:none;translate:none}}}.Chooser{background:var(--color-ground);color:var(--color-ink);grid-template-columns:1fr auto;align-content:start;align-items:baseline;padding:0 .5rem .5rem;display:grid}.Chooser-title{padding:.375rem .75rem .625rem}.Chooser[popover] .Chooser-title{letter-spacing:normal;font-size:.9375rem;font-weight:500;font-stretch:100%;line-height:1.375rem}.Chooser-hint{color:var(--color-secondary);font:inherit;padding-inline-end:.75rem;font-size:.8125rem;line-height:1.125rem;display:none}.Chooser-options{grid-column:1/-1}.Chooser-option{border-radius:8px;grid-template-columns:1fr auto;align-content:center;align-items:center;gap:2px .75rem;min-block-size:60px;padding:.75rem;display:grid}.Chooser-option:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M8%203v8m0%200L5%208m3%203l3-3M3.5%2013.5h9'/%3e%3c/svg%3e");grid-area:1/2/3;block-size:18px;inline-size:18px}.Chooser-option:any-link:is(:hover,:focus-visible){background:var(--color-tint)}.Chooser-option:focus-visible{outline:1.5px solid var(--color-ink);outline-offset:-1.5px}.Chooser-option[data-state=soon]{--chooser-label:var(--color-secondary)}.Chooser-label,.Chooser-meta{grid-column:1}.Chooser-label{color:var(--chooser-label,var(--color-ink));align-items:center;gap:.5rem;font-size:1rem;display:flex}.Chooser-meta{color:var(--color-secondary);text-wrap:pretty;font-size:.8125rem;line-height:1.125rem}.Chooser-soon{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-hairline);padding:2px 6px;font-size:.75rem;line-height:1rem}.Chooser:not([popover]){max-inline-size:calc(28rem + 2 * var(--space-gutter));padding:var(--space-section) calc(var(--space-gutter) - .75rem)}.Chooser:not([popover]) .Chooser-title{padding-block-end:1.25rem;font-size:1.75rem;line-height:2rem}.Chooser[popover]{--chooser-away:calc(100% + 2rem);inset:auto .5rem max(1.625rem, env(safe-area-inset-bottom));touch-action:none;inline-size:auto;max-inline-size:30rem;translate:0 var(--drag,0px);transition:translate .32s var(--ease-out), opacity .18s ease, display .32s allow-discrete, overlay .32s allow-discrete;border:0;border-radius:14px;margin:0 auto;padding-block:.5rem .75rem}.Chooser[popover]:before{content:"";background:var(--color-hairline);border-radius:3px;grid-column:1/-1;justify-self:center;block-size:5px;inline-size:36px;margin-block-end:.375rem}body:has(>.Chooser:popover-open){pointer-events:none}.Chooser[popover]{pointer-events:auto}.Chooser[popover]::backdrop{transition:opacity .18s ease, display .32s allow-discrete, overlay .32s allow-discrete;background:#08090980}.Chooser[popover]:not(:popover-open){opacity:0}.Chooser[popover]:not(:popover-open)::backdrop{opacity:0}.Chooser[popover]:not(:popover-open){translate:0 var(--chooser-away)}@starting-style{.Chooser[popover]:popover-open{opacity:0}.Chooser[popover]:popover-open::backdrop{opacity:0}.Chooser[popover]:popover-open{translate:0 var(--chooser-away)}}.Chooser[data-state=dragging]{transition:none}@media (width>=60rem){.Chooser-hint{display:revert}.Chooser-title{padding-block-start:1rem}.Chooser-option{border-radius:var(--radius-md);min-block-size:0;padding-block:.625rem}.Chooser-option:after{block-size:16px;inline-size:16px}.Chooser-label{font-size:.9375rem}.Chooser[popover]{--chooser-away:-6px;inset:4.5rem var(--space-gutter) auto auto;touch-action:auto;border-radius:10px;inline-size:320px;margin:0;padding-block-start:0;box-shadow:0 0 0 1px #11121314,0 20px 48px -12px #00000080}.Chooser[popover]:before{content:none}.Chooser[popover]::backdrop{background:0 0}body:has(>.Chooser:popover-open){pointer-events:auto}@supports (anchor-name:--resume){.TopBar-resume{anchor-name:--resume}.Chooser[popover]{position-anchor:--resume;inset-block-start:calc(anchor(bottom) + 6px)}}}@media (prefers-reduced-motion:reduce){.Chooser[popover]{--chooser-away:0px}}.SoundToggle{display:none}@media (width>=60rem){.SoundToggle:not([hidden]){z-index:1;border-radius:var(--radius-md);color:#fff;mix-blend-mode:difference;inline-size:44px;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.75rem;padding:.625rem 0;font-size:.8125rem;line-height:1;display:flex;position:fixed;inset-block-end:2rem;inset-inline-end:calc((var(--space-gutter) - 44px) / 2)}.SoundToggle-chord{letter-spacing:-.02em;opacity:.55;block-size:1em;font-size:.9375rem;font-weight:600}.SoundToggle-meter{flex-direction:column-reverse;gap:3px;display:flex}.SoundToggle-meter>span{opacity:.2;background:currentColor;border-radius:1px;block-size:3px;inline-size:16px}.SoundToggle[data-state=on] .SoundToggle-meter>span:first-child{opacity:.6}.SoundToggle-label{writing-mode:vertical-rl;letter-spacing:.02em;font-weight:500}.SoundToggle-switch{opacity:.55;border:1px solid;border-radius:6px;block-size:22px;inline-size:12px;transition:opacity .16s;position:relative}.SoundToggle-switch:before{content:"";block-size:6px;inline-size:6px;transition:translate .22s var(--ease-out), background-color .16s ease;border:1px solid;border-radius:50%;position:absolute;inset-block-end:2px;inset-inline-start:2px}.SoundToggle:is([data-state=on],:hover) .SoundToggle-switch{opacity:1}.SoundToggle:is([data-state=on],[data-state=waiting]) .SoundToggle-switch:before{translate:0 -10px}.SoundToggle[data-state=on] .SoundToggle-switch:before{background:currentColor}@media (prefers-reduced-motion:no-preference){.SoundToggle[data-state=waiting] .SoundToggle-switch{animation:1.6s ease-in-out infinite alternate breathe}}}@keyframes breathe{0%{opacity:.4}to{opacity:1}}.Hero{--portrait:clamp(120px, 30.7693vw, 300px);padding:2.25rem var(--space-gutter) 0;grid-template-columns:1fr auto;grid-template-areas:"name portrait""intro intro";gap:1.75rem 1rem;display:grid}.Hero-name{min-inline-size:0;font-size:min(22.5641vw, 140px, (100vw - 2 * var(--space-gutter) - var(--portrait) - 1rem) / 2.43);letter-spacing:-.05em;grid-area:name;line-height:.955;position:relative;inset-block-start:-.125em}.Hero-intro{color:var(--color-secondary);flex-wrap:wrap;grid-area:intro;align-items:baseline;gap:.25rem 1.25rem;font-size:1rem;line-height:1.5rem;display:flex}.Hero-intro>:last-child{text-wrap:balance}.Hero-role{color:var(--color-ink);white-space:nowrap;font-size:1.125rem;font-weight:500;line-height:1.625rem}.Hero-portrait{inline-size:var(--portrait);border-radius:var(--radius-sm);grid-area:portrait}@media (width>=60rem){.Hero{gap:3.25rem var(--space-gutter);grid-template-rows:1fr auto auto;grid-template-areas:".portrait""name portrait""intro portrait";padding-block-start:2.5rem}.Hero-name{font-size:min(236px, (100vw - 3 * var(--space-gutter) - 300px) / 3.67);line-height:.89;inset-block-start:0}.Hero-intro{gap:.25rem 1.25rem;padding-inline-start:.375rem;font-size:1.25rem;line-height:1.875rem}.Hero-role{font-size:1.375rem;line-height:1.875rem}.Hero-portrait{inline-size:300px}}.Index{padding:2.5rem var(--space-gutter) 3rem}.Index-header{justify-content:space-between;align-items:baseline;padding-block-end:.625rem;font-size:.875rem;line-height:1.25rem;display:flex}.Index-title{font-weight:500}.Index-hint,.Index-kind{color:var(--color-secondary)}.Index-list a{min-block-size:var(--tap-target);border-block-start:1px solid var(--color-hairline);align-items:center;gap:.375rem;display:flex}.Index-list li:last-child a{border-block-end:1px solid var(--color-hairline)}.Index-list a:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M8%203.5v9m0%200L4.5%209M8%2012.5%2011.5%209'/%3e%3c/svg%3e");color:var(--color-secondary)}.Index-name{flex:0 0 10rem;font-weight:500}.Index-kind{flex:1}@media (width>=60rem){.Index{padding:7rem var(--space-gutter) 0}.Index-header{display:none}.Index-list{grid-template-columns:repeat(7,minmax(max-content,1fr));gap:clamp(.75rem,1.41vw,1.125rem);font-size:clamp(.8125rem,1.17vw,.9375rem);display:grid}.Index-list a{border-block-start-width:2px;flex-direction:column;align-items:start;gap:2px;min-block-size:0;padding-block:1rem 1.125rem}.Index-list li:last-child a{border-block-end:0}.Index-list a:after{display:none}.Index-name{flex:none}.Index-kind{font-size:clamp(.71875rem,1.016vw,.8125rem);line-height:1.125rem}}.Scene{background:var(--scene-ground);color:var(--scene-text);--stack-gap:.625rem;line-height:1.4375rem}.Scene-stage{padding:var(--space-section) var(--space-gutter);flex-direction:column;gap:2.25rem;display:flex}.Scene-eyebrow{color:var(--scene-muted);font-size:.875rem;line-height:1.25rem}.Scene-title{color:var(--scene-ink);padding-block-end:2px;font-size:clamp(3rem,2rem + 4vw,4.5rem);line-height:1}.Scene-subtitle{color:var(--scene-ink);letter-spacing:-.01em;font-size:1.125rem;font-weight:500;line-height:1.5rem}.Scene-link{min-block-size:var(--tap-target);color:var(--scene-ink);align-self:start;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;display:inline-flex}.Scene-link:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207h8m0%200L7.5%203.5M11%207l-3.5%203.5'/%3e%3c/svg%3e")}.Scene-copy,.Scene-media{max-inline-size:36rem}.Scene-media{aspect-ratio:var(--frame-ratio);border:1px solid var(--frame-border,transparent);border-radius:var(--radius-md);background:var(--frame-ground);position:relative;overflow:clip}.Scene-media>:not(.Scene-extra){inline-size:var(--crop-size);max-inline-size:none;position:absolute;inset-block-start:var(--crop-y);inset-inline-start:var(--crop-x)}.Scene-extra{display:none}@media (width>=60rem){.Scene{--stack-gap:1.25rem}.Scene-stage{align-items:center;gap:var(--space-gutter);flex-direction:row}.Scene-copy{flex:0 0 22rem}.Scene-title{padding-block-end:0;font-size:5rem;line-height:4.75rem}.Scene-subtitle{color:var(--scene-lede,var(--scene-ink));font-size:1.25rem;line-height:1.75rem}.Scene-link{min-block-size:0;margin-block-start:1.25rem}.Scene-media{max-inline-size:var(--media-max,880px);aspect-ratio:auto;background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:1fr;align-items:end;gap:1.25rem 1.5rem;margin-inline-start:auto;display:grid;overflow:visible}.Scene-media>:not(.Scene-extra){inline-size:100%;position:static}.Scene-extra{display:revert}.Scene-crop{display:none}.Scene-media :is(img,video){inline-size:100%;box-shadow:0 0 0 1px var(--scene-ring);border-radius:10px}.Scene-thumbs{grid-template-columns:repeat(3,1fr);gap:1.0625rem;display:grid}.Scene-thumbs img{border-radius:8px}}[data-scene=wistia]{--scene-ground:#edf0f6;--scene-ink:#0e1424;--scene-muted:#5a6273;--scene-text:#3e4658;--scene-ring:#d6dcea;--frame-ground:#202124;--frame-ratio:350 / 260;--crop-size:162%;--crop-x:-62%;--crop-y:-5.4%}[data-scene=unmute]{--scene-ground:#131515;--scene-ink:#f2f4f3;--scene-muted:#8e9493;--scene-text:#b4bab8;--scene-lede:#b4bab8;--scene-ring:#262a29;--frame-ground:#1a1b1b;--frame-border:#262929;--frame-ratio:350 / 256;--crop-size:147.7%;--crop-x:-4%;--crop-y:-0.8%}[data-scene=kickfirst]{--scene-ground:#0e1112;--scene-ink:#f2f5f1;--scene-muted:#8b9099;--scene-text:#a8adb5;--scene-lede:#a8adb5;--scene-ring:#262a31;--frame-ground:#1b1e24;--frame-border:#1f2328;--frame-ratio:350 / 400;--crop-size:100%;--crop-x:0%;--crop-y:0%;--media-max:860px}:is([data-scene=roleprint],[data-scene=agentic-engineering]){--scene-ground:var(--color-tint);--scene-ink:var(--color-ink);--scene-muted:var(--color-secondary);--scene-text:var(--color-secondary);--scene-ring:var(--color-hairline)}[data-scene=provide]{--scene-ground:#e3f8e7;--scene-ink:#202222;--scene-muted:#3f5a5b;--scene-text:#3f5a5b;--scene-lede:#3f5a5b;--scene-ring:#cfe3d4;--frame-ground:#f7f7f7;--frame-ratio:350 / 260;--crop-size:145.4%;--crop-x:0%;--crop-y:0%}.Project{padding:5rem var(--space-gutter) 3rem;background:var(--scene-ground);color:var(--scene-text);flex-direction:column;margin-block-start:-3rem;display:flex}.Project>*{max-inline-size:36rem}.Project-eyebrow{color:var(--scene-muted);text-wrap:balance;font-size:.875rem;line-height:1.25rem}.Project-title{color:var(--scene-ink);margin-block:.75rem .5rem;font-size:4.375rem;line-height:4.125rem}.Project-subtitle{color:var(--scene-ink);letter-spacing:-.01em;font-size:1.25rem;font-weight:500;line-height:1.75rem}.Project-media{flex-direction:column;gap:.75rem;margin-block-start:2rem;display:flex;container-type:inline-size}.Project-media>figcaption{color:var(--scene-muted);text-wrap:pretty;font-size:.875rem;line-height:1.25rem}.Project-frame{aspect-ratio:var(--frame-ratio);border-radius:var(--radius-md);background:var(--frame-ground);box-shadow:0 0 0 1px var(--scene-ring);position:relative;overflow:clip}.Project-frame img{inline-size:var(--crop-size);max-inline-size:none;position:absolute;inset-block-start:var(--crop-y);inset-inline-start:var(--crop-x)}.Project-thumbs{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;margin-inline-end:calc(-1 * var(--space-gutter));padding-inline-end:var(--space-gutter);display:flex;overflow-x:auto}.Project-thumbs li{scroll-snap-align:start;flex:0 0 14.25rem}.Project-thumb{border-radius:var(--radius-md);cursor:zoom-in;background:0 0;border:0;inline-size:100%;padding:0;display:block}.Project-thumb img{border-radius:inherit;outline:1px solid var(--scene-ring);outline-offset:-1px}.Project-hint{color:var(--scene-muted);font-size:.8125rem;line-height:1.125rem}.Project-intro{text-wrap:pretty;--stack-gap:.875rem;margin-block-start:1.75rem;font-size:1rem;line-height:1.5625rem}:is(.Project-career,.Project-meta,.Project-actions){margin-block-start:2.25rem}.Project-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.Project-actions p,.Project-meta{color:var(--scene-muted);font-size:.875rem;line-height:1.25rem}.Project-body{gap:var(--space-section);padding:var(--space-section) var(--space-gutter) 2.5rem;flex-direction:column;display:flex}.Project-body>*{max-inline-size:36rem}.Project-section{border-block-start:1px solid var(--color-hairline);--stack-gap:.875rem;align-items:start;gap:.75rem;padding-block-start:1.25rem;display:grid}.Project-section h2{letter-spacing:-.01em;font-size:1.125rem;font-weight:500;font-stretch:100%;line-height:1.5rem}.Project-section p{color:var(--color-secondary);text-wrap:pretty;font-size:1rem;line-height:1.5625rem}.Project-section p a{color:var(--color-ink);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-faint);text-decoration-color:var(--color-faint);text-underline-offset:.2em}.Project-section p a:hover{text-decoration-color:currentColor}.Project-pager{border-block-start:1px solid var(--color-hairline);flex-direction:column;padding-block-start:.5rem;display:flex}.Project-pager a{min-block-size:var(--tap-target);align-self:start;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;display:flex}.Project-back:before{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207h8m0%200L7.5%203.5M11%207l-3.5%203.5'/%3e%3c/svg%3e");scale:-1 1}.Project-next:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207h8m0%200L7.5%203.5M11%207l-3.5%203.5'/%3e%3c/svg%3e")}.Project-next span{color:var(--color-secondary);font-weight:400}@media (width>=60rem){.Project{column-gap:var(--space-gutter);padding-block:9.5rem var(--space-section);grid-template:".media"1fr"head media""intro media""career media"".media"1fr/22rem 1fr;margin-block-start:-5.5rem;display:grid}.Project>*{max-inline-size:none}.Project-head{grid-area:head}.Project-media{grid-area:media}.Project-intro{grid-area:intro}:is(.Project-career,.Project-meta,.Project-actions){grid-area:career}.Project-eyebrow{padding-block-end:.5rem}.Project-title{font-size:var(--title-size,8.25rem);line-height:calc(var(--title-size,8.25rem) - .5rem);margin-block:.75rem 1rem}.Project-subtitle{font-size:1.5rem;line-height:2rem}.Project-media{justify-content:center;gap:1.5rem;margin-block-start:0}.Project-frame{aspect-ratio:var(--media-ratio,auto);background:0 0;border-radius:10px;min-block-size:0}.Project-frame img{inline-size:100%;position:static}.Project-thumbs{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-inline-end:0;padding-inline-end:0;display:grid;overflow:visible}.Project-thumb{border-radius:8px}.Project-hint{display:none}.Project-intro{--stack-gap:1rem;font-size:1.0625rem;line-height:1.6875rem}:is(.Project-career,.Project-meta,.Project-actions){margin-block-start:2.75rem}.Project-body{padding-block-end:4rem}.Project-body>*{max-inline-size:none}.Project-section{gap:var(--space-gutter);--stack-gap:1.25rem;grid-template-columns:22rem minmax(0,40rem);padding-block-start:1.75rem}.Project-section h2{font-size:1.25rem;line-height:1.75rem}.Project-section p{font-size:1.25rem;line-height:1.875rem}.Project-pager{flex-direction:row;justify-content:space-between;padding-block-start:1.75rem}.Project-pager a{min-block-size:0}}.Lightbox{inline-size:min(100% - 2 * var(--space-gutter), var(--lightbox-max,35.25rem));background:0 0;border:0;padding:0;overflow:visible}.Lightbox img{border-radius:10px;inline-size:100%}.Lightbox::backdrop{background:#08090980}.Lightbox-close{inline-size:var(--tap-target);block-size:var(--tap-target);box-shadow:0 0 0 1px var(--color-hairline);color:var(--color-ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;inset:.375rem .375rem auto auto}.Lightbox-close:before{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%3e%3cpath%20d='M3%203l8%208M11%203l-8%208'/%3e%3c/svg%3e")}.Process{counter-reset:step;gap:2rem;display:grid}.Process li{border:1px solid var(--scene-ring);border-radius:var(--radius-md);background:var(--color-ground);color:var(--color-secondary);text-wrap:pretty;counter-increment:step;flex-direction:column;gap:.375rem;padding:1rem 1.125rem 1.125rem;font-size:.9375rem;line-height:1.375rem;display:flex;position:relative}.Process li[data-state=result]{border-color:var(--color-navy)}.Process li+li:before{content:"↓" / "";color:var(--color-faint);position:absolute;inset-block-start:-1.75rem;inset-inline-start:1.125rem}.Process-name{color:var(--color-ink);font-size:1rem;font-weight:500}.Process-name:before{content:counter(step) "  ";white-space:pre;color:var(--color-secondary);font-family:Geist Mono,ui-monospace,monospace;font-size:.8125rem;font-weight:400}.Process li[data-state=result] .Process-name:before{color:var(--color-navy)}.Project-artifact figcaption{color:var(--color-secondary);margin-block-start:.75rem;font-size:.875rem;line-height:1.25rem}@container (width>=42rem){.Process{grid-auto-columns:1fr;grid-auto-flow:column;gap:2.5rem}.Process li{padding:1.25rem 1.375rem 1.375rem}.Process li+li:before{content:"→" / "";inset-block-start:50%;inset-inline-start:-1.75rem;translate:0 -50%}}.Workflow{--node:4px;--node-y:11px;--loop-ink:color-mix(in oklab, var(--color-secondary) 55%, var(--color-faint));grid-template-rows:repeat(5,auto);grid-template-columns:1.25rem 1fr;gap:1.5rem 0;display:grid}.Workflow-steps{grid-area:1/2/6;grid-template-rows:subgrid;display:grid;position:relative}.Workflow-steps:before{content:"";inset-block:var(--node-y) 0;border-inline-start:1px solid var(--scene-ring);position:absolute;inset-inline-start:var(--node)}.Workflow-steps li{color:var(--color-secondary);text-wrap:pretty;padding-inline-start:1.5rem;font-size:.9375rem;line-height:1.375rem;position:relative}.Workflow-steps li:last-child{grid-row:5}.Workflow-steps li:before{content:"";background:var(--color-secondary);border-radius:50%;block-size:9px;inline-size:9px;position:absolute;inset-block-start:calc(var(--node-y) - 4.5px);inset-inline-start:0}.Workflow-steps li:last-child:before{background:var(--color-navy)}.Workflow-name{color:var(--color-ink);margin-block-end:.125rem;font-size:1.0625rem;font-weight:500}.Workflow-name span{color:var(--color-secondary);margin-inline-end:.375rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.75rem;font-weight:400}.Workflow-return{block-size:calc(100% + 1.5rem);margin-block-start:var(--node-y);margin-inline:.375rem calc(-1 * var(--node));border:1.5px dashed var(--loop-ink);border-inline-end:0;border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);grid-area:2/1;position:relative}.Workflow-return:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207h8m0%200L7.5%203.5M11%207l-3.5%203.5'/%3e%3c/svg%3e");background:var(--loop-ink);block-size:12px;inline-size:12px;position:absolute;inset-block-start:-7.75px;inset-inline-end:2px}.Workflow-loop{color:var(--color-secondary);grid-area:4/2;padding-inline-start:1.5rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.75rem;line-height:1.125rem}@container (width>=42rem){.Workflow{grid-template-rows:auto auto auto;grid-template-columns:repeat(4,1fr);gap:0}.Workflow-steps{grid-area:3/1/auto/-1;grid-template-rows:none;grid-template-columns:subgrid}.Workflow-steps:before{inset-block:0 auto;inset-inline:var(--node) calc(25% - var(--node));border-inline-start:0;border-block-start:1px solid var(--scene-ring)}.Workflow-steps li{padding:1.5rem clamp(1rem,3.5cqi,2rem) 0 0;font-size:clamp(.875rem,1.675cqi,.9375rem);line-height:1.47}.Workflow-steps li:last-child{grid-row:auto}.Workflow-steps li:before{inset-block-start:-4.5px}.Workflow-name{margin-block-end:.375rem;font-size:clamp(1.0625rem,2.25cqi,1.25rem);line-height:1.4}.Workflow-loop{padding:0 0 .75rem calc(var(--node) + 1rem);grid-area:1/2/auto/4}.Workflow-return{block-size:1.75rem;margin:0 calc(-1 * var(--node)) 0 var(--node);border:1.5px dashed var(--loop-ink);border-radius:var(--radius-md) var(--radius-md) 0 0;border-block-end:0;grid-area:2/2}.Workflow-return:after{inset-block:auto 5px;inset-inline:-6.75px auto;rotate:90deg}}.Workflow+figcaption{margin-block-start:.75rem}@container (width>=42rem){.Workflow+figcaption{margin-block-start:1rem}}.Story{padding:2rem var(--space-gutter) 0;flex-direction:column;gap:2rem;display:flex}.Story-eyebrow{color:var(--color-secondary);margin-block-end:.75rem;font-size:.875rem;line-height:1.25rem}:is(.Story-title,.Story-second){letter-spacing:-.035em;text-wrap:balance;font-size:2rem;font-weight:500;font-stretch:88%;line-height:2.375rem}.Story-second{color:#73767b}.Story-photo{aspect-ratio:3/2;border-radius:var(--radius-sm)}.Story-art{border-radius:var(--radius-md)}@media (width>=60rem){.Story{align-items:center;gap:var(--space-gutter);grid-template-columns:1fr 360px;padding-block-start:4rem;display:grid}:is(.Story-title,.Story-second){font-size:2.875rem;line-height:3.375rem}.Story-photo{border-radius:0;inline-size:360px}}.Career{color:var(--scene-muted);font-variant-numeric:tabular-nums;padding-block-start:.9375rem;font-size:.75rem;line-height:1rem;position:relative}.Career figcaption{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.Career:before{content:"";background:color-mix(in srgb, currentColor 30%, transparent);block-size:1px;position:absolute;inset:4px 0 auto}.Career-spans{block-size:3px;position:absolute;inset:1px 0 auto}.Career-spans span{inset-block:0;inset-inline:calc(100% * var(--from) / var(--span)) max(0px, calc(100% * (var(--span) - var(--to)) / var(--span) - 1px));background:var(--scene-text);position:absolute}.Career-years{block-size:1rem;position:relative}.Career-years li{position:absolute;inset-inline-start:calc(100% * var(--at,0) / var(--span))}.Career-years li:last-child{inset-inline:auto 0}.Career-years li:before{content:"";background:color-mix(in srgb, currentColor 60%, transparent);block-size:5px;inline-size:1px;position:absolute;inset-block-start:-11px;inset-inline-start:0}.Career-years li:last-child:before{inset-inline:auto 0}.MoreWork-stage{padding:var(--space-section) var(--space-gutter) 1rem;flex-direction:column;gap:1.75rem;display:flex}.MoreWork-header{border-block-end:1px solid var(--color-hairline);color:var(--color-secondary);flex-direction:column;gap:.25rem;padding-block-end:1.25rem;display:flex}.MoreWork-title{color:var(--color-ink);font-size:1.75rem;line-height:2rem}.MoreWork-list{gap:2.5rem;max-inline-size:36rem;display:grid}.Work{flex-direction:column;gap:1rem;scroll-margin-block-start:1.5rem;display:flex;container-type:inline-size}.Work:first-child{scroll-margin-block-start:8.1875rem}.Work-text{flex-direction:column;flex:1;gap:.25rem;min-inline-size:0;display:flex}.Work-heading{gap:.5rem;display:flex}.Work-heading h3,.Work-kind{font-size:1rem;line-height:1.375rem}.Work-kind,.Work-description{color:var(--color-secondary)}.Work-link{align-items:center;gap:.25em;min-block-size:36px;font-weight:500;display:flex}@media (width>=60rem){.MoreWork-stage{padding:9rem var(--space-gutter) 0;gap:3rem}.MoreWork-header{flex-direction:row;justify-content:space-between;align-items:baseline}.MoreWork-title{line-height:2.125rem}.MoreWork-list{gap:var(--space-gutter);grid-template-columns:repeat(3,minmax(0,1fr));max-inline-size:none}.Work{gap:1.25rem}.MoreWork-list .Work{scroll-margin-block-start:calc(var(--bar-line) + 8.4375rem)}.Work-text{gap:.375rem}.Work-heading h3,.Work-kind{font-size:.9375rem;line-height:1.375rem}.Work-description{min-block-size:3lh;color:var(--color-ink)}.Work-link{min-block-size:0;padding-block-start:.375rem}}.Work-artifact{border-radius:var(--radius-md);background:var(--color-tint);flex:none;justify-content:center;align-items:center;gap:2em;block-size:168px;padding-inline:2em;font-size:min(14px,3.55cqi);line-height:1.4;display:flex;overflow:clip}@media (width>=60rem){.Work-artifact{justify-content:start;block-size:220px}}.Pipeline{color:var(--color-secondary);white-space:nowrap;padding-block-end:3em;font-size:1.2em;position:relative}.Pipeline-steps{grid-template-columns:repeat(4,3.6em);justify-items:center;column-gap:1.6em;display:grid}.Pipeline [data-state=current]{color:var(--color-ink);-webkit-text-decoration:underline 1px var(--color-navy);text-decoration:underline 1px var(--color-navy);text-underline-offset:.25em;font-weight:500}.Pipeline li{position:relative}.Pipeline li+li:before{content:"→";text-align:center;inline-size:1.6em;color:var(--color-faint);font-weight:400;position:absolute;inset-inline-end:calc(1.8em + 50%)}.Pipeline-loop{--loop-ink:color-mix(in oklab, var(--color-secondary) 55%, var(--color-faint));block-size:4.4em;inline-size:19.2em;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:visible}.Pipeline-return{fill:none;stroke:var(--loop-ink);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.Pipeline-arrowhead{fill:none;stroke:var(--loop-ink);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.Pipeline-bubble{offset-path:path("M18 22H174V36A4 4 0 0 1 170 40H74A4 4 0 0 1 70 36V22H122");offset-distance:100%;offset-rotate:0deg}.Pipeline-bubble circle{opacity:0;fill:#e8922c;transform-box:fill-box;transform-origin:50%}.Code{color:var(--color-secondary);font-family:Geist Mono,ui-monospace,monospace;font-size:.93em;line-height:1.7}.Code-hook{color:#c2410c}.Code-part{color:#a16207}.Code-text{color:var(--color-ink)}.MenuMock{flex-shrink:0;inline-size:8.5em;font-family:Geist,system-ui,sans-serif;font-size:.95em}.MenuMock-button{background:var(--color-ground);color:#1f4fff;border:1px solid #1f4fff;border-radius:.45em;justify-content:space-between;align-items:center;block-size:2.25em;padding-inline:.75em;font-weight:500;display:flex}.MenuMock-button:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207.5%206%204.5l3%203'/%3e%3c/svg%3e");block-size:.8em;inline-size:.8em}.MenuMock-list{background:var(--color-ground);border:1px solid #e6e6e6;border-radius:.45em;margin-block-start:.3em;padding:.2em}.MenuMock-list li{border-radius:.3em;padding:.35em .6em}.MenuMock-list [data-state=active]{background:#f3f4f6}.Ledger{flex-direction:column;flex:1;gap:.7em;display:flex}.Ledger-row{white-space:nowrap;background:var(--color-ground);border:1px solid #e4e4e1;border-radius:.45em;justify-content:space-between;align-items:center;padding:.7em 1em;display:flex}.Ledger-row[data-state=result]{border-color:var(--color-navy);font-weight:500}.Ledger-meta{color:var(--color-secondary);font-family:Geist Mono,ui-monospace,monospace;font-size:.86em;font-weight:400}.Ledger-row[data-state=result] .Ledger-meta{color:var(--color-navy)}.Ledger-arrow{color:var(--color-faint);padding-inline-start:1em}.Music{padding:3rem var(--space-gutter) var(--space-section);grid-template-columns:1fr 120px;grid-template-areas:"lead photo""link link";gap:1rem;display:grid;container-type:inline-size}.Music-lead{text-wrap:balance;letter-spacing:-.01em;grid-area:lead;font-size:1.125rem;line-height:1.5rem}.Music-second{color:#73767b}.Music-link{min-block-size:var(--tap-target);grid-area:link;align-items:center;gap:.25em;font-weight:500;display:flex}.Music-photo{aspect-ratio:3/2;border-radius:var(--radius-sm);grid-area:photo;inline-size:120px}@media (width>=60rem){.Music{gap:0 var(--space-gutter);grid-template:".photo"1fr"lead photo""link photo"".photo"1fr/1fr 360px;padding-block:10rem}.Music-lead{letter-spacing:-.035em;font-size:2.875rem;font-weight:500;font-stretch:88%;line-height:3.375rem}.Music-link{min-block-size:0;margin-block-start:2.25rem}.Music-photo{border-radius:0;inline-size:360px}}@container (width>=78rem){.Music-lead{flex-direction:column;gap:.25rem;display:flex}}.Contact{gap:var(--contact-gap,1.5rem);flex-direction:column;display:flex}main.Contact{--contact-title-size:clamp(2.5rem, 9vw, 3.5rem);--contact-intro-size:1rem;--contact-intro-leading:1.5rem;inline-size:min(30rem,100%);padding:2rem var(--space-gutter) var(--space-section);margin-inline:auto}.Contact-header{align-items:start;gap:1rem;display:flex}.Contact-hello,.Contact-thanks{flex-direction:column;flex:1;gap:.375rem;display:flex}.Contact-title{font-size:var(--contact-title-size,2rem);line-height:var(--contact-title-leading,1);letter-spacing:var(--contact-title-tracking,-.045em)}.Contact-title:focus{outline:none}.Contact-header p{color:var(--color-secondary);font-size:var(--contact-intro-size,.9375rem);line-height:var(--contact-intro-leading,1.4375rem);text-wrap:pretty}.Contact-close{inline-size:var(--tap-target);block-size:var(--tap-target);border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.Contact-close:before{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%3e%3cpath%20d='M3%203l8%208M11%203l-8%208'/%3e%3c/svg%3e")}.Contact-form{flex-direction:column;flex:1;gap:1.5rem;display:flex}.Contact-fields{border:0;flex-direction:column;gap:1rem;min-inline-size:0;margin:0;padding:0;display:flex}.Contact-fields:disabled{opacity:.5}.Contact-row{flex-direction:column;gap:1rem;display:flex}.Contact-trap{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.Contact-footer{flex-direction:column;align-items:stretch;gap:1rem;margin-block-start:auto;display:flex}.Contact-failed{color:var(--color-error);flex:1;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;display:none}.Contact-failed:before{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%3e%3ccircle%20cx='8'%20cy='8'%20r='6.25'/%3e%3cpath%20d='M8%204.75v3.75'/%3e%3ccircle%20cx='8'%20cy='11'%20r='0.85'%20fill='%23000'%20stroke='none'/%3e%3c/svg%3e");block-size:16px;inline-size:16px}.Contact-submit:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%207h8m0%200L7.5%203.5M11%207l-3.5%203.5'/%3e%3c/svg%3e")}.Contact[data-state=sending] .Contact-submit:after{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2014%2014'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%3e%3ccircle%20cx='7'%20cy='7'%20r='5.25'%20opacity='0.35'/%3e%3cpath%20d='M7%201.75a5.25%205.25%200%200%201%205.25%205.25'/%3e%3c/svg%3e")}@media (prefers-reduced-motion:no-preference){.Contact[data-state=sending] .Contact-submit:after{animation:.8s linear infinite spin}}@keyframes spin{to{rotate:1turn}}.Contact-done{flex-direction:column;display:flex}.Contact-thanks,.Contact-done,.Contact-sending,.Contact-retry,.Contact[data-state] .Contact-send,.Contact[data-state=sent] :is(.Contact-hello,.Contact-form){display:none}.Contact[data-state=sent] :is(.Contact-thanks,.Contact-done),.Contact[data-state=failed] .Contact-failed{display:flex}.Contact[data-state=sending] .Contact-sending,.Contact[data-state=failed] .Contact-retry{display:inline}dialog.Contact{--contact-gap:1.375rem;--contact-height:calc(100dvh - 3.5rem);--contact-offset:0 100%;--contact-fade:1;--contact-duration:.32s;--contact-ease:var(--ease-settle);inline-size:100%;max-inline-size:none;block-size:var(--contact-height);max-block-size:100dvh;padding:.5rem var(--space-gutter) 1.25rem;background:var(--color-ground);color:var(--color-ink);overscroll-behavior:contain;border:0;border-radius:12px 12px 0 0;margin:0;inset:auto 0 0}dialog.Contact[data-state=sent]{--contact-height:fit-content}dialog.Contact:before{content:"";background:var(--color-hairline);border-radius:3px;flex-shrink:0;align-self:center;block-size:5px;inline-size:36px;margin-block-end:.375rem}dialog.Contact::backdrop{background:#08090980}html:has(dialog.Contact[open]){overflow:hidden}dialog.Contact,dialog.Contact::backdrop{transition-property:opacity,translate,overlay,display;transition-duration:var(--contact-duration,.18s);transition-timing-function:var(--contact-ease,var(--ease-out));transition-behavior:allow-discrete}dialog.Contact:not([open]){opacity:var(--contact-fade);translate:var(--contact-offset);display:none}dialog.Contact:not([open])::backdrop{opacity:0}@starting-style{dialog.Contact[open]{opacity:var(--contact-fade);translate:var(--contact-offset)}dialog.Contact[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:reduce){dialog.Contact{--contact-offset:0 0;--contact-fade:0;--contact-duration:.18s}}@media (width>=40rem){.Contact-row{flex-direction:row;gap:.75rem}.Contact-footer{flex-direction:row;justify-content:end;align-items:center;gap:1rem}.Contact-done{align-items:end}.Contact-close{block-size:2rem;inline-size:2rem}dialog.Contact{--contact-gap:1.5rem;--contact-height:fit-content;--contact-offset:0 8px;--contact-fade:0;--contact-duration:.18s;--contact-ease:var(--ease-out);--contact-title-tracking:-.03em;--contact-title-leading:2.125rem;inline-size:min(30rem, 100% - 2 * var(--space-gutter));border-radius:10px;max-block-size:calc(100dvh - 3rem);margin:clamp(1.5rem,16.6vh,9.375rem) auto auto;padding:1.75rem 2rem 2rem;inset:0;box-shadow:0 0 0 1px #11121314,0 16px 40px -16px #11121338}dialog.Contact:before{display:none}}@media (width>=60rem){main.Contact{padding:4.5rem 2rem var(--space-section)}}.Field{flex-direction:column;flex:1;gap:.375rem;display:flex}.Field label{color:var(--color-secondary);font-size:.8125rem;line-height:1.125rem}.Field :is(input,textarea){border-radius:var(--radius-md);background:var(--color-ground);block-size:3rem;inline-size:100%;box-shadow:inset 0 0 0 var(--field-ring-width,1px) var(--field-ring-color,#d9dad7);color:var(--color-ink);font:inherit;border:0;outline:none;padding:0 .875rem;font-size:1rem}.Field textarea{resize:none;block-size:11rem;padding-block:.8125rem;display:block}.Field :is(input,textarea)::placeholder{color:var(--color-faint);opacity:1}.Field :is(input,textarea):focus{--field-ring-width:1.5px;--field-ring-color:var(--color-ink)}.Field :is(input,textarea)[aria-invalid=true]{--field-ring-color:var(--color-error)}.Field-error{color:var(--color-error);font-size:.8125rem;line-height:1.125rem;display:none}.Field:has([aria-invalid=true]) .Field-error{display:block}@media (width>=40rem){.Field :is(input,textarea){block-size:2.75rem;padding-inline:.75rem;font-size:.9375rem}.Field textarea{block-size:8.25rem;padding-block:.6875rem}}.Button{border-radius:var(--radius-md);background:var(--button-ground,var(--color-ink));min-block-size:3.125rem;min-inline-size:124px;box-shadow:var(--button-ring,none);color:var(--button-ink,var(--color-ground));font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;padding-inline:1rem;font-size:1rem;font-weight:500;display:inline-flex}.Button[data-variant=outline]{--button-ground:transparent;--button-ink:var(--color-ink);--button-ring:inset 0 0 0 1px #1112134d}.Button:focus-visible{outline:1.5px solid var(--color-ink);outline-offset:2px}@media (width>=40rem){.Button{min-block-size:var(--tap-target);font-size:.9375rem}}.Footer{padding:1.5rem var(--space-gutter) 2.5rem;border-block-start:1px solid var(--color-hairline);flex-direction:column;gap:.5rem;display:flex}.Footer-links{--cluster-gap:0 1.125rem}.Footer-links a{min-block-size:var(--tap-target);align-items:center;display:flex}.Footer-markdown,.Footer-source{color:var(--color-secondary)}@media (width>=60rem){.Footer{flex-direction:row;justify-content:space-between;align-items:center;padding-block-end:4rem}.Footer-name{color:var(--color-secondary)}.Footer-links{--cluster-gap:1.5rem}.Footer-links a{min-block-size:0}.Footer-links a:not(.Footer-markdown,.Footer-source){font-weight:500}}}@layer scenes{@media (prefers-reduced-motion:no-preference){:root:has(.Crumb[data-jumping]){scroll-behavior:smooth}}@media (width>=60rem){:root{--fold:min(100svh, 68rem);--peek:clamp(3rem, 8svh, 6rem)}.Hero{min-block-size:calc(var(--fold) - var(--peek) - 5.5rem - 7rem - 4.875rem)}.Hero-portrait{align-self:end}.Scene-stage{min-block-size:var(--fold)}.Scene[data-scene=provide]{--media-max:clamp(640px, (var(--fold) - 2 * var(--space-section)) / .92, 880px)}}.Scene-eyebrow{--enter-rise:8px}.Scene-title{--enter-rise:18px;--enter-delay:60ms}.Scene-subtitle{--enter-rise:12px;--enter-delay:.14s}.Scene-copy>p{--enter-rise:10px;--enter-delay:.22s}.Scene-copy>p+p{--enter-delay:.29s}.Scene-link{--enter-rise:6px;--enter-delay:.36s}.Scene-media>:is(img,video),.Scene-thumbs li,.Music-photo{--enter-fade:1.1s;--enter-curve:var(--ease-settle);--enter-delay:.1s}.Scene-media>.Scene-extra+:is(img,video){--enter-delay:.24s}.Scene-thumbs li{--enter-delay:.36s}.Scene-thumbs li+li{--enter-delay:.42s}.Scene-thumbs li+li+li{--enter-delay:.48s}.MoreWork-title{--enter-rise:12px}.MoreWork-header>p{--enter-rise:6px;--enter-delay:.12s}.Work-artifact{--enter-rise:12px}.Work-text{--enter-rise:8px;--enter-delay:90ms}.Work:nth-child(2){--enter-offset:70ms}.Work:nth-child(3){--enter-offset:.14s}.Music-lead>span{--enter-rise:14px}.Music-second{--enter-delay:.14s}.Music-link{--enter-rise:6px;--enter-delay:.3s}[data-enter=waiting] :is(.Scene-eyebrow,.Scene-subtitle,.Scene-copy>p,.Scene-link,.Scene-media>:is(img,video),.Scene-thumbs li,.MoreWork-header>*,.Work-artifact,.Work-text,.Music-lead>span,.Music-link,.Music-photo){opacity:0;translate:0 var(--enter-rise,0px)}[data-enter=arrived] :is(.Scene-eyebrow,.Scene-subtitle,.Scene-copy>p,.Scene-link,.Scene-media>:is(img,video),.Scene-thumbs li,.MoreWork-header>*,.Work-artifact,.Work-text,.Music-lead>span,.Music-link,.Music-photo){--enter-start:calc(.12s + var(--enter-offset,0s) + var(--enter-delay,0s));transition:opacity var(--enter-fade,.6s) var(--enter-curve,var(--ease-out)) var(--enter-start), translate .9s var(--ease-out) var(--enter-start)}[data-enter=jumped] :is(.Scene-eyebrow,.Scene-subtitle,.Scene-copy>p,.Scene-link,.Scene-media>:is(img,video),.Scene-thumbs li,.MoreWork-header>*,.Work-artifact,.Work-text,.Music-lead>span,.Music-link,.Music-photo){transition:opacity .24s var(--ease-out)}[data-enter=waiting] .Scene-title{clip-path:inset(-.25em -.25em 100%);translate:0 100%}[data-enter=arrived] .Scene-title{clip-path:inset(-.25em);transition:translate 1s var(--ease-out) calc(.12s + var(--enter-delay)), clip-path 1s var(--ease-out) calc(.12s + var(--enter-delay))}[data-enter=jumped] .Scene-title{clip-path:inset(-.25em);transition:translate .5s var(--ease-out), clip-path .5s var(--ease-out)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){:is(.Scene-media,.Music-photo){animation:linear both media-depth;animation-timeline:view();animation-range:cover}}}@media (width>=60rem){.TopBar{z-index:10;background:var(--scene-ground,var(--color-ground));position:sticky;inset-block-start:0}@supports (timeline-scope:--section){.TopBar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:0 0;inset-block-start:calc(var(--bar-line) - 5.5rem)}.TopBar:after{content:"";z-index:-1;opacity:.09;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/160px;position:absolute;inset:0}.TopBar>*{animation:linear both bar-centre;animation-timeline:scroll(root);animation-range:0 1.5rem;position:relative}body{timeline-scope:--wistia, --unmute, --provide, --kickfirst, --more-work, --project-body}:is(.Scene,.MoreWork,.Project-body){view-timeline-inset:0 calc(100% - var(--bar-line))}.Scene[data-scene=wistia]{view-timeline-name:--wistia}.Scene[data-scene=unmute]{view-timeline-name:--unmute}.Scene[data-scene=provide]{view-timeline-name:--provide}.Scene[data-scene=kickfirst]{view-timeline-name:--kickfirst}.MoreWork{view-timeline-name:--more-work}.Project-body{view-timeline-name:--project-body}.TopBar{--ink-above:var(--scene-ink,var(--color-ink));--ink-below:var(--scene-ink,var(--color-ink))}.TopBar-name,.TopBar-links a,.TopBar-resume,.Crumb:before,.Crumb-list a{color:#0000;background:linear-gradient(var(--ink-above) var(--ink-edge), var(--ink-below) var(--ink-edge)) fixed;outline-color:var(--ink-below);-webkit-text-decoration-color:var(--ink-below);text-decoration-color:var(--ink-below);-webkit-background-clip:text;background-clip:text;animation-name:ink-wistia,ink-unmute,ink-provide,ink-kickfirst,ink-page,ink-project;animation-timing-function:linear;animation-fill-mode:forwards;animation-timeline:--wistia,--unmute,--provide,--kickfirst,--more-work,--project-body;animation-range:entry}.TopBar>.TopBar-name{animation-name:bar-centre,ink-wistia,ink-unmute,ink-provide,ink-kickfirst,ink-page,ink-project;animation-fill-mode:both,forwards,forwards,forwards,forwards,forwards,forwards;animation-timeline:scroll(root),--wistia,--unmute,--provide,--kickfirst,--more-work,--project-body;animation-range:0 1.5rem,entry,entry,entry,entry,entry,entry}}}@property --ink-edge{syntax:"<length>";inherits:true;initial-value:0}@property --ink-above{syntax:"<color>";inherits:true;initial-value:#111213}@property --ink-below{syntax:"<color>";inherits:true;initial-value:#111213}@keyframes ink-wistia{0%{--ink-edge:var(--bar-line);--ink-above:var(--color-ink);--ink-below:#0e1424}to{--ink-edge:0px;--ink-above:var(--color-ink);--ink-below:#0e1424}}@keyframes ink-unmute{0%{--ink-edge:var(--bar-line);--ink-above:#0e1424;--ink-below:#f2f4f3}to{--ink-edge:0px;--ink-above:#0e1424;--ink-below:#f2f4f3}}@keyframes ink-provide{0%{--ink-edge:var(--bar-line);--ink-above:#f2f4f3;--ink-below:#202222}to{--ink-edge:0px;--ink-above:#f2f4f3;--ink-below:#202222}}@keyframes ink-kickfirst{0%{--ink-edge:var(--bar-line);--ink-above:#202222;--ink-below:#f2f5f1}to{--ink-edge:0px;--ink-above:#202222;--ink-below:#f2f5f1}}@keyframes ink-page{0%{--ink-edge:var(--bar-line);--ink-above:#f2f5f1;--ink-below:var(--color-ink)}to{--ink-edge:0px;--ink-above:#f2f5f1;--ink-below:var(--color-ink)}}@keyframes ink-project{0%{--ink-edge:var(--bar-line);--ink-above:var(--scene-ink);--ink-below:var(--color-ink)}to{--ink-edge:0px;--ink-above:var(--scene-ink);--ink-below:var(--color-ink)}}.Pipeline-bubble{--journey:bubble-path}.Pipeline-bubble circle{--journey:bubble-body}.Pipeline li:first-child{--journey:stage-issue}.Pipeline li:nth-child(2){--journey:stage-build}.Pipeline li:nth-child(3){--journey:stage-verify}.Pipeline li:nth-child(4){--journey:stage-review}[data-enter=arrived] :is(.Pipeline-bubble,.Pipeline-bubble circle,.Pipeline li){animation:var(--journey) 4.6s cubic-bezier(.45, 0, .25, 1) both;animation-delay:calc(var(--enter-offset,0s) + .3s)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.Work:is(:hover,:focus-within) :is(.Pipeline-bubble,.Pipeline-bubble circle,.Pipeline li){animation:var(--journey) 4.6s cubic-bezier(.45, 0, .25, 1) infinite both}.Work:is(:hover,:focus-within) .Pipeline-return{animation:.8s linear infinite dash-flow}}[data-enter=arrived] .Code{animation:.72s steps(5,start) both code-lines;animation-delay:calc(var(--enter-offset,0s) + .3s)}[data-enter=arrived] .MenuMock-list{transform-origin:top;animation:menu-open .32s var(--ease-out) both;animation-delay:calc(var(--enter-offset,0s) + 1s)}[data-enter=arrived] .MenuMock-list [data-state=active]{animation:.3s both menu-hover;animation-delay:calc(var(--enter-offset,0s) + 1.4s)}[data-enter=arrived] .Ledger-arrow{animation:ledger-drop .4s var(--ease-out) both;animation-delay:calc(var(--enter-offset,0s) + .4s)}[data-enter=arrived] .Ledger-row[data-state=result]{animation:ledger-result .6s var(--ease-out) both;animation-delay:calc(var(--enter-offset,0s) + .65s)}[data-enter=arrived] .Ledger-row[data-state=result] .Ledger-meta{animation:.4s both appear;animation-delay:calc(var(--enter-offset,0s) + 1.15s)}@media (width>=60rem){.Index-list a{position:relative}.Index-list a:before{content:"";background:var(--color-ink);transform-origin:100%;block-size:2px;transition:scale .28s var(--ease-out);position:absolute;inset:-2px 0 auto;scale:0 1}.Index-list a:focus-visible:before{transform-origin:0;scale:1}@media (hover:hover) and (pointer:fine){.Index-list a:hover:before{transform-origin:0;scale:1}}@media (prefers-reduced-motion:no-preference){.Index-list li{animation:lane-in .26s var(--ease-out) backwards}.Index-list li:first-child{animation-delay:.2s}.Index-list li:nth-child(2){animation-delay:.25s}.Index-list li:nth-child(3){animation-delay:.3s}.Index-list li:nth-child(4){animation-delay:.35s}.Index-list li:nth-child(5){animation-delay:.4s}.Index-list li:nth-child(6){animation-delay:.45s}.Index-list li:nth-child(7){animation-delay:.5s}}}.Work-link>span,.Music-link>span{display:inline-block}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.Scene-link:hover:after,.Work-link:hover>span,.Music-link:hover>span{animation:arrow-loop .46s var(--ease-out)}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}[data-scene=wistia]{--transition-title:wistia-title;--transition-media:wistia-media;--transition-copy:match-element}[data-scene=unmute]{--transition-title:unmute-title;--transition-media:unmute-media;--transition-copy:match-element}[data-scene=provide]{--transition-title:provide-title;--transition-media:provide-media;--transition-copy:match-element}[data-scene=kickfirst]{--transition-title:kickfirst-title;--transition-media:kickfirst-media;--transition-copy:match-element}:is(.Music-photo,.Story-photo){view-transition-name:music-photo}:is(.Scene-title,.Project-title){inline-size:fit-content;view-transition-name:var(--transition-title,none)}:is(.Scene-eyebrow,.Scene-subtitle,.Scene-copy>p,.Scene-link,.Project-eyebrow,.Project-subtitle,.Project-intro,.Project-career,.Project-meta){view-transition-name:var(--transition-copy,none);view-transition-class:copy}:is(.Scene-media,.Project-frame){view-transition-name:var(--transition-media,none);view-transition-class:media}@media (width>=60rem){.Project-frame{view-transition-name:none}.Project-media{view-transition-name:var(--transition-media,none);view-transition-class:media}.TopBar-name{view-transition-name:bar-name}.Crumb{view-transition-name:bar-crumb}.TopBar-links{view-transition-name:bar-links}}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-group(*){animation-duration:.56s;animation-timing-function:var(--ease-settle)}::view-transition-old(*){animation-duration:.56s}::view-transition-new(*){animation-duration:.56s}::view-transition-old(*.copy){animation:page-copy-out .18s var(--ease-out) both}::view-transition-new(*.copy){animation:page-copy-in .44s var(--ease-out) .17s both}::view-transition-old(*.media){object-fit:cover;object-position:left top;block-size:100%}::view-transition-new(*.media){object-fit:cover;object-position:left top;block-size:100%}:is([data-scene=roleprint],[data-scene=agentic-engineering]) .Project{view-transition-name:page-ground}:is([data-scene=roleprint],[data-scene=agentic-engineering]) .Project>*{view-transition-name:match-element;view-transition-class:page-rise}:is([data-scene=roleprint],[data-scene=agentic-engineering]) .TopBar{view-transition-name:page-bar}::view-transition-group(page-bar){z-index:1}::view-transition-group(bar-name){z-index:2}::view-transition-group(bar-crumb){z-index:2}::view-transition-group(bar-links){z-index:2}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-group(*){animation:none}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-old(*){animation:page-copy-out .2s var(--ease-out) both;display:block}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-new(*){animation:page-fade-in .2s var(--ease-out) both}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-new(page-ground){animation:ground-drop .52s var(--ease-settle) both}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-new(*.page-rise){animation:page-copy-in .44s var(--ease-out) .42s both}:root:has(>body:is([data-scene=roleprint],[data-scene=agentic-engineering]))::view-transition-new(root){animation:page-copy-in .44s var(--ease-out) .42s both}::view-transition-old(page-ground){animation:page-copy-out .18s var(--ease-out) both}::view-transition-old(page-bar){animation:page-copy-out .18s var(--ease-out) both}::view-transition-old(*.page-rise){animation:page-copy-out .18s var(--ease-out) both}@keyframes page-copy-out{to{opacity:0}}@keyframes page-copy-in{0%{opacity:0;translate:0 8px}}@keyframes media-depth{0%{animation-timing-function:cubic-bezier(.32,.72,0,1);translate:0 56px;scale:.975}35%{translate:0 10px;scale:1}to{translate:0 -36px;scale:1}}@keyframes bar-centre{to{top:.75rem}}@keyframes lane-in{0%{opacity:0;translate:0 10px}}@keyframes bubble-path{0%,9%{offset-distance:0%}16%,28%{offset-distance:15.09%}35%,45%{offset-distance:30.18%}52%,60%{offset-distance:45.27%}76%,79%{offset-distance:84.91%}88%,to{offset-distance:100%}}@keyframes bubble-body{0%{opacity:0;scale:.3}5%{opacity:1;scale:1}9%{scale:1.15 .85}16%{scale:1}19%{scale:1.3}25%{scale:1.25}28%{scale:1.1 .9}35%{translate:0;scale:1}37%{translate:-1.5px}39%{translate:1.5px}41%{translate:-1px}43%{translate:0;scale:1}45%{scale:1.1 .9}52%{opacity:1;scale:1}54%{opacity:.45;scale:.7}56%{opacity:1}58%{opacity:.45}60%{opacity:1;scale:.75}76%{scale:.9}79%{scale:1.1 .9}88%{scale:1.3}92%{scale:.92}96%{opacity:1;scale:1.06}to{opacity:0;scale:.4}}@keyframes dash-flow{to{stroke-dashoffset:-8px}}@keyframes stage-issue{0%,10%{color:var(--color-ink)}15%,to{color:var(--color-secondary)}}@keyframes stage-build{0%,13%,30%,73%,83%,to{color:var(--color-secondary)}16%,27%,76%,80%{color:var(--color-ink)}}@keyframes stage-verify{0%,32%,46%,85%{color:var(--color-secondary);text-decoration-color:#0000}35%,43%{color:var(--color-ink);text-decoration-color:#0000}89%,to{color:var(--color-ink);-webkit-text-decoration-color:var(--color-navy);text-decoration-color:var(--color-navy)}}@keyframes stage-review{0%,49%,62%,to{color:var(--color-secondary)}52%,59%{color:var(--color-ink)}}@keyframes code-lines{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes menu-open{0%{opacity:0;translate:0 -4px;scale:1 .92}}@keyframes menu-hover{0%{background:0 0}}@keyframes ledger-drop{0%{opacity:0;translate:0 -6px}}@keyframes ledger-result{0%{opacity:0;border-color:#e4e4e1;translate:0 -8px}}@keyframes appear{0%{opacity:0}}@keyframes arrow-loop{40%{opacity:0;translate:.5em}41%{opacity:0;translate:-.5em}}@keyframes ground-drop{0%{translate:0 -100%}}@keyframes page-fade-in{0%{opacity:0}}}@layer utilities;
