:root{--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#0d1513;--text:#eef1ee;--muted:#afbbb4;--accent:#acc8b7;--accent-muted:#607b6c;--line:#2b3a34;--surface:#14201c;--surface-raised:#14231c;--surface-hover:#21372b;--max:1120px;--copy:680px}*{box-sizing:border-box}html{background:var(--bg);scroll-padding-top:24px}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:1.0625rem/1.65 var(--font-sans);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}main{flex:1;min-width:0}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--text)}h1,h2,h3,h4{overflow-wrap:anywhere}.hero-identity,.hero-copy,.work-list,.work-content,.reading-page,.prose{min-width:0}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}img,picture{display:block;max-width:100%}img{height:auto}figure{margin:0}::selection{background:var(--accent);color:var(--bg)}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-200px;z-index:100;padding:12px 18px;background:var(--text);color:var(--bg)}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.nav-shell{display:grid;grid-template-columns:minmax(0,1fr)44px;align-items:center;gap:24px;min-height:80px;padding-block:8px}.home-header .nav-shell{grid-template-columns:minmax(0,1fr)}.wordmark{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;border-radius:50%;text-decoration:none}.site-header nav{min-width:0;display:flex;flex-wrap:wrap;gap:0 26px}.site-header nav a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--muted);text-decoration:none;font-size:.93rem}.site-header nav a[aria-current=page]{color:var(--text);text-decoration:underline}.hero{display:grid;grid-template-columns:minmax(0,1fr)clamp(160px,calc(52vw - 300px),380px);grid-template-areas:"identity portrait" "copy portrait";align-items:center;column-gap:clamp(32px,6vw,96px);row-gap:0;padding-block:64px}.hero-identity{grid-area:identity;align-self:end}.hero-copy{grid-area:copy;align-self:start}.hero h1{margin:0;font-size:clamp(3.25rem,6.2vw,5.4rem);line-height:1.05;font-weight:580;letter-spacing:-.055em}.role{margin:18px 0 0;font-size:clamp(1.12rem,1.7vw,1.3rem);font-weight:520;color:var(--accent)}.intro{margin:22px 0 24px;max-width:550px;color:var(--muted);font-size:1.12rem;line-height:1.65}.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;text-decoration:none;font-weight:600;max-width:100%}.hero-portrait{grid-area:portrait;align-self:center;border:1px solid var(--line);border-radius:50%;aspect-ratio:1;overflow:hidden}.hero-portrait img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}.eyebrow{margin:0 0 16px;color:var(--accent);font-size:.72rem;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;font-weight:650}.work-section{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;padding-block:52px 72px;border-top:1px solid var(--line)}.section-heading h2{margin:0;font-size:1.9rem;font-weight:540;line-height:1.2;letter-spacing:-.03em}.work-item{padding-block:26px;border-bottom:1px solid var(--line)}.work-item:first-child{padding-top:0}.work-item:last-child{border-bottom:0;padding-bottom:0}.work-item .eyebrow{margin-bottom:8px}.work-item h3{margin:0;font-size:1.27rem;line-height:1.35;font-weight:560;letter-spacing:-.02em}.work-item h3 a{text-decoration:none}.work-item h3 span{font-size:1rem}.work-item p:not(.eyebrow){margin:10px 0 0;color:var(--muted);font-size:.98rem;line-height:1.6}.page{padding-block:54px 80px}.page-header{margin-bottom:36px}.page-header .eyebrow{margin-bottom:12px}.page-header h1{margin:0;font-size:clamp(2.75rem,5vw,4.25rem);font-weight:550;line-height:1.1;letter-spacing:-.045em}.page-grid{display:grid;grid-template-columns:minmax(0,var(--copy))minmax(0,320px);gap:72px;align-items:start}.text-only{display:block}.prose{max-width:var(--copy);color:var(--muted);font-size:1.05rem}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.35em}.prose h2{margin:2.4em 0 .9em;padding-top:24px;border-top:1px solid var(--line);color:var(--text);font-size:1.55rem;font-weight:550;line-height:1.25;letter-spacing:-.025em}.prose h3{color:var(--text);font-size:1.15rem;font-weight:550;line-height:1.35}.prose strong{color:var(--text);font-weight:600}.prose code{font-size:.94em;color:var(--text)}.prose ul{padding-left:1.3em}.prose li+li{margin-top:.65em}.portrait-aside figure{border:1px solid var(--line)}.photo-download{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:.9rem}.writing-section{padding-block:48px;border-top:1px solid var(--line)}.writing-item{max-width:var(--copy);padding-block:24px;border-bottom:1px solid var(--line)}.writing-item time{color:var(--muted);font-size:.85rem}.writing-item h2{font-size:1.4rem}.work-page{display:grid;grid-template-columns:minmax(0,var(--copy))minmax(0,1fr);grid-template-areas:"heading ." "content index";column-gap:72px;align-items:start}.work-page>.page-header{grid-area:heading}.work-content{grid-area:content}.work-content>.prose>h2:first-child{padding-top:0;border-top:0}.work-index{grid-area:index;position:sticky;top:24px;min-width:0}.work-index p{margin:0 0 8px;color:var(--muted);font-size:.82rem}.work-index ul{list-style:none;margin:0;padding:0}.work-index a{display:block;padding-block:9px;min-height:44px;text-decoration:none;font-size:.95rem}.work-index a:hover{text-decoration:underline}.work-content .prose h2:is(#easypost-technology-strategy,#engine-yard,#fastly){display:flex;align-items:center;gap:12px}.work-content .prose h2:is(#easypost-technology-strategy,#engine-yard,#fastly)::before{content:"";display:inline-block;width:30px;height:30px;flex:0 0 30px;background:var(--work-mark)50%/contain no-repeat}.work-content .prose #easypost-technology-strategy{--work-mark:url('/marks/easypost.svg')}.work-content .prose #engine-yard{--work-mark:url('/marks/engine-yard.svg')}.work-content .prose #fastly{--work-mark:url('/marks/fastly.svg')}.work-content .prose #early-career+ul{list-style:none;padding-left:0}.work-content .prose #early-career+ul li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}.work-content .prose #early-career+ul li::before{content:"";width:20px;height:20px;margin-top:.18em;background:var(--work-mark)50%/contain no-repeat}.work-content .prose #early-career+ul li:nth-child(-n+4){--work-mark:url('/marks/easypost.svg')}.work-content .prose #early-career+ul li:nth-child(5){--work-mark:url('/marks/fastly.svg')}.work-content .prose #early-career+ul li:nth-child(6){--work-mark:url('/marks/engine-yard.svg')}.work-content .prose #early-career+ul li:nth-child(7){--work-mark:url('/marks/hubspot.svg')}.work-content .prose #early-career+ul li:nth-child(8){--work-mark:url('/marks/3m.svg')}.work-content .prose #early-career+ul li:nth-child(9){--work-mark:url('/marks/emc.svg')}.work-content .prose #early-career+ul li:nth-child(10){--work-mark:url('/marks/ups.svg')}.site-footer{border-top:1px solid var(--line)}.footer-shell{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:22px;font-size:.82rem}.footer-shell p{margin:0}.footer-shell span{color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:0 24px}.footer-links a{display:flex;align-items:center;min-height:44px;text-decoration:none}@media(max-width:1000px){.hero{padding-block:48px}.work-section{grid-template-columns:1fr;gap:28px}.page-grid{grid-template-columns:minmax(0,1fr)270px;gap:40px}.work-page{display:block}.work-index{position:static;margin:0 0 32px;padding-bottom:16px;border-bottom:1px solid var(--line)}.work-index p{display:none}.work-index ul{display:flex;flex-wrap:wrap;gap:0 24px}.work-index a{padding-block:8px}.work-page>.page-header{margin-bottom:12px}}@media(max-width:700px){.shell{width:calc(100% - 40px)}.nav-shell{gap:12px;min-height:60px;padding-block:8px}.site-header nav{gap:0 12px}.hero{grid-template-columns:minmax(0,1fr)108px;grid-template-areas:"identity portrait" "copy copy";column-gap:16px;row-gap:22px;padding-block:28px 32px}.hero-identity{align-self:center}.hero h1{font-size:clamp(2rem,8.5vw,2.5rem)}.role{margin-top:10px;font-size:.95rem;line-height:1.45}.intro{margin:0 0 14px;font-size:1.02rem}.hero-portrait{width:100%;max-width:108px}.work-section{gap:28px;padding-block:36px 44px}.section-heading h2{font-size:1.65rem}.work-item h3{font-size:1.18rem}.page{padding-block:36px 48px}.page-header{margin-bottom:28px}.page-grid{display:flex;flex-direction:column;gap:32px}.prose{font-size:1rem}.prose h2{margin-top:2em}.portrait-aside{width:min(100%,320px)}.work-content .prose h2:is(#easypost-technology-strategy,#engine-yard,#fastly){gap:10px}.work-content .prose h2:is(#easypost-technology-strategy,#engine-yard,#fastly)::before{width:26px;height:26px;flex-basis:26px}.footer-shell{align-items:flex-start;flex-direction:column;gap:8px;padding-block:20px}}@media(max-width:360px){.site-header nav{gap:0 8px}.site-header nav a{font-size:.875rem}.hero{grid-template-columns:minmax(0,1fr)88px}.hero h1{font-size:2rem}}@media print{:root{color-scheme:light;--bg:white;--text:black;--muted:#333;--accent:#154b2a;--accent-muted:#777;--line:#bbb;--surface:white;--surface-raised:white;--surface-hover:white}body,html{background:#fff;color:#000}.site-header nav,nav,.site-footer,.skip-link,.hero-portrait,.portrait-aside{display:none}.shell{width:100%}.prose,.role,.intro,.eyebrow,a{color:inherit}.page,.hero{padding:0;display:block}.prose{max-width:none}.work-content .prose h2::before,.work-content .prose #early-career+ul li::before{display:none}.work-content .prose #early-career+ul li{display:list-item}.work-content .prose #early-career+ul{list-style:disc;padding-left:1.3em}}.site-header nav a{position:relative;gap:8px}.nav-icon{flex:none;width:20px;height:20px}.site-header nav a[aria-current=page]::after{content:"";position:absolute;bottom:3px;left:calc(50% - 10px);width:20px;border-bottom:2px solid}.site-header nav a[aria-current=page]{text-decoration:none}@media(max-width:700px){.site-header nav{gap:0}.site-header .nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.hero-portrait,.header-portrait{border-radius:50%;overflow:hidden;aspect-ratio:1;border:1px solid var(--line)}.hero-portrait img,.header-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.wordmark{gap:10px}.header-portrait{display:block;width:44px;height:44px;flex:0 0 44px}.contributions{margin-top:56px}.contribution{padding:22px 0;border-bottom:1px solid var(--line)}.contribution .eyebrow{margin-bottom:8px;font-size:.68rem}.contribution h3{margin:0 0 10px;color:var(--text);font-size:1.2rem;font-weight:550}.contribution p{margin-bottom:10px}.contribution .text-link{font-size:.92rem}.support-note{margin-top:24px!important}.speaker-resources{margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.speaker-resources summary{cursor:pointer;min-height:44px;padding-block:16px;color:var(--accent);font-weight:550}.speaker-content{padding:0 0 20px}.speaker-content h2{margin:12px 0 16px;padding:0;border:0;font-size:1.15rem}.speaker-content>:last-child{margin-bottom:0}.reading-page{max-width:var(--copy);margin-inline:auto}.article-header{margin-bottom:38px}.article-header h1{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.14;letter-spacing:-.04em;overflow-wrap:anywhere}.article-description{font-size:1.15rem;color:var(--muted);margin:20px 0}.article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.85rem;margin-top:22px}.draft-notice{border:1px solid var(--accent);padding:12px 16px;margin:0 0 24px;color:var(--accent)}.article-body{line-height:1.8}.article-body h2{border:0;padding:0;margin-top:2em}.article-body h3,.article-body h4{color:var(--text);line-height:1.35;margin-top:1.8em}.article-body li{margin-block:.5em}.article-body blockquote{border-left:3px solid var(--accent);margin:1.7em 0;padding:2px 0 2px 24px}.article-body blockquote p:last-child{margin-bottom:0}.article-body pre{overflow-x:auto;max-width:100%;padding:20px;background:var(--surface);border:1px solid var(--line);font-size:.87rem;line-height:1.65;border-radius:4px}.article-body :not(pre)>code{background:var(--surface);padding:.1em .25em;border-radius:3px;overflow-wrap:anywhere}.article-body .highlight{min-width:0}.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.75em 0}.article-body th,.article-body td{padding:10px 14px;border:1px solid var(--line);text-align:left;min-width:100px}.article-body th{color:var(--text)}.article-body img{width:auto;max-width:100%;height:auto;margin:1.75em 0}.article-body .article-figure{margin:1.75em 0}.article-body .article-figure img{margin:0}.article-figure figcaption{margin-top:10px;color:var(--muted);font-size:.9rem;line-height:1.6}.article-body .footnotes{font-size:.9rem;border-top:1px solid var(--line);margin-top:2.5em;padding-top:20px}.article-body hr{border:0;border-top:1px solid var(--line);margin:2em 0}.article-toc{padding:16px 20px;margin:0 0 36px;border:1px solid var(--line);font-size:.92rem}.article-toc summary{cursor:pointer;color:var(--accent);min-height:44px;align-content:center}.article-toc nav{display:block}.article-toc nav ul{padding-left:20px}.article-toc nav a{display:inline;min-height:0;font-size:inherit;text-decoration:underline}.article-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;display:flex;flex-wrap:wrap;gap:12px 28px}.writing-index{max-width:var(--copy)}.writing-item h2{margin:8px 0 12px;line-height:1.35;font-weight:550}.writing-item h2 a{text-decoration:none}.writing-item p{margin:0;color:var(--muted)}.feed-link{display:inline-flex;min-height:44px;align-items:center}.writing-pager{display:flex;justify-content:space-between;gap:24px;margin-top:30px}.writing-pager a{min-height:44px;display:inline-flex;align-items:center}.prose a,.writing-item a{overflow-wrap:anywhere}@media(max-width:560px){.article-description{font-size:1.05rem}.article-header{margin-bottom:28px}.article-body pre{padding:14px}.contributions{margin-top:36px}}@media print{.header-portrait,.article-toc,.article-footer,.feed-link,.draft-notice{display:none}.article-body pre{white-space:pre-wrap;overflow:visible}.article-body table{display:table;max-width:100%;font-size:.8em}.article-body th,.article-body td{min-width:0}.article-description,.article-meta{color:#000}}.work-logo{display:block;width:36px;height:36px;flex:0 0 36px;box-sizing:border-box;padding:5px;border-radius:50%;background:#fff}.work-logo img{display:block;width:100%;height:100%;object-fit:contain}.work-content .prose .career-timeline,.work-content .prose .career-roles{list-style:none;padding:0;margin:0}.work-content .prose .career-company+.career-company{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.career-company-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.work-content .prose .career-company-header h2{display:block;margin:0;padding:0;border:0;font-size:1.55rem;line-height:1.4}.work-content .prose .career-company-header h2::before{display:none}.work-content .prose .career-company-header h2:is(#easypost-technology-strategy,#engine-yard,#fastly)::before{display:none;content:none}.work-content .prose .career-tenure{margin:2px 0 0;font-size:.875rem;line-height:1.5}.work-content .prose .career-roles>li{position:relative;margin:0;padding:0 0 20px 48px;min-width:0}.work-content .prose .career-roles>li:last-child{padding-bottom:0}.work-content .prose .career-role-title{margin:0;color:var(--text);font-size:1rem;font-weight:550;line-height:1.5}.work-content .prose .career-role-period{margin:3px 0 0;font-size:.875rem;line-height:1.5}.career-roles-connected>li::before{content:"";position:absolute;left:14px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--muted);z-index:1}.career-roles-connected>li:not(:last-child)::after{content:"";position:absolute;left:17px;top:12px;bottom:-12px;width:1px;background:var(--line)}.career-company:first-child .career-roles-connected>li:first-child::before{background:var(--accent)}.work-content .prose .career-timeline{margin-bottom:1.5em}.career-role-description{margin-top:10px}.career-company-description{margin:20px 0 0 48px}.work-content .prose .career-role-description p,.work-content .prose .career-company-description p{font-size:1rem;line-height:1.7}.work-content .prose .career-role-description>:last-child,.work-content .prose .career-company-description>:last-child{margin-bottom:0}.contribution-header,.speaking-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.contribution-header>div,.speaking-header>div{min-width:0}.contribution-header h3,.speaking-header h3{margin:0 0 3px;color:var(--text);font-size:1.2rem;font-weight:550}.contribution-header .eyebrow{margin:0}.speaking-header p{margin:0;font-size:.875rem;line-height:1.5}.contribution-detail,.speaking-detail{margin-left:48px}@media print{.work-content .prose h2::before,.work-logo,.career-roles-connected>li::before,.career-roles-connected>li::after{display:none}.work-content .prose .career-roles>li{padding-left:0}.career-company-description,.contribution-detail,.speaking-detail{margin-left:0}}.lab-copy{max-width:none}.lab-copy>p,.lab-copy>h2{max-width:var(--copy)}.lab-demo{margin-block:28px 36px}.lab-demo img{width:100%;height:auto;border:1px solid var(--line);border-radius:4px}.lab-demo figcaption,.github-activity figcaption{font-size:.875rem;margin-block:12px;color:var(--muted)}.live-demo{margin-top:20px;border-block:1px solid var(--line)}.live-demo summary,.activity-counts summary{cursor:pointer;min-height:44px;padding-block:10px;color:var(--accent)}.live-demo p{margin-block:12px;max-width:var(--copy)}.live-demo iframe{display:block;width:100%;height:740px;border:1px solid var(--line);margin-block:16px}.live-demo:not([open]) iframe{display:none}.activity-calendar{display:block;width:100%;height:auto;max-width:636px}.activity-quarter{display:none}.activity-key{display:inline-flex;gap:3px;vertical-align:middle;margin-inline:6px}.activity-key i{width:10px;height:10px;border-radius:2px}.activity-level-0{fill:var(--line);background:var(--line)}.activity-level-1{fill:#385845;background:#385845}.activity-level-2{fill:#528665;background:#528665}.activity-level-3{fill:#76ad89;background:#76ad89}.activity-level-4{fill:var(--accent);background:var(--accent)}.activity-counts{margin-bottom:16px}.activity-counts table{border-collapse:collapse;width:100%;text-align:left}.activity-counts th,.activity-counts td{padding:8px;border-bottom:1px solid var(--line)}.activity-counts td{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:700px){.activity-year{display:none}.activity-quarter{display:block}.activity-quarter .activity-calendar{max-width:312px}.github-activity figcaption .activity-quarter{display:inline}.live-demo iframe{height:680px}}@media print{.live-demo{display:none}.activity-year{display:block}.activity-quarter{display:none}}