/* ===== Blog v2: listing, article layout, sidebar, related reading (shared with inner pages) ===== */
.bp *,.bl-hero *,.bl-list *,.bl-related *,.bl-band *{box-sizing:border-box}
.bp-kicker,.bl-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold-2);font-weight:600;margin:0 0 12px}
.bp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(247,245,239,.62);margin:0 0 22px}
.bp-crumbs a{color:rgba(247,245,239,.82);text-decoration:none}.bp-crumbs a:hover{color:var(--v2-gold)}

/* ---------- article hero ---------- */
.bp-hero{background:var(--v2-teal);color:var(--v2-cream);padding:64px 0 72px;position:relative;overflow:hidden;isolation:isolate}
.bp-hero::before{content:"";position:absolute;width:640px;height:640px;right:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(29,91,87,.8),transparent 65%);z-index:-1}
.bp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.ka-family .bp-title{font-size:clamp(32px,3.8vw,54px);line-height:1.08;margin:0 0 18px;color:var(--v2-cream)!important}
.bp-dek{font-size:clamp(17px,1.4vw,20px);font-weight:300;color:rgba(247,245,239,.8);margin:0 0 26px;max-width:620px}
.bp-meta{display:flex;align-items:center;gap:12px}
.bp-meta img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(221,199,156,.5)}
.bp-meta span{display:flex;flex-direction:column;font-size:15px}.bp-meta a{color:var(--v2-cream);font-weight:500;text-decoration:none}
.bp-meta small{font-size:13px;color:rgba(247,245,239,.6)}
.bp-cover{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -36px rgba(0,0,0,.6)}
.bp-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- article + sidebar ---------- */
.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;padding-top:64px;padding-bottom:40px;align-items:start}
.bp-main{min-width:0;max-width:760px}
.bp-body{font-size:18px;line-height:1.75;color:#24403c}
.bp-body>*:first-child{margin-top:0}
.ka-family .bp-body h2{font-size:clamp(25px,2.4vw,32px);margin:56px 0 16px;padding-top:22px;border-top:1px solid var(--v2-line);scroll-margin-top:110px;line-height:1.15}
.ka-family .bp-body h3{font-size:21px;margin:34px 0 10px}
.bp-body p{margin:0 0 20px}
.bp-body ul,.bp-body ol{padding-left:22px;margin:0 0 22px}.bp-body li{margin:0 0 8px}
.bp-body a{color:#0b5b4f;text-underline-offset:3px}
.bp-body table{border-collapse:collapse;width:100%}
.bp-body th{background:var(--v2-teal);color:var(--v2-cream);font-weight:500}
.bp-body td,.bp-body th{padding:12px 14px!important;border-bottom:1px solid var(--v2-line)!important}
.bp-body tr:nth-child(even) td{background:rgba(23,48,46,.03)}
.bp-body div[style*="overflow-x"]{border-radius:16px;border:1px solid var(--v2-line);margin:10px 0 18px}
.bp-body blockquote{margin:26px 0;padding:18px 24px;border-left:3px solid var(--v2-gold);background:rgba(221,199,156,.12);border-radius:0 14px 14px 0}
.bp-body img{border-radius:18px;max-width:100%;height:auto}
.bp-body code{background:rgba(23,48,46,.07);padding:2px 6px;border-radius:6px;font-size:.88em;word-break:break-word}
.bp-body [data-related]{display:none}

.bp-side{position:sticky;top:104px;display:grid;gap:18px}
.bp-card{background:#fff;border:1px solid var(--v2-line);border-radius:22px;padding:22px}
.bp-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;display:grid;gap:2px;max-height:42vh;overflow:auto}
.bp-toc li{counter-increment:toc}
.bp-toc a{display:flex;gap:10px;padding:7px 8px;border-radius:10px;font-size:14px;line-height:1.35;color:#2b4744;text-decoration:none;transition:background .2s,color .2s}
.bp-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--v2-gold-2);font-size:12px;padding-top:2px}
.bp-toc a:hover,.bp-toc a.on{background:rgba(23,48,46,.06);color:var(--v2-teal)}
.bp-cta{background:var(--v2-teal);color:var(--v2-cream);border-color:var(--v2-teal)}
.bp-cta .bp-kicker{color:var(--v2-gold)}
.ka-family .bp-cta h3{color:var(--v2-cream)!important;font-size:22px;margin:0 0 8px;line-height:1.2}
.bp-cta p{color:rgba(247,245,239,.75);font-size:14px;margin:0 0 16px}
.bp-mini{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:8px 0;text-decoration:none;color:var(--v2-ink);border-top:1px solid var(--v2-line)}
.bp-mini:first-of-type{border-top:0}
.bp-mini img{width:64px;height:52px;object-fit:cover;border-radius:10px}
.bp-mini span{font-size:14px;line-height:1.3;font-weight:500}.bp-mini small{display:block;font-weight:400;color:var(--v2-muted);font-size:12px;margin-top:4px}
.bp-mini:hover span{color:#0b5b4f}
.bp-tags{display:flex;flex-wrap:wrap;gap:8px}
.bp-tags a{font-size:13px;padding:6px 12px;border-radius:99px;border:1px solid var(--v2-line);color:var(--v2-ink);text-decoration:none;transition:background .2s,border-color .2s}
.bp-tags a span{color:var(--v2-muted);font-size:12px}
.bp-tags a:hover,.bp-tags a.on{background:var(--v2-teal);color:var(--v2-cream);border-color:var(--v2-teal)}.bp-tags a.on span,.bp-tags a:hover span{color:var(--v2-gold)}
.bp-link{display:block;padding:8px 0;border-top:1px solid var(--v2-line);color:var(--v2-ink);text-decoration:none;font-size:15px}.bp-link:first-of-type{border-top:0}.bp-link:hover{color:#0b5b4f}
.bp-toc-mobile{display:none}

.bp-author{display:grid;grid-template-columns:96px 1fr;gap:24px;margin:56px 0 0;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--v2-line)}
.bp-author-photo img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.ka-family .bp-author h2{font-size:24px;margin:0 0 4px;border:0;padding:0}.bp-author h2 a{color:var(--v2-ink);text-decoration:none}
.bp-author-role{color:var(--v2-muted);font-size:14px;margin:0 0 12px}
.bp-author p{margin:0 0 12px;font-size:15px;line-height:1.6}
.bp-author nav{display:flex;gap:18px;flex-wrap:wrap}.bp-author nav a{font-weight:500;font-size:14px;color:#0b5b4f}

/* ---------- blog listing ---------- */
.bl-hero{background:var(--v2-teal);color:var(--v2-cream);padding:64px 0 40px;position:relative;overflow:hidden;isolation:isolate}
.bl-hero::before{content:"";position:absolute;width:700px;height:700px;right:-220px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(29,91,87,.8),transparent 65%);z-index:-1}
.ka-family .bl-hero h1{font-size:clamp(38px,5vw,72px);margin:0 0 16px;color:var(--v2-cream)!important}
.bl-lede{max-width:640px;font-size:clamp(17px,1.4vw,20px);font-weight:300;color:rgba(247,245,239,.8);margin:0 0 30px}
.bl-chips{display:flex;gap:8px;flex-wrap:wrap}
.bl-chips button{all:unset;cursor:pointer;font-size:14px;padding:8px 14px;border-radius:99px;border:1px solid var(--v2-line-d);color:var(--v2-cream);transition:background .2s,border-color .2s}
.bl-chips button span{opacity:.6;font-size:12px;margin-left:2px}
.bl-chips button:hover{border-color:rgba(221,199,156,.6)}
.bl-chips button.on{background:var(--v2-gold);color:var(--v2-teal);border-color:var(--v2-gold)}
.bl-chips button:focus-visible{outline:2px solid var(--v2-gold);outline-offset:3px}
.bl-list{padding:56px 0 90px}
.bl-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.bl-main{min-width:0}
.bl-note{background:rgba(221,199,156,.18);border-radius:14px;padding:14px 18px;margin-top:24px}
.bl-empty{padding:30px;text-align:center;color:var(--v2-muted)}

.bl-lead{display:grid;grid-template-columns:1.1fr 1fr;border-radius:26px;overflow:hidden;background:var(--v2-teal);color:var(--v2-cream);text-decoration:none;margin-bottom:28px;transition:transform .45s var(--v2-ease),box-shadow .45s}
.bl-lead:hover{transform:translateY(-4px);box-shadow:0 34px 70px -34px rgba(8,47,49,.55)}
.bl-lead .bl-img{display:block;min-height:320px;overflow:hidden}
.bl-lead .bl-txt{padding:34px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.bl-lead .bl-tag{color:var(--v2-gold)}.bl-lead .bl-title{font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:-.02em}
.bl-lead .bl-ex{color:rgba(247,245,239,.75);font-weight:300}.bl-lead .bl-meta{color:rgba(247,245,239,.6)}

/* cards (shared by listing, related posts and inner pages) */
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bl-grid-2{grid-template-columns:repeat(2,1fr)}
.bl-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--v2-line);text-decoration:none;color:var(--v2-ink);transition:transform .45s var(--v2-ease),box-shadow .45s,border-color .3s}
.bl-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(8,47,49,.3);border-color:transparent}
.bl-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#123f3e}
.bl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--v2-ease)}
.bl-card:hover .bl-img img,.bl-lead:hover .bl-img img{transform:scale(1.05)}
.bl-txt{display:flex;flex-direction:column;gap:10px;padding:20px 22px 24px;flex:1}
.bl-tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--v2-gold-2);font-weight:600}
.bl-title{font-size:20px;line-height:1.25;font-weight:500;letter-spacing:-.015em;flex:1}
.bl-meta{font-size:13px;color:var(--v2-muted)}
.bl-card[hidden],.bl-lead[hidden]{display:none}

/* related reading block (articles + every inner page) */
.bl-related{padding:80px 0;background:var(--v2-cream-2);border-top:1px solid var(--v2-line)}
.bl-related-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.ka-family .bl-related h2{font-size:clamp(28px,3.4vw,46px);margin:0}
.bl-more{font-weight:500;color:var(--v2-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* closing band */
.bl-band{background:var(--v2-teal);color:var(--v2-cream);padding:70px 0}
.bl-band-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.ka-family .bl-band h2{color:var(--v2-cream)!important;font-size:clamp(26px,3vw,40px);margin:0 0 8px}
.bl-band p{margin:0;color:rgba(247,245,239,.75);font-weight:300}

@media(max-width:1100px){.bp-layout,.bl-layout{grid-template-columns:minmax(0,1fr) 300px;gap:36px}.bl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .bp-hero-grid{grid-template-columns:1fr;gap:30px}.bp-hero{padding:40px 0 48px}
  .bp-layout,.bl-layout{grid-template-columns:1fr}
  .bp-side{position:static}.bp-side .bp-toc{display:none}
  .bp-toc-mobile{display:block;margin:0 0 28px;border:1px solid var(--v2-line);border-radius:16px;padding:14px 18px;background:#fff}
  .bp-toc-mobile summary{cursor:pointer;font-weight:500}
  .bp-toc-mobile ol{margin:12px 0 0;padding-left:20px;display:grid;gap:8px;font-size:15px}
  .bl-lead{grid-template-columns:1fr}.bl-lead .bl-img{min-height:0;aspect-ratio:16/10}
}
@media(max-width:600px){
  .bp-body{font-size:17px}.bl-grid,.bl-grid-2{grid-template-columns:1fr}
  .bp-author{grid-template-columns:1fr;padding:22px}.bl-related{padding:60px 0}.bl-list{padding:36px 0 70px}
  .bl-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-20px}.bl-chips button{white-space:nowrap}
}
