/* Blog listing — loads after common.css */
.bl-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.bl-hero{padding:80px 0 56px; text-align:center; background:linear-gradient(180deg,#FBF8F1,var(--cream));}
.bl-hero h1{font-size:clamp(2.2rem,4.2vw,3.2rem); margin-bottom:.4em;}
.bl-hero p{max-width:60ch; margin:0 auto; font-size:1.15rem; color:var(--ink-soft);}
.bl-pill{display:inline-block; font-size:.74rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--clay-dark); background:var(--terra-light); padding:6px 14px; border-radius:999px; margin-bottom:14px;}
.bl-meta{font-size:.9rem; color:var(--ink-soft);}

.bl-featured-wrap{padding:0 0 64px;}
.bl-featured{display:grid; grid-template-columns:1.1fr 1fr; background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft); overflow:hidden;}
.bl-feat-img{display:block; background:var(--sage-light); overflow:hidden;}
.bl-feat-img img{width:100%; height:100%; object-fit:cover; display:block; min-height:340px; transition:transform .6s ease;}
.bl-featured:hover .bl-feat-img img{transform:scale(1.04);}
.bl-feat-body{padding:52px 48px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;}
.bl-flag{display:inline-block; margin-left:8px; font-size:.74rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--sage-deep); background:var(--sage-light); padding:6px 14px; border-radius:999px; margin-bottom:14px;}
.bl-feat-body h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:.5em;}
.bl-feat-body h2 a:hover{color:var(--clay-dark);}
.bl-feat-body p{font-size:1.1rem; color:var(--ink-soft);}
.bl-feat-body .bl-meta{margin-bottom:26px;}

.bl-list{padding:0 0 92px;}
.bl-toolbar{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:40px; padding-top:8px;}
.bl-chips{display:flex; gap:10px; flex-wrap:wrap;}
.bl-chip{font-family:'Work Sans',sans-serif; font-size:.9rem; font-weight:500; cursor:pointer; padding:10px 20px; border-radius:999px; border:1px solid var(--img-line); background:#FFFDF8; color:var(--ink); transition:all .2s ease;}
.bl-chip:hover{border-color:var(--clay); color:var(--clay-dark);}
.bl-chip.active{background:var(--sage-deep); border-color:var(--sage-deep); color:var(--cream);}
.bl-search input{width:260px; max-width:100%; padding:12px 18px; border:1px solid #DAD6C8; border-radius:999px; background:#fff; font-family:'Work Sans',sans-serif; font-size:.95rem; color:var(--ink);}
.bl-search input:focus{outline:none; border-color:var(--clay);}

.bl-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.bl-card{display:flex; flex-direction:column; background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.bl-card:hover{transform:translateY(-5px); box-shadow:0 18px 38px rgba(43,42,36,.13);}
.bl-card[hidden]{display:none;}
.bl-card-img{display:block; aspect-ratio:16/10; overflow:hidden; background:var(--sage-light);}
.bl-card-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.bl-card:hover .bl-card-img img{transform:scale(1.05);}
.bl-card-body{padding:28px 28px 26px; display:flex; flex-direction:column; flex:1;}
.bl-card h3{font-size:1.35rem; margin-bottom:.5em;}
.bl-card h3 a:hover{color:var(--clay-dark);}
.bl-card p{font-size:1rem; color:var(--ink-soft);}
.bl-card-foot{margin-top:auto; padding-top:16px; border-top:1px solid var(--img-line); display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
.bl-more{font-size:.85rem; font-weight:600; letter-spacing:.04em; color:var(--clay-dark);}
.bl-more:hover{text-decoration:underline;}
.bl-empty{text-align:center; font-size:1.1rem; color:var(--ink-soft); padding:40px 0;}

.bl-news{background:var(--terra-light); padding:72px 0;}
.bl-news-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.bl-news h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:.4em;}
.bl-news p{color:var(--ink-soft); font-size:1.08rem; margin:0;}
.bl-news-row{display:flex; gap:12px;}
.bl-news-row input{flex:1; min-width:0; padding:14px 18px; border:1px solid #DAD6C8; border-radius:2px; background:#fff; font-family:'Work Sans',sans-serif; font-size:1rem; color:var(--ink);}
.bl-news-row input:focus{outline:none; border-color:var(--clay);}
.bl-news-row button{font-family:'Work Sans',sans-serif; white-space:nowrap;}
.bl-news-msg{margin:12px 0 0 !important; font-size:.95rem !important; font-weight:600; min-height:1.4em;}

.bl-note{padding:36px 0; background:var(--beige); text-align:center;}
.bl-note p{max-width:78ch; margin:0 auto; font-size:.95rem; color:var(--ink-soft);}

@media (max-width:1000px){.bl-grid{grid-template-columns:1fr 1fr;} .bl-featured{grid-template-columns:1fr;} .bl-feat-img img{min-height:260px; max-height:340px;} .bl-feat-body{padding:36px 30px;} .bl-news-grid{grid-template-columns:1fr; gap:28px;}}
@media (max-width:640px){.bl-grid{grid-template-columns:1fr;} .bl-hero{padding:56px 0 40px;} .bl-news-row{flex-direction:column;} .bl-search,.bl-search input{width:100%;} .bl-toolbar{gap:16px;}}


/* Blog article — loads after common.css + blog.css */
.bd-progress{position:fixed; top:0; left:0; right:0; height:4px; z-index:120; background:transparent;}
.bd-progress span{display:block; height:100%; width:0; background:var(--clay); transition:width .1s linear;}
.bd-narrow{max-width:860px;}
.bd-hero{padding:56px 0 36px; text-align:center; background:linear-gradient(180deg,#FBF8F1,var(--cream));}
.bd-crumbs{display:flex; justify-content:center; flex-wrap:wrap; gap:8px; font-size:.9rem; color:var(--ink-soft); margin-bottom:26px;}
.bd-crumbs a:hover{color:var(--clay-dark); text-decoration:underline;}
.bd-hero h1{font-size:clamp(2.1rem,4vw,3.2rem); margin-bottom:.45em;}
.bd-sub{font-size:1.2rem; color:var(--ink-soft); max-width:60ch; margin:0 auto 26px;}
.bd-byline{display:inline-flex; align-items:center; gap:14px; text-align:left;}
.bd-byline strong{display:block; font-size:1rem;}
.bd-byline span:not(.bd-avatar){font-size:.9rem; color:var(--ink-soft);}
.bd-avatar{width:46px; height:46px; border-radius:50%; background:var(--sage-deep); color:var(--cream); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:1rem; flex:none;}
.bd-avatar.lg{width:60px; height:60px; font-size:1.2rem;}

.bd-cover{max-width:1000px; margin-bottom:56px;}
.bd-cover-img{border-radius:var(--r-img); overflow:hidden; border:1px solid var(--img-line); box-shadow:var(--shadow-soft); aspect-ratio:21/9; background:var(--sage-light);}
.bd-cover-img img{width:100%; height:100%; object-fit:cover; display:block;}

.bd-main{padding:0 0 72px;}
.bd-grid{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:64px; align-items:start; max-width:1100px;}
.bd-content{font-size:1.12rem; line-height:1.85; color:var(--ink-soft);}
.bd-content p{margin-bottom:1.3em;}
.bd-lead{font-size:1.3rem; color:var(--ink); line-height:1.65; font-family:'Fraunces',serif;}
.bd-content h2{font-size:clamp(1.6rem,2.6vw,2rem); margin:1.8em 0 .6em; color:var(--ink); scroll-margin-top:100px;}
.bd-quote{margin:2em 0; padding:28px 32px; border-left:4px solid var(--clay); background:var(--terra-light); border-radius:0 var(--r-img) var(--r-img) 0; font-family:'Fraunces',serif; font-style:italic; font-size:1.5rem; line-height:1.4; color:var(--ink);}
.bd-dims{list-style:none; margin:0 0 1.6em; padding:0; display:grid; gap:14px;}
.bd-dims li{background:#FFFDF8; border:1px solid var(--img-line); border-radius:14px; padding:18px 22px; box-shadow:var(--shadow-soft);}
.bd-dims strong{display:block; font-family:'Fraunces',serif; font-size:1.2rem; color:var(--ink); margin-bottom:2px;}
.bd-dims span{font-size:1.02rem;}
.bd-callout{margin:2em 0; padding:32px 34px; background:var(--sage-light); border:1px solid var(--img-line); border-radius:var(--r-img);}
.bd-callout h3{font-size:1.3rem; margin-bottom:.6em; color:var(--ink);}
.bd-callout ul{margin:0; padding-left:1.2em;}
.bd-callout li{margin-bottom:.6em; color:var(--ink);}
.bd-disclaimer{font-size:.95rem !important; font-style:italic; padding:18px 22px; border:1px solid var(--img-line); border-radius:12px; background:#FFFDF8;}

.bd-share{display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:22px 0; margin:2em 0 1.5em; border-top:1px solid var(--img-line); border-bottom:1px solid var(--img-line);}
.bd-share > span:first-child{font-weight:600; color:var(--ink); font-size:1rem;}
.bd-share-btns{display:flex; gap:10px; flex-wrap:wrap;}
.bd-share-btn{font-family:'Work Sans',sans-serif; font-size:.9rem; font-weight:500; cursor:pointer; padding:9px 18px; border-radius:999px; border:1px solid var(--img-line); background:#FFFDF8; color:var(--ink); transition:all .2s ease;}
.bd-share-btn:hover{border-color:var(--clay); color:var(--clay-dark);}
.bd-copied{font-size:.9rem; color:var(--sage-deep); font-weight:600;}
.bd-author{display:flex; gap:20px; align-items:flex-start; padding:26px; background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft);}
.bd-author strong{display:block; color:var(--ink); font-size:1.1rem; margin-bottom:4px;}
.bd-author p{margin:0; font-size:1rem;}

.bd-side{position:sticky; top:104px; display:grid; gap:24px;}
.bd-toc,.bd-cta{background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft); padding:26px 26px;}
.bd-toc h4,.bd-cta h4{font-size:1.1rem; margin-bottom:.8em;}
.bd-toc ol{list-style:none; margin:0; padding:0; display:grid; gap:2px;}
.bd-toc a{display:block; padding:9px 12px; border-left:3px solid transparent; border-radius:0 8px 8px 0; font-size:.98rem; color:var(--ink-soft); line-height:1.4;}
.bd-toc a:hover{color:var(--clay-dark);}
.bd-toc a.active{border-left-color:var(--clay); background:var(--terra-light); color:var(--ink); font-weight:600;}
.bd-cta{background:var(--sage-light);}
.bd-cta p{font-size:1rem; color:var(--ink-soft);}

.bd-pn{padding:0 0 64px;}
.bd-pn-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1100px;}
.bd-pn-link{display:block; padding:26px 30px; background:#FFFDF8; border:1px solid var(--img-line); border-radius:var(--r-img); box-shadow:var(--shadow-soft); transition:transform .25s ease, border-color .25s ease;}
.bd-pn-link:hover{transform:translateY(-3px); border-color:var(--clay);}
.bd-pn-link span{display:block; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--clay-dark); font-weight:600; margin-bottom:6px;}
.bd-pn-link strong{font-family:'Fraunces',serif; font-size:1.15rem; color:var(--ink); line-height:1.35;}
.bd-pn-link.right{text-align:right;}

.bd-related{padding:24px 0 92px;}
.bd-rel-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:32px;}
.bd-rel-head h2{font-size:clamp(1.8rem,3vw,2.3rem); margin:0;}

@media (max-width:1000px){
  .bd-grid{grid-template-columns:1fr; gap:40px;}
  .bd-side{position:static; order:-1;}
  .bd-toc{display:none;}
  .bd-cover-img{aspect-ratio:16/9;}
}
@media (max-width:640px){
  .bd-hero{padding:40px 0 28px;}
  .bd-content{font-size:1.05rem;}
  .bd-quote{font-size:1.25rem; padding:22px 22px;}
  .bd-pn-grid{grid-template-columns:1fr;}
  .bd-pn-link.right{text-align:left;}
  .bd-author{flex-direction:column;}
}

