/* ══════════════════════════════════════════
   ANIMATIONS & RESPONSIVE GLOBAL
   FIX: reduced-motion respeitado em todos,
        overflow-x global, tap targets
══════════════════════════════════════════ */

/* ── Scroll reveal padrão ── */
[data-r] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .88s var(--ease), transform .88s var(--ease);
}

[data-r].in {
  opacity: 1;
  transform: none;
}

[data-r-left] {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity .88s var(--ease), transform .88s var(--ease);
}

[data-r-left].in {
  opacity: 1;
  transform: none;
}

[data-r-right] {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity .88s var(--ease), transform .88s var(--ease);
}

[data-r-right].in {
  opacity: 1;
  transform: none;
}

[data-r-scale] {
  opacity: 0;
  transform: scale(.94);
  transition: opacity .88s var(--ease), transform .88s var(--ease);
}

[data-r-scale].in {
  opacity: 1;
  transform: scale(1);
}

/* ── Responsive geral ── */
@media (max-width: 1100px) {
  .nav-links {
    gap: 2rem;
  }
}

@media (max-width: 900px) {
  .nav-links {
    display: none;
  }

  .burger {
    display: flex;
  }
}

@media (max-width: 600px) {
  .h1 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
}

/* FIX: previne overflow horizontal em qualquer tela */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* ── Reduced motion — desativa TUDO ── */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }

  /* Garante que elementos data-r aparecem sem animação */
  [data-r],
  [data-r-left],
  [data-r-right],
  [data-r-scale] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}