/* archives — cleaned component styles, 2026-09-06. */
.bp-publications-page { padding-top: 38px; padding-bottom: 48px; }
.bp-hub-categories { display: flex; flex-wrap: wrap; gap: 10px 28px; border-bottom: 1px solid #d7ddd2; margin-bottom: 32px; }
.bp-hub-categories a { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 0; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: .9375rem; color: #596754; }
.bp-hub-categories a[aria-current="page"] { border-color: #a24121; color: #96391e; }
.bp-publications-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 28px; }
.bp-publications-grid h2 { font-family: var(--bp-display); font-weight: 450; font-size: clamp(1.25rem,1.85vw,1.5rem); line-height: 1.35; letter-spacing: -.025em; margin: 0 0 14px; }
.bp-publications-page a:focus-visible { outline: 2px solid #a24121; outline-offset: 3px; }
@media(max-width:920px) {
  .bp-publications-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 24px; }
}
@media(max-width:680px) {
  .bp-publications-page { padding-top: 22px; padding-bottom: 32px; }
  .bp-publications-grid { grid-template-columns: 1fr; gap: 34px; }
  .bp-publications-grid h2 { font-size: 1.5rem; }
  .bp-hub-categories { gap: 4px 22px; margin-bottom: 25px; }
  .bp-hub-categories a { font-size: .875rem; }
}
