/* ==========================================================================
   LBR VISUAL — ACESSIBILIDADE (A11Y) & PREFERS-REDUCED-MOTION
   ========================================================================== */

/* 1. Foco Visível para Navegação por Teclado */
:focus-visible {
  outline: 2px solid var(--cyan-glow, #a9e6d9);
  outline-offset: 4px;
  border-radius: 4px;
}

.button:focus-visible,
.button-whatsapp:focus-visible,
.nav-cta:focus-visible,
.capsule-showreel-btn:focus-visible,
.capsule-cta-link:focus-visible,
.quote-dot:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* 2. Utilitário de Texto Exclusivo para Leitores de Ecrã */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 3. Redução de Movimento (WCAG 2.1 — prefers-reduced-motion) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .motion-lift {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .char-inner {
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
  }

  .hero-optics-canvas {
    display: none !important;
  }

  .hero-horizon-beam {
    transform: translateY(-50%) !important;
  }

  .scroll-line {
    animation: none !important;
    opacity: 0.6 !important;
  }

  .work:hover,
  .work:hover .work-backdrop,
  .service-card:hover,
  .hero-action-capsule:hover {
    transform: none !important;
  }
}
