/* Skip-to-main-content link (WCAG 2.2 AA — 2.4.1 Bypass Blocks).
   Hidden ROBUSTLY off-screen with a height-independent `.sr-only`-style
   clip so it can never peek into the viewport as a "dark band" (the old
   `top:-40px` left ~7px of a ~46.7px-tall link visible on mobile). The
   link stays in the DOM, the a11y tree, and the tab order. Revealed on
   focus with `position: fixed` so it is immune to any positioned
   ancestor (e.g. the slides shell `.app-shell { position: relative }`). */
.skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  background: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
  z-index: 9999;
}

.skip-link:focus,
.skip-link:focus-visible {
  position: fixed;
  top: 8px;
  inset-inline-start: 8px;
  width: auto;
  height: auto;
  padding: 8px 16px;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: nowrap;
  outline: 3px solid #ff9a00;
  outline-offset: 2px;
}
