.bn-blog-page { background: var(--bn-paper); }
.bn-blog-main { overflow: hidden; }
.bn-blog-hero { padding: clamp(94px, 12vw, 168px) 0 clamp(74px, 9vw, 122px); background: var(--bn-cream); }
.bn-blog-hero h1 { max-width: 820px; margin: 0; color: var(--bn-forest); font-family: var(--bn-serif); font-size: clamp(50px, 7vw, 104px); font-weight: 500; letter-spacing: -.065em; line-height: .98; }
.bn-blog-hero__intro { max-width: 560px; margin: 30px 0 0; color: var(--bn-muted); font-size: clamp(18px, 1.7vw, 23px); line-height: 1.55; }
.bn-blog-list { padding: clamp(72px, 9vw, 132px) 0 clamp(96px, 12vw, 170px); }
.bn-blog-list__head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.bn-blog-list__head h2 { margin: 0; color: var(--bn-forest); font-family: var(--bn-serif); font-size: clamp(36px, 4.3vw, 62px); font-weight: 500; letter-spacing: -.055em; }
.bn-blog-list__count { margin: 0 0 8px; color: var(--bn-muted); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bn-blog-card, .bn-blog-card--compact { display: grid; grid-template-columns: 1fr; grid-template-rows: clamp(300px, 35vw, 460px) minmax(540px, auto); width: 100%; max-width: 980px; margin-inline: auto; overflow: hidden; border: 1px solid var(--bn-line); border-radius: 28px; background: #fff; box-shadow: 0 22px 56px rgba(18,63,52,.08); }
.bn-blog-card__image-wrap { min-height: 0; height: 100%; aspect-ratio: auto; background: #eef1e8; }
.bn-blog-card__image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bn-blog-card__body { display: flex; min-height: 0; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: clamp(34px, 5vw, 76px); }
.bn-blog-card__meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0 0 22px; color: var(--bn-accent); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.bn-blog-card h3 { max-width: 620px; margin: 0; color: var(--bn-forest); font-family: var(--bn-serif); font-size: clamp(32px, 3.8vw, 58px); font-weight: 500; letter-spacing: -.055em; line-height: 1.02; }
.bn-blog-card__excerpt { max-width: 570px; margin: 25px 0 0; color: var(--bn-muted); font-size: 17px; line-height: 1.65; }
.bn-blog-card__source { margin: 20px 0 30px; color: var(--bn-muted); font-size: 13px; }
.bn-blog-card .bn-button { min-height: 48px; margin-top: auto; padding-inline: 20px; }
.bn-blog-grid { display: grid; grid-template-columns: 1fr; gap: 28px; margin-top: 28px; }
.bn-blog-card--compact .bn-blog-card__body { padding: clamp(34px, 5vw, 76px); }
.bn-blog-card--compact h3 { font-size: clamp(32px, 3.8vw, 58px); }
.bn-blog-card--compact .bn-blog-card__excerpt { font-size: 17px; }
.bn-text-link { display: inline-flex; gap: 12px; align-items: center; margin-top: auto; padding-top: 22px; color: var(--bn-forest); font-size: 15px; font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(18,63,52,.35); }
.bn-text-link:hover, .bn-text-link:focus-visible { color: var(--bn-accent); border-color: currentColor; }
.bn-blog-note { max-width: 760px; margin: 34px 0 0; color: var(--bn-muted); font-size: 14px; line-height: 1.6; }
@media (max-width: 800px) {
  .bn-blog-list__head { align-items: start; flex-direction: column; gap: 10px; }
  .bn-blog-card, .bn-blog-card--compact { grid-template-rows: 300px minmax(460px, auto); }
}
@media (max-width: 520px) {
  .bn-blog-hero { padding-top: 78px; }
  .bn-blog-card, .bn-blog-card--compact { grid-template-rows: 260px minmax(430px, auto); }
  .bn-blog-card__body { padding: 28px 22px 32px; }
}
