/* The blog (/blog/), on top of site.css and shop.css. */
.blog { max-width: 720px; margin: 0 auto; padding: 120px 22px 90px; }
.blog h1 { font-size: clamp(36px, 6vw, 56px); margin-bottom: 14px; }
.blog .lede { font-size: 21px; color: var(--muted); margin: 0 0 36px; }
.blog-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 18px; }
.blog-list a { display: block; padding: 24px 26px; border-radius: 22px; background: var(--card); box-shadow: var(--shadow); transition: transform .3s var(--ease); }
.blog-list a:hover { transform: translateY(-2px); }
.blog-list h2 { font-size: 26px; margin-bottom: 8px; }
.blog-list p { margin: 0; color: var(--muted); }
.blog-list time, .post-meta { font-size: 14px; color: var(--muted); }
.post h1 { line-height: 1.08; }
.post-meta { margin: 0 0 30px; }
.post h2 { font-size: 30px; margin: 44px 0 12px; }
.post h3 { font-size: 22px; margin: 30px 0 8px; }
.post p, .post li { font-size: 19px; line-height: 1.6; }
.post a { text-decoration: underline; text-underline-offset: 3px; }
.post ul, .post ol { padding-left: 22px; }
.post li { margin: 8px 0; }
.post-cta { margin: 48px 0 0; padding: 28px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); text-align: center; }
.post-cta p { margin: 0 0 16px; }
.post-cta a { display: inline-block; padding: 12px 26px; border-radius: 999px; background: var(--grad); color: #fff; font-weight: 700; text-decoration: none; }
.post-more { margin-top: 40px; font-size: 16px; color: var(--muted); }
