/* Blog index and topic archives. Builds on page.css tokens (--cw-*). Link colours are prefixed with
   #main.cw-page.cb so they win over page.css's generic link rule without !important. */

.cb{--cb-r:12px;--cb-wash:#EEF3F9;background:var(--cw-white)}
.cb .cw-pw{position:relative}

/* Hero */
.cb-hero{border-bottom:1px solid var(--cw-line);padding:var(--cw-hero-top) 0 clamp(2.5rem,2rem + 2vw,3.5rem)}
.cw-page.cw-page .cb-hero h1{max-width:22ch;font-weight:400;font-size:clamp(2.25rem,1.4rem + 3.4vw,3.75rem);line-height:1.08}
.cb-hero .cw-lead{margin-top:1.25rem;margin-bottom:0}
.cb-crumb{font-size:.875rem;color:var(--cw-ink-2);margin:0 0 1rem}
.cb-crumb span{margin:0 .375rem;color:var(--cw-ink-3)}

/* Section heads */
.cb-sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;margin-bottom:2rem}
.cw-page.cw-page .cb-sec-head h2{margin:0}
.cb-sec-head p{margin:0;color:var(--cw-ink-2);max-width:52ch}

/* Pillar guides: one lead guide, two supporting guides */
.cb-pillars{background:var(--cw-paper);padding:clamp(3rem,2rem + 3vw,4.5rem) 0;border-bottom:1px solid var(--cw-line)}
.cb-pillar-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:1.5rem}
.cb-pillar{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:var(--cb-r);overflow:hidden;transition:border-color var(--cw-d) var(--cw-ease),box-shadow var(--cw-d) var(--cw-ease)}
.cb-pillar-lead{grid-row:1 / span 2;grid-template-rows:1fr auto}
.cb-pillar-art{background:#F4F7FB;border-bottom:1px solid var(--cw-line);display:flex;align-items:center;justify-content:center;aspect-ratio:12 / 4;overflow:hidden}
.cb-pillar-art .cb-svg{height:100%;width:auto;max-width:100%}
.cb-pillar-lead .cb-pillar-art{aspect-ratio:auto;min-height:220px}
.cb-pillar-lead .cb-pillar-art .cb-svg{width:100%;height:auto}
.cb-pillar-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column}
.cb-pillar-lead .cb-pillar-body{padding:1.75rem 2rem 2rem}
.cw-page.cw-page .cb-pillar h3{font-size:1.25rem;font-weight:600;line-height:1.25;margin:.375rem 0 .5rem}
.cw-page.cw-page .cb-pillar-lead h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:500;letter-spacing:-.02em}
#main.cw-page.cb .cb-pillar h3 a{color:var(--cw-ink);text-decoration:none}
.cb-pillar h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.cb-pillar-sum{color:var(--cw-ink-2);font-size:.9375rem;margin:0 0 1rem}
.cb-pillar-lead .cb-pillar-sum{font-size:1.0625rem}
.cb-covers{list-style:none;margin:0 0 1.25rem;padding:0;display:none}
.cb-pillar-lead .cb-covers{display:block}
.cb-covers li{position:relative;padding:.5rem 0 .5rem 1.25rem;border-top:1px solid var(--cw-line);font-size:.9375rem;color:var(--cw-ink)}
.cb-covers li:last-child{border-bottom:1px solid var(--cw-line)}
.cb-covers li::before{content:"";position:absolute;left:0;top:1.05rem;width:6px;height:6px;border-radius:50%;background:var(--cw-primary)}
.cb-pillar-cta{margin:auto 0 0;font-weight:600;font-size:.9375rem;color:var(--cw-primary)}
.cb-pillar-cta::after{content:" \2192";display:inline-block;transition:transform var(--cw-d) var(--cw-ease)}
.cb-pillar:hover{border-color:var(--cw-primary);box-shadow:var(--cw-shadow-md)}
.cb-pillar:hover .cb-pillar-cta::after{transform:translateX(3px)}
.cb-pillar:has(:focus-visible){outline:2px solid var(--cw-primary);outline-offset:2px}
#main.cw-page.cb .cb-pillar a:focus-visible{outline:none}
.cb-pillar :focus-visible{outline:none}

/* Topic eyebrow shared by cards and pillars */
.cb-topic{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cw-primary)}

/* Article list */
.cb-list{padding:clamp(3rem,2rem + 3vw,4.5rem) 0 clamp(3.5rem,2.5rem + 3vw,5rem)}
.cb-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:1.5rem}
.cw-page.cw-page .cb-toolbar h2{margin:0}
.cb-search{flex:0 1 420px;min-width:260px}
.cb-search label{display:block;font-size:.8125rem;font-weight:600;color:var(--cw-ink-2);margin-bottom:.375rem}
.cb-search-row{display:flex;gap:.5rem}
.cb-search input{flex:1;min-width:0;min-height:46px;padding:.625rem .875rem;font:400 1rem/1.2 var(--cw-f);color:var(--cw-ink);background:var(--cw-white);border:1px solid var(--cw-line-strong);border-radius:8px}
.cb-search input:focus{outline:3px solid rgba(18,60,32,.25);outline-offset:0;border-color:var(--cw-primary)}
.cb-search button{min-height:46px;padding:0 1.125rem;font:600 .9375rem/1 var(--cw-f);color:#fff;background:var(--cw-primary);border:0;border-radius:8px;cursor:pointer}
.cb-search button:hover{background:var(--cw-primary-hover)}

/* Topic filters: real category links */
.cb-topics{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.75rem;padding:1.25rem 0;border-top:1px solid var(--cw-line);border-bottom:1px solid var(--cw-line)}
.cb-topic-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.cb-topic-group li{margin:0}
.cb-topic-h{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cw-ink-3)}
#main.cw-page.cb .cb-chip{display:inline-flex;align-items:center;gap:.375rem;min-height:40px;padding:.375rem .875rem;font-size:.875rem;font-weight:500;line-height:1.2;color:var(--cw-ink);background:var(--cw-white);border:1px solid var(--cw-line-strong);border-radius:999px;text-decoration:none;transition:border-color var(--cw-d) var(--cw-ease),background var(--cw-d) var(--cw-ease)}
#main.cw-page.cb .cb-chip:hover{border-color:var(--cw-primary);color:var(--cw-primary)}
.cb-count{font-size:.75rem;font-weight:500;color:var(--cw-ink-3)}
#main.cw-page.cb .cb-chip[aria-current="page"]{background:var(--cw-primary);border-color:var(--cw-primary);color:#fff}
.cb-chip[aria-current="page"] .cb-count{color:rgba(255,255,255,.8)}

/* Results feedback */
.cb-status{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin:1.25rem 0 1.5rem}
.cb-status p{margin:0;font-size:.9375rem;color:var(--cw-ink-2)}
.cb-status strong{color:var(--cw-ink);font-weight:600}
#main.cw-page.cb .cb-reset{font-size:.9375rem;font-weight:600}

/* Cards */
.cb-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.cb-grid li{margin:0;display:flex}
.cb-grid-featured{grid-column:1 / -1}
.cb-card{position:relative;flex:1;display:flex;flex-direction:column;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:var(--cb-r);overflow:hidden;transition:border-color var(--cw-d) var(--cw-ease),box-shadow var(--cw-d) var(--cw-ease)}
.cb-art{aspect-ratio:12 / 5;background:#F4F7FB;border-bottom:1px solid var(--cw-line)}
.cb-art .cb-svg{width:100%;height:100%;display:block}
.cb-card-body{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.25rem 1.125rem}
.cw-page.cw-page .cb-card-title{font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}
#main.cw-page.cb .cb-card-title a{color:var(--cw-ink);text-decoration:none}
.cb-card-title a::after{content:"";position:absolute;inset:0;z-index:1}
.cb-excerpt{margin:0;font-size:.9375rem;line-height:1.55;color:var(--cw-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cb-meta{margin:auto 0 0;padding-top:.5rem;display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8125rem;color:var(--cw-ink-2)}
.cb-meta span::before{content:"·";margin-right:.75rem;color:var(--cw-ink-3)}
/* Hover is a quiet lift; the focus ring shows for keyboard users only (a mouse click no longer leaves a heavy
   outline), slim and in the brand green. The title link's own outline is dropped: the card carries the ring. */
.cb-card:hover{border-color:var(--cw-line-strong);box-shadow:var(--cw-shadow-sm,0 1px 2px rgba(15,23,42,.06)),0 6px 18px -10px rgba(15,23,42,.18)}
#main.cw-page.cb .cb-card:hover .cb-card-title a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cb-card:has(:focus-visible){outline:2px solid var(--cw-primary);outline-offset:2px}
#main.cw-page.cb .cb-card a:focus,#main.cw-page.cb .cb-card a:focus-visible{outline:none!important;box-shadow:none!important}

.cb-card-featured{flex-direction:row}
.cb-card-featured .cb-art{flex:0 0 52%;aspect-ratio:auto;min-height:260px;border-bottom:0;border-right:1px solid var(--cw-line);display:flex;align-items:center}
.cb-card-featured .cb-art .cb-svg{height:auto}
.cb-card-featured .cb-card-body{padding:2rem;justify-content:center}
.cw-page.cw-page .cb-card-featured .cb-card-title{font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.cb-card-featured .cb-excerpt{font-size:1rem;-webkit-line-clamp:4}
.cb-card-featured .cb-meta{margin-top:.5rem}

/* Topic pillar strip on archives */
#main.cw-page.cb .cb-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"k t c" "k s c";gap:.125rem 1.5rem;align-items:center;margin:0 0 2.5rem;padding:1.25rem 0;border-top:1px solid var(--cw-ink);border-bottom:1px solid var(--cw-line);color:var(--cw-ink);text-decoration:none}
.cb-strip-k{grid-area:k;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cw-primary)}
.cb-strip-t{grid-area:t;font-weight:600;font-size:1.0625rem}
.cb-strip-s{grid-area:s;font-size:.9375rem;color:var(--cw-ink-2)}
.cb-strip-cta{grid-area:c;font-weight:600;color:var(--cw-primary);white-space:nowrap}
.cb-strip-cta::after{content:" \2192"}
#main.cw-page.cb .cb-strip:hover .cb-strip-t{text-decoration:underline;text-underline-offset:3px}

/* Pagination */
.cb-pages{margin-top:2.5rem}
.cb-pages ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.cb-pages li{margin:0}
#main.cw-page.cb .cb-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .875rem;border:1px solid var(--cw-line-strong);border-radius:8px;font-weight:500;font-size:.9375rem;color:var(--cw-ink);text-decoration:none}
#main.cw-page.cb .cb-pages a.page-numbers:hover{border-color:var(--cw-primary);color:var(--cw-primary)}
#main.cw-page.cb .cb-pages .page-numbers.current{background:var(--cw-primary);border-color:var(--cw-primary);color:#fff}
#main.cw-page.cb .cb-pages .page-numbers.dots{border-color:transparent}

/* Empty state */
.cb-empty{padding:3rem 2rem;text-align:center;border:1px dashed var(--cw-line-strong);border-radius:var(--cb-r);background:var(--cw-paper)}
.cw-page.cw-page .cb-empty h3{margin-bottom:.5rem}
.cb-empty p{color:var(--cw-ink-2);max-width:56ch;margin:0 auto 1rem}
.cb-empty-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;font-weight:600}

/* Closing ask */
.cb-ask{background:var(--cw-paper);border-top:1px solid var(--cw-line);padding:clamp(2.5rem,2rem + 2vw,3.5rem) 0}
.cb-ask-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem 2rem}
.cw-page.cw-page .cb-ask h2{font-size:clamp(1.375rem,1.1rem + 1vw,1.75rem);margin:0 0 .25rem}
.cb-ask p{margin:0;color:var(--cw-ink-2)}

@media(max-width:1023px){
  .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-pillar-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .cb-pillar-lead{grid-row:auto;grid-template-rows:auto auto}
  .cb-pillar-lead .cb-pillar-art{min-height:0;aspect-ratio:12 / 5}
}
@media(max-width:720px){
  .cb-grid{grid-template-columns:minmax(0,1fr)}
  .cb-card-featured{flex-direction:column}
  .cb-card-featured .cb-art{flex:none;min-height:0;aspect-ratio:12 / 5;border-right:0;border-bottom:1px solid var(--cw-line)}
  .cb-card-featured .cb-card-body{padding:1.25rem}
  .cb-pillar-lead .cb-pillar-body{padding:1.5rem}
  .cb-search{flex-basis:100%}
  .cb-topics{gap:1rem}
  #main.cw-page.cb .cb-strip{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "t" "s" "c";gap:.25rem}
  .cb-strip-cta{margin-top:.5rem}
}
@media(prefers-reduced-motion:reduce){
  .cb *{transition-duration:0ms!important}
}
