*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh;color:#5a5a5a;overflow-x:hidden}#root{min-height:100vh;margin:0;padding:0;width:100%;box-sizing:border-box}a{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .15s ease}a:hover{opacity:.7;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px}article{margin:0;padding:0;display:block}p{margin-top:0;margin-left:0;margin-right:0;padding:0}.container{max-width:650px;margin-left:auto;margin-right:auto;padding:80px 20px;min-height:100vh;display:flex;flex-direction:column;box-sizing:border-box;width:100%}header{margin-bottom:60px}.name{font-size:1.5rem;font-weight:500;margin-bottom:8px;letter-spacing:-.01em;color:#000}.name a{color:inherit;text-decoration:none}.name a:hover{text-decoration:none}.social-links{font-size:.8125rem;margin-bottom:8px}.social-links a{color:inherit;text-decoration:none}.social-links a:hover{text-decoration:none}.social-links .separator{margin:0 4px;opacity:.5}nav{display:flex;gap:20px;font-size:.875rem;margin-top:8px}nav a{cursor:pointer;font-weight:600;color:#000;text-decoration:none}nav a:hover{text-decoration:none}main{flex:1;margin-bottom:60px;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.section-heading{font-size:1.125rem;font-weight:600;color:#000;margin-bottom:0;letter-spacing:-.01em}.bio,article.post-content,.thoughts-content{font-size:1rem;line-height:1.6;margin:0;padding:0}.bio p{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.lede{font-size:1.75rem;font-weight:500;line-height:1.3;color:#000;margin:0;letter-spacing:-.022em;text-wrap:balance}.lede a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}@media (max-width: 768px){.lede{font-size:1.5rem}}@media (max-width: 480px){.lede{font-size:1.3125rem;line-height:1.32}}.lede-support{font-size:1.0625rem;line-height:1.55;color:#3a3a3a;margin:18px 0 0}@media (max-width: 480px){.lede-support{font-size:.9375rem}}.proof{list-style:none;margin:28px 0 40px;padding:20px 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}.proof__item{margin:0;padding:0}.proof__value{display:block;font-size:1.0625rem;font-weight:600;color:#000;letter-spacing:-.01em;line-height:1.2}.proof__label{display:block;margin-top:4px;font-size:.8125rem;line-height:1.45;color:#666}@media (max-width: 560px){.proof{grid-template-columns:minmax(0,1fr);gap:16px}}.section-heading--spaced{margin-top:32px}.building-list{list-style:none;margin:10px 0 0;padding:0;font-size:1rem;line-height:1.6}.building-list li{margin:0 0 10px;padding:0}.building-list li:last-child{margin-bottom:0}footer{display:flex;gap:20px;font-size:.875rem;border-top:1px solid #e0e0e0;padding-top:20px;margin-top:40px}.post-content h1{font-size:1.75rem;font-weight:500;margin-top:0;margin-bottom:1rem;letter-spacing:-.01em;color:#000}.post-content h2{font-size:1.375rem;font-weight:500;margin-top:1.75rem;margin-bottom:.75rem;letter-spacing:-.01em;color:#000}.post-content h3{font-size:1.125rem;font-weight:500;margin-top:1.5rem;margin-bottom:.5rem;color:#000}.post-content p{margin-bottom:1.25rem;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.post-content ul,.post-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.post-content li{margin-bottom:.5rem}.post-content code{background:#f5f5f5;padding:.2rem .4rem;border-radius:3px;font-size:.9em;font-family:Monaco,Courier New,monospace}.post-content pre{background:#f5f5f5;padding:1rem;border-radius:5px;overflow-x:auto;margin-bottom:1.25rem}.post-content pre code{background:none;padding:0}.post-content a{color:inherit;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px}.post-content a:hover{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px}.post-content strong{font-weight:500}.post-date-header{margin-bottom:.25rem;color:#666;font-size:.875rem}.post-date-header time{color:inherit}.post-meta{margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0;color:#666;font-size:.9rem}@media (max-width: 768px){.container{padding:60px 20px}.name{font-size:1.375rem}.bio{font-size:.9375rem}}@media (max-width: 480px){.container{padding:40px 16px}.name{font-size:1.25rem}nav{gap:16px;font-size:.8125rem}footer{gap:16px;font-size:.8125rem}}.longform-toc-sidebar{position:fixed;right:calc(50% + 345px);top:228px;width:160px}@media (max-width: 1060px){.longform-toc-sidebar{display:none}}.toc-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin:0 0 .75rem}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.toc-link{font-size:.8125rem;color:#999;text-decoration:none;line-height:1.4;display:block;transition:color .15s}.toc-link:hover{color:#333}.toc-link.active{color:#000}.carousel{margin:2rem 0;padding:0;border:none}.carousel-image-wrapper{width:100%;aspect-ratio:4 / 3;background:#f0f0f0;border-radius:6px;overflow:hidden}.carousel-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.carousel-caption{font-size:.8125rem;color:#777;margin-top:.625rem;line-height:1.4;text-align:center}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:.75rem}.carousel-arrow{background:none;border:none;cursor:pointer;font-size:1rem;color:#bbb;padding:4px 6px;line-height:1;transition:color .15s}.carousel-arrow:hover{color:#000}.carousel-dots{display:flex;gap:6px;align-items:center}.carousel-dot{width:6px;height:6px;border-radius:50%;background:#ddd;border:none;padding:0;cursor:pointer;transition:background .15s}.carousel-dot.active{background:#000}.carousel-counter{font-size:.6875rem;color:#ccc;text-align:center;margin-top:.375rem}.post-content figure{margin:2rem 0;padding:0}.post-content figure img{width:100%;height:auto;display:block;border:1px solid #e8e8e8;border-radius:4px}.post-content figcaption{font-size:.8125rem;color:#777;margin-top:.5rem;line-height:1.4;text-align:center;font-style:italic}.post-content .figure-inline{float:right;width:180px;margin:0 0 1rem 1.5rem;clear:right}.post-content .figure-inline img{width:100%;height:auto;display:block;border:1px solid #e8e8e8;border-radius:4px}.post-content .figure-inline figcaption{font-size:.75rem;color:#777;margin-top:.375rem;line-height:1.3;text-align:center;font-style:italic}@media (max-width: 600px){.post-content .figure-inline{float:none;width:100%;margin:1.5rem 0}}.stories-heading{margin-top:40px;margin-bottom:20px}.story-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,200px));gap:22px;justify-content:start;margin:0 0 8px}.story-card{display:block;text-decoration:none;color:inherit}.story-card:hover{opacity:1;text-decoration:none}.story-card__poster{position:relative;aspect-ratio:2 / 3;border-radius:8px;overflow:hidden;background:#111;box-shadow:0 1px 3px #0000001f,0 6px 16px #0000001a;transition:transform .18s ease,box-shadow .18s ease}.story-card:hover .story-card__poster{transform:translateY(-4px);box-shadow:0 12px 30px #0003,0 2px 6px #0000001f}.story-card__poster img{width:100%;height:100%;object-fit:cover;display:block}.story-card__fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px 18px;background:linear-gradient(155deg,#2c2c2c,#0d0d0d)}.story-card__fallback span{font-size:1.15rem;font-weight:650;line-height:1.2;letter-spacing:-.01em;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}.story-card__title{margin-top:10px;font-size:.9rem;font-weight:600;color:#000;line-height:1.25}.story-card__tagline{font-size:.8rem;color:#888;margin-top:2px}.story-page__cover{display:block;width:100%;max-width:300px;border-radius:8px;margin:0 0 24px;box-shadow:0 2px 8px #0000001f,0 12px 30px #0000001a}.story-page__cover--gradient{aspect-ratio:2 / 3;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}.story-page__cover--gradient span{color:#fff;font-size:1.5rem;font-weight:650;letter-spacing:-.01em;line-height:1.2;text-shadow:0 1px 12px rgba(0,0,0,.35)}.story-page__title{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;color:#000;line-height:1.15;margin:0 0 6px}.story-page__tagline{font-size:1rem;color:#888;margin:0 0 24px}.chapter-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:2rem;font-size:.875rem}.chapter-nav a{color:#666;text-decoration:none}.chapter-nav a:hover{color:#000}.chapter-nav a.active{color:#000;font-weight:600}.thoughts-intro{font-size:1rem;line-height:1.6;margin:0 0 40px}.thought-section{margin-bottom:50px}.thought-section h2{font-size:1.125rem;font-weight:500;margin-bottom:20px;letter-spacing:-.01em;color:#000}.thought-list{display:flex;flex-direction:column;gap:12px}.thought-item{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.thought-link{flex:1;font-size:.875rem}.thought-date{font-size:.8125rem;color:#666;white-space:nowrap;flex-shrink:0}.strikethrough{text-decoration:line-through;opacity:.6}@media (max-width: 768px){.thought-item{flex-direction:column;align-items:flex-start;gap:4px}.thought-date{font-size:.8rem}}.resume-content{max-width:680px}.resume-section{margin-bottom:2.5rem}.resume-section-heading-row{display:flex;align-items:baseline;gap:1.25rem;margin-bottom:0}.resume-section-heading-row .section-heading{margin-bottom:0}.resume-download{font-size:.8rem;color:#666;text-decoration:none;letter-spacing:.02em}.resume-download:hover{color:#000}.resume-skills{margin-top:.75rem;font-size:.85rem;color:#666;line-height:1.6}.resume-job{margin-bottom:2rem}.resume-job-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem}.resume-job-title{font-weight:600;font-size:.95rem}.resume-job-date{font-size:.85rem;color:#666;white-space:nowrap;flex-shrink:0}.resume-job p{font-size:.9rem;margin:.25rem 0 .5rem;line-height:1.6}.resume-job ul{margin:.25rem 0 0 1.1rem;padding:0;font-size:.9rem;line-height:1.6}.resume-job ul li{margin-bottom:.35rem}.resume-education{list-style:disc;margin:0 0 0 1.1rem;padding:0;font-size:.9rem;line-height:1.8}@media (max-width: 540px){.resume-job-header{flex-direction:column;gap:.1rem}}
