/* Camada comum de acessibilidade e aprimoramento progressivo */
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 999px;
  background: #171414;
  color: #fdfdfd;
  font: 700 0.82rem/1.2 "Montserrat", Arial, sans-serif;
  letter-spacing: 0.04em;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #a72b18;
  outline-offset: 4px;
}

main:focus { outline: none; }
body.menu-open { overflow: hidden; }
.mobile-menu[aria-hidden="true"] { pointer-events: none; visibility: hidden; }
.mobile-menu.open { pointer-events: auto; visibility: visible; }

html:not(.js) [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
