.blog-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}@media (max-width:1024px){.blog-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){.blog-grid{grid-template-columns:1fr}}.blog-grid .article-card p{-webkit-line-clamp:3;margin:0 0 18px;font-size:14.5px}.article-card .read{color:var(--sage-dark);letter-spacing:.04em;align-items:center;gap:8px;margin-top:auto;font-size:13px;font-weight:600;display:inline-flex}.article-card .read .arr,.article-card .read span:last-child{transition:transform .28s var(--ease)}.article-card:hover .read .arr,.article-card:hover .read span:last-child{transform:translate(4px)}.blog-header{padding:24px 0 0}.blog-header .meta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.blog-header .cat{background:var(--sage-tint);color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.blog-header .date,.blog-header .time{color:var(--ink-mute);font-size:13px}.blog-header h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0 0 20px;font-size:clamp(32px,4.2vw,52px);font-weight:400;line-height:1.1}.blog-header .excerpt{color:var(--ink-soft);max-width:64ch;margin:0 0 28px;font-size:18px;line-height:1.7}.blog-header .byline{border-top:1px solid var(--line-soft);align-items:center;gap:14px;padding-top:24px;display:flex}.blog-header .avatar{background:linear-gradient(135deg,var(--sage),var(--sage-dark));color:#fff;width:44px;height:44px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-style:italic;display:inline-flex}.blog-header .author-name{color:var(--ink);font-size:15px;font-weight:600}.blog-header .author-title{color:var(--ink-mute);font-size:13px}.blog-header .byline-medium{color:var(--ink-mute);text-underline-offset:2px;transition:color .2s var(--ease);margin-left:auto;font-size:13px;text-decoration:underline}.blog-header .byline-medium:hover{color:var(--ink)}.blog-cover{border-radius:var(--r-xl);aspect-ratio:16/9;background:var(--bg-cream);margin:40px 0;position:relative;overflow:hidden}.blog-cover img{object-fit:cover;width:100%;height:100%}.prose{max-width:720px;margin:0 auto}.prose h2{font-family:var(--font-display);color:var(--ink);margin:48px 0 18px;font-size:28px;font-weight:500;line-height:1.2}.prose h3{font-family:var(--font-display);color:var(--ink);margin:36px 0 14px;font-size:22px;font-weight:500}.prose p{color:var(--ink-soft);margin:0 0 20px;font-size:17px;line-height:1.75}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--sage-dark);text-underline-offset:2px;transition:color .15s var(--ease);text-decoration:underline}.prose a:hover{color:var(--ink)}.prose blockquote{background:var(--bg-warm);border-left:3px solid var(--sage);border-radius:0 var(--r-md)var(--r-md)0;font-family:var(--font-display);color:var(--ink);margin:32px 0;padding:24px 28px;font-size:19px;font-style:italic;line-height:1.55}.prose blockquote p{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit;margin:0}.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}.prose ul{list-style-type:disc}.prose ol{list-style-type:decimal}.prose li{color:var(--ink-soft);margin-bottom:8px;font-size:16px;line-height:1.7}.prose li>ul,.prose li>ol{margin-top:8px;margin-bottom:8px}.prose hr{border:none;border-top:1px solid var(--line-soft);margin:40px 0}.prose code{font-family:var(--font-mono,"Geist Mono",monospace);background:var(--bg-warm);border-radius:6px;padding:.15em .45em;font-size:.9em}.prose pre{background:var(--bg-dark);color:var(--bg);border-radius:var(--r-md);margin:24px 0;padding:20px 22px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.related-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:1024px){.related-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){.related-grid{grid-template-columns:1fr}}.blog-toc-float{display:none}@media (min-width:1440px){.blog-toc-float{z-index:20;scrollbar-width:none;width:220px;max-height:calc(100vh - 200px);display:block;position:fixed;top:160px;right:32px;overflow-y:auto}.blog-toc-float::-webkit-scrollbar{display:none}}
