/* Blog listings, round 2. Markup is generated by tools/blog_index_builder.py from .cms/posts.json. */
:root{--bl-ease:cubic-bezier(.2,.7,.2,1);--bl-line:#d8c9af;--bl-cream:#fff8ec}

/* per-topic colour */
.nv-c-seo{--bl-c:#c67139}.nv-c-social{--bl-c:#7a5a6e}.nv-c-hiring{--bl-c:#56633f}.nv-c-healthcare{--bl-c:#4d6b6b}.nv-c-customer-support{--bl-c:#a3452a}
.nv-c-real-estate-ops{--bl-c:#9a7b4f}.nv-c-content-writing{--bl-c:#8c491a}.nv-c-executive-support{--bl-c:#6b6b8f}.nv-c-sales-outreach{--bl-c:#b0852f}.nv-c-delegation-productivity{--bl-c:#7a8a5e}
.nv-post{--bl-c:var(--accent,#c67139);position:relative;transition:transform .35s var(--bl-ease),box-shadow .35s,border-color .3s,opacity .6s var(--bl-ease)!important}
.nv-post::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--bl-c);z-index:2;transform:scaleX(.18);transform-origin:left;transition:transform .45s var(--bl-ease)}
.nv-post:hover::before{transform:scaleX(1)}
.nv-post-tag{background:color-mix(in srgb,var(--bl-c) 15%,#fff8ec)!important;color:color-mix(in srgb,var(--bl-c) 72%,#2a1a0e)!important}
.bl-when{display:inline-flex;align-items:center;gap:6px}.bl-when i{font-style:normal;opacity:.5}.bl-clock{flex:none;margin-left:2px}
.nv-post:hover{border-color:color-mix(in srgb,var(--bl-c) 55%,transparent)!important}
.nv-grid.bl-armed .nv-post:not(.bl-in){opacity:0;transform:translateY(18px)}

/* featured latest */
.bl-feat{grid-column:1/-1;flex-direction:row!important;align-items:stretch;border-radius:32px!important}
.bl-feat .nv-post-img{flex:0 0 52%;aspect-ratio:auto!important;min-height:300px}
.bl-feat .nv-post-body{justify-content:center;padding:clamp(24px,3.4vw,48px)!important}
.bl-latest{background:var(--accent-deep,#8c491a);color:#fff8ec;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.bl-feat-title{font-size:clamp(26px,2.8vw,38px)!important;line-height:1.12!important}
.bl-feat-excerpt{font-size:16.5px;line-height:1.7;color:color-mix(in srgb,var(--color-text) 76%,transparent);margin:16px 0 0;max-width:52ch}
@media(max-width:860px){.bl-feat{flex-direction:column!important}.bl-feat .nv-post-img{flex:none;min-height:0;aspect-ratio:16/10!important}}

/* promo card */
.bl-promo{background:linear-gradient(150deg,#3a2718,var(--color-neutral-900,#2a1f17))!important;color:#f5ead8;border-color:transparent!important;justify-content:center}
.bl-promo::before{background:var(--accent,#c67139)}
.bl-promo .nv-post-title{color:#fff8ec}.bl-promo .nv-post-excerpt{color:color-mix(in srgb,#f5ead8 78%,transparent);-webkit-line-clamp:unset}
.bl-promo .nv-post-more{color:var(--accent,#c67139)}.bl-promo-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#c67139);margin-bottom:12px}
.bl-promo .nv-post-body{justify-content:center;flex:1}

/* header stats */
.bl-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.bl-stats span{font-size:13.5px;background:var(--bl-cream);border:1px solid var(--bl-line);padding:8px 15px;border-radius:999px;color:#645c50}
.bl-stats b{color:var(--accent-deep,#8c491a);font-weight:700}

/* search + topics */
.bl-tools{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.bl-search{position:relative;display:block;width:min(520px,100%)}
.bl-sico{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--accent-deep,#8c491a);display:grid;pointer-events:none}
.bl-search input{width:100%;font:500 15.5px/1 var(--font-body);color:var(--color-text);background:var(--bl-cream);border:1.5px solid var(--bl-line);border-radius:999px;padding:15px 20px 15px 48px;transition:border-color .25s,box-shadow .25s}
.bl-search input:focus{outline:none;border-color:var(--accent,#c67139);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,#c67139) 20%,transparent)}
.bl-count{font-size:13.5px;color:#645c50}
.bl-topics{flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;scrollbar-width:none;padding:4px 2px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.bl-topics::-webkit-scrollbar{display:none}
.bl-topics .nv-chip{flex:none;white-space:nowrap}
/* desktop: show every topic (a mouse wheel cannot scroll sideways), phones keep the swipe row */
@media(min-width:861px){.bl-topics{flex-wrap:wrap!important;justify-content:center!important;overflow:visible;-webkit-mask-image:none;mask-image:none}}
@media(max-width:860px){.bl-topics{scroll-snap-type:x proximity}.bl-topics .nv-chip{scroll-snap-align:start}}
.bl-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}
.bl-results[hidden]{display:none}
.bl-res{display:block;background:var(--color-neutral-100);border:1px solid var(--color-divider);border-radius:22px;padding:20px 22px;text-decoration:none;color:inherit;transition:transform .3s var(--bl-ease),border-color .3s,box-shadow .3s}
.bl-res:hover{transform:translateY(-3px);border-color:var(--accent,#c67139);box-shadow:var(--shadow-md,0 18px 36px -22px #64331255)}
.bl-res h3{font-family:var(--font-heading);font-size:19px;line-height:1.2;margin:10px 0 6px}
.bl-res p{font-size:14.5px;line-height:1.6;margin:0;color:color-mix(in srgb,var(--color-text) 72%,transparent)}
.bl-res mark{background:color-mix(in srgb,var(--accent,#c67139) 28%,transparent);color:inherit;border-radius:3px;padding:0 2px}
.bl-none{grid-column:1/-1;text-align:center;padding:30px 10px;color:#645c50}
.bl-none a{color:var(--accent-deep,#8c491a)}
@media(max-width:700px){.bl-results{grid-template-columns:minmax(0,1fr)}}

/* pager */
.bl-pager-info{text-align:center;font-size:14px;font-weight:600;color:#645c50;margin:0 0 14px}
.bl-prog{display:block;width:140px;height:5px;border-radius:999px;background:#e3d6bd;margin:10px auto 0;overflow:hidden}
.bl-prog i{display:block;height:100%;background:var(--accent-deep,#8c491a);border-radius:999px}
.nv-pager a,.nv-pager span{transition:transform .25s var(--bl-ease),border-color .25s,background .25s}
.nv-pager a:hover{transform:translateY(-2px)}

/* role strip + start here */
.bl-wrap{max-width:1240px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(20px,5vw,48px)}
.bl-eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep,#8c491a);margin-bottom:12px}
.bl-roles{background:linear-gradient(180deg,#f7eedd,var(--color-bg,#f5ead8))}
.bl-roles h2,.bl-start h2{font-family:var(--font-heading);font-size:clamp(26px,3.2vw,40px);line-height:1.14;letter-spacing:-.015em;margin:0}
.bl-role-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.bl-role-row a{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--font-body);text-decoration:none;color:#5a4a3a;background:var(--bl-cream);border:1px solid var(--bl-line);padding:13px 18px;border-radius:999px;transition:transform .25s var(--bl-ease),background .25s,color .25s,border-color .25s}
.bl-role-row a svg{transition:transform .25s var(--bl-ease)}
.bl-role-row a:hover{background:var(--accent-deep,#8c491a);border-color:var(--accent-deep,#8c491a);color:#fff8ec;transform:translateY(-2px)}
.bl-role-row a:hover svg{transform:translateX(3px)}
.bl-start{background:var(--color-accent-2-100,#e8f0d6)}
.bl-start .bl-eyebrow{color:var(--color-accent-2-800,#44502f)}
.bl-start-list{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bl-start-list a{display:flex;flex-direction:column;height:100%;background:var(--bl-cream);border-radius:26px;padding:26px;text-decoration:none;color:inherit;border:1px solid #d3dcb9;transition:transform .3s var(--bl-ease),box-shadow .3s}
.bl-start-list a:hover{transform:translateY(-4px);box-shadow:var(--shadow-md,0 18px 36px -22px #64331255)}
.bl-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-deep,#8c491a);color:#fff8ec;font:400 20px/1 var(--font-heading);margin-bottom:16px}
.bl-start-list h3{font-family:var(--font-heading);font-size:20px;line-height:1.2;margin:0 0 8px}
.bl-start-list p{font-size:14.5px;line-height:1.6;margin:0;color:color-mix(in srgb,var(--color-text) 74%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-start-list .nv-post-more{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;color:var(--accent-deep,#8c491a);font-family:var(--font-heading);font-size:15px}
@media(max-width:900px){.bl-start-list{grid-template-columns:minmax(0,1fr)}}

/* CTA glow */
.bl-cta>div:not(.nv-page-doodles){position:relative;overflow:hidden}
.bl-cta>div:not(.nv-page-doodles)::before{content:"";position:absolute;left:50%;top:40%;width:min(620px,90%);height:240px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,color-mix(in srgb,var(--accent,#c67139) 22%,transparent),transparent);filter:blur(10px);pointer-events:none}
.bl-cta>div:not(.nv-page-doodles)>*{position:relative}

@media(prefers-reduced-motion:reduce){
  .nv-grid.bl-armed .nv-post:not(.bl-in){opacity:1;transform:none}
  .nv-post,.nv-post::before,.bl-res,.bl-role-row a,.bl-start-list a,.nv-pager a{transition:none!important}
}
.bl-promo .nv-post-more{margin-top:22px!important;padding-top:0!important}
.bl-promo .nv-post-body{flex:1;justify-content:center}
