.blog-intro{padding:var(--s-9) 0 var(--s-7)}.blog-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-7);align-items:end}.blog-intro h1{font-family:var(--font-display);font-weight:400;font-size:var(--t-h1);line-height:1.04;letter-spacing:var(--tracking-tight);color:var(--ink);margin:var(--s-5) 0 var(--s-4);max-width:16ch}.blog-intro h1 em{font-style:italic}.blog-intro .lead{font-size:20px;line-height:1.55;color:var(--fg-2);max-width:52ch;margin:0}.blog-intro-count{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);white-space:nowrap;padding-bottom:6px}.cat-bar{display:flex;flex-wrap:wrap;gap:var(--s-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s-4) 0;margin-bottom:var(--s-2)}.cat-chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);background:transparent;border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 14px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.cat-chip:hover{border-color:var(--line-strong);color:var(--ink)}.cat-chip.is-active{background:var(--ink);color:var(--fg-on-dark);border-color:var(--ink)}.post-featured{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--s-8);align-items:center;padding:var(--s-8) 0;border-bottom:1px solid var(--line)}.post-featured .pf-fig{width:100%;height:320px;border-radius:var(--r-4);overflow:hidden;border:1px solid var(--line);background:var(--paper)}.post-featured .pf-fig img{width:100%;height:100%;object-fit:cover}.post-featured .pf-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:flex;gap:var(--s-4);align-items:center;margin-bottom:var(--s-4)}.post-featured .pf-meta .cat{color:var(--action)}.post-featured .pf-flag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--highlight);display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--s-4)}.post-featured .pf-flag:before{content:"";width:18px;height:1px;background:var(--highlight)}.post-featured h2{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.015em;color:var(--ink);margin:0 0 var(--s-4);max-width:18ch}.post-featured .pf-excerpt{font-size:18px;line-height:1.6;color:var(--fg-2);max-width:50ch;margin:0 0 var(--s-5)}.post-featured .pf-link{border:none;color:var(--ink);font-weight:500;font-size:16px;display:inline-flex;align-items:center;gap:8px}.post-featured .pf-link:hover{color:var(--action)}.posts{position:relative}.post-row{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr) 40px;gap:var(--s-6);align-items:start;padding:var(--s-6) 0;border-bottom:1px solid var(--line);text-decoration:none}.post-row .post-side{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--fg-3)}.post-row .post-side .date{color:var(--fg-2)}.post-row .post-side .cat{color:var(--action);text-transform:uppercase;letter-spacing:.1em}.post-main{min-width:0}.post-title{font-family:var(--font-display);font-weight:500;font-size:26px;line-height:1.18;letter-spacing:-.01em;color:var(--ink);margin:0 0 var(--s-2)}.post-excerpt{font-size:16px;line-height:1.55;color:var(--fg-2);max-width:60ch;margin:0}.post-arrow{font-family:var(--font-body);font-size:20px;color:var(--fg-3);align-self:center;justify-self:end;transition:color .2s ease,transform .2s ease}.post-row:hover .post-arrow{color:var(--ink)}.posts.fx-fill .post-row{padding-left:var(--s-5);padding-right:var(--s-5);margin-left:calc(-1 * var(--s-5));margin-right:calc(-1 * var(--s-5));width:calc(100% + 2 * var(--s-5));transition:background-color .25s ease}.posts.fx-fill .post-row:before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--action);transform:scaleY(0);transform-origin:center;transition:transform .3s ease}.posts.fx-fill .post-row:hover{background:var(--paper)}.posts.fx-fill .post-row:hover:before{transform:scaleY(1)}.posts.fx-fill .post-row:hover .post-title{color:var(--action)}.post-row[hidden]{display:none}.article-wrap{padding:var(--s-9) 0 var(--s-8)}.article-shell{display:grid;grid-template-columns:220px minmax(0,720px);gap:var(--s-8);justify-content:center;align-items:start}.article-col{min-width:0}.article-rail{position:sticky;top:var(--s-6);align-self:start}.toc-label,.share-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:var(--s-3);display:block}.toc{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.toc a{display:block;border:none;margin-left:-1px;padding:7px 0 7px var(--s-4);border-left:2px solid transparent;font-family:var(--font-body);font-size:14px;line-height:1.3;color:var(--fg-2);transition:color .15s ease,border-color .15s ease}.toc a:hover,.toc a.is-active{color:var(--ink);border-left-color:var(--action)}.toc a .toc-n{font-family:var(--font-mono);font-size:11px;color:var(--action);margin-right:8px}.article-share{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--line)}.article-share .shares{display:flex;flex-direction:column;gap:var(--s-2)}.article-share a,.article-share button{border:none;background:none;font-family:var(--font-mono);font-size:13px;letter-spacing:.02em;color:var(--fg-2);display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:0}.article-share a:hover,.article-share button:hover{color:var(--action)}.article-share a:before,.article-share button:before{content:"↗";color:var(--fg-3);font-size:12px}.article-share button.copy:before{content:"⧉"}.article-head{margin:0 0 var(--s-7)}.article-back{border:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--s-6)}.article-back:hover{color:var(--action)}.article-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);display:flex;gap:var(--s-4);align-items:center;margin-bottom:var(--s-4);flex-wrap:wrap}.article-meta .cat{color:var(--action)}.article-title{font-family:var(--font-display);font-weight:500;font-size:var(--t-h1);line-height:1.06;letter-spacing:var(--tracking-tight);color:var(--ink);margin:0 0 var(--s-5);max-width:20ch}.article-deck{font-size:21px;line-height:1.55;color:var(--fg-2);margin:0 0 var(--s-6);max-width:56ch}.article-byline{display:flex;align-items:center;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--line)}.article-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto}.article-byline .by-name{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--ink)}.article-byline .by-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.article-fig{margin:0 0 var(--s-7)}.article-fig .fig-frame{width:100%;height:380px;border-radius:var(--r-4);overflow:hidden;border:1px solid var(--line);background:var(--paper)}.article-fig .fig-frame img{width:100%;height:100%;object-fit:cover}.article-fig figcaption,.prose figure figcaption{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--fg-3);margin-top:var(--s-3);padding-left:var(--s-3);border-left:2px solid var(--line-strong)}.prose{font-family:var(--font-body)}.prose>p{font-size:19px;line-height:1.72;color:var(--fg);margin:0 0 var(--s-5)}.prose>p:first-of-type:first-letter{font-family:var(--font-display);font-weight:500;font-size:64px;line-height:.78;float:left;padding:6px 12px 0 0;color:var(--ink)}.prose h2{font-family:var(--font-display);font-weight:500;font-size:var(--t-h2);line-height:1.12;letter-spacing:-.015em;color:var(--ink);margin:var(--s-8) 0 var(--s-4);scroll-margin-top:88px}.prose h3{font-family:var(--font-body);font-weight:600;font-size:19px;line-height:1.3;color:var(--ink);margin:var(--s-7) 0 var(--s-3);letter-spacing:-.005em;scroll-margin-top:88px}.prose strong{font-weight:600;color:var(--ink)}.prose em{font-style:italic}.prose em.bad{color:var(--negative);font-style:normal;font-weight:600}.prose a{color:var(--action);border-bottom:1px solid color-mix(in oklab,var(--action) 35%,transparent)}.prose ul,.prose ol{margin:0 0 var(--s-5);padding-left:0;list-style:none}.prose li{font-size:18px;line-height:1.6;color:var(--fg);margin-bottom:var(--s-3);padding-left:var(--s-5);position:relative}.prose ul li:before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;background:var(--action);border-radius:50%}.prose ol{counter-reset:li}.prose ol li{counter-increment:li}.prose ol li:before{content:counter(li);position:absolute;left:0;top:0;font-family:var(--font-mono);font-size:13px;color:var(--action)}.prose blockquote{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:28px;line-height:1.35;color:var(--ink);border-left:2px solid var(--action);padding-left:var(--s-5);margin:var(--s-7) 0;max-width:28ch}.prose figure{margin:var(--s-7) 0}.prose .fig-frame{width:100%;height:360px;border-radius:var(--r-4);overflow:hidden;border:1px solid var(--line);background:var(--paper)}.prose .pnl{margin:var(--s-7) auto;max-width:100%}.prose .note{background:var(--action-soft);border:1px solid color-mix(in oklab,var(--action) 25%,var(--line));border-radius:var(--r-4);padding:var(--s-5) var(--s-6);margin:var(--s-7) 0}.prose .note .note-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--action-press);margin-bottom:var(--s-2);display:block}.prose .note p{font-size:16px;line-height:1.6;color:var(--ink);margin:0}.takeaways{margin:var(--s-8) 0 0;background:var(--ink);color:var(--fg-on-dark);border-radius:var(--r-4);padding:var(--s-7)}.takeaways .tk-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--highlight);margin-bottom:var(--s-4);display:block}.takeaways ul{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-4)}.takeaways li{font-family:var(--font-display);font-size:21px;line-height:1.35;color:var(--fg-on-dark);padding-left:var(--s-5);position:relative}.takeaways li:before{content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--highlight)}.author-bio{margin:var(--s-8) 0 0;display:grid;grid-template-columns:72px 1fr;gap:var(--s-5);align-items:start;border-top:1px solid var(--line);padding-top:var(--s-7)}.author-bio img{width:72px;height:72px;border-radius:8px;object-fit:cover}.author-bio .ab-name{font-family:var(--font-display);font-weight:500;font-size:21px;color:var(--ink);letter-spacing:-.01em}.author-bio .ab-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin:4px 0 var(--s-3)}.author-bio .ab-blurb{font-size:16px;line-height:1.6;color:var(--fg-2);max-width:56ch;margin:0 0 var(--s-3)}.author-bio .ab-link{border:none;color:var(--action);font-weight:500;font-size:15px;display:inline-flex;gap:6px;align-items:center}.article-faq{margin:var(--s-8) 0 0;border-top:1px solid var(--line);padding-top:var(--s-7)}.article-faq .faq-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);display:block;margin-bottom:var(--s-4)}.article-faq details{border-bottom:1px solid var(--line)}.article-faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:var(--s-5);padding:var(--s-5) 0}.article-faq summary::-webkit-details-marker{display:none}.article-faq .faq-q{flex:1;font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);transition:color .18s ease}.article-faq summary:hover .faq-q{color:var(--action)}.article-faq .faq-toggle{flex:0 0 auto;font-family:var(--font-body);font-size:26px;line-height:1;color:var(--fg-3);transition:transform .22s ease,color .18s ease;user-select:none}.article-faq details[open] .faq-toggle{transform:rotate(45deg);color:var(--action)}.article-faq .faq-a{font-size:16px;line-height:1.65;color:var(--fg-2);max-width:60ch;margin:0;padding:0 0 var(--s-6)}.article-faq .faq-a em{font-style:italic;color:var(--ink)}.related{border-top:1px solid var(--line)}@media(max-width:880px){.blog-intro{padding:var(--s-7) 0 var(--s-6)}.blog-intro-grid{grid-template-columns:1fr;gap:var(--s-5)}.blog-intro .lead{font-size:17px}.post-featured{grid-template-columns:1fr;gap:var(--s-5);padding:var(--s-6) 0}.post-row{grid-template-columns:1fr;gap:var(--s-2);padding:var(--s-5) 0}.post-row .post-side{flex-direction:row;gap:var(--s-4)}.post-title{font-size:21px}.post-arrow{display:none}.article-wrap{padding:var(--s-7) 0 var(--s-6)}.article-shell{grid-template-columns:1fr;gap:0}.article-rail{display:none}.article-fig .fig-frame{height:210px}.article-deck{font-size:18px}.prose>p{font-size:17px;line-height:1.65}.prose blockquote{font-size:22px}.takeaways{padding:var(--s-6)}.author-bio{grid-template-columns:1fr;gap:var(--s-4)}.article-faq .faq-q{font-size:19px}}
