/* Blog — the /blog index (blog_list) and each article (blog_post). */

/* ---- index ------------------------------------------------------------ */
.page-hero + .blog-list{padding-top:0}
.bl-head{margin-bottom:30px}
.bl-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.bl-cats button{
  appearance:none;border:1.5px solid var(--line-2);background:#fff;color:var(--ink-2);
  font-size:12.5px;font-weight:800;letter-spacing:.5px;padding:9px 18px;border-radius:999px;
  cursor:pointer;transition:.2s;
}
.bl-cats button:hover{border-color:var(--ink);color:var(--ink)}
.bl-cats button.active{background:var(--red);border-color:var(--red);color:#fff}

.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bl-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;transition:.25s;
}
.bl-card[hidden]{display:none}
.bl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.bl-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft)}
.bl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.bl-card:hover .bl-thumb img{transform:scale(1.05)}
.bl-noimg{display:grid;place-items:center;height:100%;font-weight:900;letter-spacing:2px;color:var(--line-2);text-transform:uppercase}
.bl-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.bl-tag{
  align-self:flex-start;background:var(--red-tint);color:var(--red-dk);
  font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
}
.bl-body h3{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.bl-body h3 a:hover{color:var(--red)}
.bl-body p{font-size:14px;color:var(--muted);line-height:1.6;flex:1}
.bl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.bl-meta{font-size:12px;font-weight:700;color:var(--muted)}
.bl-read{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:6px;transition:gap .2s;white-space:nowrap}
.bl-read svg{width:15px;height:15px}
.bl-card:hover .bl-read{gap:10px}

/* newest post, full width — only while every category is shown */
.bl-grid:not(.is-filtered) .bl-feature{grid-column:1/-1;flex-direction:row}
.bl-grid:not(.is-filtered) .bl-feature .bl-thumb{flex:0 0 58%;aspect-ratio:auto;min-height:360px;position:relative}
.bl-grid:not(.is-filtered) .bl-feature .bl-thumb img{position:absolute;inset:0}
.bl-grid:not(.is-filtered) .bl-feature .bl-body{padding:36px 38px;justify-content:center}
.bl-grid:not(.is-filtered) .bl-feature h3{font-size:clamp(22px,2.4vw,32px)}
.bl-grid:not(.is-filtered) .bl-feature p{flex:0;font-size:15.5px}

.bl-more{display:flex;justify-content:center;margin-top:34px}
.bl-more button[hidden]{display:none}
.bl-empty{color:var(--muted);font-size:16px;padding:30px 0}

/* ---- article ---------------------------------------------------------- */
.bp-narrow{max-width:780px}
.bp-hero{padding-bottom:40px}
.bp-hero .bl-tag{margin-bottom:16px;display:inline-block}
.bp-hero h1{text-transform:none;font-size:clamp(30px,4.2vw,50px);line-height:1.08;letter-spacing:-.02em}
.bp-hero .lead{margin-top:18px}
.bp-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:13px;font-weight:700;color:var(--muted)}
.bp-meta span+span::before{content:"·";margin-right:18px;color:var(--line-2)}
.bp-cover{margin-top:38px;max-width:1040px}
.bp-cover img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--radius)}

.bp-main{padding-top:20px}
.bp-body{font-size:17px;line-height:1.8;color:var(--ink-2)}
.bp-body h2{font-size:clamp(21px,2.2vw,27px);font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.2;margin:40px 0 12px}
.bp-body h2:first-child{margin-top:0}
.bp-body h3,.bp-body h4{font-size:19px;font-weight:800;color:var(--ink);margin:28px 0 8px}
.bp-body p{margin:0 0 18px}
.bp-body ul,.bp-body ol{margin:0 0 18px;padding-left:22px}
.bp-body ul{list-style:disc}
.bp-body ol{list-style:decimal}
.bp-body li{margin-bottom:6px}
.bp-body li::marker{color:var(--red)}
.bp-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.bp-body b,.bp-body strong{color:var(--ink);font-weight:700}
.bp-body figure{margin:30px 0}
.bp-body figure img{width:100%;border-radius:var(--radius-sm)}
.bp-body figcaption{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}

.bp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.bp-tags li{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-tint);padding:5px 12px;border-radius:999px}

.bp-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding:22px 0 0;border-top:1px solid var(--line)}
.bp-share b{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.bp-share-btns{display:flex;flex-wrap:wrap;gap:8px}
.bp-share-btns a,.bp-copy{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;min-width:42px;
  border:1.5px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);
  font:inherit;font-size:12.5px;font-weight:800;padding:0 12px;cursor:pointer;transition:.2s;
}
.bp-share-btns a:hover,.bp-copy:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.bp-share-btns svg{width:18px;height:18px}

.bp-related .h-2{margin-bottom:30px}

@media(max-width:1000px){
  .bl-grid{grid-template-columns:repeat(2,1fr)}
  .bl-grid:not(.is-filtered) .bl-feature{flex-direction:column}
  .bl-grid:not(.is-filtered) .bl-feature .bl-thumb{flex:none;aspect-ratio:16/9;min-height:0}
  .bl-grid:not(.is-filtered) .bl-feature .bl-body{padding:22px}
}
@media(max-width:640px){
  .bl-grid{grid-template-columns:1fr}
  .bp-body{font-size:16px}
  .bp-cover img{aspect-ratio:4/3}
  .bp-copy span{display:none}
}
