/* Accessibility enhancements: focus, skip link, reduced motion */

/* Clear default outline when not keyboard focusing */
:focus:not(:focus-visible){ outline: none; }

/* Strong, consistent focus ring for interactive elements */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
.nav-link:focus-visible, .chip:focus-visible, .btn-ghost:focus-visible, .btn-keycap:focus-visible {
  outline: 3px solid var(--focus-ring, #CFB53B);
  outline-offset: 3px;
}

/* Skip to main content link */
.skip-link{
  position: absolute;
  left: 8px;
  top: -48px;
  background: #000;
  color: #fff;
  padding: 10px 14px;
  border: 2px solid var(--focus-ring, #CFB53B);
  border-radius: 4px;
  z-index: 1000;
  transition: top .15s ease;
}
.skip-link:focus, .skip-link:active{ top: 8px; outline: none; }

/* Prevent sticky header overlap when jumping to content */
main{ scroll-margin-top: 72px; }

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .flow-bg{ animation: none !important; }
}

