/* Underline text labels, keeping toggle and close icons independent. */
:is(a[href],button,[role="button"]):not(.dialog-close):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible),
:is(a[href],button,[role="button"]):not(.dialog-close):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) :is(span,strong,h2,h3),
summary:is(:hover,:focus-visible) :is(.summary-label,h2),
.catalog-group>summary:is(:hover,:focus-visible) strong{
  text-decoration-line:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:.22em;
  text-decoration-skip-ink:auto;
}

/* Reserve circle space so hover and keyboard focus never shift the label. */
.education-section>summary{align-items:center}
.education-section>summary::after,
.catalog-group-toggle{
  display:inline-grid;
  place-items:center;
  box-sizing:border-box;
  width:30px;
  height:30px;
  flex:none;
  line-height:1;
  border:1.5px solid transparent;
  border-radius:50%;
  text-decoration:none;
}
.dialog-close{
  display:grid;
  place-items:center;
  padding:0;
  border:1.5px solid transparent;
  border-radius:50%;
  text-decoration:none;
}
.education-section>summary:is(:hover,:focus-visible)::after,
.catalog-group>summary:is(:hover,:focus-visible) .catalog-group-toggle,
.dialog-close:is(:hover,:focus-visible){
  border-color:currentColor;
  background-color:var(--wash);
}

/* Keep the destination of Services / Training navigation easy to locate. */
:is(.catalog-panel,.direction):is(#services,#training){
  --catalog-highlight:#eaf2fc;
  transition:background-color .18s ease,box-shadow .18s ease;
}
:is(.catalog-panel,.direction):is(#services,#training):target{
  background-color:var(--catalog-highlight);
}
.catalog-panel:is(#services,#training):target{
  box-shadow:0 0 0 16px var(--catalog-highlight);
  border-radius:4px;
}
@media(prefers-reduced-motion:reduce){
  :is(.catalog-panel,.direction):is(#services,#training){transition:none}
}
