/*
  ExposeMiamiOK shared UI layer.
  This file intentionally overrides older generated inline page styles so the
  standalone pages feel like one product instead of separate templates.
*/
:root {
  --mw-bg: #0f172a;
  --mw-surface: #111827;
  --mw-surface-2: #1e293b;
  --mw-surface-3: #273449;
  --mw-card: #162033;
  --mw-text: #f8fafc;
  --mw-muted: #a7b3c7;
  --mw-border: rgba(148, 163, 184, 0.22);
  --mw-accent: #dc2626;
  --mw-accent-2: #ef4444;
  --mw-gold: #f59e0b;
  --mw-green: #22c55e;
  --mw-blue: #38bdf8;
  --mw-radius: 8px;
  --mw-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
  --mw-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: var(--mw-bg);
  --bg2: var(--mw-surface);
  --bg3: var(--mw-surface-2);
  --card: var(--mw-card);
  --text: var(--mw-text);
  --text2: var(--mw-muted);
  --accent: var(--mw-accent);
  --accent2: var(--mw-accent-2);
  --border: var(--mw-border);
  --shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  --shadow2: var(--mw-shadow);
}

html, body {
  background:
    radial-gradient(circle at 20% 0%, rgba(220, 38, 38, 0.14), transparent 30rem),
    linear-gradient(180deg, #0b1020 0%, var(--mw-bg) 36rem, #0b1020 100%) !important;
  color: var(--mw-text) !important;
  font-family: var(--mw-font) !important;
  letter-spacing: 0 !important;
}

body {
  min-height: 100vh;
}

a {
  color: var(--mw-accent-2);
}

a:hover {
  color: #fca5a5;
}

img {
  max-width: 100%;
}

.mw-unified-shell .mw-unified-header {
  background: rgba(15, 23, 42, 0.94) !important;
  border-bottom: 1px solid var(--mw-border) !important;
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.26) !important;
}

.mw-unified-shell {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
}

.mw-retired-ui {
  display: none !important;
}

body > header:not(.mw-unified-header),
body > .hdr:not(.mw-unified-header),
body > nav:not(.mw-unified-nav),
body > .drawer-overlay:not(#mw-drawer-overlay),
body > .nav {
  display: none !important;
}

body > .hdr:not(.mw-unified-header) {
  display: none !important;
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}

.mw-unified-shell .mw-unified-header {
  padding: 10px 16px !important;
  position: static !important;
}

.mw-unified-shell .logo {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: var(--mw-text) !important;
  text-decoration: none !important;
}

.mw-unified-shell .logo img {
  width: 112px !important;
  height: 82px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: transparent !important;
  flex: 0 0 auto !important;
}

.hero-video-load {
  width: 100%;
  min-height: 220px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.28), rgba(15, 23, 42, 0.92));
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.mw-unified-shell .logo h1 {
  margin: 0 !important;
  font-size: 1.45rem !important;
  line-height: 1.1 !important;
}

.mw-unified-shell .logo p {
  margin: 3px 0 0 !important;
  font-size: 0.84rem !important;
  line-height: 1.2 !important;
}

.mw-unified-shell .dnav {
  position: static !important;
  top: auto !important;
  display: none !important;
}

.mw-unified-shell .dnav-inner {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0 16px !important;
}

.mw-unified-shell .dnav a {
  display: block !important;
  padding: 13px 14px !important;
  line-height: 1.2 !important;
}

.mw-unified-shell .drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 280px !important;
  height: 100vh !important;
  padding-top: 104px !important;
  overflow-y: auto !important;
  transform: translateX(-100%) !important;
  transition: transform 0.22s ease !important;
  z-index: 6001 !important;
  display: block !important;
  visibility: hidden !important;
  pointer-events: none !important;
  white-space: normal !important;
}

.mw-unified-shell .drawer.open {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.mw-unified-shell .drawer a {
  display: block !important;
  padding: 14px 18px !important;
}

.mw-unified-shell .drawer-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 6000 !important;
  display: none !important;
  pointer-events: none !important;
}

.mw-unified-shell .drawer-overlay.show {
  display: block !important;
  pointer-events: auto !important;
}

@media (min-width: 900px) {
  body .mw-unified-shell .mw-unified-nav {
    display: block !important;
  }
}

@media (max-width: 899px) {
  body .mw-unified-shell .mw-unified-nav {
    display: none !important;
  }
}

.mw-unified-shell .hdr-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.mw-unified-shell .logo h1 {
  color: var(--mw-text) !important;
  letter-spacing: 0 !important;
}

.mw-unified-shell .logo p {
  color: var(--mw-muted) !important;
}

.dnav {
  background: rgba(17, 24, 39, 0.96) !important;
  border-bottom: 1px solid var(--mw-border) !important;
  box-shadow: none !important;
}

.dnav-inner {
  max-width: 1200px !important;
}

.dnav a {
  color: var(--mw-muted) !important;
  border-bottom-color: transparent !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

.dnav a:hover,
.dnav a[aria-current="page"] {
  color: var(--mw-text) !important;
  border-bottom-color: var(--mw-accent) !important;
  text-decoration: none !important;
}

.drawer {
  background: #0b1020 !important;
  border-right: 1px solid var(--mw-border) !important;
  box-shadow: 16px 0 40px rgba(0, 0, 0, 0.35) !important;
}

.drawer a {
  color: var(--mw-text) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important;
}

.drawer a:hover {
  background: rgba(220, 38, 38, 0.14) !important;
  color: #fff !important;
}

.ham {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--mw-border) !important;
  border-radius: var(--mw-radius) !important;
  min-width: 46px !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
}

.ham span {
  background: var(--mw-text) !important;
}

@media (min-width: 900px) {
  .mw-unified-shell .ham {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .mw-unified-shell .ham {
    display: flex !important;
  }
}

.container,
.page,
.main,
main {
  width: min(1200px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.container,
.page,
.main {
  padding-top: 1.5rem !important;
}

.hero,
.blog-intro,
.vol-banner,
.county-banner,
.search-box,
.source-note,
.toc,
.about-box,
.transp-box,
.callout {
  border-radius: var(--mw-radius) !important;
}

.hero:not(.hero-video),
.blog-intro,
.vol-banner,
.county-banner {
  background:
    linear-gradient(135deg, rgba(220, 38, 38, 0.18), rgba(30, 41, 59, 0.76)),
    var(--mw-surface-2) !important;
  border: 1px solid var(--mw-border) !important;
  box-shadow: var(--mw-shadow) !important;
}

.card,
.post-card,
.meeting-card,
.stat,
.search-box,
.util-card,
.result-card,
.feed-box,
.corrupt-card,
.source-note,
.toc,
.about-box,
.transp-box,
.map-box,
.social-links,
.video-card,
.channel-card,
.resource-card,
.page-card {
  background: rgba(22, 32, 51, 0.94) !important;
  border: 1px solid var(--mw-border) !important;
  border-radius: var(--mw-radius) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
}

.card:hover,
.post-card:hover,
.meeting-card:hover,
.county-banner:hover {
  border-color: rgba(239, 68, 68, 0.72) !important;
  box-shadow: var(--mw-shadow) !important;
}

h1, h2, h3, h4 {
  color: var(--mw-text) !important;
  letter-spacing: 0 !important;
}

.hero h1,
.hero h2,
.sec-title,
.blog-intro h2,
.stat-num,
.card h2,
.card h3,
.post-header h2,
.search-box h2,
.search-box h3,
.source-note strong {
  color: var(--mw-text) !important;
  -webkit-text-fill-color: currentColor !important;
  background: none !important;
}

.sec-icon,
.card-icon,
.tag,
.badge {
  filter: saturate(0.95);
}

p,
.subtitle,
.post-body p,
.card p,
.meeting-meta,
.stat-label,
.source,
footer,
.footer,
.feed-date {
  color: var(--mw-muted) !important;
}

.btn,
.search-btn,
.load-more button,
.vol-btn-primary,
.county-btn,
button[type="submit"] {
  background: var(--mw-accent) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--mw-radius) !important;
  box-shadow: 0 8px 18px rgba(220, 38, 38, 0.24) !important;
}

.btn:hover,
.search-btn:hover,
.load-more button:hover,
.vol-btn-primary:hover,
.county-btn:hover,
button[type="submit"]:hover {
  background: var(--mw-accent-2) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

input,
select,
textarea {
  background: rgba(15, 23, 42, 0.92) !important;
  color: var(--mw-text) !important;
  border: 1px solid var(--mw-border) !important;
  border-radius: var(--mw-radius) !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--mw-accent-2) !important;
  outline: 2px solid rgba(239, 68, 68, 0.2) !important;
}

.filter-pill,
.tag,
.badge,
.phone,
.oscn-links a,
.util-links a {
  border-radius: 999px !important;
}

.filter-pill.active,
.badge-disc,
.tag.urgent,
.tag.scandal,
.tag-legal,
.tag-scandal,
.tag-cityhall {
  background: rgba(220, 38, 38, 0.18) !important;
  color: #fecaca !important;
  border-color: rgba(220, 38, 38, 0.45) !important;
}

footer,
.footer {
  background: transparent !important;
  border-top: 1px solid var(--mw-border) !important;
}

body > .hdr:not(:first-child),
body > header + .container,
body > header + .page {
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  .mw-unified-shell .mw-unified-header {
    padding: 10px 12px !important;
  }

  .mw-unified-shell .logo {
    gap: 10px !important;
  }

  .mw-unified-shell .logo img {
    width: 84px !important;
    height: 62px !important;
  }

  .mw-unified-shell .logo h1 {
    font-size: 1.22rem !important;
  }

  .mw-unified-shell .logo p {
    display: none !important;
  }

  .container,
  .page,
  .main,
  main {
    width: min(100% - 20px, 1200px) !important;
  }

  .grid,
  .meetings-grid {
    grid-template-columns: 1fr !important;
  }
}

/* MENU LOCK 20260601 START */
html body {
  margin: 0 !important;
}

body .mw-unified-shell,
body .mw-unified-shell * {
  box-sizing: border-box !important;
}

body .mw-unified-shell {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 2147483000 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--mw-text) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

body .mw-unified-shell .mw-unified-header {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  background: rgba(15, 23, 42, 0.96) !important;
  border-bottom: 1px solid var(--mw-border) !important;
}

body .mw-unified-shell .hdr-inner {
  width: min(1200px, calc(100% - 32px)) !important;
  max-width: 1200px !important;
  min-height: 108px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}

body .mw-unified-shell .logo {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--mw-text) !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  flex: 0 1 auto !important;
}

body .mw-unified-shell .logo img {
  display: block !important;
  width: 146px !important;
  height: 106px !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 146px !important;
  min-height: 106px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  flex: 0 0 146px !important;
}

body .mw-unified-shell .logo h1 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.58rem !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  color: var(--mw-text) !important;
}

body .mw-unified-shell .logo p {
  margin: 5px 0 0 !important;
  padding: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
  color: var(--mw-muted) !important;
}

body .mw-unified-shell .mw-unified-nav.dnav {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: rgba(17, 24, 39, 0.96) !important;
  border-bottom: 1px solid var(--mw-border) !important;
  box-shadow: none !important;
}

body .mw-unified-shell .mw-unified-nav.dnav .dnav-inner {
  width: min(1200px, calc(100% - 32px)) !important;
  max-width: 1200px !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
}

body .mw-unified-shell .mw-unified-nav.dnav .dnav-inner > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  color: var(--mw-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-transform: none !important;
}

body .mw-unified-shell .mw-unified-nav.dnav .dnav-inner > a:hover,
body .mw-unified-shell .mw-unified-nav.dnav .dnav-inner > a[aria-current="page"] {
  color: var(--mw-text) !important;
  border-bottom-color: var(--mw-accent) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body .mw-unified-shell .ham {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 900px) {
  body .mw-unified-shell .mw-unified-nav.dnav {
    display: block !important;
  }

  body .mw-unified-shell .ham {
    display: none !important;
  }
}

@media (max-width: 899px) {
  body .mw-unified-shell .mw-unified-header {
    padding: 10px 12px !important;
  }

  body .mw-unified-shell .hdr-inner {
    width: min(100%, calc(100% - 12px)) !important;
    min-height: 82px !important;
  }

  body .mw-unified-shell .logo {
    gap: 10px !important;
  }

  body .mw-unified-shell .logo img {
    width: 104px !important;
    height: 76px !important;
    min-width: 104px !important;
    min-height: 76px !important;
    flex-basis: 104px !important;
  }

  body .mw-unified-shell .logo h1 {
    font-size: 1.16rem !important;
  }

  body .mw-unified-shell .logo p {
    display: none !important;
  }

  body .mw-unified-shell .mw-unified-nav.dnav {
    display: none !important;
  }

  body .mw-unified-shell .ham {
    display: flex !important;
  }

  body .mw-unified-shell .drawer {
    padding-top: 104px !important;
  }
}
/* MENU LOCK 20260601 END */

/* MENU POLISH 20260601: keep the logo in the unified header only. */
body > .header > img[src*="logo-header"],
body .channel-banner > img[src*="logo-header"] {
  display: none !important;
}



/* Human polish 20260709: calmer civic tone across generated pages. */
:root {
  --mw-bg: #11161d;
  --mw-surface: #151c24;
  --mw-surface-2: #1d2732;
  --mw-surface-3: #293646;
  --mw-card: #182231;
  --mw-muted: #b4bfcc;
  --mw-border: rgba(174, 190, 209, 0.22);
  --mw-accent: #c2410c;
  --mw-accent-2: #ea580c;
  --mw-gold: #eab308;
  --mw-green: #2f9e6d;
  --mw-blue: #60a5fa;
}

html,
body {
  background: linear-gradient(180deg, #0f141b 0%, #141b24 36rem, #0f141b 100%) !important;
}

body .mw-unified-shell .mw-unified-header {
  background: rgba(17, 22, 29, 0.97) !important;
}

body .mw-unified-shell .logo h1 {
  font-weight: 850 !important;
}

body .mw-unified-shell .logo p {
  color: #c8d1dc !important;
}

.hero:not(.hero-video),
.blog-intro,
.vol-banner,
.county-banner {
  background:
    linear-gradient(135deg, rgba(194, 65, 12, 0.18), rgba(35, 48, 64, 0.92)),
    var(--mw-surface-2) !important;
}

.hero-video-load {
  min-height: 220px !important;
  border: 1px dashed rgba(200, 209, 220, 0.28) !important;
  background:
    linear-gradient(135deg, rgba(24, 34, 49, 0.96), rgba(43, 54, 68, 0.96)) !important;
  color: #f8fafc !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03) !important;
}

.card,
.post-card,
.meeting-card,
.stat,
.search-box,
.util-card,
.result-card,
.feed-box,
.corrupt-card,
.source-note,
.toc,
.about-box,
.transp-box,
.map-box,
.social-links,
.video-card,
.channel-card,
.resource-card,
.page-card {
  background: rgba(24, 34, 49, 0.96) !important;
}

.btn,
.search-btn,
.load-more button,
.vol-btn-primary,
.county-btn,
button[type="submit"] {
  background: var(--mw-accent) !important;
  box-shadow: 0 8px 18px rgba(194, 65, 12, 0.20) !important;
}

.btn:hover,
.search-btn:hover,
.load-more button:hover,
.vol-btn-primary:hover,
.county-btn:hover,
button[type="submit"]:hover {
  background: var(--mw-accent-2) !important;
}



/* ── CHAPTER BAR (mw-chapterbar) ────────────────────────────────────────
   Shared Move Weight Foundation identity strip. Kept structurally identical
   to ExposeSanAngelo and ExposeMississippi; only the accent differs. */
.chapterbar {
  background: #080a0e;
  border-bottom: 1px solid var(--mw-border, rgba(148,163,184,.22));
  font-size: .78rem;
  font-family: var(--mw-font, system-ui, sans-serif);
}
.chapterbar-in {
  max-width: 1180px; margin: 0 auto; padding: 7px 20px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.chapterbar .cb-label { color: #7c8aa3; font-weight: 600; }
.chapterbar .cb-label a { color: var(--mw-muted, #a7b3c7); font-weight: 700; text-decoration: none; }
.chapterbar .cb-label a:hover { color: var(--mw-accent-2, #ef4444); }
.chapterbar .cb-links { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.chapterbar .cb-links a {
  color: #7c8aa3; font-weight: 700; padding: 3px 9px; text-decoration: none;
  border-radius: 20px; border: 1px solid transparent; white-space: nowrap;
}
.chapterbar .cb-links a:hover {
  color: var(--mw-text, #f8fafc);
  background: var(--mw-surface-2, #1e293b);
  text-decoration: none;
}
.chapterbar .cb-links a.cur {
  color: var(--mw-accent-2, #ef4444);
  border-color: rgba(220,38,38,.45);
  background: rgba(220,38,38,.10);
}
@media (max-width: 640px) {
  .chapterbar .cb-label { width: 100%; }
  .chapterbar .cb-links { margin-left: 0; }
}



/* ══════════════════════════════════════════════════════════════════════
   FOUNDATION UNIFY LAYER
   Appended after ExposeMiamiOK's own rules so it wins on specificity ties.

   Miami OK is the oldest chapter and its markup predates the shared design
   system the other chapters use. Rather than rewrite 760 pages of markup —
   most of which is generated by pipelines outside this container — this maps
   Miami's class vocabulary onto the shared look: same type scale, same card
   treatment, same spacing rhythm, same focus states.

   Layout is deliberately left alone. This changes how it looks, not where
   things are, because the archive pages cannot be re-rendered to test.
   ══════════════════════════════════════════════════════════════════════ */

:root {
  --mw-r: 10px;
  --mw-ink: #eef2f8;
  --mw-dim: #a7b3c7;
  --mw-faint: #7c8aa3;
  --mw-line: rgba(148,163,184,.22);
  --mw-line2: rgba(148,163,184,.4);
  --mw-panel: #131822;
  --mw-panel2: #1b2130;
}

body {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}

h1, h2, h3, h4 { letter-spacing: -.02em; line-height: 1.22; font-weight: 800; }
h1 { font-size: clamp(1.9rem, 4.4vw, 3rem); font-weight: 900; letter-spacing: -.03em; }
h2 { font-size: clamp(1.4rem, 2.8vw, 2rem); }
h3 { font-size: clamp(1.06rem, 2vw, 1.3rem); }

/* ── cards: Miami uses .card-icon, the shared system uses .card-ico ──── */
.card, .util-card {
  background: var(--mw-panel);
  border: 1px solid var(--mw-line);
  border-radius: var(--mw-r);
  padding: 22px;
  transition: border-color .18s, transform .18s;
}
.card:hover, .util-card:hover {
  border-color: var(--mw-line2);
  transform: translateY(-2px);
}
.card h3, .util-card h3, .card h4, .util-card h4 { margin: 0 0 .4em; }
.card p, .util-card p { color: var(--mw-dim); font-size: .93rem; }
.card-icon, .card-ico, .ficon, .sec-icon {
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 10px;
  display: inline-block;
}
.card-link, .flink {
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.card-link:hover, .flink:hover { border-bottom-color: currentColor; }

/* ── section headers ─────────────────────────────────────────────────── */
.sec-hdr { margin-bottom: 24px; }
.sec-title { font-weight: 800; letter-spacing: -.02em; }
.sec-hdr p, .section-head p { color: var(--mw-dim); max-width: 74ch; }

/* ── buttons ─────────────────────────────────────────────────────────── */
.btn, .vol-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 11px 19px; border-radius: 8px;
  font-weight: 700; font-size: .92rem;
  text-decoration: none; border: 1px solid transparent;
  transition: background .15s, border-color .15s, transform .1s;
}
.btn:hover, .vol-btn:hover { transform: translateY(-1px); }
.btn-ghost { background: transparent; color: var(--mw-ink); border-color: var(--mw-line2); }
.btn-ghost:hover { background: var(--mw-panel2); }

/* ── tables read like the other chapters ─────────────────────────────── */
table { border-collapse: collapse; font-size: .9rem; }
th {
  background: var(--mw-panel2);
  font-size: .72rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--mw-dim); font-weight: 800; text-align: left;
  padding: 10px 12px; white-space: nowrap;
}
td { padding: 11px 12px; border-bottom: 1px solid var(--mw-line); vertical-align: top; }
tbody tr:hover { background: rgba(30,41,59,.55); }

/* ── links & focus: same affordances everywhere ──────────────────────── */
a { transition: color .15s; }
a:focus-visible, button:focus-visible, .card:focus-within {
  outline: 2px solid var(--mw-accent-2, #ef4444);
  outline-offset: 2px;
}

/* ── utility grid spacing to match the shared cards grid ─────────────── */
.util-links, .grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* ── the shared component vocabulary, so template-built pages on this
      chapter (state.html, city-desk.html) style correctly too ─────────── */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 860px; }
.lede { font-size: 1.06rem; color: var(--mw-dim); max-width: 70ch; }
.eyebrow {
  display: inline-block; font-size: .72rem; font-weight: 800;
  letter-spacing: .11em; text-transform: uppercase;
  color: #ef4444; background: rgba(220,38,38,.12);
  border: 1px solid rgba(220,38,38,.4);
  padding: 5px 13px; border-radius: 20px; margin-bottom: 16px;
}
.cards { display: grid; gap: 15px; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); }
.grid2 { display: grid; gap: 26px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.callout {
  border-left: 3px solid #dc2626; background: rgba(220,38,38,.07);
  border-radius: 0 var(--mw-r) var(--mw-r) 0; padding: 15px 19px; margin: 20px 0;
}
.callout.gold { border-left-color: #f59e0b; background: rgba(245,158,11,.07); }
.co-label {
  display: block; font-size: .7rem; font-weight: 800; letter-spacing: .09em;
  text-transform: uppercase; color: var(--mw-faint); margin-bottom: 5px;
}
.mb0 { margin-bottom: 0; }
.src { font-size: .82rem; color: var(--mw-faint); }
.table-scroll { overflow-x: auto; margin: 16px 0; }
.dim { color: var(--mw-faint); }
.mono { font-family: ui-monospace, Consolas, monospace; }


/* single unified menu: 20260601-unified-menu-agenda6 */
body .mw-unified-shell .mw-unified-nav.dnav {
  display: none !important;
}
body .mw-unified-shell .mw-unified-header {
  border-bottom: 1px solid var(--mw-border) !important;
}
body .mw-unified-shell .hdr-inner {
  width: min(1500px, calc(100% - 28px)) !important;
  min-height: 92px !important;
}
body .mw-unified-shell .ham {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 106px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border: 1px solid var(--mw-border) !important;
  border-radius: 8px !important;
  background: rgba(15, 23, 42, .86) !important;
  color: var(--mw-text) !important;
  box-shadow: none !important;
}
body .mw-unified-shell .ham::after {
  content: "Menu";
  font-size: .86rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
body .mw-unified-shell .ham.active::after {
  content: "Close";
}
body .mw-unified-shell .ham span {
  width: 19px !important;
  height: 2px !important;
  background: currentColor !important;
}
body .mw-unified-shell .drawer-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(2, 6, 23, .62) !important;
  z-index: 6000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .18s ease, visibility .18s ease !important;
}
body .mw-unified-shell .drawer-overlay.show {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body .mw-unified-shell .drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: min(430px, calc(100vw - 22px)) !important;
  height: 100vh !important;
  padding: 124px 16px 24px !important;
  overflow-y: auto !important;
  transform: translateX(110%) !important;
  transition: transform .22s ease !important;
  z-index: 6001 !important;
  display: grid !important;
  align-content: start !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: rgba(15, 23, 42, .98) !important;
  border-left: 1px solid var(--mw-border) !important;
  box-shadow: -24px 0 60px rgba(0,0,0,.36) !important;
}
body .mw-unified-shell .drawer.open {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
html body .mw-unified-shell nav.drawer#mw-drawer {
  right: 0 !important;
  left: auto !important;
  margin: 0 !important;
  transform: translate3d(110%, 0, 0) !important;
}
html body .mw-unified-shell nav.drawer#mw-drawer.open {
  right: 0 !important;
  left: auto !important;
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body .mw-unified-shell .drawer a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 1px solid var(--mw-border) !important;
  border-radius: 8px !important;
  background: rgba(30, 41, 59, .62) !important;
  color: var(--mw-text) !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
body .mw-unified-shell .drawer a::after {
  content: ">";
  color: var(--mw-muted) !important;
  font-weight: 900 !important;
}
body .mw-unified-shell .drawer a:hover,
body .mw-unified-shell .drawer a[aria-current="page"] {
  border-color: rgba(220, 38, 38, .72) !important;
  background: rgba(220, 38, 38, .18) !important;
  color: #fff !important;
}
.mw-unified-shell .mw-nav-link,
.mw-unified-shell .mw-nav-button,
.mw-unified-shell .mw-nav-group,
.mw-unified-shell .mw-nav-menu,
.mw-unified-shell .mw-drawer-label {
  display: none !important;
}
@media (min-width: 760px) {
  body .mw-unified-shell .drawer {
    padding-top: 138px !important;
    grid-template-columns: 1fr 1fr !important;
    width: min(620px, calc(100vw - 40px)) !important;
  }
  body .mw-unified-shell .drawer a {
    min-height: 52px !important;
  }
}
@media (max-width: 899px) {
  body .mw-unified-shell .mw-unified-header {
    padding: 8px 10px !important;
  }
  body .mw-unified-shell .hdr-inner {
    min-height: 76px !important;
    width: min(100%, calc(100% - 8px)) !important;
    gap: 10px !important;
  }
  body .mw-unified-shell .logo {
    gap: 0 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }
  body .mw-unified-shell .logo > div {
    display: none !important;
  }
  body .mw-unified-shell .logo img {
    width: 92px !important;
    height: 68px !important;
    min-width: 92px !important;
    min-height: 68px !important;
    flex-basis: 92px !important;
  }
  body .mw-unified-shell .ham {
    display: inline-flex !important;
    min-width: 92px !important;
    height: 44px !important;
  }
  body .mw-unified-shell .drawer {
    padding-top: 94px !important;
  }
}
@media (max-width: 700px) {
  html,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  html body .mw-unified-shell nav.drawer#mw-drawer {
    top: 92px !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 92px) !important;
    padding: 10px 12px 18px !important;
    grid-template-columns: 1fr !important;
    transform: translate3d(0, -115%, 0) !important;
    border-left: 0 !important;
    border-top: 1px solid var(--mw-border) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .38) !important;
  }
  html body .mw-unified-shell nav.drawer#mw-drawer.open {
    left: 0 !important;
    right: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }
  body .mw-unified-shell .drawer-overlay {
    top: 92px !important;
  }
  body .mw-unified-shell .drawer a {
    width: auto !important;
    min-height: 44px !important;
    font-size: .95rem !important;
  }
}
@media (max-width: 430px) {
  body .mw-unified-shell .logo img {
    width: 84px !important;
    height: 62px !important;
    min-width: 84px !important;
    min-height: 62px !important;
    flex-basis: 84px !important;
  }
  body .mw-unified-shell .ham {
    min-width: 82px !important;
    height: 42px !important;
    padding: 0 10px !important;
  }
  body .mw-unified-shell .ham::after {
    font-size: .8rem !important;
  }
  body .mw-unified-shell .drawer {
    width: 100vw !important;
    padding-top: 10px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
/* end single unified menu */
