.blog-section{padding-top:1rem;padding-bottom:var(--space-3xl)}.blog-header-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:var(--space-md) 0 var(--space-lg);flex-wrap:wrap}.blog-date{font-size:.75rem;font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-2)}.blog-title{font-family:var(--font-sans);font-size:clamp(2rem,5.5vw,3.25rem);font-weight:var(--fw-heavy);line-height:1.04;letter-spacing:var(--tracking-tighter);color:var(--ink);margin-bottom:var(--space-md);text-wrap:balance;max-width:22ch}.blog-lede{font-size:1.0625rem;line-height:1.6;color:var(--ink-2);max-width:64ch;margin-bottom:var(--space-xl)}@media (min-width:768px){.blog-lede{font-size:1.125rem}}.blog-count{display:flex;align-items:baseline;gap:.5ch;margin-bottom:var(--space-sm);font-size:.75rem}.blog-count-num{font-size:.875rem;font-weight:var(--fw-heavy);color:var(--accent)}.blog-count-label,.blog-count-num{letter-spacing:var(--tracking-label)}.blog-count-label{font-weight:var(--fw-bold);text-transform:uppercase;color:var(--ink-3)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--rule-ink)}.pagination:empty{display:none}.pg-arrow{display:inline-flex;align-items:center;gap:.5ch;padding:.6rem .9rem;font-family:var(--font-sans);font-size:.75rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--rule-ink);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.pg-arrow:hover:not([disabled]){background:var(--ink);color:var(--paper)}.pg-arrow[disabled]{opacity:.35;pointer-events:none}.pg-list{display:flex;gap:2px;list-style:none;margin:0;padding:0}.pg-list,.pg-num{align-items:center}.pg-num{display:inline-flex;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;font-family:var(--font-sans);font-size:.875rem;font-weight:var(--fw-semibold);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-decoration:none;border:1px solid transparent;cursor:pointer;background:none;transition:background .15s,color .15s,border-color .15s}.pg-num:hover{border-color:var(--rule-ink)}.pg-num.active{background:var(--ink);color:var(--paper);border-color:var(--ink);pointer-events:none}.pg-gap{padding:0 .35rem;color:var(--ink-3);font-size:.875rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blog-grid{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--rule)}@media (min-width:640px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-grid .blog-card{padding-left:var(--space-md);padding-right:var(--space-md);border-right:1px solid var(--rule)}.blog-grid .col-first .blog-card{padding-left:0}.blog-grid .col-last .blog-card{border-right:0;padding-right:0}@media (max-width:639px){.blog-grid .blog-card{padding-left:0;padding-right:0;border-right:0}}.filter-bar{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-md) 0;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.filter-label{font-size:.6875rem;font-weight:var(--fw-bold);color:var(--accent);margin-right:var(--space-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);flex-shrink:0}.filter-btn{padding:5px 12px;border:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink-2);font-size:.8125rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.filter-btn:hover{background:var(--paper-2);color:var(--ink);border-color:var(--rule-ink)}.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-mat.active{background:var(--accent);border-color:var(--accent);color:var(--paper)}.blog-article{max-width:82ch;margin-inline:auto;padding:var(--space-md) var(--space-md) var(--space-3xl)}.blog-article .article-header{margin-bottom:var(--space-2xl)}.blog-article .back-link{display:inline-flex;font-size:.6875rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px;margin-bottom:var(--space-lg)}.blog-article .back-link:hover{color:var(--accent-dark);border-bottom-color:var(--accent-dark)}.blog-article .category-badge{margin-bottom:var(--space-sm)}.blog-article .article-title{font-family:var(--font-sans);font-size:clamp(1.875rem,5vw,3rem);font-weight:var(--fw-heavy);line-height:1.04;letter-spacing:var(--tracking-tighter);color:var(--ink);margin:var(--space-sm) 0 var(--space-md);text-wrap:balance}.blog-article .article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5ch;font-size:.8125rem;color:var(--ink-2);padding-bottom:var(--space-md);border-bottom:1px solid var(--rule-ink);margin-bottom:var(--space-lg)}.blog-article .article-meta time{color:var(--ink);font-weight:var(--fw-semibold)}.blog-article .meta-sep{color:var(--ink-3)}.blog-article .article-materials{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.blog-article .material-link{display:inline-flex;align-items:center;gap:.5ch;padding:5px 12px;font-size:.8125rem;font-weight:var(--fw-semibold);background:transparent;border:1px solid var(--rule-ink);color:var(--ink);text-decoration:none;transition:background .15s,color .15s,transform .15s}.blog-article .material-link:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);text-decoration:none;transform:translateY(-1px)}.blog-article .material-icon{font-size:.9rem;line-height:1}.blog-article .material-arrow{font-weight:var(--fw-regular);opacity:.5;transition:transform .15s,opacity .15s}.blog-article .material-link:hover .material-arrow{transform:translateX(3px);opacity:1}.prose h2{font-family:var(--font-sans);font-size:1.5rem;font-weight:var(--fw-heavy);margin-top:var(--space-2xl);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--rule-ink)}.prose h2,.prose h3{letter-spacing:var(--tracking-tight);color:var(--ink)}.prose h3{font-size:1.125rem;font-weight:var(--fw-bold);margin-top:var(--space-xl);margin-bottom:var(--space-xs)}.prose p{font-size:1rem;line-height:1.8;color:var(--ink);margin-bottom:var(--space-md)}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);font-weight:var(--fw-medium)}.prose a:hover{color:var(--accent-dark);-webkit-text-decoration-color:var(--accent-dark);text-decoration-color:var(--accent-dark)}.prose ol,.prose ul{padding-left:var(--space-lg);margin-bottom:var(--space-md);color:var(--ink);line-height:1.8}.prose li{margin-bottom:var(--space-xs)}.prose blockquote{border-left:3px solid var(--accent);padding:var(--space-sm) var(--space-md);margin:var(--space-lg) 0;background:var(--paper-2);border-radius:0;color:var(--ink);font-style:italic;font-size:1.0625rem}.prose blockquote p{margin-bottom:0}.prose table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}.prose td,.prose th{border-bottom:1px solid var(--rule);padding:var(--space-sm) var(--space-md);text-align:left}.prose th{background:transparent;font-weight:var(--fw-bold);font-size:.6875rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule-ink)}.prose strong,.prose td{color:var(--ink)}.prose strong{font-weight:var(--fw-bold)}.prose code{background:var(--paper-2);padding:2px 6px;border-radius:2px;font-size:.875em;color:var(--ink);font-family:ui-monospace,SF Mono,monospace}.prose pre{background:#1C1917;color:#F5F1E6;padding:var(--space-md);border-radius:0;overflow-x:auto;margin:var(--space-md) 0}.prose pre code{background:none;padding:0;color:inherit}.blog-article .article-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--rule-ink)}.blog-article .tags-label{font-size:.6875rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3)}.blog-article .tag{font-family:ui-monospace,SF Mono,monospace;font-size:.75rem;color:var(--ink-2);background:transparent;padding:0;border:0;font-weight:var(--fw-regular)}.blog-article .tag:before{content:"#";color:var(--accent);margin-right:1px}.author-bio{max-width:72ch;margin:var(--space-2xl) auto var(--space-xl);padding:var(--space-lg) var(--space-md);border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule)}.author-eyebrow{display:inline-block;font-size:.6875rem;font-weight:var(--fw-bold,700);letter-spacing:var(--tracking-label,.06em);text-transform:uppercase;color:var(--accent,var(--ink));margin-bottom:var(--space-xs)}.author-name{font-family:var(--font-sans);font-size:1.375rem;font-weight:var(--fw-heavy,800);color:var(--ink);margin:0 0 4px;letter-spacing:var(--tracking-tight,-.01em)}.author-title{font-size:.875rem;color:var(--ink-3);margin:0 0 var(--space-md);font-style:italic}.author-bio-text{font-size:.9375rem;line-height:1.7;color:var(--ink-2);margin:0 0 var(--space-md)}.author-expertise{margin-top:var(--space-md)}.expertise-label{display:block;font-size:.75rem;font-weight:var(--fw-bold,700);text-transform:uppercase;letter-spacing:var(--tracking-label,.06em);color:var(--ink-3);margin-bottom:var(--space-xs)}.expertise-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.expertise-item{font-size:.8125rem;padding:4px 10px;border:1px solid var(--rule-ink);color:var(--ink);background:var(--paper-2,transparent)}.author-cta{margin-top:var(--space-md);font-size:.875rem}.author-cta a{color:var(--accent);font-weight:var(--fw-semibold,600);text-decoration:none;border-bottom:1px solid var(--accent)}.author-cta a:hover{color:var(--accent-dark);border-bottom-color:var(--accent-dark)}.related-posts{max-width:82ch;margin:var(--space-2xl) auto 0;padding:0 var(--space-md)}.related-title{font-family:var(--font-sans);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:var(--fw-heavy);line-height:1.15;letter-spacing:var(--tracking-tight);color:var(--ink);margin:var(--space-sm) 0 var(--space-md)}.related-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}.related-row{border-bottom:1px solid var(--rule)}.related-row:last-child{border-bottom:0}.related-link{display:grid;grid-template-columns:2.5ch 1fr 1.5ch;align-items:start;grid-gap:var(--space-md);gap:var(--space-md);padding:var(--space-md) 0;text-decoration:none;color:inherit;transition:padding .15s,background .15s}.related-link:hover{background:linear-gradient(to right,var(--paper-2) 0,transparent 60%);padding-left:var(--space-md);padding-right:var(--space-md);text-decoration:none}.related-rank{font-size:.6875rem;font-weight:var(--fw-bold);color:var(--ink-3);letter-spacing:var(--tracking-label);padding-top:3px}.related-body{display:flex;flex-direction:column;gap:4px;min-width:0}.related-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:.75rem;color:var(--ink-2)}.related-meta time{color:var(--ink-2);font-weight:var(--fw-medium)}.related-badge{display:inline-flex;align-items:center;gap:.5ch;font-size:.625rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);padding:2px 6px;border:1px solid var(--accent)}.related-heading{font-family:var(--font-sans);font-size:1rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-link:hover .related-heading{color:var(--accent)}.related-excerpt{font-size:.8125rem;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-arrow{font-size:1rem;color:var(--ink-3);padding-top:2px;transition:color .15s,transform .15s}.related-link:hover .related-arrow{color:var(--accent);transform:translateX(4px)}.blog-tools{max-width:82ch;margin:var(--space-2xl) auto 0;padding:0 var(--space-md) var(--space-2xl)}.blog-tools-title{font-family:var(--font-sans);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:var(--fw-heavy);line-height:1.15;letter-spacing:var(--tracking-tight);color:var(--ink);margin:var(--space-sm) 0 var(--space-md)}.blog-tools-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}.blog-tools-row{border-bottom:1px solid var(--rule)}.blog-tools-row:last-child{border-bottom:0}.blog-tools-link{display:grid;grid-template-columns:2.5ch 1.75rem 1fr 1.5ch;align-items:center;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-md) 0;text-decoration:none;color:inherit;transition:padding .15s,background .15s}.blog-tools-link:hover{background:linear-gradient(to right,var(--paper-2) 0,transparent 60%);padding-left:var(--space-md);padding-right:var(--space-md);text-decoration:none}.blog-tools-rank{font-size:.6875rem;font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);color:var(--ink-3)}.blog-tools-icon{font-size:1.125rem;line-height:1}.blog-tools-body{display:flex;flex-direction:column;gap:2px;min-width:0}.blog-tools-label{font-size:.9375rem;font-weight:var(--fw-bold);color:var(--ink);letter-spacing:var(--tracking-tight)}.blog-tools-desc{font-size:.75rem;color:var(--ink-2);line-height:1.4}.blog-tools-arrow{font-size:1rem;color:var(--ink-3);transition:color .15s,transform .15s}.blog-tools-link:hover .blog-tools-arrow{color:var(--accent);transform:translateX(4px)}.blog-empty{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;color:var(--color-text-secondary)}.blog-empty p{margin:0 0 var(--space-sm);line-height:1.6}.blog-empty p:last-child{margin-bottom:0}.blog-empty a{color:var(--color-primary);text-decoration:underline}