/* The journal shares the portfolio's forest and warm paper palette. */
.blog-index,.blog-post{color-scheme:light;--paper:#f3f0df;--ink:#244432;--muted:#52634e;--accent:#315e3e;--line:#315b3b35;background:var(--paper);color:var(--ink)}
.blog-index .site-header,.blog-post .site-header{background:#f3f0dff5;color:var(--ink);border-color:#315b3b25;gap:16px;flex-wrap:wrap}
.blog-index .brand-mark,.blog-post .brand-mark{background:#315b3b;color:#f3f0df;border:1px solid #315b3b;border-radius:6px;box-shadow:2px 3px 0 #24443220}
.blog-index .brand-role,.blog-post .brand-role{color:#52634e}
.blog-index nav,.blog-post nav{flex-wrap:wrap}
.blog-index .nav-contact,.blog-post .nav-contact{background:#315b3b;color:#fff8e8;border-color:#315b3b;border-radius:5px}
.nav-blog[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.blog-main{max-width:1240px;margin:auto;padding:64px 48px 100px}
.blog-masthead{position:relative;padding-bottom:47px;border-bottom:1px solid var(--line)}
.blog-masthead .eyebrow{color:#5d7548;font-size:11px;letter-spacing:1.8px;margin:0 0 25px}
.blog-masthead h1{font:800 clamp(58px,7.8vw,106px)/.98 var(--display);letter-spacing:-.065em;margin:0 0 27px;max-width:850px}
.blog-masthead h1 span{color:#779453}
.blog-intro{font-size:19px;line-height:1.75;max-width:640px;color:var(--muted);margin:0 0 24px}
.blog-intro a{text-decoration:underline;text-underline-offset:4px}
.blog-feed-link{display:inline-flex;gap:28px;font-size:12px;font-weight:650;border-bottom:1px solid #315b3b55;padding:6px 0}
.blog-feed-link span{font-size:16px}
.blog-library{margin-top:37px}
.blog-library-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}
.blog-library-heading{font:650 16px/1.3 var(--display);letter-spacing:-.2px;margin:0}
#blog-count{font-size:12px;color:#52634e;margin:0}
.blog-search{margin:0 0 30px;max-width:100%}
.blog-search label{display:block;font-size:12px;font-weight:600;margin-bottom:9px;color:#52634e}
.blog-search-field{display:flex;gap:13px;align-items:center;min-height:56px;padding:0 17px;border:1px solid #8c9d795c;border-radius:5px;background:#fffdf3;box-shadow:0 2px 0 #2444320a}
.blog-search-field:focus-within{outline:2px solid #557740;outline-offset:3px}
.blog-search-field svg{width:20px;height:20px;flex-shrink:0;color:#5c7150}
.blog-search-field input{width:100%;min-width:0;padding:14px 0;font:15px/1.6 var(--sans);border:0;background:transparent;color:#244432;outline:none}
.blog-search-field input::placeholder{color:#6f7a64;opacity:1}
.blog-search-field input::-webkit-search-cancel-button{display:none}
.blog-search-field button{background:transparent;border:0;border-left:1px solid #315b3b35;padding:8px 0 8px 16px;min-height:44px;color:#315b3b;font-size:12px;font-weight:650}
.blog-search[hidden],.blog-card[hidden],#blog-empty[hidden],#blog-clear[hidden]{display:none}
.blog-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:42px;align-items:center;padding:8px 0 35px;border-bottom:1px solid var(--line);margin-bottom:30px}
.blog-card-media{display:block;border:1px solid #315b3b30;border-radius:7px;overflow:hidden;background:#dce6c9;box-shadow:4px 4px 0 #315b3b10}
.blog-card-media img{width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;transition:transform .3s}
.blog-card-media:hover img{transform:scale(1.025)}
.blog-card-copy{min-width:0}
.blog-card-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;color:#53674b;margin:0 0 16px}
.blog-category{border:1px solid #55774045;border-radius:3px;padding:3px 7px;font-size:10px;letter-spacing:.6px}
.blog-card h2{font:750 clamp(25px,2.5vw,34px)/1.2 var(--display);letter-spacing:-1px;margin:0 0 17px}
.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.blog-card h2 span{font-size:20px;white-space:nowrap;color:#75904d}
.blog-card-excerpt{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.blog-card-author{display:flex;gap:15px;font-size:11px;color:#52634e;margin:0}
.blog-card-author a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.blog-card-author span{margin-left:auto}
.blog-empty{padding:30px;border:1px dashed #55774055;border-radius:5px;background:#e7ebd8;font-size:15px;line-height:1.7;color:#435a3e;overflow-wrap:anywhere}
.blog-no-js{font-size:13px;color:#52634e;margin-bottom:28px}
.blog-footer{border-top:1px solid #315b3b25;color:#52634e;gap:20px;flex-wrap:wrap;font-size:12px}
.blog-footer .footer-name{color:#315b3b;margin-right:auto}
.blog-post .blog-text-hero{grid-template-columns:1fr}
.blog-post .blog-text-hero>div{max-width:900px}
.blog-post-cover{max-width:900px;margin:40px auto}
.blog-post-cover img{width:100%;height:auto;border-radius:6px;border:1px solid #315b3b25}
.blog-post-end{border-top:1px solid #315b3b35;display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:50px;font-size:13px}
.blog-post .voice-breadcrumb{font-size:12px}
@media(max-width:760px){.blog-main{padding:42px 24px 65px}.blog-masthead h1{font-size:clamp(58px,12vw,86px)}.blog-intro{font-size:17px}.blog-masthead{padding-bottom:30px}.blog-card{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.blog-card h2{font-size:28px}.blog-card-meta{margin-bottom:12px}.blog-library{margin-top:28px}.blog-search-field{padding-inline:14px;gap:10px}.blog-search-field input{font-size:14px}.blog-footer{font-size:11px}.blog-post-end{flex-wrap:wrap}.blog-index .site-header nav,.blog-post .site-header nav{gap:16px;font-size:12px}.blog-index .site-header,.blog-post .site-header{padding-block:14px}}
@media(max-width:380px){.blog-main{padding-inline:20px}.blog-masthead h1{font-size:58px}.blog-card h2{font-size:25px}.blog-search-field input{font-size:12px}.blog-search-field{gap:8px}.blog-footer .footer-name{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.blog-card-media img{transition:none}}
