.blog-hero{padding:clamp(7rem,12vw,10rem) 0 clamp(2.5rem,5vw,4rem)}.blog-hero h1{max-width:18ch;margin-bottom:1.25rem}.blog-hero .lead{max-width:56ch}.blog-section-label{margin-bottom:1rem}.blog-featured-wrap{padding:clamp(2.5rem,5vw,4rem) 0 clamp(2.5rem,5vw,4rem)}.featured-card{display:grid;grid-template-columns:1fr;background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;overflow:hidden;text-decoration:none;box-shadow:var(--edge),var(--shadow);transition:border-color .15s var(--ease-out)}@media(min-width:820px){.featured-card{grid-template-columns:1.15fr 1fr}}.featured-img{min-height:240px;overflow:hidden;background:var(--ink-1b)}.featured-img img{width:100%;height:100%;object-fit:cover;display:block}.featured-body{padding:clamp(1.5rem,3.5vw,3rem);display:flex;flex-direction:column;justify-content:center}.featured-badge{display:flex;align-items:center;gap:12px;margin-bottom:1.25rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.featured-badge-label{color:var(--indigo)}.featured-badge-meta{color:var(--ash)}.featured-title{font-size:clamp(1.5rem,2.6vw,2.25rem);font-weight:700;color:var(--bone);line-height:1.1;letter-spacing:-.028em;margin-bottom:1rem;text-wrap:balance}.featured-excerpt{font-size:1.0625rem;line-height:1.6;color:var(--ash);margin-bottom:1.75rem}.featured-meta{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:12px;color:var(--ash);letter-spacing:.04em}.blog-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--ink-2)}.blog-pill{min-height:44px;padding:8px 16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);background:transparent;border:1px solid var(--ink-3);border-radius:6px;cursor:pointer;transition:border-color .15s var(--ease-out),color .15s var(--ease-out),background-color .15s var(--ease-out),transform .12s var(--ease-out)}.blog-pill:active{transform:scale(.97)}.blog-pill.active{background:var(--bone);border-color:var(--bone);color:var(--ink-0)}@media(hover:hover)and (pointer:fine){.blog-pill:not(.active):hover{border-color:var(--ash);color:var(--bone)}}.blog-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,32px);padding-bottom:clamp(3rem,6vw,5rem)}@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:980px){.blog-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:980px){.blog-grid.span2:not(.filtered)>.blog-card:first-child{grid-column:span 2}.blog-grid.span3:not(.filtered)>.blog-card:first-child{grid-column:span 3}.blog-grid.span2:not(.filtered)>.blog-card:first-child .blog-card-img,.blog-grid.span3:not(.filtered)>.blog-card:first-child .blog-card-img{height:240px}}.blog-card{text-decoration:none;display:flex;flex-direction:column;background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;overflow:hidden;box-shadow:var(--edge),var(--shadow);transition:border-color .15s var(--ease-out)}.blog-card-img{height:176px;overflow:hidden;background:var(--ink-1b)}.blog-card-img img{width:100%;height:100%;object-fit:cover;display:block}.blog-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.blog-card-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.blog-category-badge{color:var(--indigo)}.blog-card-read{color:var(--ash)}.blog-card-title{font-size:1.25rem;font-weight:600;color:var(--bone);line-height:1.25;letter-spacing:-.015em;margin-bottom:.625rem;text-wrap:balance}.blog-card-excerpt{font-size:.9375rem;line-height:1.6;color:var(--ash);margin-bottom:1.25rem;flex:1}.blog-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--ink-2)}.blog-card-date{font-family:var(--font-mono);font-size:12px;color:var(--ash);letter-spacing:.04em}.blog-card-arrow{color:var(--ash);display:flex;transition:color .15s var(--ease-out),transform .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.featured-card:hover,.blog-card:hover{border-color:var(--ink-3)}.blog-card:hover .blog-card-arrow{color:var(--indigo);transform:translate(3px)}}.blog-empty{text-align:center;padding:4rem 0;color:var(--ash)}.blog-newsletter{padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--ink-2)}.blog-newsletter-card{max-width:640px}.blog-newsletter-card h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;letter-spacing:-.028em;margin-bottom:.75rem;color:var(--bone)}.blog-newsletter-card p{color:var(--ash);margin-bottom:1.5rem}.blog-newsletter-actions{display:flex;flex-wrap:wrap;gap:.75rem}.post-hero{padding:clamp(7rem,12vw,9rem) 0 clamp(2rem,4vw,3.5rem)}.post-wrap{width:100%;max-width:calc(68ch + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}.post-hero .crumbs{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.post-hero .crumbs svg{opacity:.6}.post-meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:1.5rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.post-category-badge{color:var(--indigo)}.post-read-time{color:var(--ash)}.post-title{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;color:var(--bone);margin-bottom:1.5rem;text-wrap:balance}.post-intro{font-size:1.1875rem;line-height:1.6;color:var(--ash)}.post-author-row{display:flex;align-items:center;gap:.875rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--ink-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.post-author-avatar{width:36px;height:36px;border-radius:6px;background:var(--ink-1b);border:1px solid var(--ink-3);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--bone);flex-shrink:0}.post-author-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .875rem}.post-author-name{color:var(--bone);font-weight:500}.post-author-date{color:var(--ash)}.post-article{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,5rem)}.post-toc{padding:1.25rem 1.5rem;background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;margin-bottom:clamp(2.5rem,5vw,4rem)}.post-toc-heading{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--ash);margin-bottom:.875rem}.post-toc ol{list-style:none;display:flex;flex-direction:column}.post-toc a{font-size:.975rem;color:var(--bone);text-decoration:none;display:flex;align-items:baseline;gap:.75rem;padding:6px 0;line-height:1.4;transition:color .15s var(--ease-out)}.post-toc-num{font-family:var(--font-mono);font-size:12px;color:var(--ash);min-width:1.5rem;font-variant-numeric:tabular-nums}@media(hover:hover)and (pointer:fine){.post-toc a:hover{color:var(--indigo)}}.post-body{display:flex;flex-direction:column;gap:clamp(3rem,6vw,4.5rem)}.post-section{scroll-margin-top:calc(var(--nav-h) + 24px)}.post-section h2{font-size:clamp(1.6rem,2.8vw,2.25rem);font-weight:700;color:var(--bone);letter-spacing:-.028em;margin-bottom:1.25rem;line-height:1.1}.post-section>p,.post-section-body p{font-size:1.0625rem;line-height:1.75;color:#c9c6d4;margin:0 0 1.25rem}.post-section-body p:last-child{margin-bottom:0}.post-section-body{display:flex;flex-direction:column}.post-section-body a,.post-callout a,.post-faq-answer a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#818cf866;transition:text-decoration-color .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.post-section-body a:hover{text-decoration-color:var(--indigo)}}.post-section-body strong{color:var(--bone);font-weight:600}.post-section-body em{font-style:italic}.post-section-body h3{font-size:1.3125rem;font-weight:600;color:var(--bone);margin:2.75rem 0 .875rem;padding-top:1.5rem;border-top:1px solid var(--ink-2);letter-spacing:-.015em;line-height:1.3}.post-section-body h3:first-child{margin-top:.5rem;padding-top:0;border-top:none}.post-section-body h4{font-size:1.0625rem;font-weight:600;color:var(--bone);margin:1.75rem 0 .5rem}.post-section-body ul,.post-section-body ol{margin:0 0 1.25rem;padding-left:1.4rem;color:#c9c6d4;line-height:1.75}.post-section-body li{margin-bottom:.4rem}.post-section-body li::marker{color:var(--ash);font-family:var(--font-mono)}.post-section-body blockquote{margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:2px solid var(--indigo);color:var(--bone);font-size:1.125rem}.post-section-body img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--ink-2);margin:1.75rem 0}.post-section-body .image-placeholder{padding:3rem 2rem;background:var(--ink-1);border:1px dashed var(--ink-3);border-radius:10px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--ash);margin:2rem 0}.post-section-body code,.post-takeaways code{font-family:var(--font-mono);font-size:.85em;background:var(--ink-1b);padding:2px 6px;border-radius:4px;border:1px solid var(--ink-2);color:#c7ccff}.post-section-body table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-variant-numeric:tabular-nums;font-size:.95rem;display:block;overflow-x:auto}.post-section-body th{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;text-align:left;color:var(--ash);padding:12px 16px;border-bottom:1px solid var(--ink-3);white-space:nowrap}.post-section-body td{padding:12px 16px;border-bottom:1px solid var(--ink-2);vertical-align:top;color:#c9c6d4}.post-section-body .meta-card{display:flex;flex-direction:column;gap:.375rem;padding:1.125rem 1.375rem;background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.6;color:#c9c6d4}.post-section-body .meta-card strong{color:var(--bone)}.post-section-body .pros-cons{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1.5rem 0 0}@media(min-width:540px){.post-section-body .pros-cons{grid-template-columns:1fr 1fr}}.post-section-body .pros-cons>div{padding:1rem 1.25rem;border-radius:10px;font-size:.9375rem;line-height:1.7;color:#c9c6d4;background:var(--ink-1);border:1px solid var(--ink-2)}.post-section-body .pros-col{border-top:2px solid var(--ok)!important}.post-section-body .cons-col{border-top:2px solid var(--rec)!important}.post-section-body .pros-cons strong{display:block;margin-bottom:.375rem;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.post-section-body .pros-col strong{color:var(--ok)}.post-section-body .cons-col strong{color:#ff6b62}.post-section>ul{list-style:none;display:flex;flex-direction:column;gap:0;margin:1.5rem 0 1rem;padding:0;border-top:1px solid var(--ink-2)}.post-section>ul li{display:flex;align-items:flex-start;gap:.875rem;padding:.875rem 0;border-bottom:1px solid var(--ink-2)}.post-arrow{color:var(--indigo);font-family:var(--font-mono);flex-shrink:0;margin-top:.15rem}.post-section>ul li>span:last-child{min-width:0;font-size:1rem;line-height:1.65;color:#c9c6d4}.post-section>ul li strong{color:var(--bone)}.post-callout{padding:1.25rem 1.5rem;background:var(--ink-1);border:1px solid var(--ink-2);border-left:2px solid var(--indigo);border-radius:10px;margin:2rem 0;display:flex;gap:1rem;align-items:flex-start}.post-callout-icon{flex-shrink:0;margin-top:3px;color:var(--indigo)}.post-callout p{font-size:1rem;line-height:1.7;color:#c9c6d4;margin:0}.post-code-block{margin:2rem 0;border:1px solid var(--ink-2);border-radius:10px;overflow:hidden;background:var(--ink-1);box-shadow:var(--edge)}.post-code-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem;background:var(--ink-1b);border-bottom:1px solid var(--ink-2)}.post-code-lang{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--ash);text-transform:uppercase;letter-spacing:.1em}.post-code-body{padding:1.25rem 1.5rem;overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem;line-height:1.75;color:#d8d6e2;margin:0;tab-size:2}.post-code-body code{font-family:inherit}.post-section-body code,.post-takeaways code,.post-section>ul code{overflow-wrap:anywhere}.post-code-body code{overflow-wrap:normal}.post-takeaways{padding:clamp(1.5rem,3vw,2.25rem);background:var(--ink-1);border:1px solid var(--ink-2);border-top:2px solid var(--indigo);border-radius:10px;margin-top:clamp(3rem,6vw,4.5rem);box-shadow:var(--edge),var(--shadow)}.post-takeaways h2{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--ash);margin-bottom:1.25rem}.post-takeaways ul{list-style:none;display:flex;flex-direction:column;gap:.875rem}.post-takeaways li{display:flex;align-items:flex-start;gap:.875rem}.post-check{color:var(--ok);flex-shrink:0;margin-top:.1rem;font-weight:700}.post-takeaways li span:last-child{min-width:0;font-size:1rem;line-height:1.65;color:var(--bone)}.post-share-bar{margin-top:3rem;padding:1.25rem 0;border-top:1px solid var(--ink-2);border-bottom:1px solid var(--ink-2);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.post-share-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ash)}.post-share-buttons{display:flex;gap:.5rem}.post-share-btn{width:44px;height:44px;border-radius:6px;border:1px solid var(--ink-3);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s var(--ease-out),color .15s var(--ease-out),transform .12s var(--ease-out);color:var(--ash);text-decoration:none}.post-share-btn:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.post-share-btn:hover{border-color:var(--ash);color:var(--bone)}}.post-faq{padding:clamp(3rem,6vw,5rem) 0}.post-faq-heading{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;color:var(--bone);margin-bottom:1.5rem;letter-spacing:-.028em}.post-faq-item{border-bottom:1px solid var(--ink-2)}.post-faq-item:first-child{border-top:1px solid var(--ink-2)}.post-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;min-height:44px;cursor:pointer;list-style:none}.post-faq-item summary::-webkit-details-marker{display:none}.post-faq-item summary h3{font-size:1.0625rem;font-weight:600;color:var(--bone);margin:0;line-height:1.4}.post-faq-item summary svg{flex-shrink:0;color:var(--ash);transition:transform .2s var(--ease-out)}.post-faq-item[open] summary svg{transform:rotate(45deg)}.post-faq-answer{padding:0 0 1.5rem}.post-faq-answer p{font-size:1rem;line-height:1.7;color:#c9c6d4;margin:0}.post-cta{padding:clamp(4rem,8vw,6rem) 0;border-top:1px solid var(--ink-2);background:var(--ink-1)}.post-cta h2{margin-bottom:.875rem}.post-cta p{color:var(--ash);margin-bottom:2rem}.post-related{padding:clamp(4rem,8vw,6rem) 0;border-top:1px solid var(--ink-2)}.post-related h2{margin-bottom:2rem}.post-related-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,32px)}@media(min-width:640px){.post-related-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:640px)and (max-width:979px){.post-related-grid[style*="--n:3"]>:last-child{grid-column:span 2}}@media(min-width:980px){.post-related-grid{grid-template-columns:repeat(var(--n, 2),1fr)}}.post-related-card{display:block;padding:1.75rem;background:var(--ink-1);border:1px solid var(--ink-2);border-radius:10px;text-decoration:none;box-shadow:var(--edge),var(--shadow);transition:border-color .15s var(--ease-out)}@media(hover:hover)and (pointer:fine){.post-related-card:hover{border-color:var(--ink-3)}}.post-related-card-meta{display:flex;align-items:center;gap:12px;margin-bottom:.875rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.post-related-card-meta span:first-child{color:var(--indigo)}.post-related-card-meta span:last-child{color:var(--ash)}.post-related-card strong{display:block;font-size:1.25rem;font-weight:600;color:var(--bone);line-height:1.25;letter-spacing:-.015em;margin-bottom:.5rem}.post-related-card p{font-size:.9375rem;color:var(--ash);line-height:1.6}@media(max-width:480px){.post-section-body .image-placeholder{padding:2rem 1rem}}
