/* Shared filter bars for the two catalogues; service and detail pages are unaffected. */
.catalog-unified .sol-filters,
.catalog-unified .projects-preview__filters{
 display:flex;align-items:center;flex-wrap:wrap;gap:12px;
 padding:12px;margin:0 0 24px;min-width:0;
 background:var(--soft);border:0;box-shadow:none;
}
.catalog-unified .sol-filters button,
.catalog-unified .projects-preview__filter{
 flex:0 0 auto;min-height:44px;padding:10px 16px;margin:0;
 font:400 15px/1.4 Roboto,Arial,sans-serif;white-space:nowrap;
 color:var(--ink);background:transparent;border:1px solid transparent;border-radius:0;
 cursor:pointer;box-shadow:none;
}
.catalog-unified .sol-filters button[aria-pressed=true],
.catalog-unified .projects-preview__filter[aria-pressed=true]{
 background:var(--accent);color:#fff;border-color:var(--accent);
}
.catalog-unified .sol-filters button:focus-visible,
.catalog-unified .projects-preview__filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.catalog-unified .projects-preview__filter-count{font:inherit;margin-left:0;opacity:1}
@media(hover:hover){
 .catalog-unified .sol-filters button:hover,
 .catalog-unified .projects-preview__filter:hover{border-color:var(--accent)}
}
/* Compact introductions: equal typography, one short paragraph, no tall spacer. */
.catalog-unified .sol-intro,
.catalog-unified .projects-preview__head{min-height:0;padding-top:32px;padding-bottom:24px;margin:0}
.catalog-unified .sol-intro+.sol-section{padding-top:0}
@media(min-width:1051px){
 .catalog-unified .sol-intro>p,
 .catalog-unified .projects-preview__lead{min-height:3em}
}
/* Touch layouts follow their text naturally and keep all categories in a single scrollable row. */
@media(max-width:1050px){
 .catalog-unified .sol-intro,
 .catalog-unified .projects-preview__head{min-height:0;padding-bottom:24px}
 .catalog-unified .sol-intro+.sol-section{padding-top:0}
 .catalog-unified .sol-filters,
 .catalog-unified .projects-preview__filters{
  flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:10px;margin:0 0 24px;
  scrollbar-width:thin;scroll-padding-inline:10px;
 }
}
@media(max-width:700px){
 .catalog-unified .sol-filters,
 .catalog-unified .projects-preview__filters{padding:8px;gap:6px}
 .catalog-unified .sol-filters button,
 .catalog-unified .projects-preview__filter{font-size:14px;padding:10px 12px}
}
