/* Catalogue-only editorial treatment. The building image and scroll motion remain intact. */
body.services-page {
  --catalogue-amber: #e8ad62;
  --catalogue-line: #52636a;
}

body.services-page header.nav .nav-contact,
body.services-page button,
body.services-page .pill,
body.services-page .filters,
body.services-page .service-row,
body.services-page .tool-stage,
body.services-page .tool-curtain,
body.services-page .service-preview,
body.services-page #selection,
body.services-page input,
body.services-page select,
body.services-page textarea { border-radius: 0; }

body.services-page header.nav a:hover,
body.services-page header.nav a[aria-current="page"],
body.services-page .filter-heading a,
body.services-page #reset,
body.services-page #selection-count { color: var(--catalogue-amber); }
body.services-page header.nav .nav-contact:hover { border-color: var(--catalogue-amber); }
body.services-page :is(button,a,input,summary):focus-visible {
  outline: 2px solid var(--catalogue-amber);
  outline-offset: 3px;
}

body.services-page .catalogue,
body.services-page header.nav .nav-inner,
body.services-page footer.footer { width: min(1760px, calc(100% - 112px)); max-width: none; }
body.services-page .catalogue-title > button {
  min-height: 44px;
  padding: 8px 17px;
  border: 1px solid var(--catalogue-amber);
  background: #0b1418d9;
  color: var(--catalogue-amber);
}
body.services-page .catalogue-title > button:hover,
body.services-page .catalogue-title > button[aria-expanded="true"] { background: #2d291f; }

body.local-library.services-page .filters {
  
  margin-bottom: 26px;
  border: 0;
  border-top: 1px solid var(--catalogue-line);
  border-bottom: 1px solid var(--catalogue-line);
  background: transparent;
}
body.services-page .filter-heading {
  padding: 17px 0 13px;
  margin: 0;
  border-bottom: 1px solid #3b4b52;
}
body.services-page .filter-heading h2 {
  color: #f3f6f7;
  font-size: 17px;
  font-weight: 600;
}
body.services-page .filter-heading > span { color: #b4c0c5; }
body.services-page .filter-groups { grid-template-columns: 1.15fr 1.1fr 1fr; gap: 0; }
body.services-page .filter-groups fieldset { padding: 18px 24px 0; }
body.services-page .filter-groups fieldset:first-child { padding-left: 0; }
body.services-page .filter-groups fieldset + fieldset { border-left: 1px solid var(--catalogue-line); }
body.services-page .filter-groups legend {
  float: left;
  width: 100%;
  padding: 0 0 10px;
  color: #f3f6f7;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
}
body.services-page .filter-options { clear: both; gap: 3px 15px; }
body.services-page .filters .filter-option {
  
  padding: 7px 0;
  border: 0;
  background: transparent;
  color: #c4cfd3;
  
  
  transition: color .18s ease;
}
body.services-page .filters .filter-option:hover,
body.services-page .filters .filter-option:has(input:checked) {
  border: 0;
  background: transparent;
  color: #fff;
}
body.services-page .filters .filter-option input {
  appearance: none;
  position: relative;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  margin: 0;
  padding: 0;
  border: 1px solid #82939a;
  border-radius: 0;
  background: #101b20;
}
body.services-page .filters .filter-option input:checked {
  border: 2px solid var(--catalogue-amber);
  background: #2a261e;
}
body.services-page .filters .filter-option input:checked::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 7px;
  height: 4px;
  border-left: 2px solid var(--catalogue-amber);
  border-bottom: 2px solid var(--catalogue-amber);
  transform: rotate(-45deg);
}
body.services-page .filters .filter-option:focus-within {
  outline: none;
}
body.services-page .filters .filter-option input:focus-visible {
  outline: 2px solid var(--catalogue-amber);
  outline-offset: 3px;
}

body.services-page .resource-toolbar {
  padding: 0 0 14px;
  
  border-bottom: 1px solid var(--catalogue-line);
}
body.services-page .resource-filters button {
  
  border: 1px solid #63747b;
  background: #0e191e;
  color: #b9c7cc;
}
body.services-page .resource-filters button[aria-pressed="true"] {
  border-color: var(--catalogue-amber);
  background: #292821;
  color: var(--catalogue-amber);
}
body.services-page .resource-filters button:hover {
  border-color: var(--catalogue-amber);
  color: #fff;
}
body.services-page #result-count { color: #c4cfd3; }

body.services-page .service-row .tool-curtain {
  border: 0;
  border-top: 1px solid #68777c;
  background: #19282e;
  background-image: none;
}
body.services-page .service-row .tool-curtain h2 { color: #fff; font-weight: 500; }
body.services-page .service-row .tool-curtain :is(.tool-purpose,.tool-note) { color: #c0cbd0; }
body.services-page .service-row .service-preview { background: #15242a; }
body.services-page .service-model-content :is(p,li,dd) { color: #d5dfe2; }
body.services-page .service-model-content :is(h3,dt) { color: #c6d1d5; }
body.services-page .service-row .resource-list {
  border-top: 1px solid #52636a;
  background: #111d22;
}
body.services-page .service-row .case-link { color: #c1ced3; }
body.services-page .service-row .case-link span { color: var(--catalogue-amber); }
body.services-page .service-row .case-link:hover { color: var(--catalogue-amber); }
body.services-page .service-row .model-actions :is(a,button) { color: #becbd0; }
body.services-page .service-row .model-actions :is(a,button):hover { color: var(--catalogue-amber); }
body.services-page .file-links a {
  border-bottom-color: transparent;
  color: #b9c5ca;
  transition: color .18s ease, border-color .18s ease;
}
body.services-page .file-links .file-icon {
  opacity: .68;
  filter: grayscale(.35);
  transition: opacity .18s ease, filter .18s ease;
}
body.services-page .file-links a:hover,
body.services-page .file-links a:focus-visible {
  border-bottom-color: var(--catalogue-amber);
  color: var(--catalogue-amber);
}
body.services-page .file-links a:hover .file-icon,
body.services-page .file-links a:focus-visible .file-icon { opacity: 1; filter: none; }
body.services-page #more,
body.services-page #empty-reset { border-color: #63747b; color: #d5dfe2; }
body.services-page #more:hover,
body.services-page #empty-reset:hover {
  border-color: var(--catalogue-amber);
  color: var(--catalogue-amber);
}

@media (min-width: 1600px) {
  body.local-library.services-page #results { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 40px; }
}
@media (max-width: 1100px) {
  body.services-page .catalogue,
  body.services-page header.nav .nav-inner,
  body.services-page footer.footer { width: calc(100% - 56px); }
  body.services-page .filter-groups fieldset { padding-inline: 16px; }
  body.services-page .filter-groups fieldset:first-child { padding-left: 0; }
  body.services-page .filter-options { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  body.services-page .catalogue,
  body.services-page header.nav .nav-inner,
  body.services-page footer.footer { width: calc(100% - 40px); }
  body.local-library.services-page .filters { padding: 0 0 12px; }
  body.services-page .filter-heading { padding: 14px 0 12px; }
  body.services-page .filter-groups { grid-template-columns: 1fr; }
  body.services-page .filter-groups fieldset,
  body.services-page .filter-groups fieldset:first-child {
    padding: 14px 0 10px;
    border-left: 0;
  }
  body.services-page .filter-groups fieldset + fieldset {
    border-left: 0;
    border-top: 1px solid var(--catalogue-line);
  }
  body.services-page .filter-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; }
  body.local-library.services-page #results { gap: 24px; }
  body.services-page .resource-toolbar { gap: 10px; }
  body.services-page .service-row .tool-curtain h2 { font-size: 22px; }
}
