/* Services-only jump index: light buttons, one smoothly highlighted current section.
   Keep native links, original labels, typography, stable size and the clean-URL helper. */
/* Wrap of label-width buttons: each chip is only as wide as its service
   name, with light even spacing between chips. */
body .service-jump {
  --index-active-face:#f3e5cc;
  --index-active-rim:#b58a48;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:5px;
  padding-bottom:28px;
}
html[data-theme="dark"] body .service-jump {
  --index-active-face:#463722;
  --index-active-rim:#ccaa68;
}
body .service-jump > a,
body .service-jump > a:is(:hover,:active,:focus-visible) {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:32px;
  padding:5px 7px;
  border:1px solid var(--depth-rim);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  font-size:10px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  text-decoration:none;
  box-shadow:inset 0 1px 0 var(--depth-edge),0 2px 2px var(--raised-base),0 6px 14px -8px var(--raised-shadow);
  transform:none;
  scale:none;
  transition:background-color 260ms ease,border-color 260ms ease,box-shadow 260ms ease;
}
body .service-jump > a:hover {
  box-shadow:inset 0 1px 0 var(--depth-edge),0 4px 6px var(--raised-base),0 14px 28px -6px var(--raised-shadow);
}
/* Remove old underlines/arrows from static fallback markup; JS-generated links are text-only. */
/* These chips must never grow the shared inline-link underline. The sitewide
   rule is written as `body .text-link:not(...):not(...)::after`, which outranks
   a plain descendant selector, so the guard is stated at matching weight and
   covers the hover and focus states too. */
body .service-jump > a::after,
body .service-jump > a.text-link::after,
body .service-jump > a.text-link:is(:hover,:focus-visible,:active,[aria-current="location"])::after,
body .service-jump > a:is(:hover,:focus-visible,:active,[aria-current="location"])::after {
  content: none !important;
  display: none !important;
  transform: none !important;
  background: none !important;
  height: 0 !important;
}
body .service-jump > a .icon { display:none; }
body .service-jump > a[aria-current="location"],
body .service-jump > a[aria-current="location"]:is(:hover,:active,:focus-visible) {
  background:var(--index-active-face);
  border-color:var(--index-active-rim);
  box-shadow:inset 0 0 0 1px var(--index-active-rim),inset 0 1px 0 var(--depth-edge),0 2px 2px var(--raised-base),0 8px 16px -9px var(--raised-shadow);
}
@media (hover:hover) {
  body .service-jump > a:hover { box-shadow:inset 0 1px 0 var(--depth-edge),0 2px 2px var(--raised-base),0 10px 20px -8px var(--raised-shadow); }
}
body .service-jump > a:focus-visible { outline:2px solid var(--accent-ink); outline-offset:4px; }
@media (max-width:767px) {
  body .service-jump { gap:5px; padding-bottom:24px; justify-content:flex-start; }
  body .service-jump > a,
  body .service-jump > a:is(:hover,:active,:focus-visible) { min-height:32px; padding:5px 7px; }
}
@media (prefers-reduced-motion:reduce) {
  body .service-jump > a,
  body .service-jump > a:is(:hover,:active,:focus-visible) { transition:none; }
}
