/* ==========================================================================
   WickmanWatch — Investigative black & red theme
   Reusable stylesheet for all pages. No external dependencies.
   ========================================================================== */

:root{
  --bg:            #08080a;
  --bg-soft:       #0e0e12;
  --panel:         #121216;
  --panel-2:       #17171d;
  --line:          #2a2a33;
  --line-soft:     #1e1e26;
  --text:          #ffffff;
  --muted:         #ffffff;
  --muted-2:       #ffffff;
  --red:           #d21034;
  --red-bright:    #ff2b4a;
  --red-deep:      #8f0a22;
  --amber:         #e0a526;
  --green:         #2fbf71;
  --max:           1180px;
  --radius:        10px;
  --shadow:        0 18px 50px rgba(0,0,0,.55);
  --font-display:  Georgia, "Times New Roman", "Iowan Old Style", serif;
  --font-body:     system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono:     ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

*,*::before,*::after{ box-sizing:border-box; }

/* The hidden attribute must beat component display rules (.tile is display:flex,
   which otherwise defeats the UA [hidden]{display:none} rule and breaks search
   and status filtering). */
[hidden]{ display:none !important; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:
    radial-gradient(1100px 520px at 78% -8%, rgba(210,16,52,.13), transparent 60%),
    radial-gradient(800px 400px at 8% 4%, rgba(210,16,52,.06), transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }

a{ color:var(--red-bright); text-decoration:none; }
a:hover{ text-decoration:underline; text-underline-offset:3px; }

:focus-visible{
  outline:2px solid var(--red-bright);
  outline-offset:3px;
  border-radius:3px;
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--red); color:#fff; padding:.7rem 1rem; font-weight:700;
}
.skip-link:focus{ left:1rem; top:1rem; }

.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:22px; }

/* ---------- Header ---------- */
.topline{ height:4px; background:linear-gradient(90deg,var(--red-deep),var(--red),var(--red-bright),var(--red)); }

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(8,8,10,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:74px; }

.brand{ display:flex; align-items:center; gap:12px; color:var(--text); text-decoration:none; }
.brand:hover{ text-decoration:none; }
.brand-mark{
  width:38px; height:38px; flex:0 0 38px;
  display:grid; place-items:center;
  background:var(--red); color:#fff;
  border-radius:8px;
  font-family:var(--font-display); font-weight:700; font-size:1.05rem;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 8px 24px rgba(210,16,52,.35);
}
.brand-name{
  font-family:var(--font-display);
  font-weight:700; letter-spacing:.04em; font-size:1.22rem; line-height:1;
  text-transform:uppercase;
}
.brand-name .watch{ color:var(--red-bright); }
.brand-sub{ display:block; font-family:var(--font-body); font-size:.62rem; letter-spacing:.22em; color:var(--muted-2); margin-top:5px; text-transform:uppercase; }

.nav{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.nav a{
  color:var(--muted); font-size:.86rem; font-weight:600;
  padding:.5rem .7rem; border-radius:6px; letter-spacing:.02em;
}
.nav a:hover{ color:var(--text); background:var(--panel-2); text-decoration:none; }
.nav a[aria-current="page"]{ color:var(--text); box-shadow:inset 0 -2px 0 var(--red); border-radius:0; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-weight:700; font-size:.86rem; letter-spacing:.02em;
  padding:.62rem 1rem; border-radius:7px; border:1px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{ text-decoration:none; transform:translateY(-1px); }
.btn-red{ background:var(--red); color:#fff; }
.btn-red:hover{ background:var(--red-bright); }
.btn-ghost{ border-color:var(--line); color:var(--text); background:transparent; }
.btn-ghost:hover{ border-color:var(--red); background:rgba(210,16,52,.08); }
.btn-fb{ background:#1877f2; color:#fff; border-color:#1877f2; }
.btn-fb:hover,.btn-fb:focus-visible{ background:#1877f2; border-color:#1877f2; color:#fff; transform:none; }
/* REQUEST P: the header Facebook button is a plain blue button. These two
   rules outrank .nav a and .nav a:hover so the nav link styling cannot
   recolour it or repaint the background on hover. */
.nav a.btn-fb{ background:#1877f2; color:#fff; border-color:#1877f2; }
.nav a.btn-fb:hover,.nav a.btn-fb:focus-visible{ background:#1877f2; color:#fff; border-color:#1877f2; transform:none; }

.nav-toggle{ display:none; }

/* ---------- Hero ---------- */
.hero{ padding:64px 0 30px; border-bottom:1px solid var(--line-soft); }
.eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.72rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  color:var(--red-bright); margin:0 0 18px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--red); display:inline-block; }
.hero h1{
  font-family:var(--font-display);
  font-size:clamp(2.1rem, 4.6vw, 3.55rem);
  line-height:1.08; letter-spacing:-.015em; margin:0 0 18px; max-width:16ch;
}
.hero h1 em{ color:var(--red-bright); font-style:normal; }
.hero-lede{ color:var(--muted); font-size:1.08rem; max-width:62ch; margin:0 0 26px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- Stats ---------- */
.stats{ padding:34px 0 10px; }
.stats-head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.stats-head h2{ font-family:var(--font-display); font-size:1.25rem; margin:0; letter-spacing:.01em; }
.stats-head p{ margin:0; color:var(--muted-2); font-size:.82rem; }
.stats-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:12px;
}
.stat{
  background:linear-gradient(180deg,var(--panel),var(--bg-soft));
  border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 16px 16px; position:relative; overflow:hidden;
}
.stat::before{ content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--red); opacity:.85; }
.stat .num{ font-family:var(--font-display); font-size:2rem; line-height:1; color:var(--text); display:block; }
.stat .lbl{ display:block; margin-top:8px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); line-height:1.35; }
.stat.fees .num{ color:var(--red-bright); }

/* ---------- Search ---------- */
.search-section{ padding:34px 0 10px; }
.search-box{
  display:flex; align-items:center; gap:10px;
  background:var(--panel); border:1px solid var(--line); border-radius:10px;
  padding:6px 8px 6px 16px; box-shadow:var(--shadow);
}
.search-box svg{ flex:0 0 20px; color:var(--red-bright); }
.search-box input{
  flex:1; min-width:0; background:transparent; border:0; color:var(--text);
  font-family:var(--font-body); font-size:1rem; padding:.75rem 0;
}
.search-box input::placeholder{ color:var(--muted-2); }
.search-box input:focus{ outline:none; }
.search-clear{ background:transparent; border:0; color:var(--muted); cursor:pointer; font-size:1.3rem; padding:.2rem .5rem; }
.search-clear:hover{ color:var(--text); }

.filters{ display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 0; }
.chip{
  background:transparent; border:1px solid var(--line); color:var(--muted);
  font-size:.78rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:.42rem .8rem; border-radius:999px; cursor:pointer;
}
.chip:hover{ border-color:var(--red); color:var(--text); }
.chip[aria-pressed="true"]{ background:var(--red); border-color:var(--red); color:#fff; }
.result-meta{ color:var(--muted-2); font-size:.82rem; margin:14px 0 0; min-height:1.2em; }

/* ---------- Tiles ---------- */
.foia-list{ padding:22px 0 40px; }
.tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tile{
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--panel),var(--bg-soft));
  border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; position:relative; overflow:hidden;
  transition:border-color .18s ease, transform .18s ease;
}
.tile:hover{ border-color:var(--red); transform:translateY(-2px); }
.tile-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.tile-top .badge{ flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.tile-id{ font-family:var(--font-mono); font-size:.78rem; color:var(--red-bright); letter-spacing:.06em; }
.tile-date{ font-size:.74rem; color:var(--muted-2); }
.tile h3{ font-family:var(--font-display); font-size:1.2rem; line-height:1.25; margin:0 0 10px; }
.tile h3 a{ color:var(--text); }
.tile h3 a:hover{ color:var(--red-bright); text-decoration:none; }
.tile p{ color:var(--muted); font-size:.9rem; margin:0 0 16px; flex:1; }
.tile-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line-soft); padding-top:12px; }
.read-more{ font-weight:700; font-size:.84rem; color:var(--red-bright); }
.read-more::after{ content:" →"; }

.badge{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.66rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  padding:.28rem .55rem; border-radius:4px; border:1px solid transparent; white-space:nowrap;
}
.badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:0 0 auto; }
.article-head .badge{ white-space:normal; max-width:100%; line-height:1.45; }
.badge-part{ color:#ffb020; background:rgba(224,165,38,.1); border-color:rgba(224,165,38,.35); }
.badge-full{ color:#4fd18b; background:rgba(47,191,113,.1); border-color:rgba(47,191,113,.35); }
.badge-denied{ color:#ff5c72; background:rgba(255,43,74,.1); border-color:rgba(255,43,74,.35); }
.badge-pending{ color:#8ab4ff; background:rgba(90,140,255,.1); border-color:rgba(90,140,255,.35); }

.empty-state{ border:1px dashed var(--line); border-radius:var(--radius); padding:40px 22px; text-align:center; color:var(--muted); }.empty-state strong{ color:var(--text); display:block; font-family:var(--font-display); font-size:1.2rem; margin-bottom:6px; }

/* ---------- Homepage Case Watch strip ---------- */
.cw-strip{ padding:8px 0 40px; }
.cw-strip-head{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:0 0 16px; }
.cw-strip-head h2{ font-family:var(--font-display); font-size:1.35rem; margin:0; }
.cw-strip-head h2 span{ color:var(--red-bright); }
.cw-strip-all{ font-size:.82rem; font-weight:700; color:var(--muted); }
.cw-strip-all:hover{ color:var(--red-bright); text-decoration:none; }
.cw-strip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cw-strip-viewport{
  position:relative; overflow:hidden;
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 56px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 56px),transparent 100%);
}
.cw-strip-track{
  display:flex; width:max-content;
  animation:cw-strip-scroll 58s linear infinite;
  will-change:transform;
}
.cw-strip:hover .cw-strip-track,
.cw-strip:focus-within .cw-strip-track{ animation-play-state:paused; }
.cw-strip-group{ display:flex; align-items:stretch; gap:16px; padding-right:16px; }
@keyframes cw-strip-scroll{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}
.cw-strip-card{
  display:flex; flex-direction:column; gap:8px;
  width:340px; flex:0 0 340px;
  background:var(--bg-soft); border:1px solid var(--line-soft);
  border-left:3px solid var(--red); border-radius:var(--radius);
  padding:16px 18px;
}
.cw-strip-thumb{ display:block; margin:-16px -18px 10px; overflow:hidden; border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; background:var(--panel); }
.cw-strip-thumb img{ display:block; width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; transition:transform .35s ease; }
.cw-strip-card:hover .cw-strip-thumb img{ transform:scale(1.04); }
@media (prefers-reduced-motion:reduce){
  .cw-strip-track{ animation:none; }
  .cw-strip-viewport{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  .cw-strip-group[aria-hidden="true"]{ display:none; }
}
.cw-strip-card:hover{ border-color:var(--line); border-left-color:var(--red-bright); }
.cw-strip-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cw-strip-kicker{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); }
.cw-strip-stat{ font-family:var(--font-mono); font-size:.72rem; color:var(--red-bright); white-space:nowrap; }
.cw-strip-card h3{ font-family:var(--font-display); font-size:1.02rem; line-height:1.3; margin:0; }
.cw-strip-card h3 a{ color:var(--text); }
.cw-strip-card h3 a:hover{ color:var(--red-bright); text-decoration:none; }
.cw-strip-card p{ font-size:.85rem; color:var(--muted); margin:0; flex:1; }
.cw-strip-card .read-more{ font-size:.78rem; }
@media (max-width:640px){ .cw-strip-card{ width:280px; flex:0 0 280px; } }

/* ---------- Sections / prose ---------- */
.section{ padding:44px 0; border-top:1px solid var(--line-soft); }
.section h2{ font-family:var(--font-display); font-size:1.7rem; line-height:1.2; margin:0 0 14px; }
.section h3{ font-family:var(--font-display); font-size:1.22rem; margin:26px 0 8px; }
.section p{ color:#ffffff; margin:0 0 14px; }
.section ul,.section ol{ color:#ffffff; padding-left:1.25rem; }
.section li{ margin:.4rem 0; }
.lede{ font-size:1.1rem; color:var(--muted); }

.callout{
  border-left:3px solid var(--red); background:rgba(210,16,52,.06);
  padding:16px 18px; border-radius:0 8px 8px 0; margin:18px 0;
}
.callout p:last-child{ margin-bottom:0; }
.callout .label{ font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--red-bright); display:block; margin-bottom:6px; }

.note{ border:1px solid var(--line); background:var(--panel); border-radius:8px; padding:16px 18px; margin:18px 0; color:var(--muted); font-size:.92rem; }
.note strong{ color:var(--text); }

/* ---------- Article ---------- */
.article-head{ padding:42px 0 26px; border-bottom:1px solid var(--line-soft); }
.breadcrumb{ font-size:.78rem; color:var(--muted-2); margin-bottom:18px; }
.breadcrumb a{ color:var(--muted); }
.breadcrumb span{ margin:0 .4rem; color:var(--muted-2); }
.article-head h1{ font-family:var(--font-display); font-size:clamp(1.9rem,3.6vw,2.9rem); line-height:1.12; margin:10px 0 16px; max-width:20ch; }
.article-meta{ display:flex; gap:18px; flex-wrap:wrap; color:var(--muted-2); font-size:.82rem; }
.article-meta strong{ color:var(--muted); font-weight:600; }

.article-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; padding:34px 0 50px; align-items:start; }
.article-body{ min-width:0; }
.article-body h2{ font-family:var(--font-display); font-size:1.55rem; margin:36px 0 12px; padding-top:6px; }
.article-body h2:first-child{ margin-top:0; }
.article-body h3{ font-family:var(--font-display); font-size:1.15rem; margin:24px 0 8px; }
.article-body p{ color:#ffffff; }
.article-body blockquote{
  margin:20px 0; padding:14px 18px; border-left:3px solid var(--red);
  background:var(--panel); color:var(--muted); font-style:italic;
}
.article-body blockquote p{ margin:0; color:var(--muted); }

.sidebar{ position:sticky; top:96px; display:grid; gap:16px; }
.side-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px; }
.side-card h3{ font-family:var(--font-display); font-size:1rem; margin:0 0 12px; letter-spacing:.01em; }
.kv{ display:grid; grid-template-columns:1fr; gap:0; }
.kv div{ display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid var(--line-soft); font-size:.84rem; }
.kv div:last-child{ border-bottom:0; }
.kv dt{ color:var(--muted-2); margin:0; }
.kv dd{ margin:0; color:var(--text); text-align:right; font-weight:600; }
.side-card .btn{ width:100%; margin-top:12px; }

/* ---------- Timeline ---------- */
.timeline{ list-style:none; margin:18px 0; padding:0; position:relative; }
.timeline::before{ content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--line); }
.timeline li{ position:relative; padding:0 0 20px 30px; }
.timeline li::before{ content:""; position:absolute; left:2px; top:6px; width:12px; height:12px; border-radius:50%; background:var(--bg); border:2px solid var(--red); }
.timeline li:last-child{ padding-bottom:0; }
.timeline .t-date{ display:block; font-family:var(--font-mono); font-size:.74rem; color:var(--red-bright); letter-spacing:.04em; margin-bottom:3px; }
.timeline .t-title{ font-weight:700; color:var(--text); display:block; }
.timeline .t-desc{ color:var(--muted); font-size:.9rem; }

/* ---------- Documents ---------- */
.doc-list{ display:grid; gap:10px; margin:16px 0; }
.doc{
  display:flex; align-items:center; gap:14px;
  background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:14px 16px;
}
.doc:hover{ border-color:var(--red); text-decoration:none; }
.doc-icon{ flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; background:rgba(210,16,52,.12); color:var(--red-bright); border-radius:6px; font-size:.68rem; font-weight:800; letter-spacing:.04em; }
.doc-body{ min-width:0; }
.doc-title{ display:block; color:var(--text); font-weight:700; font-size:.92rem; }
.doc-sub{ display:block; color:var(--muted-2); font-size:.78rem; }

/* ---------- Infographic ---------- */
.figure{ margin:22px 0; }
.figure img{ border:1px solid var(--line); border-radius:8px; background:#0b0b0e; }
.figure figcaption{ color:var(--muted-2); font-size:.8rem; margin-top:8px; line-height:1.5; }

/* ---------- Table ---------- */
.table-wrap{ overflow-x:auto; margin:18px 0; border:1px solid var(--line); border-radius:8px; }
table{ width:100%; border-collapse:collapse; font-size:.88rem; }
th,td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line-soft); }
th{ background:var(--panel-2); color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
tr:last-child td{ border-bottom:0; }
td.num,th.num{ text-align:right; font-variant-numeric:tabular-nums; }

/* ---------- Footer ---------- */
.site-footer{ border-top:1px solid var(--line); background:var(--bg-soft); padding:40px 0 30px; margin-top:20px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:30px; margin-bottom:28px; }
.footer-brand .brand-name{ font-size:1.05rem; }
.footer-brand p{ color:var(--muted-2); font-size:.84rem; margin:12px 0 0; max-width:40ch; }
.footer-col h4{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 10px; }
.footer-col a{ display:block; color:var(--muted-2); font-size:.86rem; padding:4px 0; }
.footer-col a:hover{ color:var(--red-bright); }
.disclaimer{ border:1px solid var(--line); border-left:3px solid var(--red); border-radius:0 8px 8px 0; padding:16px 18px; color:var(--muted); font-size:.82rem; line-height:1.6; background:var(--panel); }
.footer-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:var(--muted-2); font-size:.76rem; margin-top:20px; padding-top:18px; border-top:1px solid var(--line-soft); }

/* ---------- Utility ---------- */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.text-red{ color:var(--red-bright); }
.mono{ font-family:var(--font-mono); }
.muted{ color:var(--muted); }
.small{ font-size:.84rem; }
.center{ text-align:center; }
.mt-0{ margin-top:0; }
.mb-0{ margin-bottom:0; }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .stats-grid{ grid-template-columns:repeat(3,1fr); }
  .tiles{ grid-template-columns:repeat(2,1fr); }
  .article-layout{ grid-template-columns:1fr; gap:28px; }
  .sidebar{ position:static; grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px){
  body{ font-size:16px; }
  .header-inner{ min-height:64px; }
  .nav{ display:none; }
  .nav.open{ display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; background:var(--bg-soft); border-bottom:1px solid var(--line); padding:10px 18px 16px; gap:2px; }
  .nav.open a{ padding:.7rem .5rem; }
  .nav-toggle{ display:inline-flex; background:transparent; border:1px solid var(--line); color:var(--text); border-radius:7px; padding:.5rem .7rem; cursor:pointer; }
  .hero{ padding:44px 0 22px; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .tiles{ grid-template-columns:1fr; }
  .sidebar{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:22px; }
  .search-box{ padding-left:12px; }
}
@media (max-width: 420px){
  .stats-grid{ grid-template-columns:1fr; }
  .brand-sub{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}

@media print{
  body{ background:#fff; color:#111; }
  .site-header,.site-footer,.sidebar,.hero-actions,.search-section,.nav-toggle{ display:none !important; }
  .article-layout{ display:block; }
  a{ color:#111; }
  .article-body h2{ page-break-after:avoid; }
  .figure,.doc,.callout{ page-break-inside:avoid; }
}

/* ---------- Interactive charts (26-22) ---------- */
.chart{
  margin:22px 0; padding:18px 18px 14px;
  background:linear-gradient(180deg,#101015,#0c0c10);
  border:1px solid var(--line); border-radius:var(--radius);
}
.chart-head{ margin-bottom:14px; }
.chart-title{
  font-family:var(--font-body); font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.11em; color:var(--muted);
  margin:0 0 4px;
}
.chart-sub{ font-size:.82rem; color:var(--muted-2); margin:0; line-height:1.5; }
.chart-controls{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid var(--line-soft);
}
.chart-controls .ctl-label{
  font-size:.68rem; text-transform:uppercase; letter-spacing:.09em;
  color:var(--muted-2); margin-right:2px;
}
.seg{ display:inline-flex; border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.seg button{
  appearance:none; background:var(--panel); color:var(--muted);
  border:0; border-right:1px solid var(--line); cursor:pointer;
  font:inherit; font-size:.74rem; font-weight:600; letter-spacing:.02em;
  padding:6px 11px; transition:background .15s,color .15s;
}
.seg button:last-child{ border-right:0; }
.seg button:hover{ background:var(--panel-2); color:var(--text); }
.seg button[aria-pressed="true"]{ background:var(--red); color:#fff; }
.seg button:focus-visible{ outline:2px solid var(--red-bright); outline-offset:-2px; }
.slider-wrap{ display:flex; align-items:center; gap:10px; font-size:.76rem; color:var(--muted); }
.slider-wrap input[type=range]{
  appearance:none; -webkit-appearance:none; width:150px; height:4px;
  background:var(--line); border-radius:2px; outline:none; cursor:pointer;
}
.slider-wrap input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; width:15px; height:15px; border-radius:50%;
  background:var(--red); border:2px solid #0c0c10; cursor:pointer;
}
.slider-wrap input[type=range]::-moz-range-thumb{
  width:13px; height:13px; border-radius:50%; background:var(--red);
  border:2px solid #0c0c10; cursor:pointer;
}
.slider-wrap input[type=range]:focus-visible{ outline:2px solid var(--red-bright); outline-offset:4px; }
.slider-val{
  font-family:var(--font-mono); font-size:.76rem; color:var(--text);
  min-width:4.6em; display:inline-block;
}
.chart-canvas{ position:relative; }
.chart-canvas svg{ display:block; width:100%; height:auto; overflow:visible; }
.chart-tip{
  position:absolute; z-index:5; pointer-events:none; opacity:0;
  transform:translate(-50%,-118%); transition:opacity .12s;
  background:#1b1b22; border:1px solid var(--line); border-radius:7px;
  padding:8px 10px; font-size:.74rem; line-height:1.45; color:var(--text);
  box-shadow:0 10px 26px rgba(0,0,0,.6); max-width:250px; white-space:normal;
}
.chart-tip.on{ opacity:1; }
.chart-tip b{ color:#fff; display:block; margin-bottom:3px; font-size:.76rem; }
.chart-tip span{ color:var(--muted); }
.chart-legend{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:12px;
  font-size:.72rem; color:var(--muted);
}
.chart-legend i{
  display:inline-block; width:10px; height:10px; border-radius:2px;
  margin-right:6px; vertical-align:-1px;
}
.chart-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; margin-top:14px; }
.chart-card{ background:var(--panel); border:1px solid var(--line-soft); border-radius:8px; padding:10px 12px; }
.chart-card .k{ font-size:.62rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted-2); display:block; margin-bottom:4px; }
.chart-card .v{ font-family:var(--font-mono); font-size:1.02rem; color:var(--text); font-variant-numeric:tabular-nums; }
.chart-card .v.acc{ color:var(--red-bright); }
.chart-note{ font-size:.72rem; color:var(--muted-2); margin:12px 0 0; line-height:1.5; }

/* ---------- Generic data-driven bar chart (25-133) ---------- */
.bars{ margin-top:16px; }
.bar-row{
  display:grid; grid-template-columns:minmax(140px,1.15fr) minmax(0,2.4fr) minmax(78px,auto);
  align-items:center; gap:12px; padding:9px 0; border-top:1px solid var(--line-soft);
}
.bar-row:first-child{ border-top:0; }
.bar-row:focus{ outline:none; }
.bar-row:focus-visible{ outline:2px solid var(--red-bright); outline-offset:3px; border-radius:6px; }
.bar-label{ font-size:.78rem; color:var(--muted); line-height:1.35; }
.bar-track{ background:#1a1a21; border-radius:5px; height:14px; overflow:hidden; }
.bar-fill{
  height:100%; width:0; border-radius:5px;
  background:linear-gradient(90deg,var(--red-deep),var(--red-bright));
  transition:width .7s cubic-bezier(.22,.61,.36,1);
}
.bar-value{
  font-family:var(--font-mono); font-size:.82rem; color:var(--text);
  font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap;
}
.bar-note{
  font-size:.7rem; color:var(--muted-2); line-height:1.45;
  margin:-4px 0 8px; padding-left:0;
}
@media (max-width:640px){
  .bar-row{ grid-template-columns:1fr auto; gap:6px 10px; }
  .bar-label{ grid-column:1 / -1; }
  .bar-track{ grid-column:1; }
  .bar-value{ grid-column:2; }
  .bar-note{ padding-left:0; }
}
@media (prefers-reduced-motion:reduce){
  .bar-fill{ transition:none; }
}
.chart details{ margin-top:12px; }
.chart summary{
  cursor:pointer; font-size:.72rem; color:var(--muted); letter-spacing:.02em;
  padding:6px 0; list-style:none;
}
.chart summary::-webkit-details-marker{ display:none; }
.chart summary::before{ content:"\25B8  "; color:var(--red); }
.chart details[open] summary::before{ content:"\25BE  "; }
.chart summary:hover{ color:var(--text); }
.chart details .table-wrap{ margin:8px 0 0; }
.chart svg text{ font-family:var(--font-body); }
.chart .hit{ cursor:pointer; }
.chart .hit:focus{ outline:none; }
.chart .hit:focus-visible .focus-ring{ opacity:1; }
@media (max-width:640px){
  .chart{ padding:14px 12px 12px; }
  .chart-controls{ gap:6px; }
  .seg button{ padding:6px 9px; font-size:.7rem; }
  .slider-wrap input[type=range]{ width:110px; }
}
@media print{
  .chart{ break-inside:avoid; background:#fff; border-color:#ccc; }
  .chart-controls{ display:none; }
  .chart-tip{ display:none; }
}

/* ---------- Interactive timeline (26-22 fig 1) ---------- */
.tl{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:20px; align-items:start; }
.tl-rail{ position:relative; padding-left:20px; }
.tl-rail::before{
  content:""; position:absolute; left:4px; top:10px; bottom:10px;
  width:2px; background:var(--line);
}
.tl-node{
  position:relative; display:block; width:100%; text-align:left;
  background:none; border:0; padding:7px 0; margin:0; cursor:pointer;
  font:inherit; color:var(--muted); transition:color .15s;
}
.tl-node::before{
  content:""; position:absolute; left:-20px; top:13px;
  width:9px; height:9px; border-radius:50%;
  background:var(--line); border:2px solid #0c0c10; transition:background .15s;
}
.tl-node:hover{ color:var(--text); }
.tl-node[aria-current="true"]{ color:var(--text); }
.tl-node[aria-current="true"]::before{
  background:var(--red-bright); box-shadow:0 0 0 3px rgba(210,16,52,.2);
}
.tl-node:focus-visible{ outline:2px solid var(--red-bright); outline-offset:3px; border-radius:3px; }
.tl-date{
  display:block; font-family:var(--font-mono); font-size:.68rem;
  color:var(--muted-2); letter-spacing:.02em; margin-bottom:1px;
}
.tl-node[aria-current="true"] .tl-date{ color:var(--red-bright); }
.tl-label{ display:block; font-size:.84rem; font-weight:600; line-height:1.35; }
.tl-panel{
  background:var(--panel); border:1px solid var(--line-soft);
  border-radius:8px; padding:15px 17px; min-height:150px;
}
.tl-panel-title{
  font-family:var(--font-body); font-size:.95rem; font-weight:700;
  color:var(--text); margin:0 0 3px; letter-spacing:0;
}
.tl-panel-meta{
  font-family:var(--font-mono); font-size:.68rem; color:var(--red-bright);
  margin:0 0 10px; letter-spacing:.02em;
}
.tl-panel-body{ font-size:.84rem; color:var(--muted); line-height:1.55; margin:0; }
@media (max-width:700px){
  .tl{ grid-template-columns:1fr; gap:14px; }
  .tl-panel{ min-height:0; }
}

/* ---------- Watchdog Alerts (top of FOIA pages) ---------- */
.watchdog-alerts{
  position:relative;
  margin:0 0 34px;
  padding:22px 24px 20px;
  border:1px solid rgba(210,16,52,.45);
  border-left:5px solid var(--red);
  border-radius:0 var(--radius) var(--radius) 0;
  background:
    linear-gradient(180deg, rgba(210,16,52,.13), rgba(210,16,52,.05) 60%, rgba(18,18,22,.9));
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.wa-kicker{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:.68rem; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--red-bright);
}
.wa-heading{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:clamp(1.15rem,2.1vw,1.5rem);
  line-height:1.25;
  color:var(--text);
  max-width:34ch;
}
.wa-list{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:wa;
  display:grid;
  gap:12px;
}
.wa-list li{
  counter-increment:wa;
  position:relative;
  padding-left:42px;
  font-size:.95rem;
  line-height:1.55;
  color:var(--text);
}
.wa-list li::before{
  content:counter(wa,decimal-leading-zero);
  position:absolute; left:0; top:.1em;
  font-family:var(--font-mono);
  font-size:.72rem; font-weight:800;
  color:var(--red-bright);
  border:1px solid rgba(210,16,52,.5);
  border-radius:4px;
  padding:2px 5px;
  background:rgba(0,0,0,.35);
}
.wa-caveat{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(210,16,52,.28);
  font-size:.85rem;
  line-height:1.6;
  color:var(--muted);
}
.wa-caveat strong{ color:var(--amber); }

/* ---------- Collapsible Michigan-law blocks ---------- */
.law-fold{
  margin:18px 0;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  overflow:hidden;
}
.law-fold > summary{
  cursor:pointer;
  list-style:none;
  padding:12px 16px 12px 40px;
  position:relative;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--muted);
  background:var(--panel-2);
  border-left:3px solid var(--amber);
  transition:color .15s ease, background .15s ease;
}
.law-fold > summary::-webkit-details-marker{ display:none; }
.law-fold > summary::before{
  content:"\25B8";
  position:absolute; left:16px; top:50%;
  transform:translateY(-50%);
  font-size:.8rem;
  color:var(--amber);
  transition:transform .18s ease;
}
.law-fold[open] > summary::before{ transform:translateY(-50%) rotate(90deg); }
.law-fold > summary:hover{ color:var(--text); background:#1c1c24; }
.law-fold[open] > summary{ color:var(--text); border-bottom:1px solid var(--line-soft); }
.law-fold > p,
.law-fold > ul,
.law-fold > ol{ margin:14px 18px; }
.law-fold > ul,
.law-fold > ol{ padding-left:22px; }
.law-fold > p:last-child,
.law-fold > ul:last-child,
.law-fold > ol:last-child{ margin-bottom:16px; }
.law-fold li{ margin-bottom:8px; font-size:.9rem; line-height:1.55; color:var(--muted); }
.law-fold li strong{ color:var(--text); }
.law-fold p{ font-size:.92rem; line-height:1.62; color:var(--muted); }
.law-fold p strong{ color:var(--text); }

@media print{
  .law-fold{ border:0; background:none; }
  .law-fold > summary{ background:none; border:0; padding-left:0; color:#000; font-weight:700; }
  .law-fold > summary::before{ display:none; }
  .law-fold > p, .law-fold > ul, .law-fold > ol{ margin-left:0; margin-right:0; }
  .watchdog-alerts{ background:none; border:1px solid #000; box-shadow:none; }
}

/* ---------- Recently updated ticker (home page, 2026-10-23l) ---------- */
.updates-ticker{
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#0b0b0e,#08080a);
  padding:34px 0 0;
  margin-top:0;
  overflow:hidden;
}
.ut-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; flex-wrap:wrap; margin-bottom:22px;
}
.ut-kicker{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--red-bright); margin:0 0 8px;
}
.ut-head h2{
  font-family:var(--font-display); font-size:1.6rem; line-height:1.2;
  margin:0 0 8px; color:var(--text);
}
.ut-sub{ font-size:.86rem; line-height:1.55; color:var(--muted); margin:0; max-width:60ch; }
.ut-all{
  font-family:var(--font-mono); font-size:.74rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--text); text-decoration:none;
  border:1px solid var(--line); border-radius:6px; padding:9px 14px;
  white-space:nowrap; transition:border-color .18s ease, color .18s ease;
}
.ut-all:hover, .ut-all:focus-visible{ border-color:var(--red); color:var(--red-bright); }

.ut-viewport{
  position:relative; overflow:hidden;
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  background:#0a0a0d;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 56px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 56px,#000 calc(100% - 56px),transparent 100%);
}
.ut-track{
  display:flex; width:max-content;
  animation:ut-scroll 64s linear infinite;
  will-change:transform;
}
.updates-ticker:hover .ut-track,
.updates-ticker:focus-within .ut-track{ animation-play-state:paused; }
.ut-group{ display:flex; align-items:stretch; }
@keyframes ut-scroll{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}

.ut-item{
  width:330px; flex:0 0 330px;
  padding:18px 20px 20px;
  border-right:1px solid var(--line-soft);
  display:flex; flex-direction:column; gap:9px;
}
.ut-top{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.ut-kind{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--amber);
  border:1px solid rgba(224,165,38,.34); border-radius:4px;
  padding:3px 6px; white-space:nowrap;
}
.ut-top time{
  font-family:var(--font-mono); font-size:.66rem; color:var(--muted-2);
  white-space:nowrap;
}
.ut-item h3{
  font-family:var(--font-body); font-size:.9rem; line-height:1.4;
  margin:0; font-weight:600;
}
.ut-item h3 a{ color:var(--text); text-decoration:none; }
.ut-item h3 a:hover, .ut-item h3 a:focus-visible{ color:var(--red-bright); text-decoration:underline; }
.ut-hl{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:5px;
}
.ut-hl li{
  position:relative; padding-left:13px;
  font-size:.76rem; line-height:1.45; color:var(--muted);
}
.ut-hl li::before{
  content:""; position:absolute; left:0; top:.52em;
  width:5px; height:5px; border-radius:50%;
  background:var(--red); opacity:.85;
}
@media (max-width:640px){
  .ut-item{ width:270px; flex-basis:270px; padding:16px 16px 18px; }
  .ut-head h2{ font-size:1.34rem; }
  .ut-all{ font-size:.68rem; padding:8px 11px; }
  .ut-top{ flex-wrap:wrap; gap:5px 10px; }
  .ut-kind{ white-space:normal; letter-spacing:.09em; }
  .ut-item h3, .ut-hl li{ overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce){
  .ut-track{ animation:none; }
  .ut-viewport{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  .ut-group[aria-hidden="true"]{ display:none; }
}
@media print{
  .updates-ticker{ border-top:1px solid #000; background:none; padding-top:16px; }
  .ut-viewport{ overflow:visible; border:0; background:none; -webkit-mask-image:none; mask-image:none; }
  .ut-track{ animation:none; display:block; width:auto; }
  .ut-group{ display:block; }
  .ut-group[aria-hidden="true"]{ display:none; }
  .ut-item{ width:auto; flex:none; border:0; border-top:1px solid #ccc; padding:8px 0; }
  .ut-item h3 a{ color:#000; }
  .ut-hl li{ color:#333; }
}

/* ==========================================================================
   REQUEST U — subject-matter categories for the FOIA archive.
   A grid of category cards above the search box, a category landing page,
   and a category line in each article's meta row.
   ========================================================================== */
.cat-index{ padding:30px 0 4px; }
.cat-index-head{ margin:0 0 16px; }
.cat-index-head h2{ font-family:var(--font-display); font-size:1.35rem; margin:0 0 5px; }
.cat-index-sub{ margin:0; color:var(--muted); font-size:.86rem; max-width:78ch; }

.cat-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.cat-card{
  display:flex; flex-direction:column; gap:6px; min-width:0;
  padding:14px 15px 13px; border:1px solid var(--line); border-radius:10px;
  background:linear-gradient(180deg,var(--panel),var(--bg-soft));
  border-left:3px solid var(--red); color:var(--text);
  transition:border-color .16s ease, transform .16s ease, background .16s ease;
}
a.cat-card:hover{ border-color:var(--red-bright); border-left-color:var(--red-bright); transform:translateY(-2px); text-decoration:none; }
.cat-card-kicker{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted-2); line-height:1.3;
}
.cat-card-name{ font-size:.92rem; font-weight:700; line-height:1.28; color:var(--text); overflow-wrap:anywhere; }
.cat-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:6px; }
.cat-card-count{ font-family:var(--font-mono); font-size:.7rem; color:var(--red-bright); letter-spacing:.04em; }
.cat-card-arrow{ color:var(--red-bright); font-size:.9rem; line-height:1; }
.cat-card.is-empty{ border-left-color:var(--line); opacity:.62; }
.cat-card.is-empty .cat-card-count{ color:var(--muted-2); }
.cat-index-note{ margin:14px 0 0; font-size:.8rem; color:var(--muted); max-width:80ch; }
.cat-index-note strong{ color:var(--text); }

/* ---- category landing page ---- */
.cat-page{ padding:26px 0 40px; }
.cat-page-grid{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:32px; align-items:start; }
.cat-page-main{ min-width:0; }
.cat-page-main .tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.cat-empty{ text-align:left; padding:28px 24px; }
.cat-empty p{ margin:10px 0 0; font-size:.88rem; max-width:62ch; }
.cat-empty p:last-child{ margin-top:14px; }
.cat-page-side{ min-width:0; display:grid; gap:16px; position:sticky; top:20px; }
.cat-side-box{ border:1px solid var(--line); border-radius:10px; background:var(--bg-soft); padding:15px 16px 16px; }
.cat-side-box h2{ font-family:var(--font-display); font-size:.94rem; margin:0 0 10px; letter-spacing:.01em; }
.cat-covers{ list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.cat-covers li{ position:relative; padding-left:14px; font-size:.8rem; line-height:1.45; color:var(--muted); }
.cat-covers li::before{ content:""; position:absolute; left:0; top:.52em; width:5px; height:5px; border-radius:50%; background:var(--red); }
.cat-nav-list{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.cat-nav-list li{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; border-top:1px solid var(--line-soft); padding:6px 0; }
.cat-nav-list li:first-child{ border-top:0; }
.cat-nav-list a{ font-size:.82rem; color:var(--text); }
.cat-nav-list a:hover{ color:var(--red-bright); }
.cat-nav-count{ font-family:var(--font-mono); font-size:.7rem; color:var(--muted-2); flex:0 0 auto; }

/* ---- category line in article meta ---- */
.article-meta .meta-cats{ display:inline; }
.article-meta .meta-cats a{ color:var(--red-bright); font-weight:600; }
.article-meta .meta-sep{ color:var(--muted-2); }

@media (max-width:1100px){ .cat-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:980px){
  .cat-page-grid{ grid-template-columns:1fr; gap:24px; }
  .cat-page-side{ position:static; grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .cat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .cat-card{ padding:12px 13px 11px; }
  .cat-card-name{ font-size:.86rem; }
  .cat-page-main .tiles{ grid-template-columns:1fr; }
}
@media (max-width:380px){
  .cat-grid{ grid-template-columns:1fr; }
  .cat-page-side{ grid-template-columns:1fr; }
}

/* ==========================================================================
   LIGHT THEME (user-selectable, 2026-10-25)
   Dark remains the default. Light = white page, light-pink panels,
   red-bordered headings, black text.
   ========================================================================== */
html[data-theme="light"]{
  --bg:            #ffffff;
  --bg-soft:       #fff8f9;
  --panel:         #fff0f3;   /* light pinkish panel */
  --panel-2:       #ffe6ec;
  --line:          #e7a9b6;
  --line-soft:     #f4d3da;
  --text:          #141418;
  --muted:         #141418;   /* body copy reads as black */
  --muted-2:       #2e2e38;
  --red:           #c00d2e;
  --red-bright:    #a80b26;
  --red-deep:      #7d0618;
  --amber:         #9a6a00;
  --green:         #1c7a45;
  --shadow:        0 18px 50px rgba(120,10,30,.14);
  color-scheme: light;
}
html[data-theme="light"] body{
  background:#ffffff;
  color:var(--text);
}
html[data-theme="light"] .site-header{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--line-soft);
}
html[data-theme="light"] .topline{
  background:linear-gradient(90deg,var(--red-deep),var(--red),#e8445f,var(--red));
}
/* Red border around the titles + pink title background */
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4{ color:#141418; }
html[data-theme="light"] h2{
  border:1px solid var(--red);
  border-left:6px solid var(--red);
  background:var(--panel);
  padding:.5rem .85rem;
  border-radius:7px;
}
html[data-theme="light"] h1{ border-bottom:2px solid var(--red); padding-bottom:.35rem; }
html[data-theme="light"] h3{ border-left:4px solid var(--red); padding-left:.6rem; }
html[data-theme="light"] .article-head{ background:var(--panel); border-bottom:1px solid var(--line); }
html[data-theme="light"] .figure img{ background:#fff; }
html[data-theme="light"] .chart-tip{ background:#fff; box-shadow:0 10px 26px rgba(120,10,30,.18); }
html[data-theme="light"] .chart-tip b{ color:#141418; }
html[data-theme="light"] .bar-track{ background:#f3dde2; }
html[data-theme="light"] .law-fold > summary:hover{ background:var(--panel-2); }
html[data-theme="light"] .updates-ticker{ background:linear-gradient(180deg,#fff8f9,#ffffff); }
html[data-theme="light"] .ut-viewport{ background:#fff6f8; }
html[data-theme="light"] .tile{ background:linear-gradient(180deg,#fff8f9,#fff0f3); }
html[data-theme="light"] .side-card{ background:var(--panel); }
html[data-theme="light"] .doc{ background:var(--panel); }
html[data-theme="light"] .doc:hover{ background:var(--panel-2); }
html[data-theme="light"] .watchdog-alerts{ background:var(--panel); border-color:var(--red); }
html[data-theme="light"] .badge{ color:#fff; }
html[data-theme="light"] .brand-mark{ color:#fff; }
html[data-theme="light"] .btn{ color:#fff; }
html[data-theme="light"] .btn-ghost{ color:var(--text); }
html[data-theme="light"] .chip{ background:var(--panel); color:var(--text); }
html[data-theme="light"] .chip[aria-pressed="true"]{ color:#fff; }
html[data-theme="light"] .site-footer{ background:var(--panel); border-top:1px solid var(--line); }
html[data-theme="light"] .skip-link{ color:#fff; }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{ background:#fff; color:var(--text); border-color:var(--line); }
html[data-theme="light"] .search-input{ background:#fff; color:var(--text); }

/* ---- Light-theme readability fixes ---- */

/* Rating-band scale: the selected band is a solid black chip with white text.
   The "Prosecutor Office Transparency" caption stays red. */
html[data-theme="light"] .wwti-scale li{ background:#fff; border-top-width:3px; color:#141418; }
html[data-theme="light"] .wwti-scale li b{ color:#141418; }
html[data-theme="light"] .wwti-scale li.is-current{
  background:#000000;
  outline:2px solid #000000;
  outline-offset:-2px;
  color:#ffffff;
}
html[data-theme="light"] .wwti-scale li.is-current b{ color:#ffffff; }
html[data-theme="light"] .wwti-scale li.is-current::after{ color:#ff4d63; }

/* Status badges (Granted in part, Denied, Pending, Granted in full):
   red field, white type, in every light-theme location. */
html[data-theme="light"] .badge,
html[data-theme="light"] .badge-part,
html[data-theme="light"] .badge-full,
html[data-theme="light"] .badge-denied,
html[data-theme="light"] .badge-pending{
  background:var(--red);
  border-color:var(--red-deep);
  color:#ffffff;
}
html[data-theme="light"] .badge::before{ background:#ffffff; }
html[data-theme="light"] .ut-kind{ color:var(--red-bright); }
html[data-theme="light"] .tile-id{ color:var(--red-bright); }
/* Case-watch status pills keep the same red field / white type in light theme. */
html[data-theme="light"] .cw-status-active{
  background:var(--red);
  border-color:var(--red-deep);
  color:#ffffff;
}

/* Lead paragraphs and secondary copy read as black, not gray. */
html[data-theme="light"] .hero-lede,
html[data-theme="light"] .lede,
html[data-theme="light"] .muted,
html[data-theme="light"] .small.muted,
html[data-theme="light"] .muted-note,
html[data-theme="light"] .wwti-drop-sub,
html[data-theme="light"] .wwti-scale-note,
html[data-theme="light"] .wwti-cat-desc,
html[data-theme="light"] .wwti-cov-help,
html[data-theme="light"] .section p,
html[data-theme="light"] .section ul,
html[data-theme="light"] .section ol,
html[data-theme="light"] .tile p,
html[data-theme="light"] .tile-synopsis,
html[data-theme="light"] .article-body p,
html[data-theme="light"] .article-body li{ color:#141418; }

/* Theme toggle control */
.theme-toggle{
  display:inline-flex; align-items:center; gap:7px;
  background:transparent; color:var(--text);
  border:1px solid var(--line); border-radius:8px;
  padding:8px 12px; font-family:var(--font-mono);
  font-size:.72rem; letter-spacing:.05em; text-transform:uppercase;
  cursor:pointer; transition:border-color .18s ease, color .18s ease, background .18s ease;
  white-space:nowrap;
}
.theme-toggle:hover,
.theme-toggle:focus-visible{ border-color:var(--red); color:var(--red-bright); }
.theme-toggle .tt-icon{ font-size:.95rem; line-height:1; }
.theme-toggle .tt-label{ line-height:1; }
@media (max-width:640px){
  .theme-toggle .tt-label{ display:none; }
  .theme-toggle{ padding:8px 10px; }
}

/* Wide data tables scroll inside their own box on narrow screens */
@media (max-width:720px){
  table.data{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  table.data>caption{display:block;width:calc(100vw - 3rem);max-width:100%;white-space:normal;text-align:left}
}

/* ---------------------------------------------------------------------------
   Case-watch long-form articles are a bespoke dark editorial product.
   The site-wide light theme must not repaint them, so the dark palette is
   re-asserted here with enough specificity to beat the light-theme block.
   --------------------------------------------------------------------------- */
html[data-theme="light"] body.cw-body{
  background:#0f0f0f;
  color:#ffffff;
  --bg:#0f0f0f; --bg-soft:#141414; --panel:#1a1a1a; --panel-2:#232323;
  --line:#3d3d3d; --line-soft:#2d2d2d;
  --text:#ffffff; --muted:#ffffff; --muted-2:#ffffff;
  --red:#dc143c; --red-bright:#ff3355; --red-deep:#8b0000;
  --shadow:0 18px 50px rgba(0,0,0,.55);
  color-scheme: dark;
}
html[data-theme="light"] body.cw-body h1,
html[data-theme="light"] body.cw-body h2,
html[data-theme="light"] body.cw-body h3,
html[data-theme="light"] body.cw-body h4{ color:#ffffff; }
html[data-theme="light"] body.cw-body h1{ border:0; padding:0; }
html[data-theme="light"] body.cw-body h2{ background:none; border:0; border-radius:0; padding:0; }
html[data-theme="light"] body.cw-body h3{ border:0; padding:0; }
html[data-theme="light"] body.cw-body .section h2{
  border-bottom:2px solid #8b0000; padding:0 0 12px;
}
html[data-theme="light"] body.cw-body .section h3{ color:#daa520; }
html[data-theme="light"] body.cw-body .section p,
html[data-theme="light"] body.cw-body .section ul,
html[data-theme="light"] body.cw-body .section ol,
html[data-theme="light"] body.cw-body .article-body p,
html[data-theme="light"] body.cw-body .article-body li,
html[data-theme="light"] body.cw-body .tile p,
html[data-theme="light"] body.cw-body .lede,
html[data-theme="light"] body.cw-body .muted,
html[data-theme="light"] body.cw-body .small.muted{ color:#ffffff; }
html[data-theme="light"] body.cw-body .site-header{ background:rgba(15,15,15,.92); border-bottom:1px solid #2d2d2d; }
html[data-theme="light"] body.cw-body .site-footer{ background:#141414; border-top:1px solid #2d2d2d; }

/* Transparency-index hardcoded grays and ambers, repainted for light theme. */
html[data-theme="light"] .wwti-note,
html[data-theme="light"] .wwti-box,
html[data-theme="light"] .wwti-unavail p,
html[data-theme="light"] .wwti-doc .ind-body dd,
html[data-theme="light"] .wwti-an-note,
html[data-theme="light"] .wwti-an-den{ color:#141418; }
html[data-theme="light"] .wwti-note{ background:#fff8e6; }
html[data-theme="light"] .wwti-note.red{ background:#fff0f3; }
html[data-theme="light"] .wwti-box{ background:#fff8f9; }
html[data-theme="light"] .wwti-box.warn{ background:#fff6e0; border-color:#c9971f; }
html[data-theme="light"] .wwti-an-flag,
html[data-theme="light"] .wwti-status.is-provisional{
  color:#6f4700; background:#fff3d6; border-color:#c9971f;
}

/* Case-watch articles: wide data tables scroll inside their own box on phones. */
@media (max-width:720px){
  body.cw-body .cw-page table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
}

/* ---------- Change log page ---------- */
.log-day{ margin-top:34px; }
.log-day:first-of-type{ margin-top:26px; }
.log-day-head{
  display:flex; align-items:baseline; gap:14px;
  padding-bottom:8px; margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.log-day-head h3{ font-family:var(--font-display); font-size:1.12rem; margin:0; }
.log-day-count{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2);
}
.log-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; }
.log-item{
  background:var(--bg-soft); border:1px solid var(--line-soft);
  border-left:3px solid var(--red); border-radius:var(--radius);
  padding:15px 17px; display:flex; flex-direction:column; gap:8px;
}
.log-item:hover{ border-color:var(--line); border-left-color:var(--red-bright); }
.log-item-top{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.log-label{ font-family:var(--font-mono); font-size:.68rem; color:var(--muted); }
.log-item h4{ font-family:var(--font-body); font-size:.95rem; line-height:1.4; margin:0; font-weight:600; }
.log-item h4 a{ color:var(--text); }
.log-item h4 a:hover{ color:var(--red-bright); text-decoration:none; }
.log-item .ut-hl{ margin:0; }
html[data-theme="light"] .log-item{ background:#fff; }

/* FOIA archive pagination */
.pager {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin: 34px 0 6px;
}
.pager[hidden] { display: none; }
.pager-btn {
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 10px 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  color: var(--ink);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.pager-btn:hover { border-color: var(--red); color: var(--red); }
.pager-btn.is-current {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  cursor: default;
}
html[data-theme="light"] .pager-btn { background: #fff; }
html[data-theme="light"] .pager-btn.is-current { background: var(--red); color: #fff; }

/* FOIA tile share image */
.tile-thumb{
  display:block;
  margin:-20px -20px 16px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:var(--bg-soft);
}
.tile-thumb img{
  display:block; width:100%; height:auto;
  aspect-ratio:1200/630; object-fit:cover;
  transition:transform .3s ease;
}
.tile:hover .tile-thumb img{ transform:scale(1.04); }

/* ============================================================
   RELEASE 2026-10-25u — readability, share images, ordering
   ============================================================ */

/* ---- 1. Larger type across both themes ---- */
body{ font-size:18.5px; }

.tile-id{ font-size:.84rem; }
.tile-date{ font-size:.82rem; }
.tile h3{ font-size:1.28rem; }
.tile p{ font-size:.98rem; }
.read-more{ font-size:.92rem; }
.chip{ font-size:.86rem; }
.result-meta{ font-size:.9rem; }
.breadcrumb{ font-size:.85rem; }
.article-meta{ font-size:.9rem; }
.stat .lbl{ font-size:.78rem; }
.stats-head p{ font-size:.9rem; }
.cw-strip-kicker{ font-size:.72rem; }
.cw-strip-stat{ font-size:.78rem; }
.cw-strip-card h3{ font-size:1.1rem; }
.cw-strip-card p{ font-size:.95rem; }
.cw-strip-card .read-more{ font-size:.88rem; }
.ut-sub{ font-size:.92rem; }
.nav a{ font-size:.94rem; }
.site-footer a, .site-footer p{ font-size:.92rem; }
.disclaimer{ font-size:.84rem; }

/* ---- 2. Light-theme active filter chip: red text, readable ---- */
html[data-theme="light"] .chip[aria-pressed="true"]{
  background:#fff;
  border-color:var(--red);
  color:var(--red);
  font-weight:800;
}
html[data-theme="light"] .chip[aria-pressed="true"]:hover{
  background:#fdeef1;
  border-color:var(--red);
  color:var(--red);
}

/* ---- 3. Share image inside the FOIA page ---- */
.article-share{
  margin:0 0 26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--panel);
}
.article-share img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:1200/630;
  object-fit:cover;
}
.article-share figcaption{
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted-2);
  padding:10px 16px;
  border-top:1px solid var(--line);
}

/* ---- 4. Facebook share bar at the top of each FOIA page ---- */
.share-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px;
  margin:0 0 28px;
  border:1px solid var(--line);
  border-left:3px solid var(--red);
  border-radius:8px;
  background:var(--panel);
}
.share-bar-text{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  font-weight:600;
}
.share-bar .btn-fb{ flex:0 0 auto; }

/* ---- 5. Visible heading above the FOIA tiles ---- */
.foia-list-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:0 0 18px;
}
.foia-list-head h2{
  font-family:var(--font-display);
  font-size:1.7rem;
  line-height:1.2;
  margin:0;
}
.foia-list-head p{
  margin:0;
  color:var(--muted-2);
  font-size:.9rem;
}

/* ---- 6. Case-watch index cards with thumbnails ---- */
.cw-card{ padding:0 0 22px; overflow:hidden; }
.cw-card-thumb{
  display:block;
  margin:0 0 20px;
  overflow:hidden;
  background:var(--panel-2);
}
.cw-card-thumb img{
  width:100%;
  height:auto;
  aspect-ratio:1200/630;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.cw-card:hover .cw-card-thumb img{ transform:scale(1.04); }
.cw-card > .cw-card-top,
.cw-card > h2,
.cw-card > .cw-meta,
.cw-card > .cw-synopsis,
.cw-card > .cw-card-foot{ margin-left:26px; margin-right:26px; }
.cw-card h2{ font-size:1.5rem; }
.cw-synopsis{ font-size:1rem; line-height:1.6; }

@media (max-width:720px){
  body{ font-size:18px; }
  .cw-card > .cw-card-top,
  .cw-card > h2,
  .cw-card > .cw-meta,
  .cw-card > .cw-synopsis,
  .cw-card > .cw-card-foot{ margin-left:18px; margin-right:18px; }
}

/* ==========================================================================
   Potential Future FOIAs (REQUEST AJ)
   ========================================================================== */
.pf-legend{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px; margin:22px 0 6px;
}
.pf-legend-item{
  background:var(--bg-soft); border:1px solid var(--line-soft);
  border-radius:var(--radius); padding:14px 16px;
}
.pf-legend-item p{ margin:8px 0 0; font-size:.92rem; color:var(--muted); line-height:1.55; }
html[data-theme="light"] .pf-legend-item{ background:#fff; }

.pf-status{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:.63rem; letter-spacing:.1em;
  text-transform:uppercase; font-weight:700;
  padding:4px 9px; border-radius:999px; border:1px solid transparent;
  white-space:nowrap;
}
.pf-status::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.pf-status-new{ color:#8ab4ff; background:rgba(90,140,255,.12); border-color:rgba(90,140,255,.38); }
.pf-status-reword{ color:#ffb020; background:rgba(224,165,38,.12); border-color:rgba(224,165,38,.4); }
.pf-status-narrow{ color:#4fd18b; background:rgba(47,191,113,.12); border-color:rgba(47,191,113,.4); }

.pf-stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:12px; margin:26px 0 0;
}
.pf-stat{
  background:var(--panel); border:1px solid var(--line-soft);
  border-radius:var(--radius); padding:14px 16px; text-align:center;
}
.pf-stat .k{
  display:block; font-family:var(--font-display); font-size:1.7rem;
  line-height:1; color:var(--text);
}
.pf-stat .v{
  display:block; margin-top:7px; font-family:var(--font-mono);
  font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; color:var(--muted-2);
}
html[data-theme="light"] .pf-stat{ background:#fff; }

.pf-jump{
  display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 34px;
}
.pf-jump a{
  font-family:var(--font-head); font-size:.76rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase;
  padding:8px 14px; border:1px solid var(--line); border-radius:999px;
  background:var(--panel); color:var(--text);
}
.pf-jump a:hover{ border-color:var(--red); color:var(--red-bright); text-decoration:none; }
html[data-theme="light"] .pf-jump a{ background:#fff; }

.pf-group{ margin-bottom:52px; scroll-margin-top:90px; }
.pf-group-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
  padding-bottom:10px; margin-bottom:12px;
  border-bottom:1px solid var(--line);
}
.pf-group-head h3{
  font-family:var(--font-display); font-size:1.34rem; margin:0; line-height:1.25;
}
.pf-group-count{
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2);
}
.pf-blurb{ margin:0 0 20px; color:var(--muted); max-width:78ch; line-height:1.65; }

.pf-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:16px; }
.pf-card{
  background:var(--bg-soft); border:1px solid var(--line-soft);
  border-left:3px solid var(--red); border-radius:var(--radius);
  padding:18px 20px; display:flex; flex-direction:column; gap:12px;
}
.pf-card:hover{ border-color:var(--line); border-left-color:var(--red-bright); }
.pf-card-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pf-num{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em;
  color:var(--muted-2);
}
.pf-card h4{
  font-family:var(--font-body); font-size:1.02rem; line-height:1.4;
  margin:0; font-weight:700; color:var(--text);
}
.pf-card p{ margin:0; font-size:.93rem; line-height:1.6; color:var(--muted); }
.pf-kicker{
  display:block; font-family:var(--font-mono); font-size:.6rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--red-bright);
  margin-bottom:4px; font-weight:700;
}
.pf-ask{ color:var(--text) !important; }
.pf-refs a{ font-family:var(--font-mono); font-size:.82rem; }
.pf-note{
  border-top:1px solid var(--line-soft); padding-top:11px;
}
html[data-theme="light"] .pf-card{ background:#fff; }
html[data-theme="light"] .pf-kicker{ color:var(--red); }
html[data-theme="light"] .pf-status-new{ color:#1f4fa8; background:#e8effc; border-color:#b9cdf0; }
html[data-theme="light"] .pf-status-reword{ color:#7a5200; background:#fdf2d8; border-color:#e6cf94; }
html[data-theme="light"] .pf-status-narrow{ color:#12633c; background:#e4f6ec; border-color:#a9dcc2; }
html[data-theme="light"] .pf-status-new::before,
html[data-theme="light"] .pf-status-reword::before,
html[data-theme="light"] .pf-status-narrow::before{ background:currentColor; }

/* Already-sent area: compact tiles, no draft request text (REQUEST AS) */
.pf-sent-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px; margin-top:22px;
}
.pf-sent-card{
  background:var(--bg-soft); border:1px solid var(--line-soft);
  border-left:3px solid var(--line); border-radius:var(--radius);
  padding:15px 17px; display:flex; flex-direction:column; gap:9px;
}
.pf-sent-card:hover{ border-left-color:var(--red); }
.pf-sent-card h4{
  font-family:var(--font-body); font-size:.98rem; line-height:1.4;
  margin:0; font-weight:700; color:var(--text);
}
.pf-sent-card p{ margin:0; font-size:.9rem; line-height:1.55; color:var(--muted); }
.pf-sent-group{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted-2); text-align:right;
}
.pf-sent-note{ border-top:1px solid var(--line-soft); padding-top:9px; }
html[data-theme="light"] .pf-sent-card{ background:#fff; }
html[data-theme="light"] .pf-sent-group{ color:#6b6b78; }

/* The playbook, as the record shows it (REQUEST AJ) */
.playbook{
  display:grid; gap:18px; margin-top:24px; max-width:82ch;
}
.playbook p{
  margin:0; padding-left:18px; border-left:2px solid var(--line);
  color:var(--muted); line-height:1.72;
}
.playbook p strong{
  display:block; color:var(--text); font-size:1.02rem;
  margin-bottom:5px; font-weight:700;
}
.playbook p:hover{ border-left-color:var(--red); }
html[data-theme="light"] .playbook p strong{ color:#111; }

/* ---- Potential Future FOIAs: subject-area and case-watch heads (REQUEST BK) ---- */
.pf-jump-n{
  display:inline-block; margin-left:6px; padding:0 6px; border-radius:20px;
  background:rgba(210,16,52,.16); color:var(--red-bright);
  font-size:.68rem; font-weight:700; letter-spacing:.02em;
}
html[data-theme="light"] .pf-jump-n{ background:#fbe4e8; color:#a30c26; }

.pf-cat-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap; padding-bottom:12px;
  border-bottom:1px solid var(--line); margin-bottom:14px;
}
.pf-cat-kicker{
  margin:0 0 5px; font-family:var(--font-mono); font-size:.62rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--red-bright);
  font-weight:700;
}
.pf-cat-head h3{
  margin:0; font-family:var(--font-display); font-size:1.5rem;
  line-height:1.2; letter-spacing:-.01em; color:var(--text);
}
html[data-theme="light"] .pf-cat-head h3{ color:#111; }

.pf-covers{
  list-style:none; margin:0 0 20px; padding:0;
  display:flex; flex-wrap:wrap; gap:7px;
}
.pf-covers li{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.03em;
  color:var(--muted); border:1px solid var(--line-soft);
  border-radius:20px; padding:3px 10px; background:var(--bg-soft);
}
html[data-theme="light"] .pf-covers li{ background:#fff; color:#4a4a55; border-color:#e2e2e8; }

.pf-empty{
  margin:0 0 8px; padding:16px 18px; border:1px dashed var(--line);
  border-radius:var(--radius); color:var(--muted); font-size:.92rem;
  line-height:1.6; background:transparent;
}
html[data-theme="light"] .pf-empty{ border-color:#d8d8e0; color:#4a4a55; }

/* Case-watch follow-up sections */
.pf-cw{
  padding:22px 22px 24px; border:1px solid var(--line-soft);
  border-left:3px solid var(--red); border-radius:var(--radius);
  background:var(--bg-soft); margin-bottom:34px;
}
.pf-cw-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap; margin-bottom:10px;
}
.pf-cw-head h3{
  margin:0; font-family:var(--font-display); font-size:1.35rem;
  line-height:1.25; color:var(--text);
}
html[data-theme="light"] .pf-cw-head h3{ color:#111; }
.pf-cw-link{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em;
  text-transform:uppercase; font-weight:700; color:var(--red-bright);
  text-decoration:none; white-space:nowrap;
}
.pf-cw-link:hover{ text-decoration:underline; }
.pf-cw-meta{
  margin:0 0 10px; font-family:var(--font-mono); font-size:.7rem;
  letter-spacing:.03em; color:var(--muted-2);
}
html[data-theme="light"] .pf-cw-meta{ color:#6b6b78; }
.pf-cw .pf-blurb{ font-size:.92rem; }
.pf-cw .pf-card{ background:var(--panel); }
html[data-theme="light"] .pf-cw{ background:#faf7f8; border-color:#e6e0e3; }
html[data-theme="light"] .pf-cw .pf-card{ background:#fff; }

/* ---- footer widgets (Elfsight: visitor statistics) ---------------------- */
.footer-widgets{
  display:flex; flex-wrap:wrap; align-items:center; gap:18px;
  margin-top:0; padding-top:0; border-top:0;
}
/* only draw the divider once Elfsight has actually injected a widget, so a
   blocked CDN leaves no empty ruled strip behind */
.footer-widgets:has(.es-embed-root){
  margin-top:22px; padding-top:18px; border-top:1px solid var(--line-soft);
}
.footer-widget{ min-width:0; max-width:100%; overflow:hidden; }
.footer-widget > div{ max-width:100%; }
.footer-widget iframe{ max-width:100%; border:0; }
/* keep the injected badge from stretching the footer or breaking the grid */
.elfsight-app-43e970c9-263b-41a1-9640-8d78f827604c,
.elfsight-app-b7f7da82-3d60-4445-86a3-2052fd4835b1{ min-height:0; }
@media (max-width:640px){
  .footer-widgets{ flex-direction:column; align-items:flex-start; gap:14px; }
}
html[data-theme="light"] .footer-widgets:has(.es-embed-root){ border-top-color:var(--line-soft); }
