@font-face{font-family:Inconsolata;src:url('/assets/inconsolata-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Inconsolata;src:url('/assets/inconsolata-700.ttf');font-weight:700;font-display:swap}
:root{--paper:#f4f2ef;--ink:#101010;--muted:#65635f;--line:#d3d0ca;--mono:Inconsolata,'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:18px;line-height:1.55}::selection{background:var(--ink);color:var(--paper)}a{color:inherit;text-underline-offset:5px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}h1,h2,h3,p{margin:0}button{font:inherit}img{max-width:100%;display:block}.wrap{max-width:1080px;width:calc(100% - 96px);margin:auto}.masthead{padding:20px 0 0}.wordmark{display:block}.wordmark img{width:100%;height:auto}.nav-shell{position:sticky;top:0;z-index:5;background:rgba(244,242,239,.96);backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:center;gap:42px;border-bottom:1px solid var(--line);min-height:76px}.nav a{font-size:17px;text-decoration:none;padding:12px 0;position:relative}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--ink);color:var(--paper);padding:10px 20px}.skip:focus{top:10px}.intro{padding:52px 0 64px;max-width:960px}.intro h1{font-size:clamp(23px,2.2vw,28px);font-weight:400;line-height:1.35;letter-spacing:-.02em}.intro strong{font-weight:700}.section{padding:52px 0 74px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:32px}.section h2{font-size:30px;line-height:1.2;letter-spacing:-.03em}.eyebrow{font-size:14px;letter-spacing:.05em;color:var(--muted)}.company{border:1px solid var(--ink);padding:46px;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.company-logo{width:230px;max-width:100%}.company p{font-size:18px;line-height:1.6;max-width:42ch}.text-link{display:inline-block;font-size:16px;font-weight:700;margin-top:24px;padding:8px 0}.company:hover{background:#ebe8e2;transition:background .25s}.skills{display:grid;grid-template-columns:1fr 1fr;gap:80px}.skills p{font-size:27px;line-height:1.25;letter-spacing:-.025em;max-width:24ch}.skill-list{list-style:none;margin:0;padding:0}.skill-list li{display:flex;align-items:baseline;gap:30px;border-bottom:1px solid var(--line);padding:14px 0;font-size:25px;line-height:1.2}.skill-list li:first-child{padding-top:0}.skill-list span{font-size:13px;color:var(--muted)}.footer{border-top:1px solid var(--ink);padding:64px 0 28px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.footer h2{font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1.02;letter-spacing:-.055em;max-width:8ch}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:var(--paper);min-height:50px;padding:12px 28px;text-decoration:none;font-size:17px;margin-top:32px;border:1px solid var(--ink);transition:background .2s,color .2s}.button:hover{color:var(--ink);background:transparent}.portrait{position:relative;aspect-ratio:1.55;overflow:hidden;background:#ddd9d2}.portrait video{width:100%;height:100%;object-fit:cover;display:block}.copyright{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:64px;font-size:14px;line-height:1.6}.social{display:flex;gap:24px}.social a{padding:10px 0}.page-intro{padding:64px 0 48px}.page-title{font-size:clamp(54px,8vw,104px);font-weight:400;letter-spacing:-.07em;line-height:1.05}.page-intro p{font-size:clamp(23px,3vw,32px);line-height:1.2;letter-spacing:-.02em;max-width:32ch;margin-top:30px}.archive-label{display:flex;justify-content:space-between;padding:0 0 16px;border-bottom:1px solid var(--ink);font-size:14px;color:var(--muted)}.post-list{list-style:none;padding:0;margin:0}.post-row{display:grid;grid-template-columns:135px minmax(0,1fr) auto 22px;align-items:baseline;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}.post-row:hover{background:#ebe8e2;padding-left:14px;padding-right:14px}.post-row time{font-size:14px;color:var(--muted)}.post-title{font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.post-reading{font-size:14px;color:var(--muted)}.journal-preview .post-row{grid-template-columns:minmax(0,1fr) auto 22px}.journal-preview .post-title{font-size:24px}.journal-preview .text-link{margin-top:0}.archive{padding-bottom:80px}.article-nav .nav{justify-content:space-between}.small-brand{width:112px;display:flex;align-items:center;padding:16px 0}.article-nav .links{display:flex;gap:30px}.article-wrap{max-width:760px;width:calc(100% - 96px);margin:auto}.article-header{padding:66px 0 44px;border-bottom:1px solid var(--line);margin-bottom:40px}.breadcrumb{font-size:15px;color:var(--muted);margin-bottom:34px;display:inline-block}.article-header h1{font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.03;letter-spacing:-.055em;overflow-wrap:break-word}.article-meta{display:flex;gap:24px;font-size:15px;color:var(--muted);margin-top:24px}.rich-text{font-size:20px;line-height:1.65;overflow-wrap:break-word}.rich-text p{margin-bottom:24px}.rich-text h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:48px 0 20px}.rich-text h3{font-size:23px;line-height:1.25;margin:36px 0 16px}.rich-text blockquote{font-size:23px;line-height:1.5;margin:30px 0;padding:8px 0 8px 26px;border-left:2px solid var(--ink)}.rich-text blockquote+blockquote{font-size:15px;color:var(--muted);margin-top:-20px;border:none;padding-left:28px}.rich-text ul,.rich-text ol{padding-left:26px;margin:20px 0 30px}.rich-text li{margin-bottom:12px}.rich-text img{height:auto}.rich-text figure{margin:30px 0}.article-end{margin-top:58px;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:15px}.related{padding:72px 0}.related h2{font-size:24px;margin-bottom:28px}.related .post-row{grid-template-columns:minmax(0,1fr) auto 22px}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--ink);width:0;z-index:10}.not-found{min-height:50vh;padding:80px 0}.not-found h1{font-size:64px;font-weight:400}.not-found p{font-size:24px;margin:20px 0}

@media(max-width:760px){html{scroll-padding-top:80px}.wrap,.article-wrap{width:calc(100% - 40px)}.masthead{padding:20px 0 0}.nav{min-height:65px;justify-content:space-between;gap:18px}.nav a{font-size:16px;min-height:44px;display:flex;align-items:center}.intro{padding:44px 0 48px}.intro h1{font-size:22px;line-height:1.4;letter-spacing:-.02em}.section{padding:36px 0 44px}.section-head{margin-bottom:25px}.section h2{font-size:26px}.eyebrow{font-size:13px}.company{grid-template-columns:1fr;gap:26px;padding:28px 24px}.company-logo{width:200px}.company p{font-size:18px;line-height:1.5}.text-link{font-size:16px;margin-top:18px;min-height:44px}.skills{grid-template-columns:1fr;gap:30px}.skills p{font-size:25px;max-width:25ch}.skill-list li{font-size:24px;padding:16px 0}.contact-grid{grid-template-columns:1fr;gap:38px}.footer{padding:40px 0 24px}.footer h2{font-size:52px;max-width:9ch}.portrait{aspect-ratio:1.5}.copyright{align-items:start;flex-direction:column;padding-top:36px;gap:14px;font-size:14px}.social{gap:26px}.page-intro{padding:44px 0 36px}.page-title{font-size:64px}.page-intro p{font-size:26px;margin-top:24px}.post-row{grid-template-columns:1fr auto;gap:10px;padding:23px 0}.post-row time{grid-column:1/-1;font-size:14px}.post-title{font-size:24px}.post-reading{font-size:13px;white-space:nowrap}.archive{padding-bottom:48px}.article-nav .links{gap:22px}.small-brand{width:88px}.article-header{padding:36px 0 30px;margin-bottom:30px}.breadcrumb{margin-bottom:28px}.article-header h1{font-size:45px;letter-spacing:-.04em}.article-meta{font-size:14px;gap:20px;margin-top:20px}.rich-text{font-size:19px;line-height:1.6}.rich-text h2{font-size:26px;margin-top:36px}.rich-text blockquote{font-size:21px;padding-left:20px;margin:26px 0}.related{padding:44px 0}.related .post-title{font-size:22px}.journal-preview .post-title{font-size:22px}.article-end{margin-top:40px;gap:20px}}
@media(max-width:360px){.wrap,.article-wrap{width:calc(100% - 32px)}.nav{gap:12px}.nav a{font-size:15px}.article-header h1{font-size:38px}.post-row{gap:8px}.post-title{font-size:22px}.article-nav .links{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.post-arrow{display:flex;align-self:center;justify-content:center;width:22px;height:22px;color:var(--ink);transition:transform .2s}.post-row:hover .post-arrow{transform:translate(2px,-2px)}
@media(max-width:760px){
.post-row,.journal-preview .post-row,.related .post-row{grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:10px;align-items:center}
.archive .post-row time{grid-column:1;grid-row:1}.archive .post-reading{grid-column:2;grid-row:1;text-align:right}.archive .post-title{grid-column:1;grid-row:2}.archive .post-arrow{grid-column:2;grid-row:2;justify-self:end}
.journal-preview .post-title,.related .post-title{grid-column:1;grid-row:1}.journal-preview .post-arrow,.related .post-arrow{grid-column:2;grid-row:1}.journal-preview .post-reading,.related .post-reading{grid-column:1;grid-row:2}
.nav{justify-content:center;gap:32px}
}
