(function() {
            'use strict';

            // ===== SCRAMBLE HERO =====
            const heroTitleEl = document.getElementById('heroTitle');
            if (heroTitleEl) {
                const originalText = heroTitleEl.textContent.trim() || 'Технологии будущего на вашей ферме';
                const chars = '!@#$%^&*()_+{}[]|;:,.<>?';
                let iteration = 0;
                let isScrambling = true;
                let frameId = null;
                const maxIterations = 30;

                function scramble() {
                    if (!isScrambling) return;
                    const result = originalText
                        .split('')
                        .map((char, index) => {
                            if (index < iteration) return originalText[index];
                            if (char === ' ') return ' ';
                            return chars[Math.floor(Math.random() * chars.length)];
                        })
                        .join('');
                    heroTitleEl.textContent = result;
                    iteration += 1;
                    if (iteration <= maxIterations) {
                        frameId = requestAnimationFrame(scramble);
                    } else {
                        heroTitleEl.textContent = originalText;
                        isScrambling = false;
                        if (frameId) {
                            cancelAnimationFrame(frameId);
                            frameId = null;
                        }
                    }
                }
                setTimeout(() => {
                    scramble();
                }, 300);
            }

            // ===== FADE-UP =====
            const fadeElements = document.querySelectorAll('.fade-up');
            if (fadeElements.length > 0 && 'IntersectionObserver' in window) {
                const observer = new IntersectionObserver((entries) => {
                    entries.forEach(entry => {
                        if (entry.isIntersecting) {
                            entry.target.classList.add('visible');
                            observer.unobserve(entry.target);
                        }
                    });
                }, { threshold: 0.15, rootMargin: '0px 0px -30px 0px' });
                fadeElements.forEach(el => observer.observe(el));
            } else {
                fadeElements.forEach(el => el.classList.add('visible'));
            }

            // ===== EXPAND BLOCK =====
            const expandContent = document.getElementById('expandContent');
            if (expandContent && 'IntersectionObserver' in window) {
                let isExpanded = false;
                const observer = new IntersectionObserver((entries) => {
                    entries.forEach(entry => {
                        if (entry.isIntersecting) {
                            if (!isExpanded) {
                                expandContent.classList.add('expanded');
                                isExpanded = true;
                            }
                        } else {
                            if (isExpanded) {
                                expandContent.classList.remove('expanded');
                                isExpanded = false;
                            }
                        }
                    });
                }, { threshold: 0.25, rootMargin: '0px 0px -30px 0px' });
                observer.observe(expandContent);
            } else if (expandContent) {
                expandContent.classList.add('expanded');
            }

            // ===== MARQUEE =====
            const marqueeTrack = document.getElementById('marqueeTrack');
            const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
            if (prefersReducedMotion.matches && marqueeTrack) {
                marqueeTrack.style.animation = 'none';
                marqueeTrack.style.transform = 'translateX(0)';
            }
            prefersReducedMotion.addEventListener('change', (e) => {
                if (marqueeTrack) {
                    if (e.matches) {
                        marqueeTrack.style.animation = 'none';
                        marqueeTrack.style.transform = 'translateX(0)';
                    } else {
                        marqueeTrack.style.animation = 'marqueeScroll 30s linear infinite';
                        marqueeTrack.style.transform = '';
                    }
                }
            });

            // ===== HERO VIDEO =====
            const heroVideo = document.querySelector('.hero-video');
            if (heroVideo) {
                heroVideo.play().catch(() => {
                    document.addEventListener('click', () => {
                        heroVideo.play();
                    }, { once: true });
                });
            }

        })();