@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff")}
@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(../media/geist-latin-500-normal.38l4-nuansk4e.woff2)format("woff2"),url(../media/geist-latin-500-normal.1s42-6k31qk-o.woff)format("woff")}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fafafa;--surface:#fff;--ink:#161616;--muted:#525252;--quiet:#666;--line:#dedede;--control-line:gray;--radius-panel:24px;--radius-ui:10px;--radius-pill:9999px;--font-display:"Geist", "DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:1rem;line-height:1.65}::selection{color:var(--ink);background:#dad8ed}a{color:inherit;text-underline-offset:.25em}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}h2{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.875rem,1.25rem + 1.5vw,2.5rem);line-height:1.15}p{text-wrap:pretty}.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:#fff;padding:.75rem 1.25rem;position:fixed;top:-8rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:20;pointer-events:none;position:fixed;top:1rem;left:1rem;right:1rem}.floating-nav{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff5;border:1px solid #c8c8c8;border-radius:19px;justify-content:space-between;align-items:center;gap:.5rem;width:min(850px,100%);margin-inline:auto;padding:.5rem;display:flex;box-shadow:0 3px 12px #00000009}.wordmark{align-items:center;gap:.75rem;min-width:44px;min-height:44px;padding-inline:.5rem;text-decoration:none;display:inline-flex}.monogram{letter-spacing:-.09em;font-size:1.625rem;font-weight:500;line-height:1}.wordmark-name{font-size:.875rem;font-weight:500;display:none}.nav-links{align-items:center;gap:.375rem;display:flex}.nav-links a{border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem .75rem;font-size:.8125rem;line-height:1.4;text-decoration:none;display:inline-flex}.nav-links a:not(.nav-contact):hover{background:#efefef}.nav-links .nav-contact{background:var(--ink);color:#fff;padding-inline:1rem}.nav-contact:hover,.button-primary:hover{background:#3f3f3f}.hero-horizon{background:linear-gradient(115deg,#f4e3d2 0%,#f5f0ec 46%,#e4eaf6 100%);padding-top:7rem;position:relative;container:hero-shell/inline-size}.hero-horizon:after{content:"";background:linear-gradient(90deg,#0000 15%,#6b62f266 50%,#0000 85%);height:1px;position:absolute;bottom:0;left:0;right:0}.hero{align-items:center;gap:2.5rem;padding-block:2rem 2.5rem;display:grid}.intro-name{font-size:1rem;font-weight:500}.practice-label{color:var(--muted);margin-top:.2rem;font-size:.875rem}h1{letter-spacing:-.035em;max-width:14ch;margin-block:1.75rem 1.5rem;font-size:clamp(2.625rem,1.1rem + 4.2vw,4.5rem);line-height:1.06}h1 span{color:#454545}.hero-description{color:var(--muted);max-width:46ch;font-size:1rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-top:1.75rem;display:flex}.button{border-radius:var(--radius-pill);justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.375rem;font-size:.875rem;text-decoration:none;display:inline-flex}.button-primary{background:var(--ink);color:#fff}.text-link{align-items:center;gap:.5rem;min-height:44px;font-size:.875rem;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.location{color:var(--quiet);margin-top:1.5rem;font-size:.8125rem}.not-found-page{flex-direction:column;min-height:100svh;display:flex}.not-found-horizon{flex:1;align-items:center;display:grid}.not-found-layout{align-items:center;gap:2.5rem;padding-block:2.5rem 3rem;display:grid}.not-found-copy{min-width:0}.not-found-cat{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);width:min(100%,300px);padding:1.5rem}.not-found-cat img{border-radius:var(--radius-ui);width:201px;max-width:100%;height:auto;margin-inline:auto;display:block}.not-found-cat figcaption{color:var(--muted);text-align:center;margin-top:1rem;font-size:.8125rem}.not-found-page .site-footer{border-top:0}.experience-map{border-radius:var(--radius-panel);background:#fff;border:1px solid #d3d3d3;min-width:0;padding:1.5rem;container:experience-map/inline-size}.map-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.experience-map figcaption{letter-spacing:-.015em;font-size:.9375rem;font-weight:500}.map-intro{color:var(--muted);margin-top:.375rem;font-size:.8125rem}.map-node{border-radius:var(--radius-ui);background:#f7f7f7;border:1px solid #dedede;min-width:0;padding:1rem}.map-node-primary{background:#f0f0f0;margin-top:2rem}.node-kicker{color:var(--muted);margin-bottom:.5rem;font-size:.75rem;display:block}.map-node strong{letter-spacing:-.02em;font-size:1rem;font-weight:500;line-height:1.4;display:block}.map-node p{color:var(--muted);margin-top:.375rem;font-size:.8125rem;line-height:1.6}.map-connector{height:2.5rem;position:relative}.map-connector:before{content:"";border-left:1px solid #8a8a8a;height:1.25rem;position:absolute;top:0;left:50%}.map-connector span{border:1px solid #8a8a8a;border-bottom:0;border-radius:6px 6px 0 0;display:none;position:absolute;inset:1.25rem 25% 0}.map-foundations{grid-template-columns:1fr;gap:.625rem;display:grid}.map-caption{color:var(--quiet);margin-top:1.5rem;font-size:.75rem}.desktop-break{display:none}.hero-foot{color:var(--muted);border-top:1px solid #d1d1d1;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;padding-block:1.25rem;font-size:.75rem;display:flex}.hero-foot span:last-child{display:none}.section{padding-top:3.5rem;scroll-margin-top:0}.section-label{color:var(--quiet);margin-bottom:1rem;font-size:.8125rem}.section-heading{gap:.25rem;margin-bottom:2rem;display:grid}.section-heading>div>p{color:var(--muted);max-width:55ch;margin-top:1rem}.work-list{border-top:1px solid var(--line)}.work-item{border-bottom:1px solid var(--line)}.work-item summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:.875rem;min-height:64px;padding-block:1.5rem;list-style:none;display:grid}.work-item summary::-webkit-details-marker{display:none}.work-title{letter-spacing:-.025em;font-size:clamp(1.0625rem,.875rem + .5vw,1.375rem);font-weight:500;line-height:1.45}.work-index{color:var(--quiet);font-size:.8125rem}.expand-mark{width:14px;height:14px;position:relative}.expand-mark:before,.expand-mark:after{content:"";background:var(--muted);position:absolute}.expand-mark:before{width:14px;height:1px;top:7px;left:0}.expand-mark:after{width:1px;height:14px;top:0;left:7px}.work-item[open] .expand-mark:after{display:none}.work-item summary:hover .work-title{text-underline-offset:.2em;text-decoration:underline}.work-detail{gap:1rem;padding:0 0 2rem;display:grid}.work-meta{font-size:.875rem}.work-meta span{color:var(--quiet);margin-top:.2rem;font-size:.8125rem;display:block}.work-body{min-width:0}.work-body>p{color:var(--muted);max-width:65ch}.work-visual{margin-bottom:1.5rem}.work-visual img{object-fit:contain;background:var(--surface);width:100%;max-width:705px;height:auto;display:block}.work-visual figcaption{color:var(--muted);margin-top:.75rem;font-size:.8125rem}.work-visual-photo img{border-radius:var(--radius-ui);max-width:100%}.work-visual .visual-links{flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.25rem;display:flex}.work-visual .visual-links a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.work-body>p+p{margin-top:1rem}.skill-tags{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.skill-tags li{border:1px solid var(--line);border-radius:var(--radius-ui);color:var(--muted);background:var(--surface);padding:.25rem .625rem;font-size:.75rem}.project-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.project-list li{border-bottom:1px solid var(--line)}.project-link{gap:.375rem;min-height:44px;padding:1.25rem .5rem;text-decoration:none;display:grid}.project-name{letter-spacing:-.025em;font-size:clamp(1.0625rem,.875rem + .5vw,1.375rem);font-weight:500;line-height:1.45}.project-status{color:var(--quiet);font-size:.8125rem}.project-link:hover{background:var(--surface)}.project-link:hover .project-name{text-underline-offset:.2em;text-decoration:underline}.project-page{flex-direction:column;min-height:100svh;display:flex}.project-page>main{flex:1}.project-intro{padding-block:2.5rem 3rem}.project-intro h1{overflow-wrap:anywhere;max-width:22ch;margin-bottom:0;font-size:clamp(2.125rem,1.1rem + 3.5vw,3.75rem)}.project-content{padding-block:2rem 3rem}.project-notice{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);max-width:48rem;padding:1.5rem}.project-notice h2{font-size:1.5rem;line-height:1.35}.project-notice>p{color:var(--muted);margin-top:.75rem}.project-body{gap:1rem;max-width:48rem;display:grid}.project-body>p{color:var(--muted);max-width:52ch}.project-body .section-label{margin-bottom:0}.project-note{color:var(--muted);max-width:52ch;font-size:.875rem}.about{gap:2.5rem;display:grid}.about-intro>p:not(.section-label){color:var(--muted);max-width:43ch;margin-top:1.25rem}.career-list{margin:0;padding:0;list-style:none}.career-item{border-top:1px solid var(--line);padding-block:1.5rem}.career-item:first-child{border-top:0;padding-top:0}.career-period{color:var(--quiet);margin-bottom:.5rem;font-size:.8125rem}.career-item h3{letter-spacing:-.015em;font-size:1.125rem;line-height:1.4}.career-company{color:var(--muted);margin-top:.25rem;font-size:.875rem}.career-description{color:var(--muted);max-width:60ch;margin-top:.875rem;font-size:.875rem}.exploration-topic{font-size:1rem;font-weight:500}.exploration-layout{gap:2rem;display:grid}.exploration-layout>div{min-width:0}.exploration-copy>p{color:var(--muted);max-width:58ch}.exploration-copy>p+p{margin-top:1rem}.exploration-topics{margin-top:1.75rem}.exploration-topics>div{border-top:1px solid var(--line);padding-block:1rem}.exploration-topics dt{font-size:.9375rem;font-weight:500}.exploration-topics dd{color:var(--muted);max-width:55ch;margin-top:.375rem;font-size:.875rem}.exploration-aside{align-content:start;gap:1.5rem;display:grid}.agent-workflow{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);padding:1.25rem;container:agent-workflow/inline-size}.agent-workflow figcaption{font-size:.9375rem;font-weight:500}.agent-steps{gap:1.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.agent-steps li{border:1px solid var(--line);border-radius:var(--radius-ui);background:var(--paper);padding:.75rem 1rem;position:relative}.agent-steps strong{font-size:.9375rem;font-weight:500;display:block}.agent-steps li>span:not(.agent-arrow){color:var(--muted);margin-top:.125rem;font-size:.8125rem;display:block}.agent-arrow{height:1.5rem;color:var(--muted);line-height:1.5rem;position:absolute;bottom:-1.5rem;left:50%;transform:translate(-50%)}.agent-steps .agent-review{border-color:var(--control-line);background:#f0f0f0}.agent-workflow-note{color:var(--muted);margin-top:1.25rem;font-size:.8125rem}.exploration-example{border-top:1px solid var(--line);padding-top:1rem}.exploration-example h3{font-size:1rem;line-height:1.5}.exploration-example p{color:var(--muted);max-width:55ch;margin-top:.5rem;font-size:.875rem}.practice-panel{border-radius:var(--radius-panel);background:#f0f0f0;gap:2rem;padding:1.5rem;display:grid}.practice-intro{color:var(--muted);max-width:33ch;margin-top:1.25rem}.tool-list>div+div{margin-top:1.375rem}.tool-list dt{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.tool-list dd{color:var(--muted);font-size:.875rem}.contact{padding-bottom:3.5rem}.contact-content{gap:1.75rem;display:grid}.contact-content p{color:var(--muted);max-width:42ch;margin-top:1rem}.contact-links{flex-direction:column;justify-content:center;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.email-link{letter-spacing:-.02em;overflow-wrap:anywhere;align-items:center;max-width:100%;min-height:44px;font-size:clamp(1rem,.5rem + 1.25vw,1.5rem);display:inline-flex}.site-footer{border-top:1px solid var(--line);color:var(--quiet);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-block:1.5rem;font-size:.75rem;display:flex}.site-footer>span{display:none}.site-footer a{align-items:center;gap:.5rem;min-height:44px;margin-left:auto;display:inline-flex}a,summary{transition:background-color .14s}a:active{opacity:.8}@media (min-width:600px){.wordmark-name{display:inline}.floating-nav{padding:.5rem .75rem}.nav-links a{padding-inline:1rem;font-size:.875rem}.hero{padding-block:2.75rem 3rem}.experience-map{padding:1.75rem}.map-node{padding:1.25rem}.map-node-primary strong{font-size:1.25rem}.practice-panel{padding:2.5rem}.site-footer>span{margin-left:auto;display:inline}}@media (min-width:800px){.project-link{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding-block:1.5rem}.project-intro{padding-block:3.5rem 4rem}.project-content{padding-block:3rem 4rem}.project-notice{padding:2rem}.wrap{width:min(1200px,100% - 5rem)}.section{padding-top:5rem}.hero-foot span:last-child{display:inline}.section-heading{grid-template-columns:1fr 2fr;gap:3rem}.section-heading .section-label{padding-top:.5rem}.work-detail{grid-template-columns:1fr 2fr;gap:3rem}.about{grid-template-columns:1fr 1.15fr;gap:5rem}.practice-panel{grid-template-columns:1fr 1.15fr;gap:4rem}.contact-content{grid-template-columns:1fr 1fr;gap:3rem}.contact-links{align-items:flex-end}.contact{padding-bottom:4rem}}@media (min-width:1000px){.exploration-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:3rem}}@container experience-map (min-width:280px){.map-foundations{grid-template-columns:repeat(2,minmax(0,1fr))}.map-connector span{display:block}}@container hero-shell (min-width:800px){.not-found-layout{grid-template-columns:minmax(0,1fr) 300px;gap:4rem;padding-block:3.5rem 4rem}}@container hero-shell (min-width:1100px){.hero{grid-template-columns:1.15fr 1fr;gap:4.5rem;padding-block:3.5rem 4rem}.hero-description{font-size:1.125rem}.experience-map{margin-top:1rem}.desktop-break{display:inline}.map-node-primary{margin-top:2.5rem;padding:1.5rem}}html:has(.home-header){scroll-padding-top:10rem}.home-header{container:home-nav/inline-size}.home-header .floating-nav{grid-template-columns:auto minmax(0,1fr);width:min(1000px,100%);display:grid}.home-header .wordmark-name{display:none}.home-header .nav-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;display:grid}.home-header .nav-links a{text-align:center;padding-inline:.25rem;font-size:.8125rem}.home-header+main #home{padding-top:9rem}@container home-nav (min-width:46rem){.home-header .floating-nav,.home-header .nav-links{display:flex}.home-header .nav-links a{padding-inline:1rem;font-size:.875rem}}@container home-nav (min-width:60rem){.home-header .wordmark-name{display:inline}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.reading-progress{z-index:25;background:var(--ink);height:3px;transform:scaleX(var(--progress,0));transform-origin:0;pointer-events:none;position:fixed;inset:0 0 auto}.nav-links a[aria-current=location]{background:#efefef}.nav-links .nav-contact[aria-current=location]{background:#3f3f3f}.project-item summary{cursor:pointer;list-style:none}.project-item summary::-webkit-details-marker{display:none}.project-item[open] .expand-mark:after{display:none}.project-item .project-link{grid-template-columns:minmax(0,1fr) auto}.project-item .project-link .project-name{grid-column:1/-1}@media (min-width:800px){.project-item .project-link{grid-template-columns:minmax(0,1fr) auto auto}.project-item .project-link .project-name{grid-column:auto}}.project-body .work-visual{margin-bottom:0}
