.bl-hub-head { padding-block: clamp(36px, 5vw, 72px) clamp(36px, 5vw, 64px); border-bottom: 1px solid var(--line); }
.bl-hub-head h1 { font-size: var(--h1); line-height: 0.95; letter-spacing: -0.01em; color: var(--olive-900); max-width: 12ch; }
.bl-hub-head .bl-lede { margin-top: 24px; max-width: 50ch; font-size: clamp(16px, 0.95rem + 0.3vw, 19px); }
.bl-list { list-style: none; margin: 0; padding: clamp(40px, 6vw, 88px) 0 clamp(72px, 9vw, 128px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(48px, 6vw, 88px) clamp(20px, 2.4vw, 40px); }
.bl-list > li:first-child { grid-column: 1 / -1; }
.bl-list > li:first-child .bl-card { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px clamp(28px, 4vw, 72px); align-items: center; }
.bl-list > li:first-child .bl-card img { aspect-ratio: 3 / 2; }
.bl-list > li:first-child .bl-card h2 { margin-top: 10px; font-size: clamp(30px, 1.4rem + 2vw, 50px); line-height: 1; letter-spacing: -0.01em; color: var(--olive-900); font-weight: 400; }
.bl-list > li:first-child .bl-date { margin-top: 0; }
.bl-list .bl-card h2 { margin-top: 8px; font-size: clamp(22px, 1.1rem + 0.7vw, 30px); line-height: 1.1; color: var(--olive-900); font-weight: 400; }
@media (hover: hover) and (pointer: fine) { .bl-list .bl-card:hover h2 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; } }
@media (max-width: 900px) {
  .bl-list { grid-template-columns: minmax(0, 1fr); }
  .bl-list > li:first-child .bl-card { grid-template-columns: minmax(0, 1fr); }
}
.bl-card { display: block; text-decoration: none; color: inherit; }
.bl-card figure { margin: 0; border-radius: var(--radius-card); overflow: hidden; background: var(--olive-600); }
.bl-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.5s var(--ease-out); }
.bl-date { margin-top: 18px; font-size: var(--small); color: var(--olive-600); }
.bl-card h3 { margin-top: 8px; font-size: clamp(22px, 1.1rem + 0.7vw, 30px); line-height: 1.1; color: var(--olive-900); font-weight: 400; }
.bl-card .bl-sum { margin-top: 10px; max-width: 46ch; font-size: 16px; }
@media (hover: hover) and (pointer: fine) { .bl-card:hover img { transform: scale(1.03); } .bl-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; } }
.bl-cta { background: var(--olive-900); color: var(--white); padding-block: clamp(80px, 11vw, 160px); }
.bl-cta-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 40px var(--gutter); align-items: end; }
.bl-cta-head { font-size: clamp(34px, 1.6rem + 2.6vw, 64px); line-height: 1; letter-spacing: -0.01em; max-width: 18ch; color: var(--cream); font-weight: 400; }
.bl-cta-side p { color: var(--cream-70); max-width: 36ch; }
.bl-cta-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) { .bl-cta-grid { grid-template-columns: 1fr; } }
