/* Normalização Mobile (Consistência entre iOS e Android) */
html {
    -webkit-text-size-adjust: 100%; /* Evita que o iOS aumente a fonte ao deitar o celular */
}
body {
    -webkit-tap-highlight-color: transparent; /* Remove o fundo azul ao tocar em botões no Android/iOS */
}
a, button {
    touch-action: manipulation; /* Remove o delay de 300ms no toque */
    appearance: none;
    -webkit-appearance: none; /* Remove estilos de botões nativos da Apple/Google */
}

/* Textura global de ruído sutil */
.texture-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 40;
    opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Classes para animação de scroll (Reveal) */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Atrasos para elementos em sequência */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Esconder scrollbar no carrossel, mantendo funcionalidade */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Esconde a barra de rolagem do PC e Celular para manter a estética limpa */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
/* Classes para o mouse do computador virar uma "mãozinha" agarrando */
.cursor-grab { cursor: grab; }
.cursor-grabbing { cursor: grabbing !important; }

/* Respeito às preferências de redução de movimento */
@media (prefers-reduced-motion: reduce) {
    .reveal {
        transition: none;
        opacity: 1;
        transform: none;
    }
    .loader-screen {
        display: none !important;
    }
}

/* Tipografia auxiliar */
.tracking-widest-extra {
    letter-spacing: 0.2em;
}

@keyframes spin-marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    /* 25s é a velocidade. Diminua para girar mais rápido, aumente para mais devagar */
    animation: spin-marquee 25s linear infinite;
}
/* Pausa a faixa ao passar o mouse por cima (desktop) ou tocar (mobile) */
.animate-marquee:hover {
    animation-play-state: paused;
}
   