/* Blog pages (/blog/): article index and articles. Uses the site tokens from site.css. */
.bhdr{position:sticky;top:0;z-index:50;background:rgba(252,251,248,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bhdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.bhdr nav{display:flex;align-items:center;gap:24px}
.bhdr nav .nl{font-size:.88rem;font-weight:500;color:var(--ink-2);text-decoration:none}
.bhdr nav .nl:hover,.bhdr nav .nl[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
@media (max-width:720px){.bhdr .wrap{height:64px}.bhdr nav{gap:14px}.bhdr nav .nl.hide-s{display:none}.bhdr .brand-sub{display:none}}

.blog-main{padding:72px var(--gut) 112px;max-width:760px;margin:0 auto}
.blog-main .kicker{margin-bottom:14px}
.blog-main h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 18px;color:var(--ink)}
.byline{color:var(--ink-2);font-size:1rem;margin:0 0 6px}
.meta{color:var(--ink-3);font-size:.9rem;margin:0 0 44px}
.article .meta{margin-bottom:28px}
.hero-img{margin:0 0 44px}
.hero-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--line)}
@media (max-width:720px){.hero-img{margin:0 calc(var(--gut)*-1) 36px}}
.article h2{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.2;margin:48px 0 14px;color:var(--ink)}
.article p{font-size:1.08rem;line-height:1.75;color:var(--ink-2);margin:0 0 18px}
.article .lead{font-size:1.2rem;line-height:1.65;color:var(--ink)}
.pull{margin:44px 0;padding:6px 0 6px 26px;border-left:3px solid var(--eq)}
.pull p{font-family:var(--serif);font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.3;color:var(--ink);margin:0}
.prog-card{margin:48px 0;padding:28px 30px;background:var(--eq-tint);border-left:4px solid var(--eq)}
.prog-card .kicker{color:var(--eq-ink)}
.prog-card h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.25;margin:4px 0 12px;color:var(--ink)}
.prog-card p{font-size:1rem;line-height:1.6;color:var(--ink-2);margin:0 0 18px}
.prog-card .cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.authors{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.authors h2{margin-top:0}
.authors h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;margin:24px 0 8px;color:var(--ink)}
.authors p{font-size:1rem;line-height:1.7}
footer.blog-foot{background:transparent;border-top:1px solid var(--line);padding:32px var(--gut) 48px;max-width:760px;margin:0 auto;color:var(--ink-3);font-size:.9rem}
footer.blog-foot p{color:var(--ink-3);margin:0 0 8px}
.blog-foot img{height:30px;width:auto;display:block;margin:0 0 12px}
.blog-foot a{color:inherit}

/* index */
.post-list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.post-list li{border-bottom:1px solid var(--line);padding:30px 0}
.post-list .meta{margin:0 0 8px}
.post-list h2{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.2;margin:0 0 10px}
.post-list h2 a{color:var(--ink);text-decoration:none}
.post-list h2 a:hover{text-decoration:underline;text-underline-offset:6px}
.post-list p{color:var(--ink-2);line-height:1.65;margin:0 0 12px}
