@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;600;700&family=Noto+Serif+Bengali:wght@400;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --ink: #1B2B23;
  --paper: #F1ECDF;
  --paper-raised: #FAF7EF;
  --brass: #A6832E;
  --brass-dim: #8a6d26;
  --stamp-red: #8C3A2B;
  --line: #d8d0bb;
  --muted: #5b5a4d;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Noto Serif', 'Noto Serif Bengali', Georgia, serif;
  line-height: 1.55;
}

a { color: var(--stamp-red); }

.mono { font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.02em; }

header.site {
  border-bottom: 3px solid var(--ink);
  padding: 1.1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  background: var(--paper-raised);
}
header.site .wordmark {
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0.01em;
}
header.site .wordmark span { color: var(--stamp-red); }
header.site nav a {
  margin-left: 1.25rem;
  color: var(--ink);
  text-decoration: none;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
header.site nav a:hover { color: var(--stamp-red); }

.hero {
  padding: 3.5rem 1.5rem 2.5rem;
  max-width: 920px;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
}
.hero .eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  color: var(--brass-dim);
  margin-bottom: 0.75rem;
}
.hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.1rem);
  margin: 0 0 1rem;
  line-height: 1.1;
}
.hero p.lede {
  font-size: 1.15rem;
  color: var(--muted);
  max-width: 62ch;
}

.ledger {
  display: flex;
  gap: 2.5rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.ledger .stat { border-left: 2px solid var(--brass); padding-left: 0.85rem; }
.ledger .stat .n { font-family: 'IBM Plex Mono', monospace; font-size: 1.7rem; font-weight: 500; display: block; }
.ledger .stat .label { font-size: 0.8rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }

.search-bar {
  max-width: 920px;
  margin: 2rem auto 0;
  padding: 0 1.5rem;
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.search-bar input, .search-bar select {
  font-family: 'IBM Plex Mono', monospace;
  padding: 0.65rem 0.8rem;
  border: 1.5px solid var(--ink);
  background: var(--paper-raised);
  color: var(--ink);
  font-size: 0.9rem;
}
.search-bar input { flex: 1; min-width: 220px; }
.search-bar button {
  font-family: 'IBM Plex Mono', monospace;
  background: var(--ink);
  color: var(--paper);
  border: none;
  padding: 0.65rem 1.3rem;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
}
.search-bar button:hover { background: var(--stamp-red); }

main {
  max-width: 920px;
  margin: 0 auto;
  padding: 2rem 1.5rem 5rem;
}

.case-card {
  position: relative;
  border: 1px solid var(--line);
  background: var(--paper-raised);
  padding: 1.4rem 1.6rem;
  margin-bottom: 1.1rem;
}
.case-card .top-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.case-card h3 { margin: 0 0 0.35rem; font-size: 1.25rem; }
.case-card h3 a { color: var(--ink); text-decoration: none; }
.case-card h3 a:hover { color: var(--stamp-red); }
.case-card .meta {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.78rem;
  color: var(--muted);
  margin-bottom: 0.6rem;
}
.case-card .summary { color: #33322a; font-size: 0.98rem; }

.stamp {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  border: 1.5px solid currentColor;
  padding: 0.25rem 0.55rem;
  border-radius: 2px;
  white-space: nowrap;
  transform: rotate(-2deg);
}
.stamp.alleged { color: var(--brass-dim); }
.stamp.under_investigation { color: #6b5a1e; }
.stamp.charged { color: #a05a1e; }
.stamp.convicted { color: var(--stamp-red); }
.stamp.acquitted { color: #3a6b4a; }
.stamp.disputed { color: #7a7a7a; }

footer.site {
  border-top: 3px solid var(--ink);
  padding: 2rem 1.5rem;
  font-size: 0.85rem;
  color: var(--muted);
  max-width: 920px;
  margin: 0 auto;
}
footer.site .disclaimer {
  border-left: 2px solid var(--brass);
  padding-left: 0.9rem;
  margin-bottom: 1rem;
}

.source-attr {
  font-size: 0.78rem;
  color: var(--muted);
  border-top: 1px dashed var(--line);
  margin-top: 0.8rem;
  padding-top: 0.6rem;
}
.source-attr .copyright { font-family: 'IBM Plex Mono', monospace; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
