/* Blog archive; only its opening trio follows the homepage editorial block. */
:root:root .blog-library .blog-intro-heading{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin-bottom:15px;max-width:620px}
.blog-library .library-lead{font-size:18px;line-height:1.6}
.blog-library .library-intro-copy{min-width:0}
.blog-archive{padding-bottom:50px}
.blog-spread+.blog-spread{border-top:1px solid var(--line);padding-top:38px;margin-top:38px}
.blog-front{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:36px}
.blog-story{min-width:0;display:flex;flex-direction:column}
.blog-story .library-image{width:100%;box-shadow:0 3px 12px rgba(36,40,32,.10),0 1px 3px rgba(36,40,32,.06)}
.blog-story .library-image img{display:block;width:100%;height:auto;aspect-ratio:var(--content-image-ratio);object-fit:contain}
.blog-story .library-copy{padding-top:18px;display:flex;flex-direction:column;flex:1}
.blog-story .library-meta{margin-bottom:12px;font-size:13px;justify-content:flex-start}
.blog-story .library-meta time{border:1px solid var(--line);border-radius:6px;padding:3px 7px}
:root .blog-library .blog-story h3{font-size:29px;line-height:1.18;letter-spacing:-.025em;text-wrap:pretty}
.blog-story h3 a{color:var(--ink)}
.blog-story h3 a:hover{color:var(--orange)}
:root:root .blog-library .blog-story .library-copy>p{font-size:17px;line-height:1.6;margin-top:13px;color:var(--muted)}
.blog-story .library-tags{margin-top:18px;gap:7px}
:root .blog-library .blog-story--lead h3{font-size:37px;line-height:1.12;max-width:740px}
.blog-story--lead .library-copy>p{max-width:700px}
.blog-side{border-left:1px solid var(--line);padding-left:30px;display:flex;flex-direction:column;gap:26px;min-width:0}
.blog-side .blog-story+.blog-story{border-top:1px solid var(--line);padding-top:26px}
.blog-story--compact .library-image{width:55%;max-width:190px}
:root .blog-library .blog-story--compact h3{font-size:23px;line-height:1.22}
.blog-story--compact .library-copy{padding-top:14px}
.blog-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;border-top:1px solid var(--line);margin-top:32px;padding-top:32px}
.blog-pair .blog-story+.blog-story{border-left:1px solid var(--line);padding-left:36px}
.blog-pair .library-tags{margin-top:auto;padding-top:18px}
.blog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.blog-results .blog-story{padding-bottom:30px;border-bottom:1px solid var(--line)}
[data-theme="dark"] .blog-story .library-image{box-shadow:none}
/* Opening: reuse the homepage #articles proportions and image placement. */
.blog-opening{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:42px}
:root .blog-library .blog-opening .blog-story h3{font-size:22px;line-height:1.35}
.blog-opening .blog-story--lead .library-tags{margin-top:auto;padding-top:17px}
.blog-opening .blog-side{padding-left:32px;justify-content:space-between;gap:30px}
.blog-opening .blog-story--compact{display:flow-root}
.blog-opening .blog-story--compact .library-image{float:right;width:145px;max-width:none;margin:0 0 12px 20px}
.blog-opening .blog-story--compact .library-copy{display:block;padding:0}
.blog-opening .blog-story--compact .library-meta{margin-top:0;display:block}
.blog-opening .blog-story--compact .library-tags{clear:both}
.blog-library .library-pagination{flex-wrap:wrap}
.blog-library .library-pagination>div{flex-wrap:wrap;max-width:100%}
@media(max-width:1000px){
 .blog-front{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px}
 .blog-side{padding-left:24px}:root .blog-library .blog-story--lead h3{font-size:31px}
 .blog-pair{gap:26px}.blog-pair .blog-story+.blog-story{padding-left:26px}
 .blog-story--compact .library-image{width:65%}
 .blog-opening{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
 .blog-opening .blog-side{padding-left:24px}
 .blog-opening .blog-story--compact .library-image{width:120px;margin-left:16px}
}
@media(max-width:900px){.blog-opening{grid-template-columns:1fr}.blog-opening .blog-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px}.blog-opening .blog-story--lead .library-tags{margin-top:18px;padding-top:0}}
@media(max-width:720px){
 .blog-front,.blog-pair,.blog-results{grid-template-columns:1fr;gap:28px}
 .blog-side{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;gap:28px}
 .blog-side .blog-story+.blog-story{padding-top:28px}
 .blog-story--compact .library-image{width:100%;max-width:none}
 .blog-opening .blog-story--compact .library-image{float:none;width:100%;margin:0 0 20px}
 :root .blog-library .blog-story h3,:root .blog-library .blog-story--compact h3{font-size:26px;line-height:1.2}
 :root .blog-library .blog-story--lead h3{font-size:30px}
 .blog-pair .blog-story+.blog-story{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
 .blog-spread+.blog-spread{margin-top:28px;padding-top:28px}
}

/* Cards after the opening use the Articles archive column rhythm. */
.blog-grid,.blog-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:40px 44px}
.blog-opening+.blog-grid{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}
.blog-grid .blog-story,.blog-results .blog-story{padding-bottom:25px;border-bottom:1px solid var(--line)}
:root .blog-library .blog-grid .blog-story h3,:root .blog-library .blog-results .blog-story h3{font-size:23px;line-height:1.25}
.blog-grid .library-tags,.blog-results .library-tags{margin-top:auto;padding-top:18px}
@media(max-width:1000px){.blog-grid,.blog-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 30px}}
@media(max-width:720px){
 .blog-grid,.blog-results{grid-template-columns:1fr;grid-auto-rows:auto;gap:28px}
 :root .blog-library .blog-grid .blog-story h3,:root .blog-library .blog-results .blog-story h3{font-size:24px;line-height:1.25}
}

.blog-opening-label{margin-bottom:20px}

/* Pagination owns the continuous separator; final-row cards add no duplicate segments. */
@media(min-width:1001px){
 :is(.blog-grid,.blog-results)>.blog-story:nth-child(3n+1):nth-last-child(-n+3),
 :is(.blog-grid,.blog-results)>.blog-story:nth-child(3n+1):nth-last-child(-n+3)~.blog-story{border-bottom:0}
}
@media(min-width:721px) and (max-width:1000px){
 :is(.blog-grid,.blog-results)>.blog-story:nth-child(2n+1):nth-last-child(-n+2),
 :is(.blog-grid,.blog-results)>.blog-story:nth-child(2n+1):nth-last-child(-n+2)~.blog-story{border-bottom:0}
}
@media(max-width:720px){:is(.blog-grid,.blog-results)>.blog-story:last-child{border-bottom:0}}
