/* Blog styles — reuses site CSS variables from styles.css */
.container.narrow{max-width:760px}
.blogpost{padding:38px 0 8px}
.blogpost .crumbs{margin-bottom:16px}
.blogpost h1{font-family:var(--display,Oswald),sans-serif;font-size:clamp(30px,4.5vw,46px);line-height:1.08;letter-spacing:-0.01em;margin:6px 0 10px}
.blogpost .post-meta{color:var(--mute,#6b6257);font-size:14px;margin-bottom:26px;font-family:var(--mono,'JetBrains Mono'),monospace}
.blogpost .lede{font-size:20px;line-height:1.6;color:var(--ink,#14110d);margin:0 0 30px}
.blogpost h2{font-family:var(--display,Oswald),sans-serif;font-size:26px;line-height:1.2;margin:38px 0 12px;letter-spacing:-0.01em}
.blogpost p{font-size:17.5px;line-height:1.75;margin:0 0 16px;color:#2c271f}
.blogpost ul,.blogpost ol{font-size:17.5px;line-height:1.7;margin:0 0 20px;padding-left:22px}
.blogpost li{margin:0 0 10px}
.blogpost .faq{margin:8px 0 10px;border-top:1px solid var(--line,#e7e0d3)}
.blogpost .faq details{border-bottom:1px solid var(--line,#e7e0d3);padding:14px 0}
.blogpost .faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none}
.blogpost .faq summary::-webkit-details-marker{display:none}
.blogpost .faq summary:before{content:"+ ";color:var(--red,#c8452f);font-weight:700}
.blogpost .faq details[open] summary:before{content:"– "}
.blogpost .faq p{margin:10px 0 2px;color:#4a4338}
.blogpost .bottom-line{margin-top:30px;padding:22px 24px;background:var(--paper-2,#f3ede1);border-left:4px solid var(--red,#c8452f);border-radius:8px}
.blogpost .bottom-line h2{margin-top:0}
/* index */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}
.post-card{display:block;padding:26px;border:1px solid var(--line,#e7e0d3);border-radius:14px;background:var(--paper,#fbf7ef);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,17,13,.08);border-color:var(--navy,#1f6f8b)}
.post-card-cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red,#c8452f);margin-bottom:10px}
.post-card h2{font-family:var(--display,Oswald),sans-serif;font-size:22px;line-height:1.2;margin:0 0 10px}
.post-card p{color:var(--mute,#6b6257);font-size:15px;line-height:1.6;margin:0 0 16px}
.post-card-meta{font-size:13px;color:var(--mute,#6b6257);display:flex;justify-content:space-between;align-items:center}
.post-card .more{color:var(--navy,#1f6f8b);font-weight:600}
.more-soon{margin-top:26px;color:var(--mute,#6b6257);font-style:italic}