:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101216;--text:#f2f4f7;--muted:#a8afbb;--line:#2b303a;--accent:#6f95ff;--accent-soft:#6f95ff1f;--mono:ui-monospace, "SFMono-Regular", "Cascadia Code", "Liberation Mono", Menlo, monospace;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{z-index:20;background:var(--accent);color:#0d1425;font:700 .8rem/1 var(--mono);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(1160px,100% - 2.5rem);margin-inline:auto}.site-header{z-index:10;background:var(--bg);border-bottom:1px solid #2b303acc;display:none;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:2rem;min-height:4.5rem;display:flex}.brand{font:700 .92rem/1 var(--mono);letter-spacing:-.03em;white-space:nowrap;text-decoration:none}.nav-links{font:650 .8rem/1 var(--sans);align-items:center;gap:clamp(.8rem,2.5vw,1.8rem);margin:0;padding:0;list-style:none;display:flex}.nav-links a{min-height:44px;color:var(--muted);align-items:center;text-decoration:none;display:inline-flex}.nav-links a:hover{color:var(--text)}.portfolio-shell{grid-template-columns:minmax(20rem,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(4rem,8vw,7.25rem);width:min(1160px,100% - 3rem);margin-inline:auto;display:grid}.content-column{min-width:0}.content-column>.shell{width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}.hero{padding-block:4rem 3rem;position:sticky;top:2rem}.hero-copy{max-width:44rem}.portrait{border:1px solid var(--line);width:7rem;height:7rem;margin-bottom:1.4rem;overflow:hidden}.portrait img{object-fit:cover;transform-origin:50% 0;width:100%;height:100%;display:block;transform:scale(1.8)}.location{color:var(--muted);font:650 .82rem/1.4 var(--sans);flex-wrap:wrap;gap:.55rem 1rem;margin-bottom:1.4rem;display:flex}.location span+span{border-left:1px solid var(--line);padding-left:1rem}h1{max-width:14ch;font:700 clamp(2.55rem, 4vw, 3.2rem)/.92 var(--mono);letter-spacing:-.085em;margin-bottom:0}.role{color:var(--accent);font:650 clamp(1rem, 2vw, 1.25rem)/1.4 var(--mono);margin:1.6rem 0 1rem}.hook{color:#d9dde4;max-width:42rem;margin-bottom:0;font-size:1.05rem;line-height:1.5}.award{background:var(--accent-soft);color:#dfe7ff;width:fit-content;max-width:39rem;font:650 .82rem/1.5 var(--sans);border:1px solid #6f95ff59;margin:2rem 0 0;padding:.85rem 1rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.button{border:1px solid var(--line);min-height:3rem;color:var(--text);font:700 .82rem/1 var(--sans);justify-content:center;align-items:center;padding:.75rem 1rem;text-decoration:none;display:inline-flex}.button:first-child{border-color:var(--accent);background:var(--accent);color:#0d1425}.button:hover{border-color:var(--accent)}.rail-nav{gap:.2rem;margin-top:2rem;display:grid}.rail-nav a{width:fit-content;min-height:2rem;color:var(--muted);font:650 .78rem/1 var(--sans);align-items:center;text-decoration:none;display:flex}.rail-nav a:hover{color:var(--text)}.route-map{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4rem;padding-block:2rem}.overview-title{font:700 clamp(1.7rem, 3vw, 2.25rem)/1.05 var(--mono);letter-spacing:-.055em;margin-bottom:.9rem}.overview-copy{color:#d9dde4;margin-bottom:2rem;font-size:1.05rem;line-height:1.65}.route-track{padding-left:1.6rem;position:relative}.route-track:before{background:var(--accent);content:"";width:1px;position:absolute;top:.5rem;bottom:.5rem;left:.33rem}.market{position:relative}.market:before{border:2px solid var(--bg);background:var(--accent);content:"";border-radius:50%;width:.68rem;height:.68rem;position:absolute;top:.35rem;left:-1.6rem}.market-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.8rem;display:flex}.market-heading strong{font:700 .9rem/1.3 var(--sans)}.market-heading span{color:var(--muted);font-size:.75rem}.market ul{margin:0;padding:.25rem 0 0;list-style:none}.market li{justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.65rem;display:flex}.market li span{font:700 .8rem/1.3 var(--sans)}.market li small{color:var(--muted);text-align:right;font-size:.72rem}.ownership-bridge{color:var(--muted);margin:1.2rem 0;font-size:.78rem;line-height:1.5}.work{border-top:1px solid var(--line);padding-block:clamp(5rem,9vw,8rem)}.work-heading{gap:1.25rem;padding-bottom:clamp(3rem,6vw,4.5rem);display:grid}.work-heading h2,.section-heading{font:700 clamp(1.6rem, 3vw, 2.25rem)/1.05 var(--mono);letter-spacing:-.055em;margin-bottom:0}.work-heading p{color:#d9dde4;max-width:48rem;margin-bottom:0;font-size:clamp(1.15rem,2.1vw,1.55rem);line-height:1.55}.case-study{border-top:1px solid var(--line);padding-block:clamp(3.5rem,7vw,6rem)}.case-header{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.case-context{color:var(--accent);font:700 .77rem/1.4 var(--sans);margin-bottom:.7rem}.case-header h3{font:700 clamp(2.2rem, 4vw, 3.25rem)/.95 var(--mono);letter-spacing:-.075em;margin-bottom:0}.case-proof{color:var(--muted);font:650 .78rem/1.4 var(--sans);white-space:nowrap;padding-bottom:.35rem}.case-summary{color:#d9dde4;max-width:53rem;margin:1.5rem 0 0;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55}.case-facts{margin:clamp(2rem,4vw,3rem) 0 0}.case-facts>div{border-top:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);gap:1.5rem;padding-block:1.15rem;display:grid}.case-facts>div:last-child{border-bottom:1px solid var(--line)}.case-facts dt{color:#dfe4ec;font:700 .77rem/1.5 var(--sans)}.case-facts dd{color:var(--muted);margin:0;line-height:1.6}.supporting-product{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(11rem,.8fr) minmax(0,1.8fr) auto;align-items:center;gap:3rem;padding-block:2.25rem;display:grid}.supporting-product p{color:var(--muted);margin-bottom:0}.supporting-product h3{font:700 1.45rem/1.2 var(--mono);letter-spacing:-.04em;margin-bottom:0}.supporting-product>strong{color:var(--accent);font:700 .82rem/1.4 var(--sans);white-space:nowrap}.earlier-work{padding-top:2.5rem}.earlier-work>.case-context{margin-bottom:.75rem}.earlier-work article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding-block:1.35rem;display:grid}.earlier-work article:last-child{border-bottom:1px solid var(--line)}.earlier-work h3{font:700 1rem/1.35 var(--mono);margin-bottom:.45rem}.earlier-work p{color:var(--muted);margin-bottom:0}.earlier-work time{color:var(--muted);font:650 .75rem/1.4 var(--sans);white-space:nowrap}.section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:clamp(4.5rem,8vw,7rem);display:grid}.section-body{min-width:0}.experience-list{gap:3rem;display:grid}.experience-record{border-top:1px solid var(--line)}.experience-record header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:2rem;padding-block:1.5rem;display:flex}.experience-record h3{font:700 1.35rem/1.3 var(--mono);letter-spacing:-.04em;margin-bottom:0}.experience-record header p{color:var(--accent);margin:.35rem 0 0;font-weight:650}.experience-record time{color:var(--muted);font:650 .78rem/1.4 var(--sans);white-space:nowrap}.experience-record>p{max-width:49rem;color:var(--muted);margin:1.5rem 0 0}.stack-line{color:var(--muted);font:650 .75rem/1.4 var(--sans);flex-wrap:wrap;gap:.35rem .7rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.stack-line li:not(:last-child):after{color:#59606c;content:","}.skill-groups{display:grid}.skill-group{border-top:1px solid var(--line);grid-template-columns:minmax(10rem,.4fr) minmax(0,1fr);gap:2rem;padding-block:1.25rem;display:grid}.skill-group:last-child{border-bottom:1px solid var(--line)}.skill-group h3{font:700 .95rem/1.45 var(--sans);margin-bottom:0}.tags{flex-wrap:wrap;gap:.25rem .8rem;margin:0;padding:0;list-style:none;display:flex}.tags li{color:var(--muted);font-size:.9rem}.tags li:not(:last-child):after{color:#59606c;content:","}.off-clock{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:48rem;padding-block:1.5rem}.off-clock p{color:#d9dde4;margin:0;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65}.contact{padding-bottom:clamp(6rem,12vw,10rem)}.contact-copy{max-width:40rem;margin:0 0 2rem;font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.5}.contact-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact-links a{border-right:1px solid var(--line);color:var(--muted);font:700 .86rem/1 var(--sans);text-align:center;padding:1.25rem 1rem;text-decoration:none}.contact-links a:last-child{border-right:0}.contact-links a:hover{background:var(--accent-soft);color:var(--text)}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.hero-copy{animation:.55s cubic-bezier(.22,1,.36,1) both page-enter}.route-map{animation:.55s cubic-bezier(.22,1,.36,1) .12s both page-enter}.site-header{animation:.4s cubic-bezier(.22,1,.36,1) both nav-enter}.button,.rail-nav a,.nav-links a,.contact-links a{transition:color .2s,background-color .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.rail-nav a:hover{transform:translate(3px)}.nav-links a:hover{transform:translateY(-1px)}}footer{border-top:1px solid var(--line);color:var(--muted);font:600 .72rem/1.5 var(--mono)}footer .shell{padding-block:1.5rem}@media (width<=1100px){.site-header{display:block}.portfolio-shell{width:100%;display:block}.hero{width:min(1160px,100% - 2.5rem);min-height:0;margin-inline:auto;padding-block:clamp(4.5rem,8vw,7rem);position:static}.hero-copy{max-width:44rem}h1{max-width:12ch;font-size:clamp(3.6rem,8vw,6rem)}.hook{font-size:clamp(1.15rem,2vw,1.45rem)}.rail-nav{display:none}.content-column>.shell{width:min(1160px,100% - 2.5rem)}.route-map{margin-top:0}}@media (width<=900px){.route-map{max-width:42rem}}@media (width<=800px){.shell{width:min(100% - 2rem,42rem)}.nav{gap:1rem}.nav-links{gap:.9rem}.case-header,.experience-record header{gap:.8rem;display:grid}.supporting-product,.earlier-work article{grid-template-columns:1fr;gap:1rem}.skill-group{grid-template-columns:1fr;gap:.5rem}}@media (width<=520px){h1{font-size:clamp(3.25rem,18vw,5rem)}.nav-links li:nth-child(2),.nav-links li:nth-child(3),.nav-links li:nth-child(4){display:none}.actions{display:grid}.button{width:100%}.location span+span{border-left:0;width:100%;padding-left:0}.market-heading,.market li{gap:.2rem;display:grid}.market li small{text-align:left}.case-header h3{font-size:clamp(2.5rem,15vw,4rem)}.case-proof{white-space:normal}.case-facts>div{grid-template-columns:1fr;gap:.35rem}.contact-links{grid-template-columns:1fr}.contact-links a{border-right:0;border-bottom:1px solid var(--line)}.contact-links a:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
