@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("/assets/oswald-400.woff2") format("woff2");
}
:root {
  --bg: #0b0907;
  --bg-2: #100e0b;
  --panel: #141210;
  --panel-2: #1a1714;
  --line: #2e2920;
  --gold: #d4aa2f;
  --gold-2: #e8c14c;
  --gold-dim: rgba(212, 170, 47, 0.14);
  --text: #f6f1e6;
  --muted: #a39b8e;
  --white: #ffffff;
  --danger: #c45c3a;
  --header-h: 58px;
  --radius: 10px;
  --font-display: "Oswald", "Arial Narrow", Impact, sans-serif;
  --font-ui: "Segoe UI", "Avenir Next", system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--text); overflow-x: hidden; }
body { font-family: var(--font-ui); line-height: 1.45; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.skip { position: absolute; left: 1rem; top: -3rem; background: var(--gold); color: #111; padding: .6rem 1rem; z-index: 80; }
.skip:focus { top: .6rem; }
.wrap { width: min(100% - 2.4rem, 1280px); margin-inline: auto; min-width: 0; }
.ico { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; flex: 0 0 auto; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(8,6,5,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.header-row {
  display: flex; align-items: center; gap: .6rem;
  min-height: var(--header-h);
}
.brand { display: flex; align-items: center; gap: .5rem; text-decoration: none; min-height: 44px; flex: 0 0 auto; }
.brand-mark {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: .01em;
  font-size: 2.15rem;
  color: var(--gold);
  line-height: .8;
}
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy strong {
  font-family: var(--font-display);
  font-size: .78rem;
  letter-spacing: .18em;
  font-weight: 500;
}
.brand-copy span { font-size: .52rem; color: var(--muted); letter-spacing: .14em; text-transform: uppercase; }
.nav-main { display: none; gap: .05rem; margin-left: .15rem; flex: 1; justify-content: center; }
.nav-main a, .nav-drop > button {
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  padding: .45rem .42rem;
  min-height: 40px;
  display: inline-flex; align-items: center;
  background: none; border: 0; color: #d8d0c2; cursor: pointer;
  white-space: nowrap;
}
.nav-drop { position: relative; }
.nav-drop-menu {
  display: none; position: absolute; top: 100%; left: 0;
  background: var(--panel); border: 1px solid var(--line); min-width: 14rem; padding: .4rem 0; z-index: 5;
}
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { display: block; }
.nav-drop-menu a { display: block; padding: .65rem 1rem; text-decoration: none; font-size: .78rem; letter-spacing: .08em; text-transform: none; }
.nav-drop-menu a:hover { background: var(--gold-dim); color: var(--gold); }
.header-tools { margin-left: auto; display: flex; align-items: center; gap: .5rem; }
.search-mini {
  display: none; align-items: center; gap: .4rem;
  background: #161310; border: 1px solid #3a3428;
  padding: .28rem .8rem; min-width: 13.8rem; height: 34px;
  border-radius: 8px; color: var(--muted);
}
.search-mini input { background: none; border: 0; outline: none; width: 100%; min-width: 0; color: var(--text); font-size: .78rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: 36px; padding: .45rem 1rem;
  border: 1px solid var(--gold); background: transparent; color: var(--gold);
  text-decoration: none; letter-spacing: .12em; text-transform: uppercase;
  font-size: .62rem; font-weight: 700; cursor: pointer;
  border-radius: 8px; white-space: nowrap;
}
.btn-fill { background: var(--gold); color: #16120a; border-color: var(--gold); }
.btn-fill:hover { background: var(--gold-2); }
.btn-ghost { min-height: 34px; padding: .4rem .85rem; }
.btn-ghost:hover { background: var(--gold-dim); }
.menu-btn { display: inline-flex; }
.nav-mobile { display: none; flex-direction: column; padding: 0 1rem 1rem; border-top: 1px solid var(--line); }
.nav-mobile.is-open { display: flex; }
.nav-mobile a { min-height: 44px; display: flex; align-items: center; text-decoration: none; border-bottom: 1px solid var(--line); letter-spacing: .1em; text-transform: uppercase; font-size: .8rem; }
@media (min-width: 1100px) {
  .nav-main { display: flex; }
  .search-mini { display: flex; }
  .menu-btn { display: none; }
}

/* Hero */
.hero {
  position: relative;
  min-height: 28rem;
  background: #000 url("/assets/hero-desk.jpg") 60% 50%/cover no-repeat;
  isolation: isolate;
}
.hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(8,6,4,.92) 0%,
    rgba(8,6,4,.72) 20%,
    rgba(8,6,4,.28) 42%,
    rgba(8,6,4,.04) 62%,
    rgba(8,6,4,.5) 100%);
  z-index: 0;
}
.hero-grid {
  position: relative; z-index: 1;
  display: grid; gap: 1rem;
  padding: 1.35rem 0 1.2rem;
}
.kicker {
  margin: 0 0 .55rem;
  color: var(--gold);
  font-size: .62rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 700;
}
.hero h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.15rem, 4.7vw, 3.85rem);
  line-height: .88;
  letter-spacing: .008em;
  text-transform: uppercase;
  margin: 0 0 .5rem;
}
.hero h1 .line { display: block; white-space: nowrap; color: var(--white); }
.hero h1 em { color: var(--gold); font-style: normal; display: block; white-space: nowrap; }
.dek { max-width: 30rem; color: #e4dccb; font-size: .86rem; margin: 0 0 .7rem; line-height: 1.4; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }
.trust-row { display: flex; flex-wrap: wrap; gap: 1.1rem; color: var(--muted); font-size: .72rem; }
.trust-item { display: grid; grid-template-columns: 18px 1fr; gap: .4rem; align-items: start; }
.trust-item svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; }
.trust-row strong { display: block; color: var(--text); letter-spacing: .16em; font-size: .58rem; text-transform: uppercase; }
.evidence-panel {
  background: rgba(14,12,10,.96);
  border: 1px solid #3a3428;
  border-radius: 12px;
  padding: .55rem .8rem .55rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.4);
  align-self: end;
}
.evidence-panel h2 {
  margin: 0 0 .35rem;
  font-size: .62rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.ev-row {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: .55rem;
  padding: .38rem 0;
  border-top: 1px solid var(--line);
  text-decoration: none;
  align-items: center;
}
.ev-row img, .paper {
  width: 40px; height: 48px; border-radius: 2px; object-fit: cover;
  background: linear-gradient(180deg, #f3e6c8, #d9c39a);
  box-shadow: inset 0 0 0 1px rgba(80,60,20,.25);
}
.ev-row time { display: block; color: var(--gold); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.ev-row strong { display: block; font-size: .84rem; font-weight: 650; }
.ev-row span { display: block; color: var(--muted); font-size: .7rem; }
.evidence-panel .btn { width: 100%; margin-top: .4rem; min-height: 32px; }

@media (min-width: 980px) {
  .hero { min-height: 342px; height: 342px; }
  .hero-grid { grid-template-columns: 1.22fr .52fr; align-items: stretch; height: 342px; padding: .55rem 0 .55rem; }
  .hero-copy { display: flex; flex-direction: column; justify-content: center; padding-bottom: .05rem; }
}

/* Metrics */
.metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #0c0a08;
}
.metric {
  display: flex; align-items: center; justify-content: center; gap: .65rem;
  padding: .7rem .6rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.metric svg { width: 20px; height: 20px; stroke: var(--gold); fill: none; flex: 0 0 auto; }
.metric b {
  display: block;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: var(--gold);
  letter-spacing: .04em;
  line-height: 1;
}
.metric span { font-size: .52rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
@media (min-width: 900px) {
  .metrics { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .metric { border-bottom: 0; padding: .55rem .4rem; }
}

/* Cards */
.section { padding: .4rem 0 .2rem; }
.section-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .55rem; }
.section-tools { display: flex; align-items: center; gap: .7rem; margin-left: auto; }
.section-head h2 {
  margin: 0;
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.view-all { color: var(--gold); text-decoration: none; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; }
.carousel { display: none; gap: .35rem; }
.carousel button {
  width: 28px; height: 28px; border-radius: 99px;
  border: 1px solid var(--line); background: #161310; color: var(--gold); cursor: pointer;
}
@media (min-width: 1100px) { .carousel { display: flex; } }
.card-row {
  display: grid;
  gap: .7rem;
  grid-template-columns: 1fr;
}
.story {
  position: relative;
  min-height: 9.3rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  text-decoration: none;
  display: flex; align-items: flex-end;
}
.story::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,6,4,.92) 0%, rgba(8,6,4,.2) 58%, rgba(8,6,4,.05) 100%);
  z-index: 0;
}
.story img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.5) saturate(.85); }
.story-body { position: relative; z-index: 1; padding: .85rem .9rem .9rem; width: 100%; }
.tag { color: var(--gold); font-size: .56rem; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 .25rem; }
.story h3 { margin: 0 0 .3rem; font-size: 1.05rem; line-height: 1.2; }
.story p { margin: 0 0 .45rem; color: #d7d0c4; font-size: .78rem; }
.story .meta { display: flex; justify-content: space-between; gap: .5rem; margin: 0; }
.story time, .more { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.more { color: var(--gold); }
@media (min-width: 720px) { .card-row { grid-template-columns: 1fr 1fr; } .story { min-height: 9.4rem; } }
@media (min-width: 1100px) { .card-row { grid-template-columns: repeat(4, minmax(0,1fr)); } }

/* Lower trio */
.lower {
  display: grid; gap: .5rem;
  padding-bottom: .2rem;
}
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .85rem .95rem .9rem;
}
.panel h2 {
  margin: 0 0 .65rem;
  font-size: .66rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  display: flex; justify-content: space-between; align-items: center;
}
.proj { display: grid; grid-template-columns: 18px minmax(0,1fr) 108px; gap: .4rem .6rem; padding: .42rem 0; border-top: 1px solid var(--line); text-decoration: none; align-items: center; }
.proj svg { width: 16px; height: 16px; stroke: var(--gold); fill: none; }
.proj strong { display: block; font-size: .8rem; line-height: 1.25; }
.proj .sub { color: var(--muted); font-size: .7rem; }
.proj-meter { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .35rem; }
.proj-meter em { font-style: normal; color: var(--gold); font-size: .68rem; font-weight: 700; }
.q-list { list-style: none; margin: 0; padding: 0; }
.q-list li { border-top: 1px solid var(--line); padding: .32rem 0 .32rem 1.55rem; position: relative; font-size: .78rem; }
.q-list li::before {
  content: "?";
  position: absolute; left: 0; top: .48rem;
  width: 16px; height: 16px; border: 1px solid var(--gold); border-radius: 99px;
  color: var(--gold); font-size: .62rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; line-height: 1;
}
.bar {
  display: block;
  width: 100%;
  height: 4px;
  min-height: 4px;
  max-height: 4px;
  overflow: hidden;
  background: #2a261f;
  border-radius: 99px;
}
.bar-fill {
  display: block;
  height: 4px;
  min-height: 4px;
  max-height: 4px;
  background: var(--gold);
  border-radius: 99px;
}
.survivors {
  position: relative; min-height: 10.2rem; overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex; align-items: center;
}
.survivors img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; filter: brightness(.38); }
.survivors::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8,6,4,.82) 0%, rgba(8,6,4,.35) 70%, rgba(8,6,4,.2) 100%);
}
.survivors-body { position: relative; z-index: 1; padding: 1rem 1.05rem; }
.survivors h2 {
  font-size: 1.08rem; letter-spacing: .04em; margin: .25rem 0 .3rem;
  text-transform: uppercase; font-family: var(--font-display); font-weight: 600; line-height: 1.05;
}
.survivors p { margin: 0 0 .7rem; color: #d7d0c4; font-size: .8rem; max-width: 22rem; }
@media (min-width: 980px) {
  .lower { grid-template-columns: 1.12fr .95fr 1.12fr; }
}

/* Footer */
.method {
  display: grid; gap: .55rem;
  padding: .4rem 0 .3rem;
  border-top: 1px solid var(--gold);
}
.method-lead { display: grid; grid-template-columns: 28px 1fr; gap: .55rem; align-items: start; color: var(--gold); }
.method h2 { margin: 0 0 .2rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text); }
.method p { margin: 0 0 .25rem; color: #cfc6b6; font-size: .74rem; }
.promises { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: .4rem; color: var(--gold); font-size: .62rem; text-align: center; letter-spacing: .04em; }
.promises div { display: grid; justify-items: center; gap: .25rem; }
.promises svg { stroke: var(--gold); fill: none; }
.subscribe { display: flex; gap: .4rem; flex-wrap: nowrap; }
.subscribe input {
  flex: 1; min-width: 0; min-height: 32px;
  background: #0b0a09; border: 1px solid var(--line); padding: 0 .75rem;
  border-radius: 6px;
}
.legal {
  display: flex; flex-wrap: wrap; gap: .3rem 1rem;
  padding: .2rem 0 .15rem;
  border-top: 1px solid var(--line);
  color: var(--muted); font-size: .66rem;
}
.legal a { text-decoration: none; }
@media (min-width: 900px) {
  .method { grid-template-columns: 1.15fr .75fr 1.15fr 1.05fr; align-items: start; }
}

/* Inner pages */
.page-hero { padding: 2rem 0 1.2rem; border-bottom: 1px solid var(--line); }
.page-hero h1 { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(2rem, 5vw, 3.4rem); margin: .3rem 0 .7rem; line-height: 1; }
.prose { max-width: 42rem; padding: 1.5rem 0 3rem; }
.prose h2 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .06em; }
.fact { border-left: 3px solid var(--gold); background: var(--gold-dim); padding: .9rem 1rem; }
.limit { border-left: 3px solid var(--danger); background: rgba(196,92,58,.12); padding: .9rem 1rem; }
.timeline { list-style: none; padding: 0; border-left: 1px solid var(--gold); }
.timeline li { padding: 0 0 1rem 1.1rem; }
.timeline time { display: block; color: var(--gold); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; width: 100%; min-width: 0; border-bottom: 2px solid var(--gold); }
.search-form input { min-width: 0; width: 100%; background: none; border: 0; padding: 1rem 0; font-size: 1.3rem; outline: none; }
.search-form button {
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid var(--gold);
  border-radius: 8px;
  background: var(--gold);
  color: #16120a;
  font-weight: 700;
  cursor: pointer;
}
.search-form button:hover { background: var(--gold-2); }
@media (max-width: 430px) {
  .search-form { grid-template-columns: minmax(0,1fr); gap: .45rem; padding-bottom: .5rem; }
  .search-form button { width: 100%; }
}

@media (max-width: 720px) {
  .hero h1 .line, .hero h1 em { white-space: normal; }
  .hero h1 { font-size: 2.05rem; }
  .hero, .hero-grid, .evidence-panel, .card-row, .lower, .metrics { max-width: 100%; }
  .header-tools .btn { min-height: 44px; padding: .5rem .65rem; }
  .menu-btn { min-height: 44px; }
  .brand-copy { display: none; }
  .header-tools [data-overlay-open="ask-gah-panel"] { display: none; }
  .nav-main { display: none !important; }
  .header-row { max-width: 100%; overflow: hidden; }
  .proj { grid-template-columns: 18px minmax(0,1fr); }
  .proj-meter { grid-column: 2; }
  .promises { grid-template-columns: 1fr 1fr; }
  .subscribe { flex-wrap: wrap; }
}
.sr, .sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }

/* V3 family aliases so migrated V2 content belongs to this shell */
html { --gah-consent-reserve: 0px; }
body { padding-bottom: var(--gah-consent-reserve); }
.skip-link { position: absolute; left: 1rem; top: -3rem; background: var(--gold); color: #111; padding: .6rem 1rem; z-index: 80; }
.skip-link:focus { top: .6rem; }
.wrap-narrow { width: min(100% - 2.4rem, 42rem); margin-inline: auto; min-width: 0; }
.headline { font-family: var(--font-display); text-transform: uppercase; line-height: .95; margin: .2rem 0 .6rem; }
.lede, .dek { color: #e4dccb; }
.byline { color: var(--muted); font-size: .82rem; }
.caption { color: var(--muted); font-size: .8rem; }
.btn-primary, .btn-fill { background: var(--gold); color: #16120a; border-color: var(--gold); }
.fact-box { border-left: 3px solid var(--gold); background: var(--gold-dim); padding: .9rem 1rem; }
.limit-box { border-left: 3px solid var(--danger); background: rgba(196,92,58,.12); padding: .9rem 1rem; }
.btn-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.text-link { color: var(--gold); }
.progress { position: sticky; top: var(--header-h); height: 2px; background: transparent; z-index: 30; }
.progress span { display: block; height: 2px; width: 0; background: var(--gold); }
.article-hero { padding: 2rem 0 1rem; }
.article-hero .headline { font-size: clamp(2rem, 5vw, 3.4rem); }
.app-frame { border: 1px solid var(--line); border-radius: var(--radius); overflow: auto; background: var(--panel); }

.search-hero { padding: 2rem 0 1rem; }
.search-layout { display: grid; gap: 1.2rem; padding-bottom: 2rem; }
@media (min-width: 900px) { .search-layout { grid-template-columns: 16rem minmax(0,1fr); } }
.search-result { border-top: 1px solid var(--line); padding: 1rem 0; }
.search-result h3 { margin: 0 0 .35rem; }
.evidence-id { font-family: ui-monospace, monospace; color: var(--gold); font-size: .78rem; }
.empty, .error-state, .loading { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); color: var(--muted); }
.error-state { border-color: var(--danger); color: #e7c4b6; }

/* Compatibility: the Barak portal's source-note block arrives with a light
   upstream panel background. Keep its copy dark enough to remain readable
   inside the V3 shell instead of inheriting V3's light-on-dark body text. */
body.barak-portal #source-notes.note {
  color: #172235 !important;
}
body.barak-portal #source-notes.note h2,
body.barak-portal #source-notes.note p {
  color: #172235 !important;
}

.backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 60; }
.palette, .drawer { position: fixed; z-index: 70; background: var(--panel); border: 1px solid var(--line); color: var(--text); }
.palette { left: 50%; top: 18%; transform: translateX(-50%); width: min(36rem, calc(100% - 2rem)); padding: 1rem; border-radius: 12px; }
.drawer-right { top: 0; right: 0; height: 100%; width: min(28rem, 100%); padding: 1.1rem; overflow: auto; }
.drawer-bottom { left: 0; right: 0; bottom: 0; padding: 1rem; }
.ask-form textarea { width: 100%; min-height: 6rem; background: #0b0a09; border: 1px solid var(--line); color: var(--text); padding: .6rem; }
.ask-launcher { position: fixed; right: 1rem; bottom: calc(1rem + var(--gah-consent-reserve)); z-index: 45; }
.consent-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: #141210; border-top: 1px solid var(--gold); padding: .8rem 1rem; display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; justify-content: space-between; }
.consent-reopen {
  position: fixed; left: 1rem; bottom: 1rem; z-index: 45;
  background: #141210; color: var(--gold); border: 1px solid var(--gold);
  border-radius: 8px; min-height: 36px; padding: .4rem .8rem;
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
}
.lens-doc dt { color: var(--gold); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; margin-top: .7rem; }
.lens-doc dd { margin: .2rem 0 0; }
.lens-mark { background: none; border: 0; color: var(--gold); cursor: pointer; text-decoration: underline; }

.page-shell { width: min(100% - 2.4rem, 1280px); margin-inline: auto; min-width: 0; }
.eyebrow { color: var(--gold); letter-spacing: .2em; text-transform: uppercase; font-size: .68rem; font-weight: 700; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: .45rem 1rem; border: 1px solid var(--gold); color: var(--gold); text-decoration: none; border-radius: 8px; }
.button.primary { background: var(--gold); color: #16120a; }
.content, .notice { max-width: 42rem; }
.page-index-grid { display: grid; gap: .7rem; }
@media (min-width: 720px) { .page-index-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .page-index-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

/* GAH-BARAK-MOBILE-CONTRAST-028
   Barak search/filter surfaces intentionally use light cards inside the V3
   dark shell. Do not inherit V3 light-on-dark body text into these panels. */
body.barak-portal .search-panel {
  color: #1f2933;
  background: #ffffff;
}

body.barak-portal .search-panel .search-label,
body.barak-portal .search-panel h2,
body.barak-portal .search-panel h3 {
  color: #0a4d57;
}

body.barak-portal .portal-search-input {
  color: #1f2933;
  background: #ffffff;
  border-color: #6b7280;
}

body.barak-portal .portal-search-input::placeholder {
  color: #6b7280;
  opacity: 1;
}

body.barak-portal .filter-set {
  color: #1f2933;
  border-color: #d8dee6;
}

body.barak-portal .filter-set legend {
  color: #5d6b7a;
}

body.barak-portal .filter-set label {
  color: #334155;
}

body.barak-portal .filter-set input,
body.barak-portal .filter-set select {
  color: #1f2933;
}

body.barak-portal .filter-set input[type="date"],
body.barak-portal .filter-set select {
  background: #ffffff;
  border-color: #6b7280;
}

body.barak-portal .filter-set input[type="checkbox"],
body.barak-portal .filter-set input[type="radio"] {
  accent-color: #0f6b78;
}

@media (max-width: 720px) {
  body.barak-portal .search-panel {
    padding: 16px;
  }

  body.barak-portal .filter-set {
    gap: 10px 12px;
  }

  body.barak-portal .filter-set label {
    line-height: 1.35;
  }
}

/* UI-032 shared inner-page component recovery */
.page-hero,
.article-hero {
  width: min(calc(100% - 2.4rem), 1280px);
  margin-inline: auto;
  min-width: 0;
}
.content {
  width: min(calc(100% - 2.4rem), 42rem);
  max-width: 42rem;
  margin-inline: auto;
  padding: 1.2rem 0 2.5rem;
  min-width: 0;
}
.content.wide {
  width: min(calc(100% - 2.4rem), 1280px);
  max-width: 1280px;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .85rem 0 0;
}
.feature-panel {
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.feature-panel.gold {
  border-color: rgba(212,170,47,.55);
  background: linear-gradient(135deg, rgba(212,170,47,.12), rgba(20,18,16,.96));
}
.feature-panel h2,
.info-card h3,
.dispatch-card h3,
.desk h3,
.story-row h3 {
  margin: .2rem 0 .45rem;
}
.feature-panel p:last-child,
.info-card p:last-child,
.dispatch-card p:last-child,
.desk p:last-child,
.story-row p:last-child {
  margin-bottom: 0;
}
.prose-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
  margin: 1rem 0;
}
.info-card {
  padding: .95rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  min-width: 0;
}

.badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: .2rem .52rem;
  border: 1px solid #4a4336;
  border-radius: 999px;
  color: #d7d0c4;
  font-size: .62rem;
  line-height: 1.15;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}
.badge.live { color: #d8e8cf; border-color: #4c6845; background: rgba(87,120,75,.12); }
.badge.receipt { color: var(--gold-2); border-color: #6d5923; background: var(--gold-dim); }
.badge.open { color: #e7c4b6; border-color: #754839; background: rgba(196,92,58,.12); }
.route-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
  margin: .85rem 0 1.2rem;
}
.route-link {
  display: grid;
  gap: .24rem;
  min-width: 0;
  padding: .8rem .9rem;
  border: 1px solid var(--line);

  border-radius: var(--radius);
  background: var(--panel);
  color: var(--text);
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.route-link:hover,
.route-link:focus-visible {
  border-color: rgba(212,170,47,.7);
  background: #191611;
}
.route-link strong {
  color: var(--text);
  line-height: 1.25;
}
.route-link span {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.4;
}
.dispatch-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
  margin: 1rem 0 1.35rem;
}

.dispatch-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 12rem;
  padding: .95rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, #171410, #12100e);
  color: var(--text);
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.dispatch-card:hover,
.dispatch-card:focus-visible {
  border-color: rgba(212,170,47,.72);
  background: #191611;
  transform: translateY(-1px);
}
.dispatch-card .number {
  color: var(--gold);
  font-family: var(--font-display);
  font-size: .78rem;
  letter-spacing: .12em;
}
.dispatch-card h3 {
  font-size: 1.05rem;
  line-height: 1.2;
}

.dispatch-card p {
  color: #d7d0c4;
  font-size: .82rem;
  line-height: 1.45;
  flex: 1 1 auto;
}
.card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .65rem;
}
.story-field {
  width: min(calc(100% - 2.4rem), 1280px);
  margin: .9rem auto 2.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
}
.desk,
.story-row {
  display: block;
  min-width: 0;
  padding: .95rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--text);
  text-decoration: none;
}

.desk,
.story-row {
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.desk:hover,
.desk:focus-visible,
.story-row:hover,
.story-row:focus-visible {
  border-color: rgba(212,170,47,.72);
  background: #191611;
  transform: translateY(-1px);
}
.desk .caption,
.story-row .caption {
  display: block;
  margin-bottom: .35rem;
  color: var(--gold);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.desk p,
.story-row p {
  color: #d7d0c4;
  font-size: .82rem;
  line-height: 1.45;
}
.notice {
  width: min(calc(100% - 2.4rem), 42rem);
  margin: .9rem auto;
  padding: .85rem 1rem;
  border-left: 3px solid var(--gold);
  background: var(--gold-dim);
}

.gah-consent-reopen {
  position: fixed;
  left: 1rem;
  bottom: calc(1rem + var(--gah-consent-reserve));
  z-index: 45;
  min-height: 36px;
  padding: .4rem .8rem;
  border: 1px solid var(--gold);
  border-radius: 8px;
  background: #141210;
  color: var(--gold);
  font: 700 .68rem/1 var(--font-ui);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.gah-consent-reopen:hover,
.gah-consent-reopen:focus-visible {
  background: var(--gold-dim);
}
@media (min-width: 720px) {
  .prose-grid,
  .route-list,
  .story-field {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .dispatch-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (min-width: 1100px) {
  .dispatch-grid,
  .story-field {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}
@media (max-width: 719px) {
  .page-hero,
  .article-hero,
  .content,
  .content.wide,
  .story-field {
    width: min(calc(100% - 1.4rem), 1280px);
  }
  .page-hero,
  .article-hero {
    padding-top: 1.35rem;
  }
  .feature-panel,
  .info-card,
  .dispatch-card,
  .desk,
  .story-row {
    padding: .85rem .9rem;
  }
  .button-row .button {
    min-height: 42px;
  }
}

/* UI-032 utility/status surfaces */
.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .85rem 0 0;
}
.three-grid,
.ops-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .8rem;
  margin: .9rem 0 1.35rem;
}
.ops-card {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  min-width: 0;
}
.ops-card h3 { margin: .45rem 0; }
.ops-card p { color: #d7d0c4; line-height: 1.45; }
.ops-meta,
.ops-links { display: flex; flex-wrap: wrap; gap: .4rem; }

.ops-pill {
  display: inline-flex;
  max-width: 100%;
  padding: .22rem .5rem;
  border: 1px solid #4a4336;
  border-radius: 999px;
  color: #d7d0c4;
  font-size: .62rem;
  line-height: 1.2;
}
.ops-pill.pass { color: #d8e8cf; border-color: #4c6845; }
.ops-pill.open { color: #e7c4b6; border-color: #754839; }
.ops-links { margin-top: .7rem; }
.ops-links a { color: var(--gold); }
.clean-list {
  display: grid;
  gap: .55rem;
  padding-left: 1.15rem;
}
.status-table {
  width: 100%;
  border-collapse: collapse;
  margin: .8rem 0 1.4rem;
}
.status-table th,
.status-table td {
  padding: .7rem .75rem;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.status-table th {
  color: var(--gold);
  background: #171410;
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 719px) {
  .status-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 720px) {
  .three-grid,
  .ops-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1100px) {
  .three-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ops-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* UI-032 contradiction ledger */
.ledger-hero,
.ledger-method,
.ledger-active {
  width: min(calc(100% - 2.4rem), 1280px);
  margin-inline: auto;
}

.ledger-hero {
  display: grid;
  gap: 1rem;
  padding: 2rem 0 1.4rem;
  border-bottom: 1px solid var(--line);
}
.ledger-kicker,
.ledger-panel-label {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ledger-hero h1 {
  margin: .3rem 0 .65rem;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 6vw, 4.2rem);
  line-height: .95;
  text-transform: uppercase;
}
.ledger-dek { max-width: 48rem; color: #e4dccb; }
.ledger-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .9rem 0;
}
.ledger-action {
  display: inline-flex;
  align-items: center;

  min-height: 38px;
  padding: .45rem .8rem;
  border: 1px solid var(--gold);
  border-radius: 8px;
  color: var(--gold);
  text-decoration: none;
}
.ledger-action-primary { background: var(--gold); color: #16120a; }
.ledger-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .55rem;
  margin: 1rem 0 0;
}
.ledger-summary div {
  padding: .7rem .75rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.ledger-summary dt {
  color: var(--muted);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ledger-summary dd { margin: .25rem 0 0; font-weight: 700; }
.ledger-rule-card {
  padding: 1.1rem;
  border: 1px solid rgba(212,170,47,.55);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(212,170,47,.1), #141210);
}

.ledger-rule-card h2 { margin: .3rem 0 .55rem; }
.ledger-rule-flow {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .45rem;
  padding: 0;
  margin: .9rem 0 0;
}
.ledger-rule-flow li {
  display: flex;
  gap: .45rem;
  align-items: center;
  padding: .45rem .55rem;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: rgba(0,0,0,.18);
}
.ledger-rule-flow span {
  color: var(--gold);
  font: 700 .68rem/1 var(--font-ui);
}
.ledger-method,
.ledger-active { padding: 1.35rem 0; }
.ledger-section-heading { margin-bottom: .9rem; }
.ledger-section-heading h2 {
  margin: .25rem 0 .45rem;
  font-size: clamp(1.55rem,3vw,2.2rem);
}
.ledger-section-note { max-width: 42rem; color: var(--muted); }
.ledger-lane-grid {
  display: grid;
  grid-template-columns: 1fr;

  gap: .75rem;
}
.ledger-method-card {
  padding: .9rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.ledger-method-card h3 { margin: .3rem 0 .45rem; }
.ledger-method-card p { color: #d7d0c4; line-height: 1.45; }
.ledger-card-number {
  color: var(--gold);
  font-family: var(--font-display);
  letter-spacing: .12em;
}
.ledger-entry {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #12100e;
}
.ledger-entry-header {
  display: grid;
  gap: .85rem;
}
.ledger-entry-id {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  color: var(--gold);
  font-weight: 700;
}
.ledger-status {
  padding: .2rem .45rem;
  border: 1px solid #754839;
  border-radius: 999px;

  color: #e7c4b6;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ledger-entry-topic {
  margin: 0 0 .25rem;
  color: var(--gold);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ledger-entry h3 { margin: 0 0 .45rem; font-size: 1.25rem; }
.ledger-entry-description { margin: 0; color: #d7d0c4; }
.ledger-entry-meta {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .45rem;
  margin: 0;
}
.ledger-entry-meta div {
  padding: .55rem .6rem;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.ledger-entry-meta dt {
  color: var(--muted);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ledger-entry-meta dd { margin: .2rem 0 0; font-size: .8rem; }

.ledger-comparison {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
  margin-top: .9rem;
}
.ledger-comparison-panel {
  padding: .8rem .85rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.ledger-comparison-statement {
  margin: .35rem 0 0;
  line-height: 1.45;
}
.ledger-record-panel { border-color: #4c6845; }
.ledger-silence-panel { border-color: #6d5923; }
.ledger-confidence-panel { border-color: #4d5873; }
.ledger-entry-footer {
  display: grid;
  gap: .65rem;
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid var(--line);
}
.ledger-entry-footer p { margin: 0; color: #d7d0c4; }
.ledger-entry-link {
  color: var(--gold);
  font-weight: 700;
}
.ledger-boundary-note {
  margin-top: .9rem;
  padding: .8rem .9rem;

  border-left: 3px solid var(--gold);
  background: var(--gold-dim);
}
@media (min-width: 820px) {
  .ledger-hero { grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); align-items: start; }
  .ledger-lane-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ledger-entry-header { grid-template-columns: auto minmax(0,1fr) minmax(18rem,.6fr); align-items: start; }
  .ledger-comparison { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ledger-entry-footer { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
}
@media (max-width: 719px) {
  .ledger-hero,
  .ledger-method,
  .ledger-active { width: min(calc(100% - 1.4rem),1280px); }
  .ledger-summary { grid-template-columns: 1fr; }
  .ledger-entry-meta { grid-template-columns: 1fr; }
}

/* Keep consent UI legible across light/dark page families. */
[data-gah-consent-ui] {
  color: #f6f1e6 !important;
  background: #141210 !important;
}
[data-gah-consent-ui] .headline,
[data-gah-consent-ui] h2,
[data-gah-consent-ui] p,
[data-gah-consent-ui] label {
  color: #f6f1e6 !important;
}

[data-gah-consent-ui] .btn {
  color: #d4aa2f !important;
  border-color: #d4aa2f !important;
  background: transparent !important;
}
[data-gah-consent-ui] .btn-primary,
[data-gah-consent-ui] .btn-fill {
  color: #16120a !important;
  background: #d4aa2f !important;
  border-color: #d4aa2f !important;
}
.gah-consent-reopen {
  color: #d4aa2f !important;
  background: #141210 !important;
  border-color: #d4aa2f !important;
}

/* GAH-MOBILE-SEARCH-053: compact first-visit consent UI and prevent long source URLs from clipping. */
.fact a {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 600px) {
  .consent-banner {
    padding: .65rem .75rem;
    gap: .45rem;
    align-items: flex-start;
  }
  .consent-banner .consent-copy {
    width: 100%;
  }
  .consent-banner .consent-copy p {
    margin: .2rem 0 0;
    font-size: .74rem;
    line-height: 1.35;
  }
  .consent-banner > .btn-row {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
    margin: 0;
  }
  .consent-banner > .btn-row .btn {
    min-height: 44px;
    width: 100%;
    padding: .45rem .5rem;
    white-space: normal;
    letter-spacing: .06em;
    font-size: .57rem;
    line-height: 1.2;
  }
  .consent-banner > .btn-row .btn-primary {
    grid-column: 1 / -1;
  }
}
