/* Compact global header */
.bnzh-topbar { font-size: .72rem; }
.bnzh-topbar__inner { padding-block: .38rem; }
.bnzh-header-main-wrap { position: sticky; top: 0; z-index: 100; background: var(--bnzh-surface); border-bottom: 1px solid transparent; transition: border-color .2s ease, box-shadow .2s ease; }
.bnzh-header-main-wrap.is-scrolled { border-bottom-color: var(--bnzh-line); box-shadow: 0 4px 16px rgb(18 27 23 / 5%); }
.bnzh-header-main { position: relative; display: flex; align-items: center; min-height: 76px; gap: clamp(.75rem, 1.6vw, 2rem); transition: min-height .2s ease; }
.bnzh-header-main-wrap.is-scrolled .bnzh-header-main { min-height: 62px; }
.bnzh-header-main .bnzh-brand,
.bnzh-header-main .custom-logo-link { flex: 0 0 auto; }
.bnzh-header-main .bnzh-brand__name { font-size: 1.55rem; }
.bnzh-header-main .bnzh-brand__tagline { max-width: 150px; }
.bnzh-primary-nav { margin-left: clamp(.25rem, 1.5vw, 1.5rem); }
.bnzh-header-actions { display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.bnzh-primary-nav .bnzh-menu { gap: clamp(.75rem, 1.7vw, 1.6rem); }
.bnzh-primary-nav .bnzh-menu a,
.bnzh-primary-nav .bnzh-menu summary { padding-block: .7rem; font-size: .82rem; white-space: nowrap; }
.bnzh-header-legal-aid { flex: 0 0 auto; padding: .45rem .9rem; border-radius: 2rem; background: var(--bnzh-accent); color: var(--bnzh-on-accent); font-size: .78rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; white-space: nowrap; }
.bnzh-header-legal-aid:hover, .bnzh-header-legal-aid:focus-visible { background: var(--bnzh-accent-strong); color: var(--bnzh-on-accent-strong); box-shadow: 0 3px 10px rgb(21 48 38 / 16%); transform: translateY(-1px); }
.bnzh-header-legal-aid--mobile { display:none; }
.bnzh-header-search { position: relative; z-index: 40; margin-left: auto; }
.bnzh-search-toggle { display: grid; place-items: center; width: 2.45rem; height: 2.45rem; padding: 0; border: 1px solid var(--bnzh-line); border-radius: 50%; background: transparent; color: var(--bnzh-text); font-size: 1.25rem; }
.bnzh-search-icon { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; }
.bnzh-search-toggle .bnzh-search-icon { width: 1.1rem; height: 1.1rem; }
.bnzh-search-toggle:hover { background: var(--bnzh-tint); }
.bnzh-search--overlay:not([hidden]) { position: absolute; right: 0; top: 50%; display: flex; width: min(23rem, calc(100vw - 2rem)); transform: translateY(-50%); border-color: var(--bnzh-accent); background: var(--bnzh-surface); box-shadow: var(--bnzh-shadow); }
.bnzh-search--overlay input { width: 100%; }
.bnzh-search--overlay .bnzh-search-close { border-left: 1px solid var(--bnzh-line); }

/* Editorial activity gallery */
.bnzh-main--home { padding-top: clamp(1rem, 1.5vw, 1.5rem); }
.bnzh-home-hero { padding: 0 0 1.5rem; }
.bnzh-gallery-controls { display: flex; gap: .5rem; }
.bnzh-gallery-controls button { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; padding: 0; border: 1px solid var(--bnzh-line); border-radius: 50%; background: var(--bnzh-surface); color: var(--bnzh-text); }
.bnzh-gallery-controls button:hover { border-color: var(--bnzh-accent); background: var(--bnzh-tint); }
.bnzh-activity-gallery { display: grid; grid-template-columns: minmax(0, 2.05fr) minmax(260px, .95fr); gap: 1rem; height: clamp(360px, 32vw, 440px); min-height: 0; }
.bnzh-activity-main { position: relative; height: 100%; min-height: 0; }
.bnzh-gallery-controls--inside { position: absolute; z-index: 3; top: .85rem; right: 1rem; }
.bnzh-gallery-controls--inside button { border-color: rgb(255 255 255 / 45%); background: rgb(17 35 27 / 45%); color: #fff; backdrop-filter: blur(5px); }
.bnzh-gallery-controls--inside button:hover,
.bnzh-gallery-controls--inside button:focus-visible { border-color: var(--bnzh-sand); background: var(--bnzh-accent-strong); color: var(--bnzh-on-accent-strong); }
.bnzh-activity-main__slide { position: relative; height: 100%; overflow: hidden; background: var(--bnzh-tint); }
.bnzh-activity-main__slide > a { display: block; height: 100%; color: #fff; text-decoration: none; }
.bnzh-activity-main__slide img,
.bnzh-activity-main__fallback { width: 100%; height: 100%; object-fit: cover; }
.bnzh-activity-main__fallback,
.bnzh-activity-thumb__fallback { display: grid; place-items: center; color: var(--bnzh-accent); background: var(--bnzh-tint); font-family: var(--bnzh-serif); font-size: 3rem; }
.bnzh-activity-list { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 1rem; height: 100%; min-height: 0; }
.bnzh-activity-thumb { position: relative; min-height: 0; overflow: hidden; padding: 0; border: 0; background: var(--bnzh-tint); color: #fff; text-align: left; }
.bnzh-activity-thumb img,
.bnzh-activity-thumb__fallback { width: 100%; height: 100%; object-fit: cover; }
.bnzh-activity-thumb:hover img,
.bnzh-activity-thumb.is-active img { transform: scale(1.025); }
.bnzh-activity-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1rem, 2.5vw, 2.5rem); background: linear-gradient(180deg, transparent 28%, rgb(8 26 19 / 88%) 100%); color: #fff; }
.bnzh-activity-focus-label { position: absolute; top: 1.15rem; left: 1.25rem; color: var(--bnzh-sand); font-family: var(--bnzh-sans); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.bnzh-activity-overlay .bnzh-eyebrow { color: var(--bnzh-sand); }
.bnzh-activity-overlay strong { max-width: 20ch; font-family: var(--bnzh-serif); font-size: clamp(1.65rem, 3vw, 3.15rem); font-weight: 500; line-height: 1.08; }
.bnzh-activity-overlay strong,.bnzh-activity-overlay .bnzh-eyebrow,.bnzh-activity-date,.bnzh-activity-read{ text-shadow:0 1px 2px rgb(0 0 0 / 75%),0 2px 8px rgb(0 0 0 / 35%); }
.bnzh-activity-read { display: inline-flex; gap: .5rem; margin-top: 1rem; font-family: var(--bnzh-sans); font-size: .8rem; font-weight: 800; }
.bnzh-activity-read i { font-style: normal; }
.bnzh-activity-date { margin-top: .75rem; color: rgb(255 255 255 / 82%); font-family: var(--bnzh-sans); font-size: .73rem; }
.bnzh-activity-thumb .bnzh-activity-overlay { padding: .85rem 1rem; }
.bnzh-activity-thumb .bnzh-activity-overlay strong { font-size: clamp(1rem, 1.35vw, 1.3rem); }
.bnzh-activity-thumb .bnzh-eyebrow { margin-bottom: .3rem; font-size: .62rem; }
.bnzh-activity-thumb.is-active::after { position: absolute; inset: 0; border: 3px solid var(--bnzh-sand); content: ""; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .bnzh-header-main-wrap,.bnzh-header-main,.bnzh-header-legal-aid,.bnzh-announcement--scrolling { animation:none; transition:none; } }

@media (max-width: 980px) {
  .bnzh-header-main { gap: 1rem; }
  .bnzh-primary-nav .bnzh-menu { gap: .85rem; }
  .bnzh-primary-nav .bnzh-menu a,
  .bnzh-primary-nav .bnzh-menu summary { font-size: .76rem; }
  .bnzh-header-legal-aid { padding-inline: .7rem; font-size: .7rem; }
}

@media (max-width: 800px) {
  .bnzh-header-main { flex-wrap: wrap; min-height: 0; padding-block: .75rem; }
  .bnzh-header-main .custom-logo-link img { max-width: 220px; max-height: 56px; }
  .bnzh-header-main .bnzh-brand { margin-right: auto; }
  .bnzh-menu-toggle { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem; }
  .bnzh-primary-nav { order: 4; width: 100%; margin: 0; }
  .bnzh-primary-nav .bnzh-menu { gap: 0; }
  .bnzh-primary-nav .bnzh-menu a,
  .bnzh-primary-nav .bnzh-menu summary { padding-block: .65rem; font-size: .9rem; }
  .bnzh-header-actions { order:2; margin-left:auto; }
  .bnzh-header-search { margin-left: 0; }
  .bnzh-header-legal-aid--desktop { display:none; }
  .bnzh-header-legal-aid--mobile { display:inline-flex; margin-top:.75rem; }
  .bnzh-menu-toggle { order:3; }
  .bnzh-search--overlay:not([hidden]) { position: fixed; right: 1rem; top: 1rem; transform: none; }
}

@media (max-width: 650px) {
  .bnzh-main--home { padding-top: 1rem; }
  .bnzh-activity-gallery { display: block; height: auto; min-height: 0; }
  .bnzh-activity-main { aspect-ratio: 16 / 10; height: auto; }
  .bnzh-activity-list { display: flex; gap: .75rem; margin-top: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .bnzh-activity-thumb { flex: 0 0 72%; aspect-ratio: 16 / 9; scroll-snap-align: start; }
  .bnzh-activity-overlay { padding: 1.15rem; }
  .bnzh-activity-overlay strong { font-size: clamp(1.7rem, 7vw, 2.4rem); }
}