.post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:var(--paper)}.post-list .post-card{border-bottom:1px solid var(--hairline);border-right:1px solid var(--hairline)}.post-list .post-card:nth-child(2n){border-right:0}@media(max-width:860px){.post-list{grid-template-columns:minmax(0,1fr)}.post-list .post-card{border-right:0}}.post-card{display:flex;flex-direction:column;gap:14px;padding:36px 48px 40px;position:relative;transition:background .2s ease}@media(max-width:640px){.post-card{padding:28px 20px 32px}}.post-card:hover{background:var(--bone)}.post-card h2{font-size:27px;line-height:1.15}.post-card h2 a:after{content:"";position:absolute;inset:0}.post-card p{font-size:15px;color:var(--ink-60);max-width:36em}.post-card .more{margin-top:auto;padding-top:8px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-60)}.post-card:hover .more{color:var(--ink)}.post-empty{padding:56px 48px;color:var(--ink-60);font-family:var(--font-serif);font-size:24px}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-40)}.post-meta .sep{color:var(--hairline)}.post-meta .cat{color:var(--ink-60)}.post-head{padding:56px 48px 44px}@media(max-width:640px){.post-head{padding:40px 20px 32px}}.post-head .crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-40);margin-bottom:26px}.post-head .crumbs a{color:var(--ink-60)}.post-head .crumbs a:hover{color:var(--ink)}.post-head h1{font-size:clamp(2.3rem,4.8vw,3.8rem);line-height:1.05;letter-spacing:-.01em;margin:18px 0;max-width:18em}.post-head .lead{font-size:18px;line-height:1.5;color:var(--ink-60);max-width:36em}.post-author{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--hairline);max-width:36em}.post-author img{width:38px;height:38px;border-radius:50%;object-fit:cover;filter:grayscale(100%);border:1px solid var(--hairline)}.post-author .who{display:flex;flex-direction:column;gap:3px}.post-author .name{font-family:var(--font-mono);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.post-author .role{font-size:12.5px;color:var(--ink-60)}.post-cover{border-top:1px solid var(--hairline);background:var(--bone)}.post-cover img{width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover}.post-cover figcaption{padding:12px 48px;border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-40)}@media(max-width:640px){.post-cover figcaption{padding:12px 20px}}.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1px;background:var(--hairline);border-top:1px solid var(--hairline)}@media(max-width:980px){.post-grid{grid-template-columns:minmax(0,1fr)}}.post-grid>*{background:var(--paper)}.post-body{padding:48px 48px 64px;min-width:0}@media(max-width:640px){.post-body{padding:32px 20px 48px}}.post-aside{padding:40px 32px}@media(max-width:640px){.post-aside{padding:28px 20px}}.post-aside .sticky{position:sticky;top:86px;display:flex;flex-direction:column;gap:28px}.toc{list-style:none;display:flex;flex-direction:column;margin-top:14px}.toc li{border-top:1px solid var(--hairline)}.toc li:last-child{border-bottom:1px solid var(--hairline)}.toc a{display:flex;gap:12px;padding:10px 0;font-size:13.5px;line-height:1.4;color:var(--ink-60)}.toc a:hover{color:var(--ink)}.toc .m{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-40);padding-top:3px;flex-shrink:0;width:20px}.aside-cta{display:flex;flex-direction:column;gap:14px;padding:24px;background:var(--bone);border:1px solid var(--hairline)}.aside-cta .serif{font-size:21px;line-height:1.25}.aside-cta p{font-size:13.5px;color:var(--ink-60)}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:20px;border-top:1px solid var(--hairline)}.post-tags span{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-60);padding:5px 10px;border:1px solid var(--hairline);border-radius:2px}.prose{max-width:42em;min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.68;color:var(--ink)}.prose>*+*{margin-top:1.15em}.prose h2,.prose h3,.prose h4{font-family:var(--font-serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;scroll-margin-top:90px}.prose h2{font-size:32px;margin-top:2.1em;padding-top:1.1em;border-top:1px solid var(--hairline)}.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}.prose h3{font-size:24px;margin-top:1.7em}.prose h4{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-60);margin-top:1.8em}.prose h2 em,.prose h3 em{font-style:italic}.prose p strong,.prose li strong{font-weight:600}.prose a{text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--ink)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--ink-40);font-family:var(--font-mono);font-size:.9em}.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:2px solid var(--ink);font-family:var(--font-serif);font-size:23px;line-height:1.3;color:var(--ink)}.prose blockquote p+p{margin-top:.6em}.prose hr{border:0;border-top:1px solid var(--hairline);margin:2.4em 0}.prose img{border:1px solid var(--hairline);border-radius:2px}.prose figure{margin:1.8em 0}.prose figcaption,.prose img+em{display:block;margin-top:8px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-40);font-style:normal}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--wash);border:1px solid var(--hairline);border-radius:2px;padding:.1em .4em}.prose pre{background:var(--term-bg);color:var(--term-fg);border-radius:4px;padding:18px 20px;overflow-x:auto;font-size:13px;line-height:1.6;box-shadow:8px 8px 0 var(--wash),8px 8px 0 1px var(--hairline)}.prose pre code{background:none;border:0;padding:0;font-size:inherit;color:inherit}.prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:1.6em 0;display:block;overflow-x:auto}.prose thead th{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-60);text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);background:var(--bone)}.prose td{padding:10px 12px;border-bottom:1px solid var(--hairline);vertical-align:top}.prose tr:hover td{background:var(--wash)}
