/* Correções de acessibilidade e comportamento, após o estilo original. */
.reveal:not(.reveal-pending) {
  opacity: 1 !important;
  transform: none !important;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10000;
  padding: 12px 18px;
  color: #fff;
  background: #071a2e;
  border: 2px solid #43c9ff;
  border-radius: 8px;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }
@media (max-width: 600px) {
  /* Mantém o H1 disponível a leitores de tela, sem alterar o título visual. */
  .hero .desktop-hero-title {
    display: block !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
@media (max-width: 900px) {
  .menu { max-height: calc(100dvh - 100px); overflow-y: auto; }
  /* Navegação utilizável mesmo sem JavaScript. */
  html:not(.menu-ready) .site-header { position: relative !important; }
  html:not(.menu-ready) .nav { flex-wrap: wrap; }
  html:not(.menu-ready) .menu-toggle { display: none !important; }
  html:not(.menu-ready) .menu {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    width: 100%;
    max-height: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  .cursor-glow { display: none !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
@media (hover: none), (pointer: coarse) {
  .cursor-glow { display: none !important; }
}
