/* Keyboard and touch improvements shared by public pages and member services. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #183f35;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff;
}
#main { scroll-margin-top: 18px; }
.skip { z-index: 100; }
.sidebar-close { display: none; }
.portal-heading p,.portal-footer,.public-footer,.stat-tile>small,.portal-date,.topbar-path,
.announcement-card .eyebrow,.module-empty>small,.empty-panel p {
  color: #596b61;
}
@media (max-width: 760px) {
  .sidebar-toggle { min-width: 44px; min-height: 44px; }
  .sidebar-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    min-height: 44px;
    padding: 8px 12px;
    margin: -12px -4px 8px 0;
    border: 1px solid #b7c9bf;
    border-radius: 7px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
  }
  .sidebar-open { overflow: hidden; }
}
@media (max-width: 360px) {
  .public-nav { flex-wrap: wrap; }
  .public-links { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-sidebar,.service-card { transition: none; }
  html { scroll-behavior: auto; }
}
