* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, p { margin: 0; }
b { font-weight: var(--v2-weight); }

.bl-page { --bl-rule: rgba(19, 18, 21, 0.12); }
.bl-page .ltv2-nav { border-bottom: 1px solid var(--bl-rule); }
.bl-mono { font-family: var(--v2-font-mono); font-size: var(--v2-mono-l2); line-height: var(--v2-mono-l2-lh); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; }

.bl-tag { display: inline-flex; align-items: center; height: calc(var(--v2-cta-height) * 0.85); padding-inline: calc(var(--v2-cta-pad) * 0.85); border: 1px solid var(--v2-border-on-light); border-radius: var(--v2-radius-sm); color: var(--v2-text-primary); font: calc(var(--v2-mono-l2) * 0.85) / 1 var(--v2-font-mono); font-style: normal; letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; white-space: nowrap; }
.bl-tag[data-type="research"] { background: var(--v2-accent-well); border-color: var(--v2-accent-well); }

.bl-feat__arrow, .ltv2-btn span { font-size: 1.2em; transition: transform 320ms var(--v2-ease-out); }
.ltv2-btn:hover span { transform: translateX(4px); }

/* Hero: the Press stack without buttons. The featured story is the call. */
.bl-hero { padding: var(--v2-space-96) 0 var(--v2-space-64); background: var(--v2-white-smoke); }
.bl-hero__copy .ltv2-eyebrow { margin-bottom: var(--v2-space-32); }
.bl-hero__title { max-width: 14ch; text-wrap: balance; }
.bl-hero__support { max-width: 40ch; margin-top: 1.5rem; color: var(--v2-text-secondary); font-size: var(--v2-p1); line-height: var(--v2-p1-lh); text-wrap: pretty; }

/* Covers: 3:2 plates rendered from covers/cover.html. One frame, no crop. */
.bl-cover { display: block; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid var(--bl-rule); background: var(--v2-onyx); }
.bl-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--v2-ease-out); }
.bl-feat:hover .bl-cover img, .bl-row:hover .bl-cover img { transform: scale(1.015); }

/* Featured: cover left, story right, one arrow. */
.bl-featured { padding-bottom: var(--v2-space-96); background: var(--v2-white-smoke); }
.bl-feat { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) auto; grid-template-rows: auto 1fr; gap: var(--v2-space-32) var(--v2-grid-gutter); align-items: start; padding: var(--v2-space-40) 0; border-bottom: 1px solid var(--bl-rule); }
.bl-feat__media { grid-row: 1 / span 2; }
.bl-feat__meta { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-12) var(--v2-space-24); color: var(--v2-text-secondary); }
.bl-feat__body { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; align-items: flex-start; gap: var(--v2-space-24); min-width: 0; }
.bl-feat__arrow { grid-column: 3; grid-row: 1; font-size: var(--v2-s2); line-height: 1; color: var(--v2-slate-blue); }
.bl-feat:hover .bl-feat__arrow { transform: translateX(4px); }
.bl-feat__title { display: block; font-size: var(--v2-s1); line-height: var(--v2-s1-lh); letter-spacing: var(--v2-tracking-display); text-wrap: balance; }
.bl-feat__dek { display: block; max-width: 60ch; color: var(--v2-text-secondary); font-size: var(--v2-p1); line-height: var(--v2-leading-body); text-wrap: pretty; }
.bl-feat__figures { display: flex; flex-wrap: wrap; gap: var(--v2-space-16) var(--v2-space-48); padding-top: var(--v2-space-24); border-top: 1px solid var(--bl-rule); align-self: stretch; }
.bl-feat__figures:empty { display: none; }
.bl-feat__figures span { display: flex; flex-direction: column; gap: var(--v2-space-8); color: var(--v2-text-secondary); font-size: var(--v2-p2); }
.bl-feat__figures b { font-size: var(--v2-s1); line-height: var(--v2-s1-lh); letter-spacing: var(--v2-tracking-display); color: var(--v2-text-primary); font-variant-numeric: tabular-nums; }

/* Index: the Partners row on the dark ground, cover sized up to 240. */
.bl-index { --bl-rule: var(--v2-border-on-dark); padding: var(--v2-space-96) 0 var(--v2-space-128); }
.bl-index .bl-tag { color: var(--v2-text-on-dark); border-color: rgba(245,245,245,0.3); }
.bl-index .bl-tag[data-type="research"] { color: var(--v2-text-primary); }
.bl-toolbar { display: flex; justify-content: space-between; align-items: end; gap: var(--v2-space-32); padding-bottom: var(--v2-space-24); border-bottom: 1px solid var(--v2-text-on-dark); }
.bl-chips { display: flex; flex-wrap: wrap; gap: var(--v2-space-8); }
.bl-chip { display: inline-flex; align-items: center; height: var(--v2-cta-height); padding-inline: var(--v2-cta-pad); border: 1px solid rgba(245,245,245,0.3); border-radius: var(--v2-radius-sm); background: transparent; color: var(--v2-text-on-dark); font: var(--v2-mono-l2) / 1 var(--v2-font-mono); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; cursor: pointer; }
.bl-chip:hover { background: var(--v2-bg-dark-raised); }
.bl-chip[aria-pressed="true"] { background: var(--v2-accent-well); border-color: var(--v2-accent-well); color: var(--v2-text-primary); }
.bl-chip[aria-pressed="true"]:hover { background: var(--v2-pale); }
.bl-count { color: var(--v2-text-on-dark-2); }
.bl-row { --bl-thumb: 240px; display: grid; grid-template-columns: var(--bl-thumb) minmax(0, 1fr) minmax(0, 2fr) minmax(0, 2fr); column-gap: var(--v2-grid-gutter); align-items: stretch; padding: var(--v2-space-24) 0; border-bottom: 1px solid var(--bl-rule); color: var(--v2-text-on-dark); transition: opacity var(--v2-dur-base) var(--v2-ease-out), background-color var(--v2-dur-fast) var(--v2-ease-out); }
.bl-row[hidden] { display: none; }
.bl-row--out { opacity: 0; pointer-events: none; }
.bl-row:hover { background: rgba(255, 255, 255, 0.03); }
.bl-row__thumb { width: var(--bl-thumb); border-color: var(--bl-rule); }
.bl-row__date { display: flex; flex-direction: column; align-items: flex-end; gap: 0.35em; padding-top: 0.45em; color: var(--v2-text-on-dark-2); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bl-row__main { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--v2-space-24); min-width: 0; padding-top: 0.2em; }
.bl-row__main::before { content: ""; position: absolute; top: calc(-1 * var(--v2-space-24)); bottom: calc(-1 * var(--v2-space-24)); left: calc(-0.5 * var(--v2-grid-gutter)); border-left: 1px solid var(--bl-rule); }
.bl-row__title { display: block; max-width: 26ch; font-size: var(--v2-s2); line-height: var(--v2-s2-lh); letter-spacing: var(--v2-tracking-display); text-wrap: balance; }
.bl-row__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: var(--v2-space-24); min-width: 0; padding-top: 0.4em; }
.bl-row__dek { display: block; max-width: 60ch; color: var(--v2-text-on-dark-2); font-size: var(--v2-p2); line-height: var(--v2-leading-body); text-wrap: pretty; }
.bl-row__read { color: var(--v2-text-on-dark-2); }
.bl-row__read span { display: inline-block; transition: transform 320ms var(--v2-ease-out); }
.bl-row:hover .bl-row__read span { transform: translateX(4px); }

.bl-close { padding: var(--v2-space-128) 0; }
.bl-close h2 { max-width: 14ch; margin: 0 0 var(--v2-space-32); text-wrap: balance; }

@media (max-width: 1100px) {
  .bl-row { --bl-thumb: 200px; }
}

@media (max-width: 900px) {
  .bl-hero { padding: var(--v2-space-64) 0 var(--v2-space-48); }
  .bl-hero__title { max-width: none; }
  .bl-featured { padding-bottom: var(--v2-space-64); }
  .bl-feat { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--v2-space-24); padding: var(--v2-space-32) 0; }
  .bl-feat__media { grid-column: 1 / -1; grid-row: 1; }
  .bl-feat__meta { grid-column: 1 / -1; grid-row: 2; }
  .bl-feat__body { grid-column: 1; grid-row: 3; }
  .bl-feat__arrow { grid-column: 2; grid-row: 3; }
  .bl-index { padding: var(--v2-space-64) 0 var(--v2-space-96); }
  .bl-toolbar { flex-direction: column; align-items: flex-start; gap: var(--v2-space-16); }
  .bl-row { --bl-thumb: 180px; grid-template-columns: var(--bl-thumb) minmax(0, 1fr); row-gap: var(--v2-space-16); }
  .bl-row__date { flex-direction: row; justify-content: flex-start; align-items: baseline; gap: 0.5em; padding-top: 0; text-align: left; }
  .bl-row__main, .bl-row__body { grid-column: 1 / -1; padding-top: 0; }
  .bl-row__main::before { display: none; }
  .bl-row__main { gap: var(--v2-space-16); }
  .bl-row__body { gap: var(--v2-space-12); }
  .bl-row__title { max-width: none; }
  .bl-close { padding: var(--v2-space-96) 0; }
}

@media (max-width: 600px) {
  .bl-feat__figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--v2-space-16); }
  .bl-feat__figures b { font-size: var(--v2-s2); line-height: var(--v2-s2-lh); }
  .bl-row { --bl-thumb: 120px; }
}

@media (prefers-reduced-motion: reduce) {
  .bl-row, .bl-row--out, .bl-feat__arrow, .bl-row__read span, .ltv2-btn span, .bl-cover img { transition: none; }
  .bl-row--out { opacity: 1; }
  .bl-feat:hover .bl-cover img, .bl-row:hover .bl-cover img { transform: none; }
}
