/* Mesuke Surukai release-quality and accessibility layer — v090 */
.ms-skip-link {
  position: fixed;
  z-index: 10000;
  top: .75rem;
  left: .75rem;
  padding: .75rem 1rem;
  background: #fff;
  color: #3f2928;
  box-shadow: 0 4px 18px rgba(0,0,0,.2);
  transform: translateY(-180%);
  transition: transform .15s ease;
}
.ms-skip-link:focus { outline: 3px solid #ef3340; outline-offset: 2px; transform: translateY(0); }

:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid #ef3340;
  outline-offset: 3px;
}
:where(button,.btn,[role="button"]):disabled,
:where(button,.btn,[role="button"])[aria-disabled="true"] { cursor: not-allowed; opacity: .62; }

img { max-width: 100%; }

.sr-only-focusable:active,
.sr-only-focusable:focus { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 767px) {
  body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body select,
  body textarea { font-size: 16px !important; }
  .btn, button, [role="button"] { min-height: 44px; }
}
