.blog-page .blog-intro { padding-block: 32px 42px; }
.blog-article .blog-intro { max-width: 920px; }
.blog-page h1 { font-size: clamp(34px,4.5vw,56px); line-height:1.15; letter-spacing:-1.4px; overflow-wrap:anywhere; margin:18px 0 24px; }
.blog-page .lead { font-size:20px; line-height:1.7; max-width:75ch; }
.blog-page .eyebrow { color:#596c10; }
.blog-list { padding-bottom:64px; }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.blog-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:6px; overflow:hidden; border-top:3px solid var(--green); }
.blog-card-image { width:100%; height:auto; aspect-ratio:5/3; object-fit:cover; }
.blog-card-body { padding:28px; display:flex; flex-direction:column; flex:1; }
.blog-meta { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--muted); font-size:14px; margin-bottom:16px; }
.blog-card h2 { font-size:28px; line-height:1.25; margin:0 0 16px; letter-spacing:-.6px; }
.blog-card h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.blog-card p { color:var(--muted); font-size:17px; line-height:1.7; margin:0 0 26px; }
.blog-read { font-weight:600; margin-top:auto; display:flex; gap:20px; align-items:center; }
.blog-read:hover { color:#596c10; }
.blog-empty { padding:36px; background:var(--silver); border-top:3px solid var(--green); border-radius:0 0 6px 6px; }
.blog-empty h2 { font-size:28px; }
.blog-empty p { max-width:65ch; color:var(--muted); }
.blog-cover { max-width:1000px; margin-top:0; margin-bottom:38px; }
.blog-cover img { display:block; width:100%; height:auto; border-radius:6px; }
.blog-cover figcaption { margin-top:10px; color:var(--muted); font-size:14px; }
.blog-copy { max-width:860px; font-size:18px; line-height:1.8; padding-bottom:28px; overflow-wrap:anywhere; }
.blog-copy .wrap { width:100%; max-width:none; margin-inline:0; padding-inline:0; }
.blog-copy .editable-block { padding-block:20px; }
.blog-copy h2 { font-size:30px; line-height:1.3; margin:32px 0 18px; letter-spacing:-.5px; }
.blog-copy h3 { font-size:24px; line-height:1.4; margin:28px 0 14px; }
.blog-copy p, .blog-copy li, .blog-copy .editable-copy p, .blog-copy .editable-copy li { font-size:18px; line-height:1.8; }
.blog-copy a:not(.button) { text-decoration:underline; text-underline-offset:4px; }
.blog-copy img { max-width:100%; height:auto; }
.blog-copy .editable-grid.has-image { grid-template-columns:1fr; gap:20px; }
.blog-copy blockquote { margin:28px 0; border-left:3px solid var(--green); padding:14px 24px; background:var(--silver); }
.blog-return { max-width:860px; padding-block:22px 40px; border-top:1px solid var(--line); }
.blog-return a { text-decoration:underline; text-underline-offset:4px; }
.blog-contact { margin-bottom:60px; }
.blog-page a:focus-visible { outline:3px solid #738b12; outline-offset:4px; }
/* The extra Blog item needs slightly tighter spacing before the mobile menu takes over. */
@media (min-width:761px) and (max-width:1100px) {
  #navigation { gap:12px; font-size:14px; }
  .header-inner .brand img { width:170px; }
  #navigation > .button { padding-inline:16px; }
}
@media (max-width:760px) {
  .blog-page .blog-intro { padding-block:16px 30px; }
  .blog-page h1 { font-size:35px; letter-spacing:-1px; }
  .blog-page .lead { font-size:18px; }
  .blog-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .blog-card-body { padding:24px; }
  .blog-card h2 { font-size:25px; }
  .blog-copy, .blog-copy p, .blog-copy li, .blog-copy .editable-copy p, .blog-copy .editable-copy li { font-size:17px; }
  .blog-copy h2 { font-size:27px; }
  .blog-copy h3 { font-size:22px; }
  .blog-empty { padding:26px; }
  .blog-meta { font-size:13px; }
}

.blog-copy > .frame:first-child, .blog-copy > .editable-block:first-child { margin-top:0; }
.blog-copy .editable-block:first-child h2 { margin-top:0; }
/* Keep a consistent cover even on installations without image-processing binaries. */
.blog-cover img { aspect-ratio:16/9; object-fit:cover; }
