/* Keep the hit area fixed; moving it on hover can repeatedly unset hover at an edge. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--gold, #a0833c);
  outline-offset: 4px;
  box-shadow: 0 0 0 2px var(--ivory, #f9f7f1);
}
.button:not(:disabled):not([aria-disabled="true"]),
.ep-outline:not([aria-disabled="true"]),
.ep-text-link, .text-link, .menu-toggle {
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}
.button:not(:disabled):not([aria-disabled="true"]):focus-visible {
  background: #09279c;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .button:not(:disabled):not([aria-disabled="true"]):hover {
    background: #09279c;
    color: #fff;
    box-shadow: 0 4px 12px rgb(7 27 50 / 18%);
  }
  .ep-outline:not([aria-disabled="true"]):hover {
    background: #efede6;
    color: var(--navy, #071b32);
  }
  .ep-text-link:hover, .text-link:hover {
    color: #09279c;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .desktop-nav > a:not(.button):hover, .site-footer a:hover {
    color: var(--cobalt, #0736c9);
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  .menu-toggle:hover { opacity: .8; }
}
.button:disabled:hover, .button[aria-disabled="true"]:hover {
  background: linear-gradient(115deg, #0731c2, #0826aa);
  box-shadow: none;
  transform: none;
}
.button:not(:disabled):not([aria-disabled="true"]):active {
  box-shadow: inset 0 2px 4px rgb(7 27 50 / 18%);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button:not(:disabled):not([aria-disabled="true"]),
  .ep-outline:not([aria-disabled="true"]),
  .ep-text-link, .text-link, .menu-toggle { transition: none; }
}
