:root {
    --bg-main: #FFFFFF;
    --bg-alt: #F9F9F8;
    --text-primary: #1C1C1C;
    --text-secondary: #6B6B6B;
    --stone-900: #1C1C1C;
    --stone-200: #EAEAE5;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-main);
    color: var(--text-primary);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Lenis smooth scroll fix */
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* Custom Micro-interactions & Design System Effects */
.glass-panel {
    background: rgba(28, 28, 28, 0.4);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.beam-button {
    position: relative;
    overflow: hidden;
}
.beam-button::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(28, 28, 28, 0.15), transparent);
    transition: left 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}
.beam-button:hover::before { left: 100%; }

.glow-on-hover { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.glow-on-hover:hover {
    box-shadow: 0 10px 40px rgba(255, 255, 255, 0.15);
    transform: translateY(-3px);
}

/* SplitType Line hiding for clean reveals */
.line { overflow: hidden; }

/* Will-change para performance de animação */
.will-change-transform { will-change: transform, opacity; }
#video-canvas { will-change: transform; }

/* Grid Background Dark */
.grid-bg-dark {
    background-color: #0a0a0a;
    background-size: 40px 40px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

/* Ocultar marca d'água do sistema (Gemini) se injetada no DOM */
[id*="gemini"], [class*="gemini"], [id*="watermark"], [class*="watermark"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Scroll Reveal para seções */
.reveal-section {
    opacity: 0;
    transform: translateY(40px) scale(0.98);
    filter: blur(8px);
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-section.active {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0px);
}
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }

/* Noise Texture & Animations Premium */
.noise-bg {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 50;
    opacity: 0.035;
    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");
}

@keyframes float-soft {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float-soft 6s ease-in-out infinite;
}
.animate-float-delayed {
    animation: float-soft 6s ease-in-out 3s infinite;
}

@keyframes pulse-glow {
    0% { box-shadow: 0 0 40px rgba(37,211,102,0.15); }
    50% { box-shadow: 0 0 70px rgba(37,211,102,0.3); }
    100% { box-shadow: 0 0 40px rgba(37,211,102,0.15); }
}
.animate-pulse-glow {
    animation: pulse-glow 4s ease-in-out infinite;
}

/* Custom Audio Range Slider */
.custom-range {
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 0.2);
}
.custom-range:focus { outline: none; }
.custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    border-radius: 9999px;
    background: transparent;
}
.custom-range::-webkit-slider-thumb {
    height: 14px;
    width: 14px;
    border-radius: 50%;
    background: #25D366;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -5px;
    box-shadow: 0 0 10px rgba(37, 211, 102, 0.5);
    transition: transform 0.1s;
}
.custom-range::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

/* Fallback de motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-indicator { display: none; }
    .beam-button::before { display: none; }
    * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
