


/* === BLOG LAYOUT (added by scaffold_blogs_v2.py) ============================ */
/* Blog inherits all of the site's :root vars, body font, and h1/h2/p baselines. */
/* These classes add layout only — colour comes from the site's accent var.     */
.blog-wrap{max-width:46rem;margin:0 auto;padding:3.5rem 2rem 4rem;}
.blog-back{font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;font-weight:600;display:inline-block;margin-bottom:2rem;}
.blog-back:hover{text-decoration:underline;text-underline-offset:4px;}
.blog-kicker{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink);font-weight:600;}
.blog-h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05;margin:0.6rem 0 1rem;letter-spacing:-0.02em;}
.blog-h1 em{color:var(--ink);}
.blog-intro{font-size:1.15rem;opacity:0.78;margin:0 0 2.5rem;max-width:34rem;}
.blog-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0 0 3rem;padding:1.5rem 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-color:rgba(0,0,0,0.12);}
.blog-pillar h3{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink);margin:0 0 0.3rem;font-weight:600;}
.blog-pillar p{font-size:13.5px;line-height:1.5;margin:0;opacity:0.78;}
.blog-list{margin:0;padding:0;list-style:none;}
.blog-post{padding:1.6rem 0;border-bottom:1px solid rgba(0,0,0,0.12);}
.blog-post:last-child{border-bottom:none;}
.blog-post .blog-meta{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.55;}
.blog-post .blog-meta em{color:var(--ink);font-style:normal;font-weight:600;}
.blog-post h2{font-size:1.7rem;line-height:1.2;letter-spacing:-0.015em;margin:0.3rem 0 0.4rem;}
.blog-post h2 a{color:inherit;text-decoration:none;}
.blog-post h2 a:hover{color:var(--ink);}
.blog-post .blog-deck{margin:0;opacity:0.7;font-size:1rem;}
.blog-post.coming h2{opacity:0.6;}
.blog-subscribe{margin-top:3rem;padding:2rem;text-align:center;border:1px solid rgba(0,0,0,0.16);}
.blog-subscribe h3{font-size:1.3rem;margin:0 0 0.4rem;}
.blog-subscribe h3 em{color:var(--ink);}
.blog-subscribe form{display:inline-flex;gap:0.4rem;margin-top:0.6rem;flex-wrap:wrap;justify-content:center;}
.blog-subscribe input{padding:0.6rem 0.9rem;border:1px solid rgba(0,0,0,0.2);background:transparent;color:inherit;font:inherit;min-width:14rem;}
.blog-subscribe button{padding:0.6rem 1rem;border:none;background:var(--ink);color:#fff;font:inherit;font-weight:600;cursor:pointer;letter-spacing:0.04em;}
@media(max-width:700px){.blog-pillars{grid-template-columns:1fr;}}

/* Article layout for individual posts at /blog/<slug>/ */
.blog-article{max-width:38rem;margin:0 auto;padding:3rem 2rem 4rem;}
.blog-article .post-meta{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;opacity:0.55;margin:0 0 0.6rem;}
.blog-article .post-meta em{color:var(--ink);font-style:normal;font-weight:600;}
.blog-article h1{font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.1;letter-spacing:-0.02em;margin:0 0 1rem;max-width:none;}
.blog-article h1 em{color:var(--ink);}
.blog-article .post-deck{font-size:1.2rem;opacity:0.8;margin:0 0 2.5rem;line-height:1.5;font-style:italic;}
.blog-article .post-body{font-size:1.08rem;line-height:1.75;}
.blog-article .post-body p{margin:0 0 1.2rem;}
.blog-article .post-body h2{font-size:1.6rem;margin:2.5rem 0 0.8rem;letter-spacing:-0.015em;}
.blog-article .post-body h2 em{color:var(--ink);}
.blog-article .post-body h3{font-size:1.25rem;margin:2rem 0 0.6rem;}
.blog-article .post-body blockquote{margin:1.2rem 0;padding:0.8rem 1.2rem;border-left:3px solid var(--ink);font-style:italic;opacity:0.85;}
.blog-article .post-body code{font-family:ui-monospace,monospace;font-size:0.92em;padding:0.1em 0.3em;background:rgba(0,0,0,0.06);border-radius:3px;}
.blog-article .post-body pre{padding:1rem;border-radius:6px;overflow:auto;font-size:0.88em;line-height:1.55;background:rgba(0,0,0,0.85);color:#F8F4EE;}
.blog-article .post-body pre code{background:none;padding:0;}
.blog-article .post-body ul,.blog-article .post-body ol{padding-left:1.4rem;margin:0 0 1.2rem;}
.blog-article .post-body li{margin:0.4rem 0;}
.blog-article .post-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.blog-article .post-cta{margin-top:3rem;padding:1.6rem;border:1px solid var(--ink);text-align:center;}
.blog-article .post-cta h3{margin:0 0 0.4rem;font-size:1.3rem;}
.blog-article .post-cta a.cta-btn{display:inline-block;margin-top:0.6rem;padding:0.7rem 1.4rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;letter-spacing:0.04em;font-size:14px;}
.blog-article .post-nav{margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,0.12);display:flex;justify-content:space-between;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;}
.blog-article .post-nav a{color:inherit;text-decoration:none;opacity:0.7;}
.blog-article .post-nav a:hover{opacity:1;color:var(--ink);}
