:root{
  --acid:#0b2f52;
  --accent-readable:#5f88b2;
  --accent-soft:#9bb9d5;
}

/* Deep-blue fills use light type for deliberate contrast. */
.skip,.view-tabs .active,.saved-filter span,.help-box,.card-label,
.pro-banner,#toast,.feature-photo span,.category-tabs button.active,.blog-cta{
  color:var(--white);
}

.help-box p{color:#d5e0eb}
.help-box a{border-color:#7998b6}
.pro-banner em,.blog-cta em{color:#c7d8e8}
.pro-banner .eyebrow{color:#b2c9dd}
.light-button{background:var(--white);color:var(--acid)}
.light-button span{color:var(--acid)}

/* Fine accents are lifted slightly while remaining in the blue family. */
em,.text-link span,.photo-caption strong,.principles>div>span,
.card-location,.profile-button span,.empty-symbol,#district-buttons button span,
.manifesto-number,.guide h3 span,.modal-kicker,.blog-card-copy h2 span,
.read-link,.article-aside a,.geo-region-card b,.department-grid small,
.commune-grid>a>span,header .outline span{color:var(--accent-readable)}

.city-suggestions button:hover,.city-suggestions [aria-selected=true]{
  background:#dce5ee;
  box-shadow:inset 3px 0 var(--acid);
}

.modal-info,.article-note{border-left-color:var(--accent-readable)}
.geo-region-card:hover,.outline:hover{border-color:var(--accent-readable)}

/* The expanded expertise catalogue remains compact and scannable. */
fieldset legend{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  width:100%;
  margin-bottom:14px;
}
fieldset legend span{font-size:8px;font-weight:400;color:#777771}
.expertise-list{
  width:100%;
  max-height:520px;
  overflow:auto;
  padding-right:7px;
  scrollbar-width:thin;
  scrollbar-color:#555 #1b1b1b;
}
.expertise-group+.expertise-group{
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:15px;
}
.expertise-group h4{
  margin:0 0 10px;
  color:var(--accent-soft);
  font-size:8px;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.expertise-group label{
  align-items:flex-start;
  line-height:1.35;
  margin:11px 0;
}
.expertise-group input{flex:0 0 auto;margin-top:0}

/* Footer agency signature. */
.agency-credit{align-items:center;gap:0}
.agency-credit span{color:#8d8d89}
.blackstone-credit{display:inline-flex;align-items:center}
.blackstone-credit img{
  display:block;
  width:150px;
  height:auto;
  margin-left:-14px;
  opacity:.96;
  transition:opacity .2s ease;
}
.blackstone-credit:hover img{opacity:1}

/* Public agency directory. */
#district,.filter-label[for="district"]{display:none}
.agency-card-head{height:116px;position:relative;display:flex;align-items:center;padding:20px;background:linear-gradient(135deg,#0b2f52,#182c3e)}
.agency-card{display:grid;grid-template-rows:auto 1fr;height:100%}
.agency-card .card-body{display:grid;grid-template-rows:auto auto auto 1fr auto}
.agency-card .tags{align-content:flex-start;align-items:flex-start}
.agency-card .card-bottom{align-self:end;margin-top:14px}
.agency-card .card-bottom{align-items:flex-end;flex-wrap:wrap}
.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.agency-site-link{font-size:9px;color:#f3f5f7;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}
.agency-site-link span{color:var(--accent-readable);margin-left:5px}
.agency-site-link:hover{color:#fff;text-decoration-color:var(--accent-readable)}
.agency-brand{position:relative;display:grid;place-items:center}
.agency-brand.has-logo{width:76px;height:76px;padding:10px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.agency-brand.has-logo.wide-logo{width:190px;height:68px;padding:12px 16px}
.agency-logo{display:block;width:100%;height:100%;object-fit:contain}
.agency-card .card-label{top:16px;left:auto;right:58px;background:#f5f7f9;color:#0b2f52}
.agency-card .favorite{top:14px;right:14px}
.agency-facts{min-height:44px!important;color:#c5c3bd!important}
.agency-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:32px 0 8px}
.agency-pagination button{border:1px solid var(--line);background:#202020;color:#d5d3cd;padding:9px 12px;font-size:9px}
.agency-pagination button.active{background:var(--acid);border-color:var(--acid);color:white}
.agency-pagination button:disabled{opacity:.35;cursor:not-allowed}
.agency-pagination span{font-size:9px;color:#777771;margin:0 8px}
.geo-results-bar{gap:14px;flex-wrap:wrap}
.region-agencies-link{margin-left:auto;padding:11px 14px;white-space:nowrap}
.geo-alphabet{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 24px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.geo-alphabet button{min-width:31px;height:31px;padding:0 8px;border:1px solid var(--line);background:#202020;color:#aaa;font-size:9px}
.geo-alphabet button:first-child{padding:0 13px}
.geo-alphabet button.active{border-color:var(--acid);background:var(--acid);color:#fff}
.geo-alphabet button:disabled{opacity:.25;cursor:not-allowed}
.geo-alphabet button:not(:disabled):hover{border-color:var(--accent-readable);color:#fff}
.agency-alphabet-block>p{margin:0;color:#8f8e89;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.agency-alphabet{margin-top:9px}
.modal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.modal-actions .primary{width:fit-content}
.profile-tagline{margin:-8px 0 20px;color:#f2f4f6;font:500 15px/1.55 system-ui}
.profile-description{max-height:190px;overflow:auto;margin-bottom:24px;padding-right:8px;color:#aaa}
.profile-description p{margin:0 0 14px;color:inherit}
.profile-description p:last-child{margin-bottom:0}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
dialog{max-height:90vh;overflow:auto}
@media(max-width:720px){.agency-card-head{height:100px}.agency-pagination span{width:100%;text-align:center;order:-1}.profile-grid{grid-template-columns:1fr;gap:0}.agency-card .card-bottom{align-items:flex-start;flex-direction:column}.card-actions{justify-content:flex-start}.region-agencies-link{margin-left:0;width:100%;text-align:center}.geo-alphabet{gap:5px}.geo-alphabet button{min-width:29px}}
