.blog-page .site-header nav {flex-wrap:wrap; gap:12px 28px;}
.blog-page .site-header a[aria-current="page"] {color:var(--rust);}
.blog-intro {display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:64px; align-items:center; padding:64px 0; border-bottom:1px solid var(--rule);}
.blog-intro h1 {font-size:clamp(3.5rem,7vw,6rem); line-height:1.04; margin:18px 0 24px; max-width:12ch;}
.blog-intro h1 em {font-style:normal; color:var(--rust);}
.blog-intro .blog-description {max-width:580px; font-size:1.1875rem;}
.blog-portrait img {width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 27%;}
.blog-portrait figcaption {font-size:.875rem; margin-top:12px; color:var(--muted);}
.blog-eyebrow {color:var(--rust); font-size:.875rem; font-weight:500; letter-spacing:.04em;}
.blog-index {padding:52px 0 80px;}
.blog-index>h2 {font-size:1rem; margin-bottom:30px;}
.post-preview {display:grid; grid-template-columns:180px minmax(0,1fr); gap:44px; padding:32px 0; border-top:1px solid var(--ink);}
.post-meta {display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.875rem; color:var(--muted);}
.post-preview>.post-meta {display:block;}
.post-preview>.post-meta span {display:block; margin-top:8px;}
.post-preview h3 {font-family:var(--display); font-size:clamp(2.25rem,4.2vw,3.5rem); font-weight:400; max-width:20ch; margin-bottom:20px;}
.post-preview h3 a:hover {color:var(--rust);}
.post-preview p {max-width:640px; margin-bottom:22px;}
.blog-footer {border-top:1px solid var(--rule); padding:28px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:.875rem;}
.blog-footer a {text-decoration:underline; text-underline-offset:5px;}
.article-header {max-width:850px; padding:42px 0 48px;}
.article-back {display:inline-flex; align-items:center; min-height:44px; font-size:.9375rem; margin-bottom:30px; color:var(--muted);}
.article-back:hover {color:var(--rust);}
.article-header h1 {font-size:clamp(3rem,6.5vw,5.5rem); line-height:1.06; margin:18px 0 24px;}
.article-deck {font-size:1.25rem; max-width:650px; margin-bottom:28px;}
.article-layout {display:grid; grid-template-columns:200px minmax(0,720px); gap:64px; padding:44px 0 80px; border-top:1px solid var(--rule); align-items:start;}
.article-author {font-size:.9375rem;}
.article-author img {width:80px; height:96px; object-fit:cover; object-position:50% 25%; margin-bottom:16px;}
.article-author p+p {font-size:.875rem; color:var(--muted); margin-top:6px;}
.article-author a {display:inline-flex; min-height:44px; align-items:center; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; margin-top:12px;}
.article-body {min-width:0; font-size:1.125rem; line-height:1.8; overflow-wrap:break-word;}
.article-body p+p {margin-top:20px;}
.article-body a {text-decoration:underline; text-underline-offset:4px;}
.article-body a:hover {color:var(--rust);}
.article-body table {width:100%; table-layout:fixed; border-collapse:collapse; margin:24px 0; font-size:1rem; line-height:1.6;}
.article-body caption {text-align:left; font-weight:500; margin-bottom:12px;}
.article-body th,.article-body td {text-align:left; vertical-align:top; padding:12px; border-bottom:1px solid var(--rule); overflow-wrap:anywhere;}
.article-body th {font-weight:500;}
.article-body thead {background:var(--soft);}
.article-body th:first-child {width:35%;}
.article-body h2 {font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; margin:44px 0 18px;}
.article-body h2:first-child {margin-top:0;}
.article-body blockquote {margin:24px 0; padding:22px 26px; border-left:3px solid var(--rust); background:var(--soft); font-size:1.0625rem; line-height:1.75;}
.article-body blockquote p+p {margin-top:16px;}
.article-body .prompt-example {margin:20px 0; padding:14px 0 14px 20px; border-left:2px solid var(--rule);}
.article-body .try-it {border-top:1px solid var(--rust); border-bottom:1px solid var(--rust); padding:26px 0; margin-top:44px;}
.article-body .try-it h2 {margin-top:0;}
.article-body .closing {font-family:var(--display); font-size:2rem; margin-top:32px;}
.gpu-lab-article .article-body code {font-size:.875em; overflow-wrap:anywhere;}
.gpu-lab-article .article-body pre {max-width:100%; overflow-x:auto; margin:24px 0; padding:20px; background:var(--soft); border:1px solid var(--rule); font-size:1rem; line-height:1.6;}
.gpu-lab-article .article-body pre code {white-space:pre; overflow-wrap:normal;}
.gpu-lab-article .lab-diagram {margin:28px 0; padding:20px; border:1px solid var(--rule);}
.gpu-lab-article .lab-diagram figcaption {font-weight:500; margin-bottom:18px;}
.gpu-lab-article .lab-diagram ol {padding-left:24px;}
.gpu-lab-article .lab-diagram li {padding:12px; margin-bottom:12px; background:var(--soft); border-left:3px solid var(--rust);}
.gpu-lab-article .lab-diagram span {display:block; font-size:1rem;}
.gpu-lab-article .lab-diagram p {font-size:1rem; margin-top:18px;}
@media(max-width:991px) {
 .blog-intro {grid-template-columns:minmax(0,1fr) 180px; gap:36px;}
 .article-layout {grid-template-columns:150px minmax(0,1fr); gap:36px;}
 .post-preview {grid-template-columns:150px minmax(0,1fr); gap:32px;}
}
@media(max-width:639px) {
 .blog-page .site-header {align-items:flex-start; flex-direction:column; gap:4px; padding:14px 0;}
 .blog-page .site-header nav {gap:8px 24px; font-size:.9375rem;}
 .blog-intro {grid-template-columns:1fr; gap:28px; padding:36px 0;}
 .blog-intro h1 {font-size:clamp(3rem,12vw,4.5rem); max-width:12ch;}
 .blog-portrait {display:flex; gap:18px; align-items:center;}
 .blog-portrait img {width:84px; height:100px; flex-shrink:0;}
 .blog-portrait figcaption {margin-top:0;}
 .blog-index {padding:36px 0 48px;}
 .post-preview {grid-template-columns:1fr; gap:20px;}
 .post-preview>.post-meta {display:flex;}
 .post-preview>.post-meta span {margin-top:0;}
 .article-header {padding:24px 0 32px;}
 .article-back {margin-bottom:20px;}
 .article-header h1 {font-size:clamp(2.75rem,11vw,4rem);}
 .article-layout {grid-template-columns:1fr; gap:32px; padding:28px 0 48px;}
 .article-author {display:grid; grid-template-columns:56px 1fr; column-gap:16px; align-items:center;}
 .article-author img {width:56px; height:68px; grid-row:1/3; margin:0;}
 .article-author a {display:none;}
 .article-body blockquote {padding:20px;}
}
@media(prefers-reduced-motion:reduce) {.blog-page * {scroll-behavior:auto;}}
