.article-page{--fs-h1:clamp(32px, 5vw, 52px);--fs-h2:clamp(24px, 3vw, 32px);--article-width:calc(var(--container) - 2 * var(--gutter))}.reading-progress{top:var(--header-h);background:var(--accent-light);z-index:99;pointer-events:none;transform-origin:0;will-change:transform;width:100%;height:3px;position:fixed;left:0;transform:scaleX(0)}.article-header{padding-top:var(--gap-xl);padding-bottom:var(--gap-lg)}.article-header-rule{background:var(--accent);width:40px;height:3px;margin-bottom:var(--gap-lg);display:block}.article-header-inner{max-width:var(--article-width);gap:var(--gap-md);flex-direction:column;margin-inline:auto;display:flex}.article-labels{align-items:center;gap:var(--gap-xs);flex-wrap:wrap;display:flex}.article-byline{align-items:center;gap:var(--gap-sm);width:fit-content;color:inherit;text-decoration:none;display:inline-flex}.article-byline-avatar{object-position:center top;background-color:color-mix(in oklch, var(--accent) 12%, var(--bg));width:56px;height:56px;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--border);border-radius:50%;flex-shrink:0}.article-byline-text{flex-direction:column;gap:2px;display:flex}.article-byline-label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.article-byline-name{font-family:var(--font-display);color:var(--fg);font-size:20px;line-height:1.2;transition:color .15s}.article-byline:hover .article-byline-name{color:var(--accent)}.article-byline-tagline{color:var(--muted);font-size:14px}.article-meta-row .article-labels{min-width:0;margin-left:auto}@media (width<=600px){.article-meta-row .article-labels{padding-top:var(--gap-xs);flex-basis:100%;margin-left:0}}.article-title{font-family:var(--font-display);font-size:var(--fs-h1);letter-spacing:-.02em;line-height:1.08}.article-deck{font-size:var(--fs-lead);color:var(--muted);max-width:56ch;line-height:1.6}.article-meta-row{align-items:center;gap:var(--gap-xs);padding-top:var(--gap-sm);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.article-hero{max-width:var(--container);margin:0 auto var(--gap-xl);padding-inline:var(--gutter)}.article-hero-img{aspect-ratio:16/9;border-radius:var(--radius-lg)}.article-hero-caption{font-family:var(--font-mono);color:var(--muted);margin-top:var(--gap-sm);text-align:right;font-size:12px}.article-toc{max-width:var(--article-width);margin:0 max(var(--gutter), (100% - var(--article-width)) / 2) var(--gap-xl);padding:var(--gap-md) var(--gap-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.article-toc h2{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--gap-sm);font-size:12px;font-weight:600;line-height:1.6}.article-toc ol{counter-reset:toc;margin:0;padding:0;list-style:none}.article-toc li{counter-increment:toc;border-top:1px solid var(--border);padding:6px 0}.article-toc li:first-child{border-top:none}.article-toc a{color:var(--fg);align-items:baseline;gap:var(--gap-sm);font-size:15px;text-decoration:none;transition:color .15s;display:flex}.article-toc a:hover{color:var(--accent)}.article-toc a:before{content:counter(toc, decimal-leading-zero);font-family:var(--font-mono);color:var(--muted);flex-shrink:0;font-size:12px}.article-body{max-width:calc(var(--article-width) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.article-body p{margin-bottom:1.4em;font-size:19px;line-height:1.72}.article-body h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.01em;margin-top:2.2em;margin-bottom:.6em;line-height:1.15}.article-body>h2:first-child{margin-top:0}.article-body h3{font-family:var(--font-display);font-size:var(--fs-h3);margin-top:1.8em;margin-bottom:.5em;font-weight:600;line-height:1.3}.article-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-color .15s}.article-body a:hover{text-decoration-thickness:2px}.article-body ul,.article-body ol{margin:0 0 1.4em;padding-left:1.4em}.article-body li{margin-bottom:.5em;font-size:19px;line-height:1.72}.article-body strong{font-weight:600}.article-body em{font-style:italic}.pull-quote{border-left:3px solid var(--accent);padding-left:var(--gap-lg);margin:2.4em 0}.article-body .pull-quote p{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);max-width:36ch;margin:0;font-size:clamp(22px,2.5vw,28px);line-height:1.38}.pull-quote cite{font-family:var(--font-mono);color:var(--muted);margin-top:var(--gap-sm);font-size:13px;font-style:normal;display:block}.article-body blockquote{border-left:2px solid var(--border);padding-left:var(--gap-md);color:var(--muted);margin:1.6em 0;font-size:17px;font-style:italic;line-height:1.72}.article-divider{border:0;border-top:1px solid var(--border);width:96px;margin:2.4em 0}.article-figure{margin:2.4em 0}.article-figure-img{aspect-ratio:16/10;border-radius:var(--radius-lg)}.article-figure figcaption{font-family:var(--font-mono);color:var(--muted);margin-top:var(--gap-sm);font-size:12px;line-height:1.5}.article-footnotes{padding-top:var(--gap-lg);border-top:1px solid var(--border);margin-top:2.4em}.article-footnotes h2{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--gap-md);font-size:12px;font-weight:600;line-height:1.6}.article-body .article-copyright{margin:var(--gap-lg) 0 0;color:var(--muted);font-size:12px;line-height:1.6}.article-footnotes ol{margin:0;padding-left:1.4em}.article-footnotes li{color:var(--muted);margin-bottom:var(--gap-xs);font-size:14px;line-height:1.6}.article-end{max-width:calc(var(--article-width) + 2 * var(--gutter));padding:var(--gap-2xl) var(--gutter) 0;margin-inline:auto}.article-nav{gap:var(--gap-lg);padding:var(--gap-lg) 0;border-top:2px solid var(--fg);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.article-nav-item{flex-direction:column;gap:6px;display:flex}.article-nav-item--next{text-align:right;grid-column:2}.article-nav-label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.article-nav-title{font-family:var(--font-display);font-size:18px;font-weight:500;line-height:1.3}.related-writings{padding:var(--gap-xl) 0}.related-writings>h2{font-family:var(--font-display);letter-spacing:-.005em;margin-bottom:var(--gap-lg);font-size:22px;line-height:1.3}.related-grid{gap:var(--gap-lg);grid-template-columns:1fr 1fr;display:grid}.related-card{gap:var(--gap-xs);padding-top:var(--gap-md);border-top:1px solid var(--border);flex-direction:column;display:flex}.related-card h3{font-size:18px;font-weight:500;line-height:1.3}.related-card p{color:var(--muted);font-size:14px;line-height:1.55}.article-newsletter{padding:var(--gap-lg);background:var(--newsletter-bg);border-radius:var(--radius-lg);margin-bottom:var(--gap-xl)}.article-newsletter h2{font-family:var(--font-display);margin-bottom:var(--gap-xs);font-size:22px;line-height:1.3}.article-newsletter>p{color:var(--muted);margin-bottom:var(--gap-md);font-size:14px}.article-newsletter .newsletter-form{max-width:none;margin-top:0}.article-newsletter .newsletter-form input{padding:11px 14px}.article-newsletter .newsletter-form button{padding:11px 20px;font-weight:400}.article-newsletter .newsletter-status{margin-top:var(--gap-xs)}@media (width<=920px){.article-nav{grid-template-columns:1fr}.article-nav-item--next{text-align:left;grid-column:auto}.related-grid{grid-template-columns:1fr}}@media (width<=600px){.article-body p,.article-body li{font-size:17px;line-height:1.68}}
