:root{
  --w4-navy:#071c35;
  --w4-ink:#102b47;
  --w4-blue:#1053b6;
  --w4-red:#bb233b;
  --w4-line:#d8e2ec;
  --w4-paper:#f5f8fc;
}

.primary-site-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem;
  flex-wrap:wrap;
}
.primary-site-nav a{
  color:#eef6ff!important;
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.48rem .72rem!important;
  border-radius:.38rem;
  font-size:.9rem!important;
  font-weight:760!important;
  text-decoration:none!important;
}
.primary-site-nav a:hover,
.primary-site-nav a[aria-current=page]{
  background:#ffffff1c;
  text-decoration:underline!important;
  text-underline-offset:4px;
}
.state-nav-shell{
  background:#fff;
  border-bottom:1px solid var(--w4-line);
  box-shadow:0 2px 8px #071c3508;
}
.state-nav-shell .container{
  overflow-x:auto;
  scrollbar-width:thin;
}
.state-section-nav{
  display:flex;
  align-items:center;
  gap:.15rem;
  width:max-content;
  min-width:100%;
  padding:.42rem 0;
}
.state-section-nav a{
  color:#24435d;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.42rem .68rem;
  border-radius:.35rem;
  font-size:.86rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.state-section-nav a:hover,
.state-section-nav a[aria-current=page]{
  background:#eaf2f9;
  color:#073f83;
  text-decoration:underline;
  text-underline-offset:3px;
}
.breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.42rem;
  margin:0 0 1.05rem;
  color:#5b6e80;
  font-size:.79rem;
  font-weight:670;
}
.breadcrumbs a{color:#315d7d}
.breadcrumbs span[aria-current=page]{color:#5b6e80}

.directory-hero,
.spending-hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:end;
  padding:clamp(2.3rem,6vw,5.2rem) 0 2.5rem;
}
.directory-hero h1,
.spending-hero h1{
  margin:.2rem 0 .7rem;
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.directory-hero .lead,
.spending-hero .lead{font-size:1.12rem;color:#3b5269;max-width:760px}
.hero-proof{
  background:var(--w4-navy);
  color:#fff;
  border-radius:.8rem;
  padding:1.35rem 1.5rem;
  box-shadow:9px 9px 0 #dce6f0;
}
.hero-proof b{display:block;font-size:2.4rem;line-height:1.05}
.hero-proof span{color:#c8d8e8;font-size:.86rem}
.hero-proof p{color:#dce8f4;font-size:.9rem;margin:.9rem 0 0}

.state-finder{margin:0 0 4.5rem}
.state-finder-controls{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:.8rem;
  align-items:end;
  margin:1.2rem 0 1rem;
}
.state-finder-controls label{display:grid;gap:.35rem;font-size:.84rem;font-weight:780}
.state-finder-controls input,
.state-finder-controls select{
  width:100%;
  min-height:46px;
  border:1px solid #91a9bd;
  border-radius:.42rem;
  background:#fff;
  color:var(--w4-ink);
  padding:.62rem .75rem;
  font:inherit;
}
.coverage-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin:1.25rem 0 2rem;
}
.coverage-summary-grid article{
  border:1px solid var(--w4-line);
  border-top:4px solid var(--w4-blue);
  border-radius:.55rem;
  padding:1rem 1.1rem;
  background:#fff;
}
.coverage-summary-grid b{display:block;font-size:1.8rem;line-height:1.1}
.coverage-summary-grid span{color:#52677a;font-size:.83rem}
.coverage-summary-grid>a{display:block;min-width:0;border:1px solid #b9ccdc;border-top:4px solid #173f83;border-radius:.55rem;padding:1.1rem;color:#18394f;background:#fff;text-decoration:none}
.coverage-summary-grid>a:nth-child(2){border-top-color:#94602c}.coverage-summary-grid>a:nth-child(3){border-top-color:#587782}
.coverage-summary-grid>a:hover,.coverage-summary-grid>a[aria-current]{background:#edf5fb;border-color:#0b5f8a}
.coverage-summary-grid>a:focus-visible,.coverage-filter-actions button:focus-visible,.coverage-filter-actions a:focus-visible{outline:3px solid #b7243b;outline-offset:3px}
.coverage-summary-grid>a span{display:block;font-size:1rem;margin:.45rem 0}.coverage-summary-grid>a small{font-size:.875rem;color:#0b5f8a;text-decoration:underline;text-underline-offset:.2em}
.coverage-filter-note{font-size:.95rem;color:#435f72}.coverage-filter-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.coverage-filter-actions p{margin:0 auto 0 0}
.coverage-filter-actions button{font:inherit;color:#173f63;background:#fff;border:1px solid #849eb3;border-radius:.4rem;padding:.55rem .8rem;min-height:44px;cursor:pointer}.coverage-filter-actions a{font-size:.95rem}
.coverage-empty{padding:1rem;border:1px solid #b9ccdc;border-left:4px solid #0b5f8a;background:#edf5fb;font-size:1rem}
#coverage-table-title{scroll-margin-top:1.5rem}#coverage-table-title:focus{outline:none}

.coverage-chart{
  display:grid;
  gap:.55rem;
  margin:1.2rem 0 2rem;
}
.coverage-bar{
  display:grid;
  grid-template-columns:minmax(120px,220px) minmax(120px,1fr) 44px;
  align-items:center;
  gap:.7rem;
  color:var(--w4-ink);
  text-decoration:none;
  font-size:.86rem;
}
.coverage-bar:hover .coverage-track span{background:#0a6c96}
.coverage-track{height:12px;background:#e2eaf1;border-radius:99px;overflow:hidden}
.coverage-track span{display:block;height:100%;background:#0b827f;border-radius:inherit;min-width:2px}
.coverage-bar output{text-align:right;font-variant-numeric:tabular-nums;font-weight:780}

.coverage-table-wrap{
  overflow-x:auto;
  border:1px solid var(--w4-line);
  border-radius:.55rem;
  background:#fff;
}
.coverage-table-wrap table{width:100%;border-collapse:collapse;min-width:760px;font-size:.88rem}
.coverage-table-wrap caption{text-align:left;padding:1rem;font-weight:800}
.coverage-table-wrap th,
.coverage-table-wrap td{padding:.72rem .78rem;border-top:1px solid #e5ebf1;text-align:left;vertical-align:top}
.coverage-table-wrap thead th{background:#eaf1f7;font-size:.73rem;text-transform:uppercase;letter-spacing:.04em}
.coverage-table-wrap td.number{text-align:right;font-variant-numeric:tabular-nums;font-weight:760}
.coverage-status{display:inline-flex;padding:.18rem .5rem;border-radius:99px;font-size:.72rem;font-weight:780;background:#e7f4f1;color:#0b665f}
.coverage-status.deep{background:#e9eefc;color:#164c9a}
.coverage-status.directory{background:#e7f3fb;color:#0c587e}
.coverage-status.pending{background:#fff1df;color:#815013}

.committee-index .section-heading-row{align-items:end}
.committee-note{max-width:900px}
.committee-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:.75rem;
  margin:1.2rem 0;
}
.committee-card{
  border:1px solid var(--w4-line);
  border-left:4px solid #0b827f;
  border-radius:.55rem;
  background:#fff;
  padding:1rem 1.08rem;
}
.committee-card h2{font-size:1.06rem;margin:.15rem 0 .35rem}
.committee-card p{font-size:.86rem;color:#52677a;margin:.3rem 0}
.committee-meta{display:flex;flex-wrap:wrap;gap:.38rem;margin:.65rem 0}
.committee-meta span{background:#edf3f7;border-radius:.3rem;padding:.22rem .42rem;font-size:.72rem;color:#294c63}

.directory-release-summary{padding:1.15rem 0 .35rem}
.directory-release-summary h1{max-width:920px}
.directory-statgrid{margin-top:1.35rem}
.directory-source-band{margin-top:1rem}
.directory-limitations{border-top:4px solid var(--w4-red)}
.directory-limitations ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem 1.2rem;
  padding-left:1.2rem;
}
.directory-limitations li{padding-left:.15rem;color:#3d5266}
.committee-directory-controls{
  display:grid;
  grid-template-columns:minmax(300px,2fr) minmax(190px,1fr) minmax(220px,1fr) auto;
  gap:.75rem;
  align-items:end;
  margin:1.15rem 0 .75rem;
}
.committee-directory-controls label{display:grid;min-width:0;gap:.36rem;font-size:.84rem;font-weight:780;color:var(--w4-ink)}
.committee-directory-controls input,
.committee-directory-controls select{
  width:100%;
  min-width:0;
  min-height:46px;
  border:1px solid #91a9bd;
  border-radius:.42rem;
  background:#fff;
  color:var(--w4-ink);
  padding:.62rem .72rem;
  font:inherit;
}
.committee-directory-controls button,
.directory-show-all{
  min-height:46px;
  border:1px solid #577a98;
  border-radius:.42rem;
  background:#fff;
  color:#103f68;
  padding:.58rem .82rem;
  font:inherit;
  font-weight:780;
  cursor:pointer;
}
.committee-directory-controls button:hover,
.directory-show-all:hover{background:#eaf2f9;text-decoration:underline}
.directory-result-count{font-size:.9rem;font-weight:760;color:#3f586e}
.directory-search-panel{margin:1.2rem 0 1.8rem;border-top:4px solid var(--w4-blue)}
.directory-search-prompt{margin:.75rem 0 0;color:#52677a;font-size:.88rem}
.directory-search-results{margin-top:1rem;border-top:1px solid var(--w4-line);padding-top:.85rem}
.directory-search-results ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.75rem 0;padding:0;list-style:none}
.directory-search-results li{display:grid;gap:.18rem;border:1px solid #dbe5ed;border-radius:.42rem;background:#fff;padding:.68rem .75rem}
.directory-search-results li a{font-weight:790;color:#0b4f8a}
.directory-search-results li span{color:#435d73;font-size:.82rem}
.directory-search-results li small{color:#687988;font-size:.73rem;text-transform:capitalize}
.directory-table-wrap{border:1px solid var(--w4-line);border-radius:.55rem;background:#fff}
.committee-directory-table{min-width:2350px;font-size:.82rem}
.committee-directory-table th,
.committee-directory-table td{vertical-align:top}
.committee-directory-table thead th{position:sticky;top:0;z-index:3;background:#eaf1f7}
.committee-directory-table tbody th:first-child{
  position:sticky;
  left:0;
  z-index:2;
  width:270px;
  background:#fff;
  box-shadow:2px 0 0 #dfe7ee;
}
.committee-directory-table tbody tr:nth-child(even) th:first-child{background:#f8fafc}
.committee-directory-table tbody tr:nth-child(even){background:#f8fafc}
.committee-directory-table tbody th strong{display:block;font-size:.9rem;color:#0d2c48}
.committee-directory-table tbody th>span{display:block;margin-top:.24rem;color:#52677a;font-weight:500}
.committee-directory-table .directory-kind{color:#0b665f;font-weight:780}
.directory-fact{display:block;margin:0 0 .34rem;color:#38536a;overflow-wrap:anywhere}
.directory-fact b{display:block;color:#173b58;font-size:.7rem;line-height:1.15;text-transform:uppercase;letter-spacing:.035em}
.directory-money{min-width:128px;font-variant-numeric:tabular-nums;font-weight:760}
.directory-money span{display:block;white-space:nowrap}
.directory-money small{display:block;margin-top:.2rem;color:#387068;font-size:.7rem;font-weight:760}
.directory-money.zero small{color:#225a91}
.directory-money.missing{color:#687988;font-weight:650}
.directory-show-all{display:block;margin:1rem auto 0}
.featured-committee-matches{scroll-margin-top:1rem}
.committee-directory-table tr:target th,
.committee-directory-table tr:target td{background:#fff5cf;outline:2px solid #d79b22;outline-offset:-2px}
.committee-directory-table tr{scroll-margin-top:1rem}
.directory-pagination{display:grid;gap:.62rem;margin:1rem 0 1.15rem}
.directory-pagination p{margin:0;color:#435d73;font-size:.88rem;font-weight:760}
.directory-pagination>div{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem}
.directory-pagination a,
.directory-pagination span[aria-disabled=true]{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid #9eb2c4;border-radius:.35rem;padding:.35rem .55rem;font-weight:750;text-decoration:none}
.directory-pagination a:hover{background:#eaf2f9;text-decoration:underline}
.directory-pagination a[aria-current=page]{background:var(--w4-navy);border-color:var(--w4-navy);color:#fff}
.directory-pagination span[aria-disabled=true]{color:#7a8997;background:#f1f4f7}
.directory-page-numbers{display:flex;flex-wrap:wrap;gap:.3rem}

.download-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.download-row a{display:inline-flex;align-items:center;min-height:42px;border:1px solid #9eb2c4;border-radius:.4rem;padding:.5rem .72rem;text-decoration:none;font-weight:730}
.download-row a:hover{text-decoration:underline;background:#f3f7fb}

@media(max-width:960px){
  .committee-directory-controls{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .committee-directory-controls button{width:100%}
}

@media(max-width:760px){
  .primary-site-nav{justify-content:flex-start;gap:.08rem}
  .primary-site-nav a{font-size:.78rem!important;padding:.38rem .48rem!important;min-height:36px}
  .state-nav-shell .container{overflow-x:visible}
  .state-section-nav{width:100%;min-width:0;flex-wrap:wrap;gap:.08rem;padding:.35rem 0}
  .state-section-nav a{font-size:.78rem;padding:.34rem .48rem;min-height:34px}
  .directory-hero,.spending-hero{grid-template-columns:1fr;align-items:start}
  .coverage-summary-grid{grid-template-columns:1fr}
  .state-finder-controls{grid-template-columns:1fr}
  .coverage-bar{grid-template-columns:100px minmax(90px,1fr) 38px;font-size:.78rem}
  .directory-limitations ul{grid-template-columns:1fr}
  .committee-directory-controls{grid-template-columns:1fr}
  .committee-directory-controls button{width:100%}
  .directory-search-results ol{grid-template-columns:1fr}
  .directory-page-numbers{order:3;width:100%}
}

@media print{
  .primary-site-nav,.state-nav-shell{display:none!important}
  .breadcrumbs{color:#222}
  .committee-directory-controls,.directory-show-all{display:none!important}
  .directory-search-results,.directory-search-prompt{display:none!important}
  .directory-table-wrap{overflow:visible}
}
