.blog-index{padding-bottom:clamp(56px,8vw,104px)}.blog-masthead{text-align:center;padding:clamp(48px,8vw,96px) 0 clamp(36px,6vw,64px)}.blog-masthead h1{letter-spacing:-.075em;text-wrap:balance;margin:0;font-size:clamp(56px,11vw,112px);font-weight:700;line-height:1}.blog-masthead h1 span{color:var(--accent)}.blog-masthead p{max-width:32rem;color:var(--muted);text-wrap:balance;margin:16px auto 0;font-size:clamp(17px,2vw,20px);line-height:1.5}.blog-posts{gap:24px;margin:0;padding:0;list-style:none;display:grid}.blog-post-link{background:var(--card);color:var(--fg);border-radius:24px;text-decoration:none;display:grid;overflow:hidden}.blog-post-link img{align-self:center;width:100%;height:auto;display:block}.blog-post-details{overflow-wrap:anywhere;align-self:center;padding:clamp(22px,4vw,44px)}.blog-post-details h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(25px,3.2vw,38px);line-height:1.12}.blog-post-link:hover h2{color:var(--accent-text)}.blog-post-details p{margin:12px 0 18px;font-size:16px;line-height:1.55}.blog-post-details time,.blog-byline{color:var(--muted);font-size:14px}.blog-empty{text-align:center;color:var(--muted)}.blog-rss{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 24px;margin-top:28px;padding-top:12px;display:flex}.blog-rss p{margin:10px 0 0}.blog-rss a,.blog-back{min-height:44px;color:var(--accent-text);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.blog-rss a:hover,.blog-back:hover{text-decoration:underline}.blog-index a:focus-visible,.blog-article a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.blog-article{--article-width:42rem;max-width:1192px;padding-top:clamp(20px,5vw,56px);padding-bottom:clamp(56px,8vw,96px)}.blog-article-head,.blog-prose{width:100%;max-width:var(--article-width);overflow-wrap:anywhere;min-width:0;margin-inline:auto}.blog-article-head h1{letter-spacing:-.055em;text-wrap:balance;margin:8px 0 16px;font-size:clamp(35px,5.5vw,64px);line-height:1.05}.blog-dek{color:var(--muted);margin:0;font-size:clamp(18px,2.2vw,22px);line-height:1.5}.blog-byline{margin:20px 0 24px;line-height:1.5}.blog-byline span{margin-inline:4px}.blog-hero{border-radius:clamp(16px,2vw,24px);width:100%;max-width:960px;height:auto;margin-inline:auto;display:block}.blog-article-grid{margin-top:clamp(28px,5vw,48px)}.blog-toc{display:none}.blog-prose{font-size:clamp(16px,1.4vw + 7px,18px);line-height:1.7}.blog-prose h2,.blog-prose h3{letter-spacing:-.03em;text-wrap:balance;margin:1.6em 0 .4em;scroll-margin-top:76px;line-height:1.2}.blog-prose h2{font-size:clamp(24px,3.4vw,34px)}.blog-prose p,.blog-prose ul{margin:0 0 1em}.blog-prose ul{padding-left:1.25em}.blog-prose li+li{margin-top:.4em}.blog-prose a{color:var(--accent-text);text-underline-offset:.15em}.blog-prose a:hover{text-decoration-thickness:2px}.blog-short-version{background:#e9f1fc;border-radius:20px;margin-bottom:32px;padding:clamp(20px,4vw,32px)}.blog-short-version h2{margin:0 0 10px;font-size:22px}.blog-short-version ul{margin:0}.blog-prose pre{white-space:pre-wrap;border-radius:14px;margin:20px 0;padding:16px;font-size:14px;line-height:1.6}.blog-prose code{font-size:.88em}.blog-prose pre code{font-size:inherit}.blog-prose figure{margin:28px 0}.blog-prose figure img{border-radius:18px;width:min(100%,280px);height:auto;margin-inline:auto;display:block}.blog-prose figcaption{text-align:center;color:var(--muted);margin-top:10px;font-size:14px;line-height:1.5}.blog-prose .blog-note{color:var(--muted);margin-top:32px;font-size:14px}.blog-cta{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.blog-cta p{margin-bottom:10px;font-weight:600}.blog-prose .blog-cta a{color:#fff}.blog-prose .blog-cta a:hover{background:var(--accent-text)}@media (width>=900px){.blog-post-link{grid-template-columns:54% minmax(0,1fr)}.blog-post-link img{object-fit:cover;height:100%}.blog-rss p{margin:0}}@media (width>=1060px){.blog-article-grid{grid-template-columns:minmax(0, 1fr) minmax(0, var(--article-width)) minmax(0, 1fr);gap:28px;display:grid}.blog-prose{grid-column:2}.blog-toc{grid-column:1;place-self:start end;max-width:176px;font-size:14px;line-height:1.4;display:block;position:sticky;top:84px}.blog-toc p{margin:0 0 8px;font-weight:650}.blog-toc ul{margin:0;padding:0;list-style:none}.blog-toc a{min-height:44px;color:var(--muted);align-items:center;text-decoration:none;display:flex}.blog-toc a:hover{color:var(--accent-text);text-decoration:underline}}
