/* JDR blog list + category archive. Uses brand tokens (:root --bls-*). */
.ba-head{padding:56px 0 8px;text-align:center;}
.ba-head .bls-container{max-width:900px;margin:0 auto;padding:0 20px;}
.ba-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--bls-primary,#00b8a5);margin:0 0 10px;}
.ba-head h1{font-size:40px;margin:0 0 12px;color:var(--bls-heading,#282c34);}
.ba-head>.bls-container>p{font-size:16px;color:var(--bls-text,#5f6672);line-height:1.6;margin:0;}
.ba-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:32px auto 0;max-width:1000px;padding:0 20px;}
.ba-filter a{font-size:13.5px;font-weight:600;padding:8px 18px;border:1px solid var(--bls-border,#e6e9ec);border-radius:999px;color:var(--bls-text,#5f6672);text-decoration:none;transition:all .2s;}
.ba-filter a:hover{border-color:var(--bls-primary,#00b8a5);color:var(--bls-primary,#00b8a5);}
.ba-filter a.is-active{background:var(--bls-primary,#00b8a5);border-color:var(--bls-primary,#00b8a5);color:#fff;}
.ba-wrap{padding:44px 0 84px;}
.ba-wrap .bls-container{max-width:1200px;margin:0 auto;padding:0 20px;}
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.ba-card{display:flex;flex-direction:column;border:1px solid var(--bls-border,#e6e9ec);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;transition:box-shadow .2s,transform .2s;}
.ba-card:hover{box-shadow:0 14px 34px rgba(40,44,52,.09);transform:translateY(-3px);}
.ba-card__img{aspect-ratio:16/10;background:var(--bls-bg-alt,#f6f8f9);overflow:hidden;}
.ba-card__img img{width:100%;height:100%;object-fit:cover;display:block;}
.ba-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.ba-card__meta{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--bls-primary,#00b8a5);font-weight:700;margin-bottom:9px;}
.ba-card__title{font-size:18.5px;line-height:1.35;color:var(--bls-heading,#282c34);margin:0 0 10px;font-weight:700;}
.ba-card__excerpt{font-size:13.5px;color:var(--bls-text,#5f6672);line-height:1.6;margin:0 0 14px;}
.ba-card__more{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--bls-primary,#00b8a5);}
.ba-empty{text-align:center;color:var(--bls-text,#5f6672);padding:40px 0;}
.ba-pagination{margin-top:40px;text-align:center;}
.ba-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border:1px solid var(--bls-border,#e6e9ec);border-radius:8px;color:var(--bls-text,#5f6672);text-decoration:none;}
.ba-pagination .page-numbers.current{background:var(--bls-primary,#00b8a5);color:#fff;border-color:var(--bls-primary,#00b8a5);}
@media(max-width:900px){.ba-grid{grid-template-columns:repeat(2,1fr);}.ba-head h1{font-size:30px;}}
@media(max-width:560px){.ba-grid{grid-template-columns:1fr;}}
/* ---- Single article (post) + sidebar ---- */
.ps-wrap{padding:56px 0 84px;}
.ps-wrap .bls-container{max-width:1200px;margin:0 auto;padding:0 20px;}
.ps-grid{display:grid;grid-template-columns:1fr 330px;gap:48px;align-items:start;}
.ps-crumb{font-size:13px;color:var(--bls-text,#5f6672);margin:0 0 18px;}
.ps-crumb a{color:var(--bls-text,#5f6672);text-decoration:none;}.ps-crumb a:hover{color:var(--bls-primary,#00b8a5);}
.ps-cat{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;color:var(--bls-primary,#00b8a5);margin-bottom:10px;}
.ps-title{font-size:36px;line-height:1.2;margin:0 0 12px;color:var(--bls-heading,#282c34);}
.ps-meta{font-size:13.5px;color:var(--bls-text,#5f6672);margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid var(--bls-border,#e6e9ec);}
.ps-content{font-size:16px;line-height:1.8;color:var(--bls-text,#5f6672);}
.ps-content h2{font-size:24px;color:var(--bls-heading,#282c34);margin:32px 0 12px;}
.ps-content h3{font-size:19px;color:var(--bls-heading,#282c34);margin:24px 0 10px;}
.ps-content p{margin:0 0 16px;}
.ps-content ul,.ps-content ol{margin:0 0 16px;padding-left:22px;}.ps-content li{margin-bottom:7px;}
.ps-content a{color:var(--bls-primary,#00b8a5);}
.ps-tags{margin-top:24px;font-size:13px;color:var(--bls-text,#5f6672);}.ps-tags a{color:var(--bls-text,#5f6672);}
.ps-cta{margin-top:36px;padding:22px 26px;background:var(--bls-bg-alt,#f6f8f9);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;}
.ps-cta span{font-weight:600;color:var(--bls-heading,#282c34);}
.ps-cta a{font-weight:700;color:var(--bls-primary,#00b8a5);text-decoration:none;}
.ps-side{position:sticky;top:20px;display:grid;gap:24px;}
.ps-box{border:1px solid var(--bls-border,#e6e9ec);border-radius:12px;padding:22px 22px 24px;background:#fff;}
.ps-box__title{font-size:16px;margin:0 0 16px;color:var(--bls-heading,#282c34);padding-bottom:12px;border-bottom:2px solid var(--bls-primary,#00b8a5);display:inline-block;}
.ps-list{list-style:none;margin:0;padding:0;}
.ps-list li{padding:10px 0;border-bottom:1px solid var(--bls-border,#e6e9ec);}.ps-list li:last-child{border-bottom:none;}
.ps-list a{color:var(--bls-heading,#282c34);text-decoration:none;font-size:14.5px;font-weight:600;line-height:1.4;display:block;}
.ps-list a:hover{color:var(--bls-primary,#00b8a5);}
.ps-list span{display:block;font-size:12px;color:var(--bls-text,#5f6672);margin-top:4px;}
.ps-plist{list-style:none;margin:0;padding:0;}
.ps-plist li{margin-bottom:12px;}
.ps-plist a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bls-heading,#282c34);font-size:14px;font-weight:600;}
.ps-plist img{width:54px;height:54px;object-fit:cover;border-radius:8px;flex-shrink:0;}
.ps-plist a:hover{color:var(--bls-primary,#00b8a5);}
.ps-box--cta{background:var(--bls-dark,#282c34);border-color:var(--bls-dark,#282c34);text-align:center;}
.ps-box--cta h3{color:#fff;font-size:18px;margin:0 0 8px;}
.ps-box--cta p{color:rgba(255,255,255,.85);font-size:13.5px;margin:0 0 16px;}
.ps-btn{display:inline-block;background:var(--bls-primary,#00b8a5);color:#fff;font-weight:700;padding:11px 26px;border-radius:8px;text-decoration:none;}
@media(max-width:900px){.ps-grid{grid-template-columns:1fr;gap:36px;}.ps-side{position:static;}.ps-title{font-size:28px;}}
.ba-filter{margin-top:0;margin-bottom:38px;}
