/* ============================================================
   MOBILE PERFORMANCE — Overrides para Android/iOS
   ============================================================ */

@media (max-width: 768px) {

  /* ── Canvas de partículas desativado ── */
  #orion-canvas { display: none !important; }

  /* ── Navbar sem mix-blend ── */
  .navbar {
    mix-blend-mode: normal !important;
    background: transparent;
  }

  /* ── Noise overlay: leve, sem mix-blend ── */
  .noise-overlay {
    mix-blend-mode: normal;
    opacity: 0.025;
  }

  /* ── bg-glows simplificado ── */
  .bg-glows {
    background:
      radial-gradient(400px 300px at 50% 20%, rgba(0,229,255,0.07), transparent 70%),
      radial-gradient(400px 300px at 50% 80%, rgba(176,38,255,0.06), transparent 70%);
    filter: none;
  }

  /* ── backdrop-filter removido (GPU killer) ── */
  .stat-card,
  .image-glass-container,
  .service-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* ── Parallax desativado ── */
  .about-visual,
  .visual-wrapper,
  .image-glass-container {
    transform: none !important;
    will-change: auto;
  }

  /* ── visual-glow: blur reduzido ── */
  .visual-glow { filter: blur(20px); opacity: 0.6; }

  /* ── Selo girando: mantém animação, só ajusta velocidade ── */
  .rotating-text {
    animation: rotateBadge 18s linear infinite !important;
    animation-play-state: running !important;
  }

  /* ── Footer marquee: velocidade proporcional ao tamanho ── */
  .marquee-track { animation-duration: 20s; }

  /* ── Garantia scroll horizontal ── */
  .services-track {
    /* CSS reseta qualquer translateX injetado pelo GSAP */
    transform: none !important;
  }

  /* ── REVEAL ANIMATIONS NO MOBILE ── */
  /* Elementos que entram com fade + slide conforme o scroll */
  /* O JS (about.js revealMobile) trata about-section */
  /* Aqui tratamos as demais seções via CSS puro */

  /* Estado inicial oculto */
  .services-header,
  .contact-subtitle,
  .contact-title,
  .contact-action,
  .footer-brand,
  .footer-links {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s ease, transform 0.55s ease;
  }

  /* Classe adicionada pelo JS quando entra na viewport */
  .services-header.is-visible,
  .contact-subtitle.is-visible,
  .contact-title.is-visible,
  .contact-action.is-visible,
  .footer-brand.is-visible,
  .footer-links.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* Delays em cascata para o contact */
  .contact-title.is-visible    { transition-delay: 0.08s; }
  .contact-action.is-visible   { transition-delay: 0.18s; }
  .footer-links.is-visible     { transition-delay: 0.10s; }

  /* Hero: título e conteúdo devem aparecer normalmente via heroReveal() */
  /* Fallback caso GSAP falhe */
  .reveal-item {
    transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;
  }
}

/* ── Reduced motion: desativa tudo ── */
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .rotating-text,
  .status-dot { animation: none !important; }

  .bg-glows {
    background: radial-gradient(600px at 50% 50%, rgba(0,229,255,0.05), transparent);
    filter: none;
  }

  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}