{"id":5748,"date":"2026-02-22T16:12:45","date_gmt":"2026-02-22T15:12:45","guid":{"rendered":"https:\/\/www.aviglianabasket.it\/?page_id=5748"},"modified":"2026-06-29T11:32:42","modified_gmt":"2026-06-29T09:32:42","slug":"ab_home1","status":"publish","type":"page","link":"https:\/\/www.aviglianabasket.it\/","title":{"rendered":"AB_HOME1"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"it\" class=\"dark\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\">\n    <title>Avigliana Basket \u2014 VOID HIVE<\/title>\n    <script>\n        (function () {\n            var KEY = 'ab_cookie_consent_v1';\n            var ICONS_HREF = 'https:\/\/fonts.googleapis.com\/css2?family=Material+Icons+Round&display=swap';\n            var URBANIST_HREF = 'https:\/\/fonts.googleapis.com\/css2?family=Urbanist:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap';\n            var TILT_SRC = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/vanilla-tilt\/1.8.1\/vanilla-tilt.min.js';\n\n            function loadIconFont() {\n                if (document.getElementById('ab-icons-link')) return;\n                var link = document.createElement('link');\n                link.id = 'ab-icons-link';\n                link.rel = 'stylesheet';\n                link.href = ICONS_HREF;\n                document.head.appendChild(link);\n            }\n\n            function loadUrbanistFont() {\n                if (document.getElementById('ab-fonts-link')) return;\n                var link = document.createElement('link');\n                link.id = 'ab-fonts-link';\n                link.rel = 'stylesheet';\n                link.href = URBANIST_HREF;\n                document.head.appendChild(link);\n            }\n\n            function readConsent() {\n                try {\n                    var raw = localStorage.getItem(KEY);\n                    return raw ? JSON.parse(raw) : null;\n                } catch (e) {\n                    return null;\n                }\n            }\n\n            function writeConsent(level) {\n                localStorage.setItem(KEY, JSON.stringify({ level: level, ts: Date.now() }));\n            }\n\n            function loadFonts() {\n                loadUrbanistFont();\n            }\n\n            function loadVanillaTilt(cb) {\n                if (typeof VanillaTilt !== 'undefined') {\n                    if (cb) cb();\n                    return;\n                }\n                if (document.getElementById('ab-tilt-script')) {\n                    document.getElementById('ab-tilt-script').addEventListener('load', function () { if (cb) cb(); }, { once: true });\n                    return;\n                }\n                var s = document.createElement('script');\n                s.id = 'ab-tilt-script';\n                s.src = TILT_SRC;\n                s.async = true;\n                s.onload = function () { if (cb) cb(); };\n                document.head.appendChild(s);\n            }\n\n            function applyConsent(level, persist) {\n                if (persist) writeConsent(level);\n                document.documentElement.setAttribute('data-cookie-consent', level);\n                if (level === 'all') {\n                    loadFonts();\n                    loadVanillaTilt(function () {\n                        document.dispatchEvent(new CustomEvent('ab-cookie-tilt-ready'));\n                    });\n                }\n                document.dispatchEvent(new CustomEvent('ab-cookie-consent', { detail: { level: level } }));\n            }\n\n            window.abCookieConsent = {\n                key: KEY,\n                get: readConsent,\n                apply: applyConsent,\n                hasChoice: function () { return !!readConsent(); },\n                acceptAll: function () { applyConsent('all', true); },\n                acceptEssential: function () { applyConsent('essential', true); },\n                openBanner: function () {\n                    var banner = document.getElementById('ab-cookie-banner');\n                    if (banner) {\n                        banner.classList.add('ab-cookie-banner--visible');\n                        banner.setAttribute('aria-hidden', 'false');\n                    }\n                },\n                closeBanner: function () {\n                    var banner = document.getElementById('ab-cookie-banner');\n                    if (banner) {\n                        banner.classList.remove('ab-cookie-banner--visible');\n                        banner.setAttribute('aria-hidden', 'true');\n                    }\n                },\n                isAllowed: function (category) {\n                    var c = readConsent();\n                    if (!c) return category === 'essential';\n                    if (c.level === 'all') return true;\n                    return category === 'essential';\n                }\n            };\n\n            var saved = readConsent();\n            loadIconFont();\n            if (saved && (saved.level === 'all' || saved.level === 'essential')) {\n                applyConsent(saved.level, false);\n            }\n        })();\n    <\/script>\n    <style id=\"void-critical-first-paint\">\n        html, body, #content-area, .page-section, #registration-promo-section {\n            background: #000 !important;\n            background-color: #000 !important;\n            color-scheme: dark;\n        }\n        body.void-hive #content-area {\n            left: 0 !important;\n        }\n        body:not(.intro-done) .ab-hero-inner {\n            opacity: 0;\n            visibility: hidden;\n        }\n        body.intro-done .ab-hero-inner {\n            opacity: 1;\n            visibility: visible;\n        }\n        body.intro-done .ab-hero-inner .ab-brand-glass__logo {\n            opacity: 0.92;\n            animation: none !important;\n        }\n        body.intro-done .ab-hero-inner .ab-brand-glass__frost {\n            opacity: 1;\n            animation: none !important;\n        }\n        body.intro-done .ab-hero-inner .ab-brand-glass__text {\n            opacity: 0;\n        }\n    <\/style>\n    <style>\n        :root {\n            --primary: #00a862;\n            --primary-glow: rgba(74, 222, 128, 0.45);\n            --primary-dark: #003621;\n            --accent: #ecfdf5;\n            --bg-body: #000000;\n            --bg-card: rgba(8, 12, 10, 0.92);\n            --text-main: #f0fdf4;\n            --text-muted: #64748b;\n            --sidebar-width: 88px;\n            --sidebar-expanded: 280px;\n            --header-height: 72px;\n            --transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n            --shadow: 0 8px 32px rgba(0, 0, 0, 0.8);\n            --glass-bg: rgba(4, 8, 6, 0.88);\n            --glass-border: rgba(74, 222, 128, 0.12);\n            --glass-blur: blur(20px) saturate(140%);\n            --bicolor-secondary: #ffffff;\n            --brand-green-light: #4ade80;\n            --brand-gold: #C9A84C;\n            --brand-gold-light: #E8D48B;\n            --brand-gold-dark: #9A7828;\n            --brand-gold-glow: rgba(201, 168, 76, 0.42);\n            --brand-gold-border: rgba(201, 168, 76, 0.38);\n            --brand-gold-muted: rgba(201, 168, 76, 0.16);\n            --void-green: #4ade80;\n            --void-black: #000000;\n            --void-panel: #060806;\n            --font-display: 'Urbanist', system-ui, sans-serif;\n            --font-body: 'Urbanist', system-ui, sans-serif;\n            --font-skeleton: 'Urbanist', system-ui, sans-serif;\n            color-scheme: dark;\n        }\n\n        .dark {\n            --bg-body: #000000;\n            --bg-card: rgba(8, 12, 10, 0.92);\n            --text-main: #f0fdf4;\n            --text-muted: #64748b;\n            --shadow: 0 8px 32px rgba(0, 0, 0, 0.8);\n            --glass-bg: rgba(4, 8, 6, 0.88);\n            --glass-border: rgba(74, 222, 128, 0.12);\n            --bicolor-secondary: #ffffff;\n            --brand-green-light: #4ade80;\n            --brand-gold: #C9A84C;\n            --brand-gold-light: #E8D48B;\n            --brand-gold-dark: #9A7828;\n            --brand-gold-glow: rgba(201, 168, 76, 0.42);\n            --brand-gold-border: rgba(201, 168, 76, 0.38);\n            --brand-gold-muted: rgba(201, 168, 76, 0.16);\n        }\n\n        \/* CUSTOM SCROLLBAR *\/\n        ::-webkit-scrollbar {\n            width: 8px;\n        }\n\n        ::-webkit-scrollbar-track {\n            background: var(--bg-body);\n        }\n\n        ::-webkit-scrollbar-thumb {\n            background: var(--primary);\n            border-radius: 10px;\n        }\n\n        ::-webkit-scrollbar-thumb:hover {\n            background: var(--primary-dark);\n        }\n\n        \/* CUSTOM CURSOR - rimosso, cursore default del browser attivo *\/\n        #custom-cursor { display: none !important; }\n\n        #sidebar,\n        #sidebar .nav-item,\n        #sidebar .submenu-item,\n        #sidebar a,\n        #sidebar button {\n            cursor: auto;\n        }\n\n        #sidebar .nav-item,\n        #sidebar .submenu-item {\n            cursor: pointer;\n        }\n\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: var(--font-body);\n            background-color: var(--bg-body);\n            color: var(--text-main);\n            overflow-x: hidden;\n            transition: background-color 0.3s ease, color 0.3s ease;\n            -webkit-font-smoothing: antialiased;\n            text-rendering: optimizeLegibility;\n        }\n\n        h1,\n        h2,\n        h3,\n        .motto {\n            font-family: var(--font-display);\n            font-weight: 700;\n            letter-spacing: 0.04em;\n        }\n\n        \/* FIXED HEADER *\/\n        #header-fixed {\n            position: fixed;\n            top: 0;\n            left: 0;\n            right: 0;\n            width: 100vw;\n            height: var(--header-height);\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border-bottom: 1px solid var(--glass-border);\n            z-index: 5000;\n            padding: 0 20px;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            overflow: hidden;\n            box-shadow: var(--shadow);\n        }\n\n\n        .header-content-left {\n            display: flex;\n            align-items: center;\n            height: 100%;\n            gap: 0;\n            flex: 0 0 auto;\n            min-width: 0;\n            z-index: 10;\n        }\n\n        .header-marquee-zone {\n            flex: 1 1 auto;\n            min-width: 0;\n            overflow: hidden;\n            display: flex;\n            align-items: center;\n            margin: 0 12px;\n            z-index: 1;\n            -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);\n            mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);\n        }\n\n        .header-content-right {\n            display: flex;\n            align-items: center;\n            height: 100%;\n            gap: 10px;\n            padding-right: 0;\n            flex: 0 0 auto;\n            z-index: 10;\n        }\n\n        .header-btn {\n            height: 100%;\n            width: 70px;\n            display: none;\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            transition: var(--transition);\n            color: white;\n            border: none;\n        }\n\n        .header-btn .material-icons-round {\n            font-size: 24px;\n        }\n\n\n\n        .header-btn.menu-btn {\n            background: #000;\n        }\n\n        body.overlay-open .header-btn {\n            display: flex;\n        }\n\n        \/* Backdrop menu mobile\/tablet *\/\n        #sidebar-backdrop {\n            display: none;\n            position: fixed;\n            inset: 0;\n            background: rgba(0, 0, 0, 0.55);\n            z-index: 99998;\n            -webkit-tap-highlight-color: transparent;\n        }\n        body.sidebar-open #sidebar-backdrop {\n            display: block;\n        }\n        body.sidebar-open {\n            overflow: hidden;\n        }\n\n        .header-btn:hover {\n            filter: brightness(1.2);\n        }\n\n        .branding {\n            position: relative;\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            flex-shrink: 0;\n            z-index: 10;\n            background: rgba(4, 10, 7, 0.96);\n            padding: 4px 14px 4px 0;\n            border-radius: 12px;\n        }\n\n        .logo {\n            height: 40px;\n            width: auto;\n            max-width: 50px;\n            object-fit: contain;\n            margin: 0;\n        }\n\n        .brand-name {\n            font-family: 'Outfit';\n            font-size: 1.8rem;\n            font-weight: 900;\n            letter-spacing: -1px;\n            text-transform: uppercase;\n        }\n\n        .brand-name .part1 {\n            color: var(--primary);\n        }\n\n        .dark .brand-name .part1 {\n            color: var(--brand-green-light);\n        }\n\n        .brand-name .part2 {\n            color: var(--bicolor-secondary);\n        }\n\n        .theme-toggle {\n            background: var(--bg-card);\n            border: 1px solid rgba(0, 0, 0, 0.1);\n            color: var(--text-main);\n            width: 45px;\n            height: 45px;\n            border-radius: 10px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            box-shadow: var(--shadow);\n            transition: var(--transition);\n        }\n\n\n\n        body.overlay-open #overlay-screen {\n            top: var(--header-height);\n            height: calc(100vh - var(--header-height));\n            z-index: 6000;\n        }\n\n        \/* Portale \/ iscrizioni in iframe: la sidebar del sito (z-index 4000) copriva il menu del portale *\/\n        body.overlay-open #sidebar,\n        body.overlay-open #sidebar-backdrop {\n            visibility: hidden;\n            pointer-events: none;\n        }\n\n        \/* Adjust top controls to be in a prominent position when open *\/\n        body.overlay-open .top-controls-container {\n            top: 17px;\n            right: 40px;\n        }\n\n        \/* Hide the default theme toggle in header when overlay is open *\/\n        body.overlay-open .header-right-group .theme-toggle {\n            display: none;\n        }\n\n        .header-right-group {\n            display: flex;\n            align-items: center;\n            gap: 15px;\n            padding-right: 40px;\n        }\n\n        body.overlay-open .header-right-group {\n            padding-right: 0;\n        }\n\n\n\n        body.overlay-open .branding {\n            padding-left: 0;\n        }\n\n        \/* FIXED SIDEBAR *\/\n        #sidebar {\n            position: fixed;\n            top: var(--header-height);\n            left: 0;\n            height: calc(100vh - var(--header-height));\n            width: var(--sidebar-width);\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border-right: 1px solid var(--glass-border);\n            color: var(--text-main);\n            z-index: 4000;\n            overflow: hidden;\n            transition: var(--transition);\n            display: flex;\n            flex-direction: column;\n            padding: 20px 0;\n            box-shadow: 10px 0 30px rgba(0, 0, 0, 0.05);\n        }\n\n        #sidebar:hover {\n            width: var(--sidebar-expanded);\n        }\n\n        .nav-item {\n            position: relative;\n            display: flex;\n            align-items: center;\n            height: 50px;\n            margin: 0;\n            padding: 0;\n            cursor: pointer;\n            transition: background 0.2s;\n            text-decoration: none;\n            color: white;\n            white-space: nowrap;\n            overflow: hidden;\n        }\n\n        .nav-item:hover {\n            background: rgba(255, 255, 255, 0.1);\n        }\n\n        .nav-item .material-icons-round {\n            width: 45px;\n            height: 45px;\n            min-width: 45px;\n            margin: 0 17.5px;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            font-size: 24px;\n            flex-shrink: 0;\n            pointer-events: none;\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border: 1px solid var(--glass-border);\n            border-radius: 12px;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n            transition: var(--transition);\n        }\n\n        .nav-item:hover .material-icons-round {\n            transform: scale(1.1);\n            border-color: var(--primary);\n            box-shadow: 0 0 15px var(--primary-glow);\n        }\n\n        .nav-text {\n            font-weight: 600 !important;\n            opacity: 0;\n            transition: opacity 0.2s;\n            pointer-events: none;\n            position: absolute !important;\n            left: 80px !important;\n        }\n\n        #sidebar:hover .nav-text {\n            opacity: 1;\n        }\n\n        .nav-group {\n            display: contents;\n            margin: 0 !important;\n            padding: 0 !important;\n        }\n\n        .submenu {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.3s ease;\n            background: rgba(0, 0, 0, 0.1);\n            margin: 0;\n            padding: 0;\n        }\n\n        .nav-item:hover+.submenu,\n        .submenu:hover {\n            max-height: 500px !important;\n        }\n\n        .submenu-item {\n            padding: 12px 20px 12px 80px !important;\n            font-size: 0.9em;\n            color: rgba(255, 255, 255, 0.8);\n            cursor: pointer;\n            transition: color 0.2s;\n            display: block;\n            text-decoration: none;\n        }\n\n        .submenu-item:hover {\n            color: white;\n            background: rgba(255, 255, 255, 0.05);\n        }\n\n        .submenu-item.survey-nav-item {\n            display: flex !important;\n            align-items: center;\n            justify-content: space-between;\n            gap: 10px;\n            padding-right: 20px !important;\n        }\n\n        .survey-nav-badge {\n            min-width: 22px;\n            height: 22px;\n            padding: 0 7px;\n            border-radius: 999px;\n            background: linear-gradient(135deg, #22c55e, #16a34a);\n            color: #fff;\n            font-size: 11px;\n            font-weight: 800;\n            line-height: 1;\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            box-shadow: 0 0 14px rgba(34, 197, 94, 0.55);\n            flex-shrink: 0;\n        }\n\n        .survey-nav-badge.is-hidden {\n            display: none;\n        }\n\n        \/* MAIN WRAPPER *\/\n        #content-area {\n            position: absolute;\n            top: 0;\n            left: 0;\n            bottom: 0;\n            right: 0;\n            overflow-y: auto;\n            overflow-x: hidden;\n            scroll-behavior: auto;\n            overscroll-behavior: contain;\n            -webkit-overflow-scrolling: touch;\n            transition: padding-left 0.4s ease;\n            z-index: 1000;\n        }\n\n        @media (min-width: 1025px) {\n            #content-area {\n                padding-left: var(--sidebar-width);\n            }\n            #sidebar:hover ~ #content-area {\n                padding-left: var(--sidebar-expanded);\n            }\n        }\n\n        \/* FULL-SCREEN SECTIONS *\/\n        .page-section {\n            width: 100%;\n            min-height: 100vh;\n            scroll-margin-top: var(--header-height);\n            display: flex;\n            flex-direction: column;\n            justify-content: center;\n            padding: 60px;\n            position: relative;\n        }\n\n        \/* HERO SECTION *\/\n        .hero-section {\n            text-align: center;\n            position: relative;\n            overflow: hidden;\n            background: #000;\n            \/* Altezza robusta su tutti i browser mobile *\/\n            min-height: 100vh;\n            min-height: 100svh;\n        }\n\n        \/* Assicura che il video riempia sempre il container anche su mobile *\/\n        .hero-bg-img {\n            position: absolute !important;\n            top: 0 !important;\n            left: 0 !important;\n            width: 100% !important;\n            height: 100% !important;\n            min-height: 100% !important;\n            object-fit: cover !important;\n            object-position: center top !important;\n            z-index: 0;\n            pointer-events: none;\n            opacity: 0.8;\n        }\n\n        .hero-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: radial-gradient(ellipse at center, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.5) 100%),\n                        linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, transparent 40%, transparent 60%, rgba(0,0,0,0.6) 100%);\n            z-index: 1;\n            pointer-events: none;\n        }\n\n        \/* Light mode overlay adjustment *\/\n        html:not(.dark) .hero-overlay {\n            background: rgba(255, 255, 255, 0.3);\n            \/* Balanced light overlay for the middle ground *\/\n        }\n\n        .hero-title,\n        .hero-motto,\n        .scroll-indicator {\n            position: relative;\n            z-index: 2;\n        }\n\n        .hero-title {\n            font-size: clamp(3rem, 10vw, 8rem);\n            line-height: 0.9;\n            margin-bottom: 20px;\n            text-transform: uppercase;\n            font-weight: 900;\n            overflow: hidden;\n            word-wrap: break-word;\n            overflow-wrap: break-word;\n        }\n\n        .hero-title span {\n            display: inline-block;\n            transform: translateY(100%);\n            animation: revealText 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;\n        }\n\n        .hero-title .part2 {\n            animation-delay: 0.2s;\n        }\n\n        @keyframes revealText {\n            to {\n                transform: translateY(0);\n            }\n        }\n\n        .hero-motto {\n            font-size: 1.5rem;\n            color: var(--text-muted);\n            letter-spacing: 8px;\n            text-transform: uppercase;\n            opacity: 0;\n            transform: translateY(20px);\n            animation: fadeInSlide 0.8s ease forwards 0.6s;\n        }\n\n        @keyframes fadeInSlide {\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        \/* Light mode contrast adjustments for Hero *\/\n        html:not(.dark) .hero-motto,\n        html:not(.dark) .scroll-indicator {\n            color: #000 !important;\n        }\n\n        \/* DYNAMIC OVERLAY (ENTRY FROM RIGHT) *\/\n        #overlay-screen {\n            position: fixed;\n            top: 0;\n            left: 100%;\n            width: 100%;\n            height: 100vh;\n            background: var(--bg-body);\n            z-index: 3000;\n            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n            display: flex;\n            flex-direction: column;\n            padding: 0;\n            overflow: hidden;\n        }\n\n        #overlay-screen.active {\n            transform: translateX(-100%);\n        }\n\n\n\n        \/* SIDEBAR OVERLAY STATE *\/\n        #sidebar.sidebar-overlay-active {\n            z-index: 5000;\n            width: var(--sidebar-expanded);\n        }\n\n        #sidebar.sidebar-overlay-active .nav-text {\n            opacity: 1;\n        }\n\n        \/* HOME CONTENT BLOCKS (SCHEDULE, NEWS, ETC) *\/\n        .home-block {\n            background: var(--bg-card);\n            border-radius: 30px;\n            padding: 50px;\n            margin-bottom: 40px;\n            box-shadow: var(--shadow);\n            border: 1px solid rgba(255, 255, 255, 0.05);\n        }\n\n        .block-title {\n            font-size: 2.5rem;\n            color: var(--primary);\n            margin-bottom: 30px;\n            display: flex;\n            align-items: center;\n            gap: 15px;\n        }\n\n        \/* HORIZONTAL CARDS MOCKUP *\/\n        .horizontal-cards {\n            display: flex;\n            gap: 20px;\n            overflow-x: auto;\n            padding-bottom: 20px;\n            scrollbar-width: none;\n        }\n\n        .h-card {\n            min-width: 400px;\n            background: rgba(0, 135, 81, 0.05);\n            border-radius: 20px;\n            padding: 30px;\n            flex-shrink: 0;\n        }\n\n        \/* SPONSOR SECTION *\/\n        .sponsor-section {\n            background: var(--bg-card);\n        }\n\n        .dark .sponsor-section {\n            background: #000;\n            \/* Total black as requested *\/\n        }\n\n        .sponsor-slider {\n            display: flex;\n            gap: 40px;\n            padding: 40px;\n            overflow-x: auto;\n            scrollbar-width: none;\n        }\n\n        \/* ULTIMI RISULTATI MARQUEE *\/\n        .results-section {\n            margin-top: 20px;\n        }\n\n        .results-marquee {\n            width: 100%;\n            overflow: hidden;\n            padding: 20px 0;\n            position: relative;\n            background: rgba(0,0,0,0.1);\n            border-radius: 24px;\n            border: 1px solid rgba(255,255,255,0.03);\n            mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n            -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n        }\n\n        .results-track {\n            display: flex;\n            gap: 20px;\n            width: max-content;\n            animation: marquee-scroll 120s linear infinite;\n        }\n\n        .results-track:hover {\n            animation-play-state: paused;\n        }\n\n        @keyframes marquee-scroll {\n            0% { transform: translateX(0); }\n            100% { transform: translateX(-50%); }\n        }\n\n        .result-card {\n            background: var(--bg-card);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border: 1px solid var(--glass-border);\n            border-radius: 20px;\n            padding: 18px 25px;\n            min-width: 340px;\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n            box-shadow: var(--shadow);\n            transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n        }\n\n        .result-card:hover {\n            transform: translateY(-5px);\n            border-color: var(--primary);\n            background: rgba(255,255,255,0.1);\n        }\n\n        .dark .result-card:hover {\n            background: rgba(255,255,255,0.05);\n        }\n\n        .result-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            font-size: 10px;\n            font-weight: 800;\n            color: var(--text-muted);\n            text-transform: uppercase;\n            letter-spacing: 1.5px;\n        }\n\n        .result-teams {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            gap: 15px;\n            margin: 5px 0;\n        }\n\n        .result-team {\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 14px;\n            color: var(--text-main);\n            text-transform: uppercase;\n            width: 100px;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n            text-align: center;\n        }\n\n        .result-score-wrap {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 4px;\n        }\n\n        .result-score {\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 24px;\n            color: var(--primary);\n            background: rgba(0, 135, 81, 0.08);\n            padding: 6px 16px;\n            border-radius: 14px;\n            min-width: 90px;\n            text-align: center;\n            letter-spacing: -1px;\n            box-shadow: inset 0 0 10px rgba(0, 135, 81, 0.05);\n        }\n\n        .result-badge {\n            font-size: 9px;\n            font-weight: 900;\n            padding: 4px 10px;\n            border-radius: 8px;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .badge-win { background: rgba(16, 185, 129, 0.15); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.2); }\n        .badge-loss { background: rgba(239, 68, 68, 0.15); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.2); }\n\n        .result-footer {\n            font-size: 11px;\n            color: var(--text-muted);\n            font-weight: 600;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            border-top: 1px solid rgba(255,255,255,0.03);\n            padding-top: 10px;\n        }\n        .sponsor-slider {\n            margin-top: 20px;\n            overflow: hidden;\n            background: rgba(255, 255, 255, 0.03);\n            \/* Extremely subtle contrast *\/\n            padding: 100px 0;\n            \/* Cinema-style prominence *\/\n            border-radius: 20px;\n            position: relative;\n        }\n\n        .track {\n            display: flex;\n            width: calc(500px * 24);\n            \/* Super-size track *\/\n            animation: slideSponsors 80s linear infinite;\n            \/* Ultra-slow, prestigious crawl *\/\n            align-items: center;\n        }\n\n        @keyframes slideSponsors {\n            0% {\n                transform: translateX(0);\n            }\n\n            100% {\n                transform: translateX(calc(-500px * 12));\n            }\n        }\n\n        .sponsor {\n            width: 500px;\n            \/* Cinematic slot *\/\n            padding: 0 50px;\n            flex-shrink: 0;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            filter: grayscale(0);\n            \/* Full color by default for impact *\/\n            opacity: 0.9;\n            transition: all 0.4s ease;\n        }\n\n        .sponsor:hover {\n            opacity: 1;\n            transform: scale(1.05);\n        }\n\n        .sponsor img {\n            max-width: 100%;\n            max-height: 220px;\n            \/* Maximum possible impact *\/\n            object-fit: contain;\n        }\n\n        footer {\n            padding: 20px 60px;\n            background: linear-gradient(135deg, #020804, #050605);\n            border-top: 1px solid rgba(0,135,81,0.2);\n            display: flex;\n            justify-content: center;\n            align-items: center;\n        }\n        .footer-inner {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 16px;\n            align-items: center;\n            justify-content: center;\n            font-family: 'Outfit', sans-serif;\n            font-size: 0.7rem;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 2px;\n            opacity: 0.6;\n            color: var(--text-main);\n        }\n        .footer-sep { opacity: 0.3; }\n        .footer-brand { font-size: 0.85rem; font-weight: 900; opacity: 1; }\n        .footer-legal {\n            display: inline-flex;\n            flex-wrap: wrap;\n            align-items: center;\n            justify-content: center;\n            gap: 8px 12px;\n        }\n        .footer-legal a,\n        .footer-legal button {\n            background: none;\n            border: none;\n            padding: 0;\n            font: inherit;\n            font-size: inherit;\n            letter-spacing: inherit;\n            text-transform: inherit;\n            color: inherit;\n            cursor: pointer;\n            text-decoration: none;\n            opacity: 0.85;\n            transition: color 0.2s ease, opacity 0.2s ease;\n        }\n        .footer-legal a:hover,\n        .footer-legal button:hover {\n            color: var(--brand-green-light);\n            opacity: 1;\n        }\n\n        \/* INITIAL ENTRY ANIMATION *\/\n        .home-slide-entry {\n            animation: homeSlideDown 1.2s cubic-bezier(0.16, 1, 0.3, 1);\n        }\n\n        @keyframes homeSlideDown {\n            from {\n                transform: translateY(-50px);\n                opacity: 0;\n            }\n\n            to {\n                transform: translateY(0);\n                opacity: 1;\n            }\n        }\n\n        \/* BOOK SPLIT TRANSITION *\/\n        #book-split {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100vw;\n            height: 100vh;\n            z-index: 9999;\n            pointer-events: none;\n            display: flex;\n        }\n\n        .split-panel {\n            flex: 1;\n            background: #042a15; \/* Verde scuro intenso stile Adidas *\/\n            height: 100%;\n            transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);\n        }\n\n        .split-left {\n            transform: translateX(-100%);\n            border-right: 1px solid rgba(255, 255, 255, 0.1);\n        }\n\n        .split-right {\n            transform: translateX(100%);\n            border-left: 1px solid rgba(255, 255, 255, 0.1);\n        }\n\n        #book-split.active .split-left,\n        #book-split.active .split-right {\n            transform: translateX(0);\n        }\n\n        #split-logo-wrap {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%) scale(0);\n            z-index: 10000;\n            transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);\n            background: rgba(0,0,0,0.95);\n            border: 1px solid rgba(74,222,128,0.35);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        #book-split.active #split-logo-wrap {\n            transform: translate(-50%, -50%) scale(1);\n        }\n\n        #book-split.intro-start .split-panel {\n          transform: translateX(0) !important;\n          transition: none !important;\n          background: #000 !important;\n        }\n        #book-split.intro-start #split-logo-wrap {\n          display: none !important;\n        }\n\n        #book-split:not(.active):not(.intro-start) {\n          visibility: hidden;\n        }\n\n        .split-logo {\n            width: 120px;\n            height: auto;\n        }\n\n        \/* DYNAMIC BACKGROUND *\/\n        #page-bg {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            z-index: -1;\n            pointer-events: none;\n            background-image: url('basketball_bg_pattern.png');\n            background-repeat: repeat;\n            background-size: 400px;\n            opacity: 0.03;\n            \/* Extremely subtle *\/\n            transition: opacity 0.4s ease;\n            animation: bgFloat 60s linear infinite;\n        }\n\n        .dark #page-bg {\n            opacity: 0.05;\n            filter: invert(1);\n        }\n\n        @keyframes bgFloat {\n            0% {\n                background-position: 0 0;\n            }\n\n            100% {\n                background-position: 400px 400px;\n            }\n        }\n\n        \/* RESPONSIVE DESIGN - UNIFIED MEDIA QUERIES *\/\n\n        \/* TABLET & MOBILE OVERRIDE *\/\n        @media (max-width: 1024px) {\n            #header-matches { display: none !important; }\n            :root {\n                --sidebar-width: 0px;\n                --header-height: 70px;\n            }\n\n            #custom-cursor {\n                display: none !important;\n            }\n\n            body,\n            a,\n            button,\n            .nav-item,\n            .submenu-item {\n                cursor: auto !important;\n            }\n\n            #sidebar {\n                transform: translateX(-100%);\n                z-index: 99999 !important;\n                width: 100% !important;\n                max-width: 100vw !important;\n                top: 0;\n                height: 100vh;\n                height: 100dvh;\n                border-right: none;\n                box-shadow: 20px 0 50px rgba(0, 0, 0, 0.5);\n                overflow-y: auto;\n                -webkit-overflow-scrolling: touch;\n                padding-top: calc(var(--header-height) + 12px);\n                padding-bottom: 20px;\n            }\n\n            #sidebar.sidebar-overlay-active {\n                transform: translateX(0);\n            }\n\n            #sidebar:hover {\n                width: var(--sidebar-expanded);\n                \/* Prevent hover expansion on touch *\/\n            }\n\n            .nav-text {\n                opacity: 1 !important;\n                position: static !important;\n                left: auto !important;\n                pointer-events: auto !important;\n                font-size: 1.1rem !important;\n            }\n\n            #header-fixed {\n                width: 100vw;\n                left: 0;\n                padding: 0 15px;\n            }\n\n            .header-btn {\n                display: flex !important;\n            }\n\n            .header-right-group .theme-toggle {\n                display: none;\n            }\n\n            #content-area {\n                left: 0 !important;\n            }\n\n            \/* OVERLAY: su tablet\/mobile usa left:0 fisso per evitare offset laterali\n               causati dal sidebar. L'animazione \u00e8 solo sull'asse X. *\/\n            #overlay-screen {\n                left: 0 !important;\n                right: 0 !important;\n                width: 100% !important;\n                width: 100vw !important;\n                transform: translateX(100%) !important;\n            }\n            #overlay-screen.active {\n                transform: translateX(0) !important;\n            }\n\n            .page-section {\n                padding: 40px 20px;\n            }\n\n            .home-block {\n                padding: 30px 20px;\n                border-radius: 20px;\n            }\n\n            \/* Hero tablet\/mobile: sfondo pulito senza immagine zoomata *\/\n            #home-hero {\n                background-color: #020504 !important;\n                background-image: radial-gradient(ellipse at 50% 25%, rgba(0, 80, 48, 0.45) 0%, transparent 55%),\n                                  linear-gradient(180deg, #031208 0%, #020504 60%, #000 100%) !important;\n                background-size: 100% 100% !important;\n                background-position: center center !important;\n                background-repeat: no-repeat !important;\n            }\n            #hero-bg {\n                display: none !important;\n            }\n            .moving-light-1,\n            .moving-light-2 {\n                width: 35vw !important;\n                height: 35vw !important;\n                opacity: 0.25 !important;\n            }\n            #page-bg {\n                background-size: auto, 280px !important;\n                opacity: 0.035 !important;\n            }\n            .dark #page-bg {\n                opacity: 0.045 !important;\n            }\n            #sidebar.sidebar-overlay-active .submenu {\n                max-height: none !important;\n                overflow: visible !important;\n            }\n            #sidebar .nav-item {\n                min-height: 56px;\n                height: auto;\n                padding: 8px 18px;\n                gap: 14px;\n            }\n            #sidebar .nav-item .material-icons-round {\n                width: 50px !important;\n                height: 50px !important;\n                min-width: 50px !important;\n                margin: 0 !important;\n                font-size: 26px !important;\n            }\n            #sidebar .submenu-item {\n                padding: 16px 20px 16px 72px !important;\n                min-height: 48px;\n                font-size: 1rem !important;\n                line-height: 1.35 !important;\n            }\n            .header-content-right {\n                position: relative;\n                z-index: 5002;\n                flex-shrink: 0;\n                margin-left: auto;\n            }\n            #header-menu-btn {\n                display: flex !important;\n                width: 56px !important;\n                height: 56px !important;\n                min-width: 56px !important;\n                min-height: 56px !important;\n                background: var(--primary) !important;\n                border-radius: 14px !important;\n                border: none !important;\n                box-shadow: 0 4px 20px rgba(0, 135, 81, 0.5) !important;\n                margin-right: 2px !important;\n                flex-shrink: 0;\n            }\n            #header-menu-btn .material-icons-round {\n                font-size: 32px !important;\n                color: #fff !important;\n            }\n            #header-fixed {\n                padding: 0 12px 0 14px !important;\n            }\n            .branding {\n                max-width: calc(100% - 64px);\n            }\n\n            .hero-title {\n                font-size: clamp(2.5rem, 8vw, 4rem) !important;\n            }\n\n            \/* Adjust registration grid for tablets *\/\n            .registration-grid {\n                grid-template-columns: repeat(2, 1fr) !important;\n                padding: 0 20px !important;\n                gap: 20px !important;\n            }\n\n            .promo-box:nth-child(even) {\n                transform: translateY(0) !important;\n            }\n        }\n\n        \/* MOBILE SMALL OVERRIDE *\/\n        @media (max-width: 600px) {\n            :root {\n                --header-height: 60px;\n            }\n\n            \/* Nasconde il testo brand-name su mobile: rimane solo il logo *\/\n            .brand-name {\n                display: none !important;\n            }\n\n            .hero-title {\n                font-size: 2rem !important;\n            }\n\n            .hero-motto {\n                font-size: 0.9rem !important;\n                letter-spacing: 4px !important;\n            }\n\n            .registration-grid {\n                grid-template-columns: 1fr !important;\n                padding: 0 12px !important;\n                gap: 20px !important;\n            }\n\n            \/* Reset staggered offset on mobile *\/\n            .promo-box:nth-child(even) {\n                transform: translateY(0) !important;\n            }\n\n            .promo-img-wrap {\n                height: 220px !important;\n            }\n\n            .promo-img-wrap img {\n                object-fit: cover;\n            }\n\n            .block-title {\n                font-size: 1.6rem !important;\n                gap: 10px !important;\n            }\n\n            .event-box {\n                padding: 15px !important;\n            }\n\n            .teams {\n                font-size: 1.1rem !important;\n            }\n\n            .h-card {\n                min-width: 260px !important;\n                padding: 16px !important;\n            }\n\n            .home-block {\n                padding: 20px 14px !important;\n                border-radius: 16px !important;\n                margin-bottom: 20px !important;\n            }\n\n            .page-section {\n                padding: 24px 14px !important;\n            }\n\n            \/* NEWS image: full width on mobile *\/\n            #news-section > div[style] {\n                max-width: 100% !important;\n            }\n\n            .merchandising-parallax {\n                min-height: 350px !important;\n                padding: 40px 20px !important;\n                background-attachment: scroll !important;\n            }\n\n            .merch-content h3 {\n                font-size: 1.4rem !important;\n            }\n\n            footer {\n                flex-direction: column;\n                text-align: center;\n                gap: 5px;\n                padding: 20px;\n                white-space: normal;\n            }\n\n            \/* Body padding for mobile bottom nav *\/\n            body {\n                padding-bottom: 72px;\n            }\n\n            \/* HERO su smartphone: gradiente pulito + logo *\/\n            #home-hero:not(.ab-hero-elegant) {\n                padding: 0 !important;\n                min-height: 100vh !important;\n                min-height: 100svh !important;\n                height: 100svh !important;\n                display: flex !important;\n                align-items: center !important;\n                justify-content: center !important;\n                background-image: radial-gradient(ellipse at 50% 22%, rgba(0, 100, 60, 0.35) 0%, transparent 50%),\n                                  linear-gradient(180deg, #041a0f 0%, #020504 55%, #000 100%) !important;\n                background-size: 100% 100% !important;\n                background-position: center center !important;\n                overflow: hidden !important;\n            }\n            #home-hero.ab-hero-elegant {\n                overflow: visible !important;\n            }\n            .moving-light-1,\n            .moving-light-2 {\n                display: none !important;\n            }\n            #page-bg {\n                background-size: auto, 180px !important;\n                opacity: 0.025 !important;\n            }\n\n            \/* iOS Safari fallback *\/\n            @supports not (min-height: 100svh) {\n                #home-hero {\n                    min-height: -webkit-fill-available !important;\n                    height: -webkit-fill-available !important;\n                }\n            }\n\n            \/* Nasconde il video su mobile *\/\n            #hero-bg {\n                display: none !important;\n            }\n\n            \/* Logo mobile centrato nella hero *\/\n            #hero-mobile-logo {\n                display: flex !important;\n                margin-top: 0 !important;\n                padding: 0 24px;\n                align-self: center;\n            }\n            #hero-mobile-logo img {\n                max-width: min(240px, 72vw) !important;\n            }\n            .scroll-indicator {\n                display: flex !important;\n                bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;\n                opacity: 0.75 !important;\n                z-index: 6 !important;\n                pointer-events: auto !important;\n            }\n            #page-bg {\n                background-size: auto, 200px !important;\n            }\n            .result-card {\n                min-width: min(280px, calc(100vw - 48px)) !important;\n            }\n            .marquee-wrapper {\n                width: 100% !important;\n                margin-left: 0 !important;\n                transform: none !important;\n                margin-top: 24px !important;\n                margin-bottom: 24px !important;\n                padding: 14px 0 !important;\n                border-radius: 16px !important;\n            }\n            .marquee-content {\n                font-size: 0.9rem !important;\n                letter-spacing: 2px !important;\n            }\n            .marquee-content span {\n                padding: 0 20px !important;\n            }\n\n            \/* OVERLAY a tutto schermo su smartphone \u2014 nessun offset laterale *\/\n            #overlay-screen,\n            body.overlay-open #overlay-screen {\n                left: 0 !important;\n                right: 0 !important;\n                width: 100vw !important;\n                max-width: 100vw !important;\n                margin: 0 !important;\n            }\n\n            \/* Quando l'overlay \u00e8 aperto su mobile,\n               la bottom nav non deve sovrapporsi all'iframe *\/\n            body.overlay-open #mobile-bottom-nav {\n                display: none !important;\n            }\n\n            \/* L'overlay su mobile parte da sotto l'header e va a fondo schermo *\/\n            body.overlay-open #overlay-screen {\n                top: var(--header-height) !important;\n                height: calc(100vh - var(--header-height)) !important;\n                height: calc(100svh - var(--header-height)) !important;\n            }\n            \/* ===== SEZIONE SPONSOR SU MOBILE: slider orizzontale ===== *\/\n\n            \/* Annulla il display:flex del parent che stringe il .track *\/\n            .sponsor-slider {\n                display: block !important;\n                overflow: hidden !important;\n                padding: 24px 0 !important;\n            }\n\n            \/* Forza il .track in riga orizzontale, no wrap *\/\n            .track {\n                display: flex !important;\n                flex-direction: row !important;\n                flex-wrap: nowrap !important;\n                width: max-content !important;\n                align-items: center !important;\n            }\n\n            \/* Ogni slot sponsor: ridotto e non collassabile *\/\n            .sponsor {\n                width: 140px !important;\n                min-width: 140px !important;\n                flex-shrink: 0 !important;\n                padding: 0 12px !important;\n            }\n\n            .sponsor img {\n                max-height: 72px !important;\n                max-width: 100% !important;\n            }\n\n            \/* Ricalibra l'animazione per la nuova larghezza (12 sponsor \u00d7 140px) *\/\n            @keyframes slideSponsors {\n                0%   { transform: translateX(0); }\n                100% { transform: translateX(calc(-140px * 12)); }\n            }\n        }\n\n        \/* ===== MOBILE BOTTOM NAVIGATION ===== *\/\n        #mobile-bottom-nav {\n            display: none;\n        }\n\n        @media (max-width: 1024px) {\n            #mobile-bottom-nav {\n                display: flex;\n                position: fixed;\n                bottom: 0;\n                left: 0;\n                right: 0;\n                z-index: 9000;\n                background: rgba(5, 8, 6, 0.97);\n                border-top: 1px solid rgba(0, 135, 81, 0.2);\n                backdrop-filter: blur(20px);\n                -webkit-backdrop-filter: blur(20px);\n                padding: 6px 0 max(8px, env(safe-area-inset-bottom));\n                justify-content: space-around;\n                align-items: flex-start;\n                gap: 0;\n                box-shadow: 0 -4px 20px rgba(0,0,0,0.5);\n            }\n\n            .bnav-item {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: center;\n                gap: 3px;\n                padding: 6px 4px 2px;\n                flex: 1;\n                min-width: 0;\n                cursor: pointer;\n                -webkit-tap-highlight-color: transparent;\n                border-radius: 12px;\n                transition: background 0.15s ease;\n                text-decoration: none;\n            }\n\n            .bnav-item:active {\n                background: rgba(0, 135, 81, 0.15);\n                transform: scale(0.95);\n            }\n\n            .bnav-icon {\n                width: 26px;\n                height: 26px;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                color: rgba(255, 255, 255, 0.4);\n                transition: color 0.15s;\n                font-size: 22px;\n            }\n\n            .bnav-icon.material-icons-round {\n                font-size: 22px;\n                width: auto;\n                height: auto;\n            }\n\n            .bnav-label {\n                font-size: 11px;\n                font-family: 'Urbanist', sans-serif;\n                font-weight: 700;\n                letter-spacing: 0.05em;\n                text-transform: uppercase;\n                color: rgba(255, 255, 255, 0.35);\n                transition: color 0.15s;\n                white-space: nowrap;\n                overflow: hidden;\n                text-overflow: ellipsis;\n                max-width: 72px;\n                text-align: center;\n            }\n\n            .bnav-item.bnav-active .bnav-icon,\n            .bnav-item.bnav-active .bnav-icon.material-icons-round {\n                color: #4ade80;\n            }\n\n            .bnav-item.bnav-active .bnav-label {\n                color: #4ade80;\n            }\n        }\n    \n        \/* WOW EFFECT CSS *\/\n\n        .marquee-wrapper {\n            width: 100vw;\n            margin-left: calc(-50vw + 50%); \/* Full width bleed *\/\n            overflow: hidden;\n            background: linear-gradient(135deg, var(--primary), #ff7a00);\n            color: white;\n            padding: 20px 0;\n            transform: rotate(-3deg) scale(1.05);\n            position: relative;\n            z-index: 10;\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\n            margin-top: 40px;\n            margin-bottom: 40px;\n        }\n        .marquee-content {\n            display: flex;\n            white-space: nowrap;\n            animation: scrollMarquee 20s linear infinite;\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 2.5rem;\n            letter-spacing: 3px;\n        }\n        .marquee-content span { padding: 0 30px; }\n        @keyframes scrollMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\n\n        .bg-outline-text {\n            position: absolute;\n            top: 50%; left: 50%; transform: translate(-50%, -50%);\n            font-family: 'Outfit', sans-serif;\n            font-size: 18vw; font-weight: 900;\n            color: transparent;\n            -webkit-text-stroke: 2px rgba(0,0,0,0.03);\n            white-space: nowrap; pointer-events: none; z-index: 0;\n        }\n        .dark .bg-outline-text { -webkit-text-stroke: 2px rgba(255,255,255,0.03); }\n\n        .promo-box, .event-box, .ab-item { position: relative; }\n        .promo-box::before, .event-box::before, .ab-item::before {\n            content: \"\"; position: absolute; top: 0; left: 0; right: 0; bottom: 0;\n            border-radius: inherit; padding: 2px; \n            background: radial-gradient(800px circle at var(--mouse-x, 0) var(--mouse-y, 0), rgba(255,255,255,0.4), transparent 40%);\n            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n            -webkit-mask-composite: xor; mask-composite: exclude;\n            pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: 10;\n        }\n        .promo-box:hover::before, .event-box:hover::before, .ab-item:hover::before { opacity: 1; }\n\n        .promo-box:hover, .event-box:hover, .ab-item:hover {\n            box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(0,135,81,0.3), 0 0 30px rgba(0,135,81,0.1);\n            border-color: rgba(0,135,81,0.4) !important;\n        }\n\n        \/* Asymmetric grid modification \u2014 desktop only *\/\n        @media (min-width: 769px) {\n            .registration-grid {\n                grid-template-columns: 1fr 1.5fr 1fr !important;\n                max-width: 1320px !important;\n                align-items: stretch;\n            }\n        }\n        \n        .magnetic-btn { transition: transform 0.1s ease-out; }\n\n        \/* SCROLL PROGRESS BAR *\/\n        #scroll-progress {\n            position: fixed; top: 0; left: 0; height: 3px; width: 0%;\n            background: linear-gradient(90deg, #008751, #4ade80, #008751);\n            background-size: 200% 100%;\n            animation: shimmerProgress 2s linear infinite;\n            z-index: 99999; transition: width 0.1s ease; border-radius: 0 2px 2px 0;\n            box-shadow: 0 0 10px rgba(0,135,81,0.6);\n        }\n        @keyframes shimmerProgress { 0%{background-position:200% 0} 100%{background-position:-200% 0} }\n\n        \/* CURSOR RING *\/\n        #cursor-ring { display: none !important; }\n\n        \/* BLOCK TITLE ACCENT *\/\n        .block-title {\n            position: relative;\n            padding-bottom: 12px;\n        }\n        .block-title::after {\n            content: '';\n            position: absolute; bottom: 0; left: 0;\n            width: 60px; height: 3px;\n            background: linear-gradient(90deg, var(--primary), #4ade80);\n            border-radius: 3px;\n            transition: width 0.4s cubic-bezier(0.23,1,0.32,1);\n        }\n        .home-block:hover .block-title::after { width: 120px; }\n\n        \/* PREFERS-REDUCED-MOTION *\/\n        @media (prefers-reduced-motion: reduce) {\n            *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }\n            .results-track, .track, .marquee-content, .ticker-content { animation: none !important; }\n            #page-bg { animation: none !important; }\n        }\n\n        \/* ===== MOBILE UX \u2014 bottom nav, sidebar full-height, contenuti visibili ===== *\/\n        @media (max-width: 640px) {\n            body {\n                padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));\n            }\n            #content-area {\n                padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));\n            }\n            #sidebar {\n                width: 100% !important;\n                max-width: 100vw !important;\n                padding-top: calc(var(--header-height) + 12px) !important;\n            }\n            #sidebar.sidebar-overlay-active {\n                width: 100% !important;\n                max-width: 100vw !important;\n            }\n            .bnav-item {\n                padding: 8px 6px 4px !important;\n                min-height: 48px;\n            }\n            .bnav-icon,\n            .bnav-icon.material-icons-round {\n                font-size: 24px !important;\n            }\n            .bnav-label {\n                font-size: 12px !important;\n                max-width: none !important;\n                letter-spacing: 0.04em !important;\n            }\n        }\n\n<\/style>\n\n    <script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script>\n\n    <style>\n        \/* ===== INTRO SPLASH \u2014 elegante, cinematografico ===== *\/\n        #intro-splash {\n          position: fixed; inset: 0; background: #000; z-index: 100000;\n          display: flex; align-items: center; justify-content: center;\n          overflow: hidden;\n          transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.7s ease;\n        }\n        #intro-splash::before {\n          content: '';\n          position: fixed;\n          inset: 0;\n          z-index: 100001;\n          pointer-events: none;\n          background:\n            radial-gradient(circle at 50% 42%, rgba(74, 222, 128, 0.22) 0%, transparent 42%),\n            radial-gradient(circle at 50% 42%, rgba(201, 168, 76, 0.1) 0%, transparent 55%);\n          opacity: 0;\n          animation: introAuraReveal 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        #intro-splash::after {\n          content: '';\n          position: fixed;\n          left: 50%;\n          top: 50%;\n          width: min(420px, 72vw);\n          height: 1px;\n          transform: translate(-50%, -50%) scaleX(0);\n          background: linear-gradient(90deg, transparent, rgba(201, 168, 76, 0.55), rgba(74, 222, 128, 0.65), rgba(201, 168, 76, 0.55), transparent);\n          opacity: 0;\n          z-index: 100002;\n          pointer-events: none;\n          animation: introLineReveal 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introAuraReveal {\n          0%, 38% { opacity: 0; }\n          50% { opacity: 0.38; }\n          62% { opacity: 0.48; }\n          74% { opacity: 0.12; }\n          100% { opacity: 0; }\n        }\n        @keyframes introLineReveal {\n          0%, 46% { opacity: 0; transform: translate(-50%, -50%) scaleX(0); }\n          54% { opacity: 0.7; transform: translate(-50%, -50%) scaleX(1); }\n          66% { opacity: 0.22; transform: translate(-50%, -50%) scaleX(0.92); }\n          100% { opacity: 0; transform: translate(-50%, -50%) scaleX(0.75); }\n        }\n        #intro-splash.intro-out {\n          opacity: 0;\n          visibility: hidden;\n        }\n        #intro-logo-wrap {\n          position: relative;\n          display: flex;\n          flex-direction: column;\n          align-items: center;\n          justify-content: center;\n          text-align: center;\n          width: min(96vw, 860px);\n          transform-origin: center center;\n          overflow: visible;\n          z-index: 100003;\n          animation: introWrapIn 5s ease forwards;\n        }\n        @keyframes introWrapIn {\n          0% { opacity: 0; }\n          8% { opacity: 1; }\n          100% { opacity: 1; }\n        }\n        #intro-splash.intro-out #intro-logo-wrap {\n          animation: introCenterOut 0.85s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n        }\n        @keyframes introCenterOut {\n          to { opacity: 0; transform: scale(1.008) translateY(-6px); filter: blur(6px); }\n        }\n        .ab-brand-glass--intro {\n          overflow: visible;\n        }\n        .ab-brand-glass--intro .ab-brand-glass__frost {\n          animation: introFrostReveal 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introFrostReveal {\n          0%, 46% { opacity: 0; }\n          58% { opacity: 1; }\n          100% { opacity: 1; }\n        }\n        #intro-logo {\n          width: auto;\n        }\n        .ab-brand-glass {\n          position: relative;\n          display: inline-block;\n          width: max-content;\n          max-width: calc(100vw - 32px);\n          vertical-align: middle;\n          overflow: visible;\n          isolation: isolate;\n          padding-top: 0;\n          margin-top: clamp(52px, 11vw, 76px);\n        }\n        .ab-brand-glass__logo {\n          position: absolute;\n          left: 50%;\n          top: 0;\n          transform: translate(-50%, calc(-100% - 8px));\n          width: auto;\n          height: min(72px, 16vw);\n          max-width: min(150px, 38vw);\n          opacity: 0.92;\n          filter: none;\n          z-index: 3;\n          pointer-events: none;\n          user-select: none;\n          transform-origin: 50% 55%;\n          will-change: transform, opacity, filter;\n        }\n        .ab-brand-glass--intro .ab-brand-glass__logo,\n        #intro-logo {\n          animation: introLogoCrescendo 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introLogoCrescendo {\n          0% {\n            opacity: 0;\n            transform: translate(-50%, calc(-100% - 8px)) scale(0.78);\n            filter: blur(10px);\n          }\n          10% {\n            opacity: 0.85;\n            transform: translate(-50%, calc(-100% - 8px)) scale(0.42);\n            filter: blur(0);\n          }\n          38% {\n            opacity: 0.92;\n            transform: translate(-50%, calc(-100% - 8px)) scale(0.42);\n            filter: none;\n          }\n          46% {\n            opacity: 0.96;\n            transform: translate(-50%, calc(-100% - 8px)) scale(0.46);\n            filter: drop-shadow(0 0 18px rgba(74, 222, 128, 0.25));\n          }\n          56% {\n            opacity: 1;\n            transform: translate(-50%, calc(-100% - 8px)) scale(1.07);\n            filter: drop-shadow(0 0 28px rgba(74, 222, 128, 0.38)) drop-shadow(0 0 40px rgba(201, 168, 76, 0.18));\n          }\n          68% {\n            transform: translate(-50%, calc(-100% - 8px)) scale(0.98);\n            filter: drop-shadow(0 0 14px rgba(74, 222, 128, 0.16));\n          }\n          82% {\n            transform: translate(-50%, calc(-100% - 8px)) scale(1.01);\n          }\n          100% {\n            opacity: 0.92;\n            transform: translate(-50%, calc(-100% - 8px)) scale(1);\n            filter: none;\n          }\n        }\n        .ab-brand-glass__frost {\n          position: absolute;\n          inset: -0.14em -0.26em;\n          z-index: 1;\n          border-radius: clamp(10px, 1.2vw, 14px);\n          background:\n            linear-gradient(145deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01)),\n            rgba(0, 0, 0, 0.58);\n          backdrop-filter: blur(20px) saturate(120%);\n          -webkit-backdrop-filter: blur(20px) saturate(120%);\n          border: 1px solid rgba(255, 255, 255, 0.08);\n          box-shadow:\n            inset 0 1px 0 rgba(255,255,255,0.05),\n            inset 0 0 24px rgba(0,0,0,0.35),\n            0 16px 48px rgba(0,0,0,0.32);\n          pointer-events: none;\n        }\n        #intro-brand {\n          position: relative;\n          z-index: 4;\n          display: inline-flex;\n          flex-direction: row;\n          flex-wrap: nowrap;\n          align-items: center;\n          justify-content: center;\n          gap: 0.38em;\n          margin-top: 0;\n          padding: 0.06em 0.08em;\n          font-family: var(--font-skeleton);\n          font-weight: 800;\n          font-size: clamp(1.35rem, 5.8vw, 2.55rem);\n          letter-spacing: clamp(0.07em, 1.1vw, 0.2em);\n          text-transform: uppercase;\n          white-space: nowrap;\n          animation: introBrandWrap 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introBrandWrap {\n          0%, 52% { opacity: 0; transform: translateY(10px); }\n          64% { opacity: 0.75; transform: translateY(0); }\n          100% { opacity: 1; transform: translateY(0); }\n        }\n        .intro-hex-frame {\n          position: absolute;\n          width: calc(100% + 48px);\n          height: calc(100% + 48px);\n          top: 50%;\n          left: 50%;\n          transform: translate(-50%, -50%);\n          clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n          border: 1px solid rgba(74,222,128,0.18);\n          background: radial-gradient(circle at 50% 50%, rgba(0,135,81,0.1), transparent 72%);\n          animation: introHexBloom 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n          pointer-events: none;\n          z-index: 0;\n        }\n        @keyframes introHexBloom {\n          0%, 44% { opacity: 0; transform: translate(-50%, -50%) scale(0.94); box-shadow: none; }\n          54% { opacity: 0.45; transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 36px rgba(74,222,128,0.12); }\n          62% { opacity: 0.72; transform: translate(-50%, -50%) scale(1.02); box-shadow: 0 0 56px rgba(74,222,128,0.22), 0 0 24px rgba(201,168,76,0.12); }\n          78% { opacity: 0.38; box-shadow: 0 0 28px rgba(74,222,128,0.1); }\n          100% { opacity: 0.32; transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 20px rgba(74,222,128,0.06); }\n        }\n        #intro-brand-av {\n          display: inline-block;\n          color: transparent;\n          -webkit-text-stroke: 1.75px rgba(88, 175, 125, 0.98);\n          paint-order: stroke fill;\n          animation: introBrandWordAv 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        #intro-brand-bk {\n          display: inline-block;\n          color: transparent;\n          -webkit-text-stroke: 1px rgba(201, 168, 76, 0.95);\n          paint-order: stroke fill;\n          font-style: normal;\n          animation: introBrandWordBk 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introBrandWordAv {\n          0%, 54% { opacity: 0; letter-spacing: 0.32em; filter: blur(5px); }\n          66% { opacity: 0.85; letter-spacing: 0.1em; filter: blur(0); }\n          100% {\n            opacity: 1;\n            letter-spacing: inherit;\n            filter: drop-shadow(0 0 2px rgba(0,0,0,1)) drop-shadow(0 0 8px rgba(0,0,0,0.85)) drop-shadow(0 0 4px rgba(0,69,40,0.45));\n          }\n        }\n        @keyframes introBrandWordBk {\n          0%, 58% { opacity: 0; letter-spacing: 0.28em; filter: blur(5px); }\n          70% { opacity: 0.8; letter-spacing: 0.08em; filter: blur(0); }\n          100% { opacity: 1; letter-spacing: inherit; filter: drop-shadow(0 0 14px rgba(201,168,76,0.32)); }\n        }\n        .intro-ring {\n          position: absolute;\n          border-radius: 50%;\n          left: 50%;\n          top: 50%;\n          transform: translate(-50%, -50%) scale(0.88);\n          border: 1px solid rgba(201, 168, 76, 0.28);\n          opacity: 0;\n          animation: introRippleElegant 5s cubic-bezier(0.22, 1, 0.36, 1) forwards;\n          pointer-events: none;\n          z-index: 100002;\n        }\n        .intro-ring:nth-child(1) { width: 140px; height: 140px; animation-delay: 2.05s; border-color: rgba(74,222,128,0.22); }\n        .intro-ring:nth-child(2) { width: 260px; height: 260px; animation-delay: 2.28s; }\n        .intro-ring:nth-child(3) { width: 380px; height: 380px; animation-delay: 2.48s; opacity: 0; border-color: rgba(74,222,128,0.12); }\n        @keyframes introRippleElegant {\n          0% { transform: translate(-50%, -50%) scale(0.88); opacity: 0; }\n          12% { opacity: 0.42; }\n          100% { transform: translate(-50%, -50%) scale(1.65); opacity: 0; }\n        }\n        .intro-scan-beam {\n          position: absolute;\n          inset: 0;\n          background: linear-gradient(180deg, transparent 0%, rgba(74,222,128,0.06) 48%, rgba(201,168,76,0.04) 52%, transparent 100%);\n          pointer-events: none;\n          z-index: 100001;\n          animation: introScanOnce 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introScanOnce {\n          0%, 40% { transform: translateY(-110%); opacity: 0; }\n          48% { opacity: 0.55; }\n          56% { transform: translateY(110%); opacity: 0; }\n          100% { opacity: 0; }\n        }\n        .intro-genesis-tag {\n          margin-top: 16px;\n          font-family: var(--font-body);\n          font-size: 0.62rem;\n          font-weight: 500;\n          letter-spacing: 0.38em;\n          text-transform: uppercase;\n          color: rgba(148,163,184,0.65);\n          animation: introTagReveal 5s cubic-bezier(0.22, 1, 0.36, 1) both;\n        }\n        @keyframes introTagReveal {\n          0%, 70% { opacity: 0; transform: translateY(14px); letter-spacing: 0.52em; }\n          84% { opacity: 0.8; transform: translateY(0); letter-spacing: 0.42em; }\n          100% { opacity: 1; letter-spacing: 0.38em; }\n        }\n\n        \/* ===== MODIFICA 2 \u2014 HERO OVERLAY & GLOW PULSE ===== *\/\n        .hero-overlay {\n          background: radial-gradient(ellipse at center, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%),\n                      linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, transparent 35%, transparent 55%, rgba(0,0,0,0.85) 100%);\n        }\n        .hero-title .part1 {\n          position: relative;\n          color: #4ade80;\n          text-shadow: 0 0 30px rgba(74,222,128,0.5), 0 0 60px rgba(74,222,128,0.2);\n          animation: revealText 1s cubic-bezier(0.77,0,0.175,1) forwards, glowPulse 3s ease-in-out infinite 1.5s;\n        }\n        @keyframes glowPulse {\n          0%,100% { text-shadow: 0 0 20px rgba(74,222,128,0.4), 0 0 40px rgba(74,222,128,0.1); }\n          50%     { text-shadow: 0 0 40px rgba(74,222,128,0.7), 0 0 80px rgba(74,222,128,0.3), 0 0 120px rgba(74,222,128,0.1); }\n        }\n\n        \/* ===== MODIFICA 3 \u2014 PROMO CARDS ULTRA-PREMIUM ===== *\/\n        .promo-box {\n          background: linear-gradient(145deg, rgba(26,29,27,0.95), rgba(13,15,14,0.98)) !important;\n          border: 1px solid rgba(0,135,81,0.15) !important;\n          border-radius: 24px !important;\n          overflow: hidden;\n          transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), box-shadow 0.4s ease, border-color 0.4s ease !important;\n        }\n        .promo-box:hover {\n          transform: translateY(-12px) scale(1.02) !important;\n          box-shadow: 0 30px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(74,222,128,0.4), 0 0 40px rgba(0,135,81,0.15) !important;\n          border-color: rgba(74,222,128,0.5) !important;\n        }\n        .promo-btn {\n          background: linear-gradient(135deg, #008751, #00b86a) !important;\n          border-radius: 14px !important;\n          font-size: 0.75rem !important;\n          letter-spacing: 2px !important;\n          box-shadow: 0 8px 25px rgba(0,135,81,0.4), inset 0 1px 0 rgba(255,255,255,0.1) !important;\n          transition: all 0.3s ease !important;\n        }\n        .promo-btn:hover {\n          background: linear-gradient(135deg, #00b86a, #4ade80) !important;\n          box-shadow: 0 12px 35px rgba(0,135,81,0.6) !important;\n          transform: translateY(-2px) !important;\n          color: #000 !important;\n        }\n\n        \/* ===== MODIFICA 4 \u2014 HOME-BLOCK BORDO LUMINOSO ANIMATO ===== *\/\n        @property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }\n        .home-block {\n          position: relative;\n          background: linear-gradient(145deg, rgba(20,24,22,0.98), rgba(10,13,11,0.99)) !important;\n          border: 1px solid rgba(0,135,81,0.12) !important;\n          border-radius: 28px !important;\n          overflow: hidden;\n        }\n        .home-block::after {\n          content: '';\n          position: absolute; inset: 0; border-radius: 28px;\n          background: conic-gradient(from var(--angle, 0deg), transparent 70%, rgba(0,135,81,0.4) 80%, rgba(74,222,128,0.6) 90%, transparent 100%);\n          -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n          -webkit-mask-composite: xor; mask-composite: exclude;\n          padding: 1px; pointer-events: none; opacity: 0;\n          transition: opacity 0.4s;\n          animation: rotateBorder 4s linear infinite paused;\n        }\n        .home-block:hover::after { opacity: 1; animation-play-state: running; }\n        @keyframes rotateBorder { to { --angle: 360deg; } }\n\n        \/* ===== MODIFICA 5 \u2014 MARQUEE BANNER PI\u00d9 IMPATTANTE ===== *\/\n        .marquee-wrapper {\n          width: 100vw;\n          margin-left: calc(-50vw + 50%);\n          overflow: hidden;\n          background: linear-gradient(135deg, #003d1f, #008751, #003d1f);\n          color: white;\n          padding: 22px 0;\n          transform: rotate(-2deg) scale(1.05);\n          position: relative; z-index: 10;\n          margin-top: 40px; margin-bottom: 40px;\n          box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 -5px 20px rgba(0,135,81,0.2);\n          border-top: 1px solid rgba(74,222,128,0.3);\n          border-bottom: 1px solid rgba(74,222,128,0.3);\n        }\n        .marquee-content {\n          animation: scrollMarquee 15s linear infinite;\n          font-size: 1.6rem !important;\n          letter-spacing: 6px !important;\n        }\n        .marquee-content span::before { content: '\u26a1 '; }\n\n        \/* ===== MODIFICA 6 \u2014 RESULT CARDS PREMIUM ===== *\/\n        .result-card {\n          background: linear-gradient(145deg, rgba(20,24,22,0.98), rgba(5,8,6,0.99)) !important;\n          border: 1px solid rgba(0,135,81,0.12) !important;\n          border-radius: 20px !important;\n        }\n        .result-card:hover {\n          border-color: rgba(74,222,128,0.5) !important;\n          box-shadow: 0 15px 40px rgba(0,0,0,0.5), 0 0 20px rgba(0,135,81,0.15) !important;\n        }\n        .result-score {\n          color: #4ade80 !important;\n          text-shadow: 0 0 15px rgba(74,222,128,0.4) !important;\n          background: rgba(0,135,81,0.1) !important;\n          border: 1px solid rgba(0,135,81,0.2) !important;\n        }\n\n        \/* ===== MODIFICA 7 \u2014 SAFEGUARDING AURORA ===== *\/\n        .safeguarding-section {\n          background: linear-gradient(135deg, #000 0%, #001a0d 50%, #000 100%) !important;\n          overflow: hidden;\n          position: relative;\n        }\n        .safeguarding-section::before {\n          content: '';\n          position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;\n          background: radial-gradient(ellipse at 30% 50%, rgba(0,135,81,0.15) 0%, transparent 50%),\n                      radial-gradient(ellipse at 70% 50%, rgba(74,222,128,0.08) 0%, transparent 50%);\n          animation: auroraShift 8s ease-in-out infinite alternate;\n          pointer-events: none; z-index: 0;\n        }\n        @keyframes auroraShift {\n          0%   { transform: rotate(0deg) scale(1); }\n          100% { transform: rotate(5deg) scale(1.1); }\n        }\n        .safeguarding-title {\n          color: #4ade80 !important;\n          text-shadow: 0 0 30px rgba(74,222,128,0.5), 0 0 60px rgba(74,222,128,0.2) !important;\n        }\n\n        \/* ===== MODIFICA 8 \u2014 SIDEBAR PREMIUM ===== *\/\n        #sidebar {\n          background: linear-gradient(180deg, rgba(5,10,7,0.98), rgba(2,6,3,0.99)) !important;\n          border-right: 1px solid rgba(0,135,81,0.15) !important;\n          box-shadow: 4px 0 30px rgba(0,0,0,0.5) !important;\n        }\n        .nav-item:hover {\n          background: linear-gradient(90deg, rgba(0,135,81,0.15), transparent) !important;\n        }\n        .nav-item:hover .material-icons-round {\n          background: rgba(0,135,81,0.2) !important;\n          border-color: rgba(0,135,81,0.5) !important;\n          box-shadow: 0 0 20px rgba(0,135,81,0.4) !important;\n          color: #4ade80 !important;\n        }\n\n        \/* ===== MODIFICA 9 \u2014 HEADER ULTRA-GLASS ===== *\/\n        #header-fixed {\n          background: rgba(2,5,3,0.85) !important;\n          backdrop-filter: blur(30px) saturate(200%) brightness(0.9) !important;\n          border-bottom: 1px solid rgba(0,135,81,0.2) !important;\n          box-shadow: 0 4px 40px rgba(0,0,0,0.4), 0 1px 0 rgba(0,135,81,0.15) !important;\n        }\n\n        \/* ===== MODIFICA 10 \u2014 @keyframes spin FIX ===== *\/\n        @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n\n        @media (max-width: 600px) {\n          .ab-brand-glass__logo {\n            top: 0 !important;\n            transform: translate(-50%, calc(-100% - 6px)) !important;\n            height: min(58px, 14vw) !important;\n            max-width: min(120px, 32vw) !important;\n            opacity: 0.9 !important;\n            filter: none !important;\n          }\n          .ab-brand-glass__text,\n          #intro-brand {\n            font-size: clamp(0.85rem, 4.5vw, 1.15rem) !important;\n            letter-spacing: 0.1em !important;\n            gap: 0.32em !important;\n            white-space: nowrap !important;\n          }\n          #intro-brand-av {\n            -webkit-text-stroke: 1.35px rgba(88, 175, 125, 0.98) !important;\n          }\n          #intro-brand-bk {\n            -webkit-text-stroke: 1px rgba(201, 168, 76, 0.95) !important;\n          }\n          #intro-logo {\n            width: auto !important;\n          }\n          #intro-logo-wrap {\n            padding: 0 16px !important;\n          }\n          .intro-ring:nth-child(1) { width: 70px !important; height: 70px !important; }\n          .intro-ring:nth-child(2) { width: 140px !important; height: 140px !important; }\n          .intro-ring:nth-child(3) { width: 220px !important; height: 220px !important; }\n        }\n    <\/style>\n\n    <!-- ===== EFFETTI 3D PROFONDIT\u00c0 ===== -->\n    <style>\n        \/* 1. Prospettiva 3D sul contenitore principale *\/\n        #content-area {\n            perspective: 1200px;\n            perspective-origin: 50% 0%;\n        }\n\n        \/* 2. Home-block con effetto sollevato *\/\n        .home-block {\n            transform-style: preserve-3d;\n            transform: translateZ(0) translateY(0);\n            box-shadow:\n                0 2px 4px rgba(0,0,0,0.3),\n                0 8px 16px rgba(0,0,0,0.4),\n                0 20px 40px rgba(0,0,0,0.5),\n                0 40px 80px rgba(0,0,0,0.3),\n                0 1px 0 rgba(255,255,255,0.03) inset !important;\n            transition: transform 0.6s cubic-bezier(0.23,1,0.32,1), box-shadow 0.6s ease !important;\n        }\n        .home-block:hover {\n            transform: translateY(-8px) translateZ(20px) !important;\n            box-shadow:\n                0 4px 8px rgba(0,0,0,0.3),\n                0 16px 32px rgba(0,0,0,0.5),\n                0 40px 80px rgba(0,0,0,0.6),\n                0 60px 120px rgba(0,0,0,0.3),\n                0 0 0 1px rgba(0,135,81,0.2),\n                0 1px 0 rgba(255,255,255,0.05) inset !important;\n        }\n\n        \/* 3. Sezione promo cards con profondit\u00e0 *\/\n        #registration-promo-section {\n            transform-style: preserve-3d;\n        }\n        .promo-box {\n            transform-style: preserve-3d;\n            box-shadow:\n                0 2px 4px rgba(0,0,0,0.4),\n                0 10px 20px rgba(0,0,0,0.5),\n                0 30px 60px rgba(0,0,0,0.4) !important;\n            transition: transform 0.5s cubic-bezier(0.23,1,0.32,1), box-shadow 0.5s ease !important;\n        }\n        .promo-box:hover {\n            transform: translateY(-16px) translateZ(30px) scale(1.02) !important;\n            box-shadow:\n                0 4px 8px rgba(0,0,0,0.4),\n                0 20px 40px rgba(0,0,0,0.6),\n                0 50px 100px rgba(0,0,0,0.5),\n                0 0 0 1px rgba(74,222,128,0.4),\n                0 0 40px rgba(0,135,81,0.15) !important;\n        }\n\n        \/* 4. Sfondo con gradiente di profondit\u00e0 *\/\n        body {\n            background: radial-gradient(ellipse at 50% 0%, #0a1a0f 0%, #020704 40%, #010302 100%) !important;\n        }\n        #page-bg {\n            background-image:\n                radial-gradient(ellipse at 50% -20%, rgba(0,135,81,0.08) 0%, transparent 60%),\n                url('basketball_bg_pattern.png') !important;\n            background-size: auto, 800px !important;\n            opacity: 0.06 !important;\n        }\n        .dark #page-bg {\n            opacity: 0.08 !important;\n        }\n\n        \/* 5. Event-box con effetto carta sollevata *\/\n        .event-box {\n            box-shadow:\n                0 2px 4px rgba(0,0,0,0.4),\n                0 8px 20px rgba(0,0,0,0.5),\n                0 25px 50px rgba(0,0,0,0.4) !important;\n            transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), box-shadow 0.4s ease !important;\n        }\n        .event-box:hover {\n            transform: translateY(-8px) translateZ(15px) !important;\n            box-shadow:\n                0 4px 8px rgba(0,0,0,0.4),\n                0 15px 35px rgba(0,0,0,0.6),\n                0 40px 80px rgba(0,0,0,0.5),\n                0 0 0 1px rgba(0,135,81,0.3) !important;\n        }\n\n        \/* 6. Sponsor slider con leggera inclinazione 3D su hover *\/\n        .sponsor:hover {\n            transform: scale(1.08) translateZ(10px) !important;\n        }\n\n        \/* 7. Result cards con profondit\u00e0 *\/\n        .result-card {\n            box-shadow:\n                0 2px 6px rgba(0,0,0,0.4),\n                0 10px 25px rgba(0,0,0,0.5) !important;\n            transition: transform 0.4s ease, box-shadow 0.4s ease !important;\n        }\n        .result-card:hover {\n            transform: translateY(-6px) translateZ(10px) !important;\n            box-shadow:\n                0 4px 10px rgba(0,0,0,0.5),\n                0 20px 50px rgba(0,0,0,0.6),\n                0 0 0 1px rgba(74,222,128,0.4) !important;\n        }\n    <\/style>\n\n\n    <style>\n\/* RISULTATI stile NBA *\/\n.result-card {\n  background: transparent !important;\n  border: 1px solid rgba(0,80,40,0.5) !important;\n  border-radius: 12px !important;\n  min-width: 300px !important;\n  padding: 16px 20px !important;\n  gap: 12px !important;\n  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;\n}\n.results-track {\n  gap: 24px !important;\n}\n.result-card:hover {\n  border-color: rgba(0,135,81,0.6) !important;\n  background: rgba(0,20,10,0.25) !important;\n  box-shadow: 0 6px 20px rgba(0,0,0,0.3), 0 0 0 1px rgba(0,135,81,0.3) !important;\n  transform: translateY(-3px) !important;\n}\n.result-header {\n  font-size: 0.58rem !important;\n  letter-spacing: 1.5px !important;\n}\n.result-team {\n  font-size: 0.72rem !important;\n  color: rgba(255,255,255,0.85) !important;\n  width: 90px !important;\n}\n.result-score {\n  font-size: 1.1rem !important;\n  color: #4ade80 !important;\n  text-shadow: 0 0 12px rgba(74,222,128,0.4) !important;\n  background: rgba(0,60,30,0.4) !important;\n  border: 1px solid rgba(0,100,50,0.3) !important;\n  padding: 4px 12px !important;\n  border-radius: 8px !important;\n  min-width: 80px !important;\n}\n.result-footer {\n  font-size: 0.6rem !important;\n  border-top: 1px solid rgba(0,80,40,0.2) !important;\n  padding-top: 8px !important;\n  margin-top: 2px !important;\n}\n.badge-win {\n  background: rgba(16,185,129,0.12) !important;\n  color: #4ade80 !important;\n  border: 1px solid rgba(16,185,129,0.25) !important;\n  font-size: 0.5rem !important;\n  padding: 2px 7px !important;\n  border-radius: 5px !important;\n}\n.badge-loss {\n  background: rgba(239,68,68,0.12) !important;\n  color: #ef4444 !important;\n  border: 1px solid rgba(239,68,68,0.25) !important;\n  font-size: 0.5rem !important;\n  padding: 2px 7px !important;\n  border-radius: 5px !important;\n}\n\/* Sfondo marquee trasparente stile NBA *\/\n.results-marquee {\n  background: transparent !important;\n  border: 1px solid rgba(0,80,40,0.25) !important;\n  border-radius: 16px !important;\n}\n\/* Block titolo risultati *\/\n#results-block {\n  background: linear-gradient(145deg, rgba(18,24,20,0.98), rgba(8,12,9,0.99)) !important;\n  border: 1px solid rgba(0,80,40,0.2) !important;\n}\n\/* Marquee Header *\/\n.header-marquee-container {\n    width: 100%;\n    max-width: 100%;\n    overflow: hidden;\n    white-space: nowrap;\n    position: relative;\n}\n.header-marquee-content {\n    display: inline-block;\n    animation: headerMarquee 22s linear infinite;\n    font-family: 'Urbanist', sans-serif;\n    font-weight: 800;\n    font-size: 0.95rem;\n    color: #4ade80;\n    text-shadow: 0 0 10px rgba(74,222,128,0.6);\n    letter-spacing: 1px;\n    padding-left: 100%;\n}\n@keyframes headerMarquee {\n    0% { transform: translateX(0); }\n    100% { transform: translateX(-100%); }\n}\n    <\/style>\n\n<\/head>\n\n<body class=\"void-hive dark\">\n    <div id=\"intro-splash\">\n      <canvas id=\"intro-hex-canvas\" aria-hidden=\"true\"><\/canvas>\n      <div class=\"intro-scan-beam\" aria-hidden=\"true\"><\/div>\n      <div class=\"intro-ring\"><\/div>\n      <div class=\"intro-ring\"><\/div>\n      <div class=\"intro-ring\"><\/div>\n      <div id=\"intro-logo-wrap\">\n        <div class=\"ab-brand-glass ab-brand-glass--intro\">\n          <div class=\"intro-hex-frame\" aria-hidden=\"true\"><\/div>\n          <img decoding=\"async\" crossorigin=\"anonymous\" class=\"ab-brand-glass__logo\" id=\"intro-logo\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/LOGO_AB.png\" alt=\"\" title=\"\">\n          <div class=\"ab-brand-glass__frost\" aria-hidden=\"true\"><\/div>\n          <div class=\"ab-brand-glass__text\" id=\"intro-brand\">\n            <span id=\"intro-brand-av\">Avigliana<\/span>\n            <span id=\"intro-brand-bk\">Basket<\/span>\n          <\/div>\n        <\/div>\n        <p class=\"intro-genesis-tag\">Dal 2017 \u00b7 Avigliana (TO)<\/p>\n      <\/div>\n    <\/div>\n    <script>\n      (function dismissIntroSplash() {\n        var splash = document.getElementById('intro-splash');\n        var done = false;\n        function finish() {\n          if (done) return;\n          done = true;\n          document.body.classList.add('intro-done');\n          var heroInner = document.querySelector('.ab-hero-inner');\n          if (heroInner) heroInner.classList.add('ab-hero-inner--in');\n          var split = document.getElementById('book-split');\n          if (split) {\n            split.classList.remove('intro-start');\n            split.style.pointerEvents = 'none';\n          }\n          if (!splash) return;\n          splash.classList.add('intro-out');\n          splash.style.pointerEvents = 'none';\n          setTimeout(function () {\n            splash.remove();\n            if (typeof abUpdateScrollModuleBtn === 'function') abUpdateScrollModuleBtn();\n          }, 650);\n        }\n        setTimeout(finish, 5200);\n      })();\n    <\/script>\n    <div id=\"scroll-progress\"><\/div>\n    <div id=\"page-bg\"><\/div>\n    <canvas id=\"wow-particles\" aria-hidden=\"true\"><\/canvas>\n    <canvas id=\"hive-mesh-canvas\" aria-hidden=\"true\"><\/canvas>\n    <div id=\"cursor-glow\" aria-hidden=\"true\"><\/div>\n    <div id=\"wow-aurora\" aria-hidden=\"true\"><\/div>\n    <div id=\"void-noise\" aria-hidden=\"true\"><\/div>\n    <div id=\"void-scan\" aria-hidden=\"true\"><\/div>\n    <div id=\"void-vignette\" aria-hidden=\"true\"><\/div>\n\n    <nav id=\"sidebar\">\n\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\">\n                <span class=\"material-icons-round\">groups<\/span>\n                <span class=\"nav-text\">Societ\u00e0<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Storia', 'https:\/\/www.aviglianabasket.it\/?page_id=254')\">Storia<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Informazioni', 'https:\/\/www.aviglianabasket.it\/?page_id=274')\">\n                    Informazioni<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Privacy Policy', 'https:\/\/www.aviglianabasket.it\/?page_id=3')\">\n                    Privacy Policy<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\" onclick=\"openDynamicPage('Stagione', 'https:\/\/www.aviglianabasket.it\/?page_id=139')\">\n                <span class=\"material-icons-round\">event_note<\/span>\n                <span class=\"nav-text\">Stagione<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Squadre', 'https:\/\/www.aviglianabasket.it\/?page_id=179')\">Squadre<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Calendario', 'https:\/\/www.aviglianabasket.it\/?page_id=2192')\">Calendario\n                <\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Prossimi Incontri', 'https:\/\/www.aviglianabasket.it\/?page_id=107')\">\n                    Prossimi Incontri<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Statistiche', 'https:\/\/www.aviglianabasket.it\/?page_id=5473')\">\n                    Statistiche<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('News', 'https:\/\/www.aviglianabasket.it\/?page_id=151')\">News<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\">\n                <span class=\"material-icons-round\">person_add<\/span>\n                <span class=\"nav-text\">Atleti<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Iscrizione Corsi', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">\n                    Iscrizione Corsi<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Portale Atleta', 'https:\/\/www.aviglianabasket.cloud\/PORTALE\/index.html')\">\n                    Portale Atleta<\/div>\n                <div class=\"submenu-item survey-nav-item\"\n                    onclick=\"openSurveyPage()\">\n                    <span>Sondaggio<\/span>\n                    <span id=\"survey-active-badge\" class=\"survey-nav-badge is-hidden\" aria-hidden=\"true\">0<\/span>\n                <\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Richiesta Info', 'https:\/\/www.aviglianabasket.it\/?page_id=274')\">\n                    Richiesta Info<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\"\n                onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/')\">\n                <span class=\"material-icons-round\">shopping_bag<\/span>\n                <span class=\"nav-text\">Merchandising<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\" onclick=\"openDynamicPage('Sponsor', 'https:\/\/www.aviglianabasket.it\/?page_id=454')\">\n                <span class=\"material-icons-round\">handshake<\/span>\n                <span class=\"nav-text\">Sponsor<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\"\n                onclick=\"openDynamicPage('Area Riservata', 'https:\/\/www.aviglianabasket.it\/?page_id=427')\">\n                <span class=\"material-icons-round\">vpn_key<\/span>\n                <span class=\"nav-text\">Area Riservata<\/span>\n            <\/div>\n        <\/div>\n    <\/nav>\n    <div id=\"sidebar-backdrop\" onclick=\"closeSidebar()\" aria-hidden=\"true\"><\/div>\n\n    <header id=\"header-fixed\">\n        <div class=\"header-content-left\">\n\n            <div class=\"branding\">\n                <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/LOGO_AB.png\" alt=\"Logo\" class=\"logo\" onclick=\"showHome()\" style=\"cursor:pointer\" title=\"\">\n                <div class=\"brand-name\" onclick=\"showHome()\" style=\"cursor:pointer\">\n                    <span class=\"part1\" style=\"color:#4ade80\">Avigliana<\/span> <span class=\"part2\"\n                        style=\"color:#fff\">Basket<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div id=\"header-matches\" class=\"header-marquee-zone\" aria-live=\"polite\">\n          <span id=\"hm-loading\" style=\"font-size:0.6rem;color:rgba(255,255,255,0.4);font-family:sans-serif;letter-spacing:1px;\">&#9679; &#9679;<\/span>\n        <\/div>\n\n        <div class=\"header-content-right\">\n            <button type=\"button\" class=\"nova-cmd-trigger\" onclick=\"openNovaCmd()\" title=\"Navigazione rapida (Ctrl+K)\" aria-label=\"Apri navigazione rapida\">\n                <span class=\"material-icons-round\">travel_explore<\/span>\n                <span class=\"nova-cmd-kbd\"><kbd>Ctrl<\/kbd><kbd>K<\/kbd><\/span>\n            <\/button>\n            <div class=\"header-btn menu-btn\" id=\"header-menu-btn\" onclick=\"toggleMenu()\">\n                <span class=\"material-icons-round\">menu<\/span>\n            <\/div>\n        <\/div>\n    <\/header>\n    <script>\n(function() {\n  function renderHeaderNews() {\n    var container = document.getElementById(\"header-matches\");\n    if (!container) return;\n    \n    fetch(\"https:\/\/www.aviglianabasket.cloud\/news.php?t=\" + new Date().getTime())\n      .then(function(r) { return r.ok ? r.text() : \"\"; })\n      .then(function(text) {\n         if (!text || text.trim() === \"\") {\n             container.innerHTML = \"\";\n             return;\n         }\n         var safeText = text.trim().replace(\/\\n\/g, ' | ');\n         container.innerHTML = '<div class=\"header-marquee-container\"><div class=\"header-marquee-content\">' + safeText + '<\/div><\/div>';\n      })\n      .catch(function(e) {\n         container.innerHTML = \"\";\n      });\n  }\n  setTimeout(renderHeaderNews, 800);\n  setTimeout(function() {\n    var hm = document.getElementById('hm-loading');\n    if (hm && hm.parentNode) hm.parentNode.removeChild(hm);\n  }, 6000);\n})();\n    <\/script>\n\n    <div id=\"content-area\" style=\"background:#000!important\">\n        <section class=\"page-section hero-section void-arena ab-hero-elegant\" id=\"home-hero\">\n            <video id=\"hero-bg\" class=\"hero-bg-img\" autoplay muted playsinline hidden\n                poster=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/NEW_DARKSFONDO-scaled.png\">\n                <source src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/Sfondo_animato-1.mp4\" type=\"video\/mp4\">\n            <\/video>\n\n            <div class=\"ab-hero-bg\" aria-hidden=\"true\">\n                <div class=\"ab-hero-basketball\" aria-hidden=\"true\">\n                    <div class=\"ab-hero-basketball__ball\">\n                        <div class=\"ab-hero-basketball__leather\"><\/div>\n                        <svg class=\"ab-hero-basketball__seams\" viewBox=\"0 0 200 200\" aria-hidden=\"true\" focusable=\"false\">\n                            <defs>\n                                <radialGradient id=\"abBallShade\" cx=\"35%\" cy=\"30%\" r=\"65%\">\n                                    <stop offset=\"0%\" stop-color=\"rgba(255,210,140,0.35)\"\/>\n                                    <stop offset=\"100%\" stop-color=\"rgba(0,0,0,0)\"\/>\n                                <\/radialGradient>\n                            <\/defs>\n                            <circle cx=\"100\" cy=\"100\" r=\"98\" fill=\"url(#abBallShade)\"\/>\n                            <path d=\"M100 6 C48 34, 48 166, 100 194\" fill=\"none\" stroke=\"rgba(15,8,4,0.72)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\n                            <path d=\"M100 6 C152 34, 152 166, 100 194\" fill=\"none\" stroke=\"rgba(15,8,4,0.72)\" stroke-width=\"2.6\" stroke-linecap=\"round\"\/>\n                            <path d=\"M8 100 C34 48, 166 48, 192 100\" fill=\"none\" stroke=\"rgba(15,8,4,0.68)\" stroke-width=\"2.4\" stroke-linecap=\"round\"\/>\n                            <path d=\"M8 100 C34 152, 166 152, 192 100\" fill=\"none\" stroke=\"rgba(15,8,4,0.68)\" stroke-width=\"2.4\" stroke-linecap=\"round\"\/>\n                            <path d=\"M28 28 C62 62, 138 62, 172 28\" fill=\"none\" stroke=\"rgba(15,8,4,0.45)\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/>\n                            <path d=\"M28 172 C62 138, 138 138, 172 172\" fill=\"none\" stroke=\"rgba(15,8,4,0.45)\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/>\n                        <\/svg>\n                    <\/div>\n                <\/div>\n                <div class=\"ab-hero-glow\"><\/div>\n            <\/div>\n\n            <div class=\"ab-hero-inner\">\n                <div class=\"ab-hero-brand ab-brand-glass\" aria-label=\"Avigliana Basket\">\n                    <img decoding=\"async\" crossorigin=\"anonymous\" class=\"ab-brand-glass__logo\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/LOGO_AB.png\" alt=\"\" title=\"\">\n                    <div class=\"ab-brand-glass__frost\" aria-hidden=\"true\"><\/div>\n                    <div class=\"ab-brand-glass__text\">\n                        <span class=\"ab-hero-brand__av\">Avigliana<\/span>\n                        <span class=\"ab-hero-brand__bk\">Basket<\/span>\n                    <\/div>\n                <\/div>\n\n                <h1 class=\"ab-hero-title\">\n                    <span class=\"ab-hero-title__keep\">Keep pushing<\/span>\n                    <span class=\"ab-hero-title__win\">Keep winning<\/span>\n                <\/h1>\n\n                <p class=\"ab-hero-sub\">Benvenuti nel sito dell&apos;Avigliana Basket<\/p>\n\n                <div class=\"ab-hero-cta\">\n                    <button type=\"button\" class=\"ab-hero-cta__primary\" onclick=\"openDynamicPage('Iscrizioni', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">\n                        Iscriviti\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <section class=\"page-section nova-bento-section void-chamber void-chamber--nexus\" id=\"nova-portal\">\n            <div class=\"void-chamber-ghost\" aria-hidden=\"true\">UNICO<\/div>\n            <div class=\"nova-bento-head void-chamber-head reveal-on-scroll\">\n                <span class=\"nova-bento-kicker void-chamber-tag\">Il tuo percorso in un click<\/span>\n                <h2 class=\"nova-bento-title void-chamber-title\">Portale <em>Unico<\/em><\/h2>\n                <p class=\"nova-bento-desc void-chamber-lead\">Tutto ci\u00f2 che serve \u2014 allenamenti, iscrizioni, partite, merch \u2014 in un unico ecosistema digitale.<\/p>\n            <\/div>\n            <div class=\"nova-bento-grid void-chamber-grid\">\n                <article class=\"nova-bento-card nova-bento-card--hero void-panel void-panel--featured reveal-on-scroll\" tabindex=\"0\" role=\"button\" onclick=\"openDynamicPage('Iscrizioni', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">\n                    <div class=\"void-panel-shine\" aria-hidden=\"true\"><\/div>\n                    <span class=\"nova-bento-icon material-icons-round\">bolt<\/span>\n                    <h3>Iscriviti alla stagione<\/h3>\n                    <p>Academy, camp estivi, corsi: compila in pochi minuti e unisciti alla famiglia verde.<\/p>\n                    <span class=\"nova-bento-link\">Apri iscrizioni \u2192<\/span>\n                <\/article>\n                <article class=\"nova-bento-card void-panel reveal-on-scroll\" tabindex=\"0\" role=\"button\" onclick=\"openDynamicPage('Portale Atleta', 'https:\/\/www.aviglianabasket.cloud\/PORTALE\/index.html')\">\n                    <div class=\"void-panel-shine\" aria-hidden=\"true\"><\/div>\n                    <span class=\"nova-bento-icon material-icons-round\">shield<\/span>\n                    <h3>Portale Atleta<\/h3>\n                    <p>Documenti, pagamenti, certificati medici \u2014 tutto in un unico spazio personale.<\/p>\n                <\/article>\n                <article class=\"nova-bento-card void-panel reveal-on-scroll\" tabindex=\"0\" role=\"button\" onclick=\"openDynamicPage('Calendario', 'https:\/\/www.aviglianabasket.it\/?page_id=2192')\">\n                    <div class=\"void-panel-shine\" aria-hidden=\"true\"><\/div>\n                    <span class=\"nova-bento-icon material-icons-round\">event<\/span>\n                    <h3>Calendario &#038; Live<\/h3>\n                    <p>Prossime partite, risultati e timeline live durante gli incontri.<\/p>\n                <\/article>\n                <article class=\"nova-bento-card void-panel reveal-on-scroll\" tabindex=\"0\" role=\"button\" onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/')\">\n                    <div class=\"void-panel-shine\" aria-hidden=\"true\"><\/div>\n                    <span class=\"nova-bento-icon material-icons-round\">checkroom<\/span>\n                    <h3>Merchandising<\/h3>\n                    <p>Maglie, felpe e gear ufficiale Avigliana Basket.<\/p>\n                <\/article>\n                <article class=\"nova-bento-card void-panel reveal-on-scroll\" tabindex=\"0\" role=\"button\" onclick=\"openSurveyPage()\">\n                    <div class=\"void-panel-shine\" aria-hidden=\"true\"><\/div>\n                    <span class=\"nova-bento-icon material-icons-round\">poll<\/span>\n                    <h3>Sondaggi attivi<\/h3>\n                    <p>La tua voce conta: partecipa ai sondaggi della societ\u00e0 in tempo reale.<\/p>\n                <\/article>\n            <\/div>\n        <\/section>\n\n        <section class=\"page-section ab-void-page\" style=\"background:#000!important\">\n            <div id=\"live-events-container\"><\/div>\n\n            <style>\n                #live-events-container h1 {\n                    font-family: 'Outfit', sans-serif;\n                    color: var(--primary);\n                    font-size: 2.2rem;\n                    font-weight: 900;\n                    margin-bottom: 20px;\n                    text-align: left;\n                    \/* Left aligned *\/\n                    text-transform: uppercase;\n                    letter-spacing: 2px;\n                    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.1);\n                }\n\n                .dark #live-events-container h1 {\n                    text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.05);\n                }\n\n                .event-box {\n                    background: var(--bg-card);\n                    border-radius: 20px;\n                    padding: 25px;\n                    margin-bottom: 20px;\n                    box-shadow: var(--shadow);\n                    border: 1px solid rgba(0, 0, 0, 0.05);\n                    position: relative;\n                    overflow: hidden;\n                }\n\n                .dark .event-box {\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                .event-box::before {\n                    content: 'LIVE';\n                    position: absolute;\n                    right: -10px;\n                    bottom: -10px;\n                    font-size: 8rem;\n                    font-family: 'Outfit';\n                    font-weight: 900;\n                    opacity: 0.03;\n                    pointer-events: none;\n                }\n\n                .title-row {\n                    display: flex;\n                    justify-content: space-between;\n                    align-items: center;\n                    margin-bottom: 15px;\n                    flex-wrap: wrap;\n                    gap: 10px;\n                }\n\n                .teams {\n                    font-size: 1.4rem;\n                    font-weight: 800;\n                    color: var(--text-main);\n                    font-family: 'Outfit';\n                }\n\n                .start-time-container {\n                    font-size: 0.9rem;\n                    font-weight: 700;\n                    background: rgba(0, 0, 0, 0.03);\n                    padding: 5px 12px;\n                    border-radius: 10px;\n                }\n\n                .dark .start-time-container {\n                    background: rgba(255, 255, 255, 0.05);\n                }\n\n                .cat-location {\n                    font-size: 0.9rem;\n                    color: var(--text-muted);\n                    font-weight: 600;\n                    margin-bottom: 20px;\n                    display: flex;\n                    align-items: center;\n                    gap: 8px;\n                }\n\n                \/* TIMELINE *\/\n                .timeline-container {\n                    margin-top: 25px;\n                }\n\n                .timeline-track {\n                    position: relative;\n                    width: 100%;\n                    height: 14px;\n                    background: rgba(0, 0, 0, 0.05);\n                    border-radius: 20px;\n                    display: flex;\n                    overflow: hidden;\n                    border: 1px solid rgba(0, 0, 0, 0.05);\n                }\n\n                .dark .timeline-track {\n                    background: rgba(255, 255, 255, 0.05);\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                .segment {\n                    height: 100%;\n                    transition: all 0.3s ease;\n                }\n\n                .ball {\n                    position: absolute;\n                    top: 50%;\n                    width: 30px;\n                    height: 30px;\n                    background: url(\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/7a\/Basketball.png\") no-repeat center;\n                    background-size: contain;\n                    transform: translate(-50%, -50%);\n                    z-index: 10;\n                    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));\n                    transition: left 1s ease-in-out;\n                }\n\n                .labels-row {\n                    display: flex;\n                    justify-content: space-between;\n                    margin-top: 10px;\n                    font-size: 0.65rem;\n                    position: relative;\n                    height: 20px;\n                    font-weight: 800;\n                    text-transform: uppercase;\n                    letter-spacing: 0.5px;\n                    color: var(--text-muted);\n                }\n\n                .label {\n                    position: absolute;\n                    transform: translateX(-50%);\n                    white-space: nowrap;\n                }\n            <\/style>\n\n            <script>\n                (function () {\n                    const CSV_URL = \"\/wp-content\/uploads\/2025\/INCONTRI.csv\";\n                    const REFRESH_MS = 60000;\n                    const TOTAL_DURATION_MIN = 140;\n\n                    function parseCSV(text) {\n                        const lines = text.trim().split(\"\\n\");\n                        return lines.map(l => l.split(\",\"));\n                    }\n\n                    function minutesSince(start) {\n                        return (new Date() - start) \/ 60000;\n                    }\n\n                    function getTimelineStructure(type) {\n                        if (type.includes(\"Seniores\")) {\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0Q\", 0, 20], [\"2\u00b0Q\", 20, 40],\n                                [\"INT\", 40, 56], [\"3\u00b0Q\", 56, 76], [\"4\u00b0Q\", 76, 96],\n                                [\"Fine\", 96, 120]\n                            ];\n                        } else if (type.includes(\"Giovanili\")) {\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0Q\", 0, 16], [\"2\u00b0Q\", 16, 32],\n                                [\"INT\", 32, 49], [\"3\u00b0Q\", 49, 65], [\"4\u00b0Q\", 65, 81],\n                                [\"Fine\", 81, 120]\n                            ];\n                        } else { \/\/ Minibasket\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0T\", 0, 25], [\"INT\", 25, 41],\n                                [\"2\u00b0T\", 41, 66], [\"Fine\", 66, 120]\n                            ];\n                        }\n                    }\n\n                    function getSegmentStyle(label) {\n                        let color = \"rgba(100, 100, 100, 0.1)\"; \/\/ Default\n                        if (label.includes(\"Q\") || label.includes(\"T\")) color = \"var(--primary)\";\n                        if (label.includes(\"INT\")) color = \"#ffa930\";\n                        if (label.includes(\"Fine\")) color = \"#e74c3c\";\n                        return `background-color: ${color}; opacity: 0.2;`;\n                    }\n\n                    function createTimeline(type, elapsed) {\n                        const structure = getTimelineStructure(type);\n                        let ballLeft = ((elapsed + 20) \/ TOTAL_DURATION_MIN) * 100;\n                        ballLeft = Math.max(0, Math.min(100, ballLeft));\n\n                        let segmentsHtml = structure.map(seg => {\n                            const [label, start, end] = seg;\n                            const width = ((end - start) \/ TOTAL_DURATION_MIN) * 100;\n                            return `<div class=\"segment\" style=\"width:${width}%; ${getSegmentStyle(label)}\"><\/div>`;\n                        }).join('');\n\n                        let labelsHtml = structure.map(seg => {\n                            const [label, start, end] = seg;\n                            const pos = (((start + end) \/ 2 + 20) \/ TOTAL_DURATION_MIN) * 100;\n                            const width = ((end - start) \/ TOTAL_DURATION_MIN) * 100;\n                            if (label === \"Fine\" || width < 5) return '';\n                            return `<div class=\"label\" style=\"left:${pos}%\">${label}<\/div>`;\n                        }).join('');\n\n                        return `\n                            <div class=\"timeline-container\">\n                                <div class=\"timeline-track\">\n                                    ${segmentsHtml}\n                                    <div class=\"ball\" style=\"left:${ballLeft}%\"><\/div>\n                                <\/div>\n                                <div class=\"labels-row\">${labelsHtml}<\/div>\n                            <\/div>\n                        `;\n                    }\n\n                    async function loadLiveEvents() {\n                        try {\n                            const r = await fetch(CSV_URL + \"?t=\" + Date.now());\n                            const text = await r.text();\n                            const rows = parseCSV(text);\n                            const container = document.getElementById(\"live-events-container\");\n\n                            const now = new Date();\n                            const today = now.toLocaleDateString('it-IT');\n\n                            let html = '';\n                            let found = false;\n\n                            rows.forEach((r, i) => {\n                                if (i === 0 || !r[2]) return;\n                                if (r[2] !== today) return;\n\n                                const [hh, mm] = r[7].split(\":\");\n                                const eventDate = new Date();\n                                eventDate.setHours(hh, mm, 0, 0);\n                                const elapsed = minutesSince(eventDate);\n\n                                if (elapsed < -20 || elapsed > 120) return;\n\n                                found = true;\n                                const title = (r[6] === \"C CASA\" || r[6] === \"CASA\") ? `${r[4]} vs ${r[5]}` : `${r[5]} vs ${r[4]}`;\n\n                                html += `\n                                    <div class=\"event-box\">\n                                        <div class=\"title-row\">\n                                            <div class=\"teams\">${title}<\/div>\n                                            <div class=\"start-time-container\">\n                                                <span style=\"opacity:0.7\">Inizio:<\/span> \n                                                <span style=\"color:var(--primary)\">${r[7]}<\/span>\n                                            <\/div>\n                                        <\/div>\n                                        <div class=\"cat-location\">\n                                            <span class=\"material-icons-round\" style=\"font-size:16px\">category<\/span> ${r[12]}\n                                            <span class=\"material-icons-round\" style=\"font-size:16px; margin-left:10px;\">place<\/span> ${r[8]}\n                                        <\/div>\n                                        ${createTimeline(r[12], elapsed)}\n                                    <\/div>\n                                `;\n                            });\n\n                            if (found) {\n                                container.innerHTML = `<h1><span class=\"material-icons-round\">sensors<\/span> Eventi Live<\/h1>` + html;\n                                container.style.display = 'block';\n                            } else {\n                                container.innerHTML = \"\";\n                                container.style.display = 'none';\n                            }\n                        } catch (e) { }\n                    }\n\n                    loadLiveEvents();\n                    setInterval(loadLiveEvents, REFRESH_MS);\n                })();\n            <\/script>\n\n            <style>\n                @keyframes pulse {\n                    0% {\n                        opacity: 1;\n                        transform: scale(1);\n                    }\n\n                    50% {\n                        opacity: 0.7;\n                        transform: scale(0.95);\n                    }\n\n                    100% {\n                        opacity: 1;\n                        transform: scale(1);\n                    }\n                }\n            <\/style>\n\n            \n        <div class=\"marquee-wrapper\">\n            <div class=\"marquee-content\">\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n            <\/div>\n        <\/div>\n\n\n        <section class=\"page-section ab-signal\" id=\"registration-promo-section\" style=\"background:#000!important\">\n            <div class=\"ab-signal__noise\" aria-hidden=\"true\"><\/div>\n            <div class=\"ab-signal__scan\" aria-hidden=\"true\"><\/div>\n            <div class=\"ab-signal__ghost\" aria-hidden=\"true\">ISCRIZIONI<\/div>\n\n            <header class=\"ab-signal__head reveal-on-scroll\">\n                <p class=\"ab-signal__kicker\"><span class=\"ab-signal__dot\"><\/span> Stagione 2026 \/ 2027 \u00b7 Portale unico<\/p>\n                <h2 class=\"ab-signal__title\">Entra in <em>campo<\/em><span class=\"ab-signal__cursor\">_<\/span><\/h2>\n                <p class=\"ab-signal__lead\">Tre percorsi, un solo click. Niente volantini: solo segnali verdi su nero assoluto.<\/p>\n            <\/header>\n\n            <div class=\"ab-signal__deck\">\n                <article class=\"ab-signal__lane ab-signal__lane--academy reveal-on-scroll\" tabindex=\"0\" role=\"button\"\n                    onclick=\"openDynamicPage('ISCRIZIONI ACADEMY', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\"\n                    onkeydown=\"if(event.key==='Enter'||event.key===' '){event.preventDefault();openDynamicPage('ISCRIZIONI ACADEMY', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')}\">\n                    <div class=\"ab-signal__lane-visual\">\n                        <img decoding=\"async\" crossorigin=\"anonymous\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/06\/ACADEMY.jpeg\" alt=\"\" loading=\"lazy\" title=\"\">\n                        <div class=\"ab-signal__lane-veil\"><\/div>\n                    <\/div>\n                    <div class=\"ab-signal__lane-body\">\n                        <span class=\"ab-signal__num\">01<\/span>\n                        <h3 class=\"ab-signal__lane-title\">Basketball Academy<\/h3>\n                        <p class=\"ab-signal__lane-desc\">Formazione annuale, tecnica e crescita dentro il club.<\/p>\n                        <span class=\"ab-signal__cta\">Iscriviti Academy <span class=\"material-icons-round\">arrow_forward<\/span><\/span>\n                    <\/div>\n                <\/article>\n\n                <article class=\"ab-signal__lane ab-signal__lane--terminal ab-signal__lane--hero reveal-on-scroll\" tabindex=\"0\" role=\"button\"\n                    onclick=\"openDynamicPage('ISCRIZIONI SUMMER SPORT CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\"\n                    onkeydown=\"if(event.key==='Enter'||event.key===' '){event.preventDefault();openDynamicPage('ISCRIZIONI SUMMER SPORT CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')}\">\n                    <div class=\"ab-signal__terminal-grid\" aria-hidden=\"true\"><\/div>\n                    <div class=\"ab-signal__lane-body ab-signal__lane-body--terminal\">\n                        <span class=\"ab-signal__num\">02<\/span>\n                        <div class=\"ab-signal__terminal-head\">\n                            <span class=\"ab-signal__pulse\"><\/span>\n                            <span>Summer Sport Camp 2026<\/span>\n                            <span class=\"ab-signal__terminal-tag\">EVERY DAY<\/span>\n                        <\/div>\n                        <div class=\"ab-signal__times\">\n                            <div class=\"ab-signal__slot\">\n                                <span>Mattina<\/span>\n                                <strong>9:30 <small>\u2192<\/small> 12:30<\/strong>\n                            <\/div>\n                            <div class=\"ab-signal__slot\">\n                                <span>Pomeriggio<\/span>\n                                <strong>13:30 <small>\u2192<\/small> 17:00<\/strong>\n                            <\/div>\n                        <\/div>\n                        <p class=\"ab-signal__dates\">15 \u2014 31 Luglio 2026<\/p>\n                        <span class=\"ab-signal__cta ab-signal__cta--solid\">Iscriviti Summer Camp <span class=\"material-icons-round\">bolt<\/span><\/span>\n                    <\/div>\n                <\/article>\n\n                <article class=\"ab-signal__lane ab-signal__lane--ssc reveal-on-scroll\" tabindex=\"0\" role=\"button\"\n                    onclick=\"openDynamicPage('ISCRIZIONI SUMMER SPORT CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\"\n                    onkeydown=\"if(event.key==='Enter'||event.key===' '){event.preventDefault();openDynamicPage('ISCRIZIONI SUMMER SPORT CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')}\">\n                    <div class=\"ab-signal__lane-body ab-signal__lane-body--first\">\n                        <span class=\"ab-signal__num\">03<\/span>\n                        <h3 class=\"ab-signal__lane-title\">Summer Sport Camp<\/h3>\n                        <p class=\"ab-signal__lane-desc\">Settimana estiva intensiva \u2014 sport, squadra, divertimento.<\/p>\n                        <span class=\"ab-signal__cta\">Apri iscrizioni <span class=\"material-icons-round\">open_in_new<\/span><\/span>\n                    <\/div>\n                    <div class=\"ab-signal__lane-visual ab-signal__lane-visual--right\">\n                        <img decoding=\"async\" crossorigin=\"anonymous\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/Summer_Sport_Camp.png\" alt=\"\" loading=\"lazy\" title=\"\">\n                        <div class=\"ab-signal__lane-veil\"><\/div>\n                    <\/div>\n                <\/article>\n            <\/div>\n        <\/section>\n\n            <div class=\"home-block reveal-on-scroll\" id=\"news-section\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">newspaper<\/span> NEWS\n                <\/h2>\n                <div style=\"display:flex; flex-direction:column; gap:20px; max-width:600px; margin:0 auto;\">\n                  <div style=\"border-radius:24px; overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(255,255,255,0.05);\">\n                    <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/SUMMERSPORTCAMP.jpeg\" alt=\"News Volantino\" style=\"width:100%; height:auto; display:block; transition:transform 0.6s cubic-bezier(0.23,1,0.32,1);\" onmouseover=\"this.style.transform=&#039;scale(1.02)&#039;\" onmouseout=\"this.style.transform=&#039;scale(1)&#039;\" title=\"\">\n                  <\/div>\n                  <div style=\"border-radius:24px; overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(255,255,255,0.05);\">\n                    <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/06\/ACADEMY.jpeg\" alt=\"Open Day\" style=\"width:100%; height:auto; display:block; transition:transform 0.6s cubic-bezier(0.23,1,0.32,1);\" onmouseover=\"this.style.transform=&#039;scale(1.02)&#039;\" onmouseout=\"this.style.transform=&#039;scale(1)&#039;\" title=\"\">\n                  <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"home-block\" id=\"timeline-container-block\">\n                <style>\n                    #timeline-widget {\n                        width: 100%;\n                        background: var(--bg-card);\n                        border-radius: 20px;\n                        overflow: hidden;\n                        border: 1px solid rgba(0, 0, 0, 0.05);\n                        box-shadow: var(--shadow);\n                        font-family: 'Inter', sans-serif;\n                        position: relative;\n                        display: flex;\n                        flex-direction: column;\n                    }\n\n                    .dark #timeline-widget {\n                        border-color: rgba(255, 255, 255, 0.05);\n                    }\n\n                    #timeline-header {\n                        padding: 20px;\n                        text-align: left;\n                        \/* Left aligned *\/\n                        border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n                        background: rgba(0, 0, 0, 0.02);\n                    }\n\n                    .dark #timeline-header {\n                        border-bottom-color: rgba(255, 255, 255, 0.05);\n                        background: rgba(255, 255, 255, 0.02);\n                    }\n\n                    #timeline-header h3 {\n                        font-family: 'Outfit';\n                        font-size: 1.2rem;\n                        font-weight: 900;\n                        text-transform: uppercase;\n                        letter-spacing: 1px;\n                        color: var(--text-main);\n                        margin-bottom: 10px;\n                    }\n\n                    .legend {\n                        display: flex;\n                        justify-content: center;\n                        gap: 20px;\n                        font-size: 0.7rem;\n                        font-weight: 800;\n                        text-transform: uppercase;\n                        letter-spacing: 1px;\n                        opacity: 0.8;\n                    }\n\n                    .legend-item {\n                        display: flex;\n                        align-items: center;\n                        gap: 6px;\n                    }\n\n                    .dot-home {\n                        width: 10px;\n                        height: 10px;\n                        border-radius: 50%;\n                        background: #10b981;\n                        box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);\n                    }\n\n                    .dot-away {\n                        width: 10px;\n                        height: 10px;\n                        border-radius: 50%;\n                        background: #e11d48;\n                        box-shadow: 0 0 10px rgba(225, 29, 72, 0.5);\n                    }\n\n                    #timeline-main {\n                        padding: 20px;\n                        position: relative;\n                        height: 180px;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        \/* Centered *\/\n                        overflow-x: auto;\n                        overflow-y: hidden;\n                        scrollbar-width: thin;\n                    }\n\n                    #timeline-main::-webkit-scrollbar {\n                        height: 4px;\n                    }\n\n                    #timeline-main::-webkit-scrollbar-thumb {\n                        background: var(--primary);\n                        border-radius: 10px;\n                    }\n\n                    #timeline-axis {\n                        position: absolute;\n                        top: 50%;\n                        left: 0;\n                        width: 100%;\n                        height: 1px;\n                        background: linear-gradient(90deg, transparent, var(--text-muted), transparent);\n                        opacity: 0.2;\n                        z-index: 1;\n                    }\n\n                    .timeline-days-wrap {\n                        display: flex;\n                        justify-content: center;\n                        \/* Centered items *\/\n                        gap: 20px;\n                        \/* Added gap for better spacing *\/\n                        height: 100%;\n                        position: relative;\n                        z-index: 2;\n                        padding: 0 40px;\n                    }\n\n                    .day-column {\n                        display: flex;\n                        flex-direction: column;\n                        align-items: center;\n                        justify-content: center;\n                        width: 80px;\n                        height: 100%;\n                        position: relative;\n                    }\n\n                    .day-badge {\n                        background: var(--bg-body);\n                        border: 1px solid rgba(0, 0, 0, 0.1);\n                        padding: 6px 10px;\n                        border-radius: 12px;\n                        text-align: center;\n                        min-width: 60px;\n                        z-index: 10;\n                        transition: all 0.3s ease;\n                    }\n\n                    .dark .day-badge {\n                        border-color: rgba(255, 255, 255, 0.1);\n                        background: #1a1a1a;\n                    }\n\n                    .day-badge.is-today {\n                        background: var(--primary);\n                        border-color: var(--primary);\n                        color: white !important;\n                        transform: scale(1.1);\n                        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n                    }\n\n                    .day-badge.is-today span {\n                        color: white !important;\n                    }\n\n                    .day-name {\n                        display: block;\n                        font-size: 0.6rem;\n                        text-transform: uppercase;\n                        font-weight: 800;\n                        color: var(--text-muted);\n                        margin-bottom: 2px;\n                    }\n\n                    .day-num {\n                        display: block;\n                        font-size: 1.1rem;\n                        font-weight: 900;\n                        color: var(--text-main);\n                        font-family: 'Outfit';\n                    }\n\n                    .match-dot {\n                        width: 28px;\n                        height: 28px;\n                        border-radius: 50%;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        color: white;\n                        font-weight: 900;\n                        font-size: 0.8rem;\n                        cursor: pointer;\n                        transition: all 0.3s;\n                        border: 2px solid rgba(255, 255, 255, 0.2);\n                        position: absolute;\n                        left: 50%;\n                        transform: translateX(-50%);\n                    }\n\n                    .match-dot:hover {\n                        transform: translateX(-50%) scale(1.2);\n                        z-index: 100;\n                        cursor: pointer;\n                    }\n\n                    .match-dot.home {\n                        background: linear-gradient(135deg, #10b981, #059669);\n                        bottom: 110px;\n                        box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3);\n                    }\n\n                    .match-dot.away {\n                        background: linear-gradient(135deg, #e11d48, #be123c);\n                        top: 110px;\n                        box-shadow: 0 4px 10px rgba(225, 29, 72, 0.3);\n                    }\n\n                    .dashed-connector {\n                        position: absolute;\n                        width: 1px;\n                        height: 20px;\n                        border-left: 1px dashed var(--text-muted);\n                        opacity: 0.4;\n                        left: 50%;\n                    }\n\n                    .dashed-connector.up {\n                        bottom: 90px;\n                    }\n\n                    .dashed-connector.down {\n                        top: 90px;\n                    }\n\n                    \/* TICKER *\/\n                    #ticker-wrap {\n                        background: var(--primary-dark);\n                        height: 36px;\n                        display: flex;\n                        align-items: center;\n                        overflow: hidden;\n                        position: relative;\n                        border-top: 1px solid rgba(255, 255, 255, 0.05);\n                    }\n\n                    .ticker-label {\n                        background: var(--primary);\n                        color: white;\n                        font-size: 0.65rem;\n                        font-weight: 900;\n                        padding: 0 15px;\n                        height: 100%;\n                        display: flex;\n                        align-items: center;\n                        z-index: 10;\n                        box-shadow: 5px 0 15px rgba(0, 0, 0, 0.3);\n                        white-space: nowrap;\n                    }\n\n                    .ticker-content {\n                        display: flex;\n                        white-space: nowrap;\n                        animation: tickerSwipe 40s linear infinite;\n                        padding-left: 20px;\n                    }\n\n                    .ticker-item {\n                        display: inline-flex;\n                        align-items: center;\n                        gap: 10px;\n                        margin-right: 30px;\n                        color: rgba(255, 255, 255, 0.9);\n                        font-size: 0.75rem;\n                    }\n\n                    .ticker-time {\n                        font-weight: 900;\n                        color: #fff;\n                        background: rgba(255, 255, 255, 0.1);\n                        padding: 2px 6px;\n                        border-radius: 4px;\n                        font-family: monospace;\n                    }\n\n                    .ticker-desc {\n                        font-weight: 700;\n                        text-transform: uppercase;\n                    }\n\n                    @keyframes tickerSwipe {\n                        0% {\n                            transform: translateX(0);\n                        }\n\n                        100% {\n                            transform: translateX(-50%);\n                        }\n                    }\n\n                    \/* MODAL *\/\n                    #match-detail-modal {\n                        position: fixed;\n                        top: 0;\n                        left: 0;\n                        width: 100%;\n                        height: 100%;\n                        background: rgba(0, 0, 0, 0.85);\n                        backdrop-filter: blur(5px);\n                        z-index: 10000;\n                        display: none;\n                        align-items: center;\n                        justify-content: center;\n                        padding: 20px;\n                    }\n\n                    .modal-content {\n                        background: var(--bg-card);\n                        width: 100%;\n                        max-width: 600px;\n                        border-radius: 30px;\n                        overflow: hidden;\n                        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);\n                        border: 1px solid rgba(255, 255, 255, 0.1);\n                        animation: modalShow 0.3s ease-out;\n                    }\n\n                    @keyframes modalShow {\n                        from {\n                            opacity: 0;\n                            transform: translateY(20px);\n                        }\n\n                        to {\n                            opacity: 1;\n                            transform: translateY(0);\n                        }\n                    }\n\n                    .modal-header {\n                        padding: 20px;\n                        border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n                        display: flex;\n                        justify-content: center;\n                        \/* Centered *\/\n                        align-items: center;\n                        position: relative;\n                    }\n\n                    .modal-title {\n                        font-family: 'Outfit';\n                        font-weight: 900;\n                        text-transform: uppercase;\n                        color: var(--primary);\n                    }\n\n                    .modal-close {\n                        position: absolute;\n                        \/* Positioned absolute for centering title *\/\n                        right: 20px;\n                        cursor: pointer;\n                        opacity: 0.6;\n                    }\n\n                    .modal-body {\n                        padding: 25px;\n                        max-height: 70vh;\n                        overflow-y: auto;\n                        text-align: center;\n                        \/* Centered content *\/\n                    }\n\n                    .event-card {\n                        background: var(--bg-body);\n                        padding: 25px;\n                        border-radius: 20px;\n                        margin-bottom: 20px;\n                        border: 1px solid rgba(0, 0, 0, 0.05);\n                        display: flex;\n                        flex-direction: column;\n                        align-items: center;\n                        \/* Centered *\/\n                    }\n\n                    .event-time {\n                        font-family: monospace;\n                        font-weight: 900;\n                        color: var(--primary);\n                        font-size: 1.1rem;\n                        margin-bottom: 10px;\n                        display: block;\n                    }\n\n                    .event-summary {\n                        font-size: 1.2rem;\n                        font-weight: 800;\n                        color: var(--text-main);\n                        margin-bottom: 15px;\n                        display: block;\n                        line-height: 1.2;\n                    }\n\n                    .event-loc {\n                        font-size: 0.9rem;\n                        color: var(--text-muted);\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        gap: 5px;\n                        margin-bottom: 15px;\n                    }\n\n                    .event-desc {\n                        font-size: 0.85rem;\n                        color: var(--text-muted);\n                        border-top: 1px solid rgba(0, 0, 0, 0.05);\n                        padding-top: 15px;\n                        line-height: 1.5;\n                        white-space: pre-line;\n                        width: 100%;\n                    }\n\n                    @media (max-width: 768px) {\n                        #timeline-main {\n                            height: 220px;\n                        }\n\n                        .match-dot.home {\n                            bottom: 130px;\n                        }\n\n                        .match-dot.away {\n                            top: 130px;\n                        }\n\n                        .dashed-connector.up {\n                            bottom: 95px;\n                        }\n\n                        .dashed-connector.down {\n                            top: 95px;\n                        }\n                    }\n                <\/style>\n\n                <div id=\"timeline-widget\">\n                    <div id=\"timeline-header\">\n                        <h3>Match Timeline &#8211; Prossimi 7 Giorni<\/h3>\n                        <div class=\"legend\">\n                            <div class=\"legend-item\"><span class=\"dot-home\"><\/span> CASA<\/div>\n                            <div class=\"legend-item\"><span class=\"dot-away\"><\/span> TRASFERTA<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div id=\"timeline-main\">\n                        <div id=\"timeline-axis\"><\/div>\n                        <div class=\"timeline-days-wrap\" id=\"days-root\">\n                            <!-- Days populate here -->\n                        <\/div>\n                    <\/div>\n\n                    <div id=\"ticker-wrap\">\n                        <div class=\"ticker-label\"><span class=\"material-icons-round\"\n                                style=\"font-size: 14px; margin-right: 5px;\">sensors<\/span> LIVE OGGI<\/div>\n                        <div class=\"ticker-content\" id=\"ticker-root\">\n                            <!-- Today events populate here -->\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div id=\"match-detail-modal\">\n                    <div class=\"modal-content\">\n                        <div class=\"modal-header\">\n                            <div class=\"modal-title\" id=\"m-title\">Dettaglio Match<\/div>\n                            <span class=\"material-icons-round modal-close\" onclick=\"closeMatchModal()\">close<\/span>\n                        <\/div>\n                        <div class=\"modal-body\" id=\"m-body\">\n                            <!-- Detail content -->\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <script>\n                    (function () {\n                        const API_KEY = \"AIzaSyDVNulAR9V16JXIK2RSRXCv6uk6AO2Nk1I\";\n                        const CAL_HOME = \"0cd5fa89ab3f8bbd58fe500d95e9df8d2c04692dfdd11fed8a04889380049052@group.calendar.google.com\";\n                        const CAL_AWAY = \"eda6118d425bd15e8b5ec8defdb2ca2a99b94ef6be7b0ffa943fc371f48cf3d8@group.calendar.google.com\";\n\n                        let allEvents = { home: [], away: [] };\n\n                        async function fetchEvents(calId, type) {\n                            const timeMin = new Date();\n                            timeMin.setHours(0, 0, 0, 0);\n                            const timeMax = new Date();\n                            timeMax.setDate(timeMax.getDate() + 7);\n\n                            const url = `https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/${encodeURIComponent(calId)}\/events?key=${API_KEY}&singleEvents=true&orderBy=startTime&timeMin=${timeMin.toISOString()}&timeMax=${timeMax.toISOString()}`;\n\n                            try {\n                                const r = await fetch(url);\n                                const d = await r.json();\n                                return (d.items || []).map(ev => ({\n                                    summary: ev.summary || \"Match\",\n                                    location: ev.location || \"PalaAvigliana\",\n                                    description: ev.description || \"\",\n                                    start: new Date(ev.start.dateTime || ev.start.date),\n                                    type: type,\n                                    dateKey: (ev.start.dateTime || ev.start.date).split('T')[0]\n                                }));\n                            } catch (e) { return []; }\n                        }\n\n                        async function initTimeline() {\n                            allEvents.home = await fetchEvents(CAL_HOME, 'HOME');\n                            allEvents.away = await fetchEvents(CAL_AWAY, 'AWAY');\n                            renderTimeline();\n                        }\n\n                        function renderTimeline() {\n                            const daysRoot = document.getElementById('days-root');\n                            const tickerRoot = document.getElementById('ticker-root');\n                            daysRoot.innerHTML = '';\n                            tickerRoot.innerHTML = '';\n\n                            const today = new Date();\n                            const todayKey = today.toISOString().split('T')[0];\n                            let tickerHtml = '';\n\n                            for (let i = 0; i < 7; i++) {\n                                const d = new Date(today);\n                                d.setDate(today.getDate() + i);\n                                const key = d.toISOString().split('T')[0];\n                                const isToday = key === todayKey;\n\n                                const hMatches = allEvents.home.filter(e => e.dateKey === key);\n                                const aMatches = allEvents.away.filter(e => e.dateKey === key);\n\n                                \/\/ Add to ticker if today\n                                if (isToday) {\n                                    [...hMatches, ...aMatches].sort((a, b) => a.start - b.start).forEach(m => {\n                                        let desc = m.summary;\n                                        if (m.description) {\n                                            let clean = m.description.replace(\/Incontro in : (CASA|TRASFERTA) fra \/i, \"\").split('--')[0].trim();\n                                            if (clean) desc = clean;\n                                        }\n                                        tickerHtml += `\n                                            <div class=\"ticker-item\">\n                                                <span class=\"ticker-time\">${m.start.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}<\/span>\n                                                <span class=\"ticker-desc\">${desc}<\/span>\n                                            <\/div>\n                                        `;\n                                    });\n                                }\n\n                                const dayCol = document.createElement('div');\n                                dayCol.className = 'day-column';\n                                dayCol.innerHTML = `\n                                    <div class=\"day-badge ${isToday ? 'is-today' : ''}\">\n                                        <span class=\"day-name\">${d.toLocaleDateString('it-IT', { weekday: 'short' })}<\/span>\n                                        <span class=\"day-num\">${d.getDate()}<\/span>\n                                    <\/div>\n                                `;\n\n                                if (hMatches.length > 0) {\n                                    const dot = document.createElement('div');\n                                    dot.className = 'match-dot home';\n                                    dot.innerText = hMatches.length;\n                                    dot.onclick = () => showMatchModal(hMatches, `CASA - ${d.toLocaleDateString('it-IT', { day: 'numeric', month: 'short' })}`);\n                                    dayCol.appendChild(dot);\n                                    const conn = document.createElement('div');\n                                    conn.className = 'dashed-connector up';\n                                    dayCol.appendChild(conn);\n                                }\n\n                                if (aMatches.length > 0) {\n                                    const dot = document.createElement('div');\n                                    dot.className = 'match-dot away';\n                                    dot.innerText = aMatches.length;\n                                    dot.onclick = () => showMatchModal(aMatches, `TRASFERTA - ${d.toLocaleDateString('it-IT', { day: 'numeric', month: 'short' })}`);\n                                    dayCol.appendChild(dot);\n                                    const conn = document.createElement('div');\n                                    conn.className = 'dashed-connector down';\n                                    dayCol.appendChild(conn);\n                                }\n\n                                daysRoot.appendChild(dayCol);\n                            }\n\n                            tickerRoot.innerHTML = tickerHtml + tickerHtml; \/\/ Double for loop\n                            if (!tickerHtml) {\n                                document.getElementById('ticker-wrap').style.display = 'none';\n                            }\n                        }\n\n                        window.showMatchModal = (matches, title) => {\n                            document.getElementById('m-title').innerText = title;\n                            let html = '';\n                            matches.forEach(m => {\n                                const isUnconfirmed = m.summary.trim().startsWith('.');\n                                const displaySummary = isUnconfirmed ? m.summary.trim().substring(1).trim() : m.summary;\n\n                                html += `\n                                    <div class=\"event-card\">\n                                        <span class=\"event-time\">${m.start.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}<\/span>\n                                        <span class=\"event-summary\">${displaySummary} ${isUnconfirmed ? '<span style=\"color:#e74c3c; font-size:10px;\">[DA CONFERMARE]<\/span>' : ''}<\/span>\n                                        <div class=\"event-loc\"><span class=\"material-icons-round\" style=\"font-size:14px\">place<\/span> ${m.location}<\/div>\n                                        ${m.description ? `<div class=\"event-desc\">${m.description}<\/div>` : ''}\n                                    <\/div>\n                                `;\n                            });\n                            document.getElementById('m-body').innerHTML = html;\n                            document.getElementById('match-detail-modal').style.display = 'flex';\n                        };\n\n                        window.closeMatchModal = () => {\n                            document.getElementById('match-detail-modal').style.display = 'none';\n                        };\n\n                        function maybeInitTimeline() {\n                            if (window.abCookieConsent && window.abCookieConsent.isAllowed('preferences')) {\n                                initTimeline();\n                                return;\n                            }\n                            var daysRoot = document.getElementById('days-root');\n                            var tickerRoot = document.getElementById('ticker-root');\n                            var msg = '<p class=\"ab-calendar-consent-msg\">Per visualizzare prossimi incontri e calendario Google accetta i cookie di preferenza. <button type=\"button\" class=\"ab-calendar-consent-msg__btn\">Gestisci cookie<\/button><\/p>';\n                            if (daysRoot) daysRoot.innerHTML = msg;\n                            if (tickerRoot) tickerRoot.innerHTML = '';\n                            document.querySelectorAll('.ab-calendar-consent-msg__btn').forEach(function (btn) {\n                                btn.addEventListener('click', function () {\n                                    if (window.abCookieConsent) window.abCookieConsent.openBanner();\n                                });\n                            });\n                        }\n\n                        document.addEventListener('ab-cookie-consent', function (e) {\n                            if (e.detail && e.detail.level === 'all') initTimeline();\n                        });\n\n                        maybeInitTimeline();\n                    })();\n                <\/script>\n            <\/div>\n\n            <div class=\"home-block reveal-on-scroll\" id=\"fotonews-section\">\n                <h2 class=\"block-title\"><span class=\"material-icons-round\">photo_camera<\/span> Ultime FotoNews<\/h2>\n                <div id=\"ab-widget-wrap\">\n                    <style>\n                        #ab-widget-wrap {\n                            width: 100%;\n                            font-family: 'Inter', system-ui, sans-serif;\n                            margin: 10px 0;\n                        }\n\n                        #ab-grid {\n                            display: grid;\n                            grid-template-columns: repeat(5, 1fr);\n                            gap: 15px;\n                        }\n\n                        .ab-item {\n                            background: var(--bg-card);\n                            border-radius: 20px;\n                            overflow: hidden;\n                            cursor: pointer;\n                            border: 1px solid rgba(0, 0, 0, 0.05);\n                            display: flex;\n                            flex-direction: column;\n                            transition: all 0.3s ease;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .dark .ab-item {\n                            border-color: rgba(255, 255, 255, 0.05);\n                        }\n\n                        .ab-img-container {\n                            aspect-ratio: 1 \/ 1;\n                            overflow: hidden;\n                            position: relative;\n                            background: #000;\n                        }\n\n                        .ab-item img {\n                            width: 100%;\n                            height: 100%;\n                            object-fit: cover;\n                            display: block;\n                        }\n\n                        .ab-item:hover {\n                            border-color: var(--primary);\n                            transform: translateY(-5px);\n                        }\n\n                        .ab-data-footer {\n                            padding: 12px;\n                            background: var(--bg-card);\n                            text-align: center;\n                            border-top: 1px solid rgba(0, 0, 0, 0.05);\n                        }\n\n                        .dark .ab-data-footer {\n                            border-top-color: rgba(255, 255, 255, 0.05);\n                        }\n\n                        .ab-team-name {\n                            display: block;\n                            font-size: 12px;\n                            font-weight: 800;\n                            color: var(--primary);\n                            text-transform: uppercase;\n                            white-space: nowrap;\n                            overflow: hidden;\n                            text-overflow: ellipsis;\n                            font-family: 'Outfit';\n                        }\n\n                        .ab-match-info {\n                            display: block;\n                            font-size: 11px;\n                            color: var(--text-muted);\n                            margin: 4px 0;\n                        }\n\n                        .ab-score-box {\n                            display: flex;\n                            justify-content: center;\n                            align-items: center;\n                            gap: 5px;\n                            margin-top: 6px;\n                        }\n\n                        .ab-score {\n                            font-size: 12px;\n                            font-weight: 700;\n                            color: var(--text-main);\n                        }\n\n                        .ab-result-badge {\n                            font-size: 9px;\n                            padding: 2px 6px;\n                            border-radius: 4px;\n                            font-weight: 800;\n                            color: white;\n                            text-transform: uppercase;\n                        }\n\n                        .badge-vinto {\n                            background: #00482c;\n                        }\n\n                        .badge-perso {\n                            background: #e74c3c;\n                        }\n\n                        .badge-nullo {\n                            background: #777;\n                        }\n\n                        \/* Lightbox *\/\n                        #ab-z-box {\n                            position: fixed;\n                            top: 0;\n                            left: 0;\n                            width: 100%;\n                            height: 100%;\n                            background: rgba(0, 0, 0, 0.9);\n                            display: none;\n                            align-items: center;\n                            justify-content: center;\n                            flex-direction: column;\n                            z-index: 999999;\n                            cursor: pointer;\n                            backdrop-filter: blur(10px);\n                        }\n\n                        #ab-z-img {\n                            max-width: 95vw;\n                            max-height: 80vh;\n                            border-radius: 20px;\n                            border: 4px solid white;\n                            box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);\n                            background: #111;\n                            object-fit: contain;\n                        }\n\n                        #ab-z-close {\n                            position: absolute;\n                            top: 30px;\n                            right: 30px;\n                            color: white;\n                            font-size: 30px;\n                            background: var(--primary);\n                            width: 50px;\n                            height: 50px;\n                            display: flex;\n                            align-items: center;\n                            justify-content: center;\n                            border-radius: 50%;\n                            z-index: 9999999;\n                        }\n\n                        #ab-z-note {\n                            margin-top: 20px;\n                            color: white;\n                            font-size: 20px;\n                            text-align: center;\n                            max-width: 900px;\n                            padding: 20px 40px;\n                            background: rgba(255, 255, 255, 0.15);\n                            border-radius: 20px;\n                            line-height: 1.8;\n                            font-family: 'Inter';\n                            font-weight: 500;\n                            text-shadow: 1px 1px 2px rgba(0,0,0,0.8);\n                        }\n\n                        \/* Filter Controls *\/\n                        #ab-controls {\n                            display: flex;\n                            justify-content: center;\n                            align-items: center;\n                            gap: 15px;\n                            margin-bottom: 30px;\n                            flex-wrap: wrap;\n                        }\n\n                        .ab-filter-label {\n                            color: var(--text-muted);\n                            font-size: 14px;\n                            font-weight: 600;\n                        }\n\n                        .ab-select {\n                            background: var(--bg-card);\n                            color: var(--text-main);\n                            border: 1px solid rgba(0, 0, 0, 0.1);\n                            padding: 10px 15px;\n                            border-radius: 12px;\n                            font-size: 14px;\n                            outline: none;\n                            cursor: pointer;\n                            min-width: 200px;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .dark .ab-select {\n                            border-color: rgba(255, 255, 255, 0.1);\n                        }\n\n                        .ab-reset-btn {\n                            background: var(--primary);\n                            color: white;\n                            border: none;\n                            padding: 10px 20px;\n                            border-radius: 12px;\n                            font-size: 14px;\n                            font-weight: 700;\n                            cursor: pointer;\n                            transition: all 0.3s;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .ab-reset-btn:hover {\n                            background: var(--primary-dark);\n                            transform: scale(1.05);\n                        }\n\n                        @media (max-width: 1200px) {\n                            #ab-grid {\n                                grid-template-columns: repeat(3, 1fr);\n                            }\n                        }\n\n                        @media (max-width: 900px) {\n                            #ab-grid {\n                                grid-template-columns: repeat(2, 1fr);\n                            }\n                        }\n\n                        @media (max-width: 500px) {\n                            #ab-grid {\n                                grid-template-columns: 1fr;\n                            }\n                        }\n                    <\/style>\n\n                    <div id=\"ab-controls\">\n                        <label class=\"ab-filter-label\">Filtra per squadra:<\/label>\n                        <select id=\"team-filter\" class=\"ab-select\">\n                            <option value=\"\">Tutte le squadre<\/option>\n                        <\/select>\n                        <button id=\"reset-filter\" class=\"ab-reset-btn\">Reset<\/button>\n                    <\/div>\n\n                    <div id=\"ab-grid\"><\/div>\n\n\n\n                    <script>\n                        (function () {\n                            const api = 'https:\/\/www.aviglianabasket.cloud\/apiF.php?action=photos';\n                            const b1 = 'https:\/\/www.aviglianabasket.cloud\/uploads\/';\n                            const b2 = 'https:\/\/aviglianabasket.cloud\/uploads\/';\n\n                            let allPhotos = [];\n                            const grid = document.getElementById('ab-grid');\n                            const teamFilter = document.getElementById('team-filter');\n                            const resetBtn = document.getElementById('reset-filter');\n\n                            function formatDate(d) {\n                                if (!d) return '';\n                                const p = d.split('-');\n                                return p.length === 3 ? p[2] + '\/' + p[1] : d;\n                            }\n\n                            function renderPhotos(data) {\n                                if (!Array.isArray(data)) return;\n\n                                console.log('FotoNews Data:', data);\n                                const publishedData = data;\n\n                                if (publishedData.length === 0) {\n                                    grid.innerHTML = '<p style=\"color:var(--text-muted); font-size:14px; text-align:center; grid-column:1\/-1; padding: 40px;\">Nessuna foto trovata.<\/p>';\n                                    return;\n                                }\n\n                                grid.innerHTML = publishedData.slice(0, 10).map(p => {\n                                    const file = p.filename;\n                                    const date = formatDate(p.data_partita);\n                                    const res = p.risultato || 'Nullo';\n                                    const badge = res.toLowerCase() === 'vinto' ? 'badge-vinto' : (res.toLowerCase() === 'perso' ? 'badge-perso' : 'badge-nullo');\n                                    const safeNote = (p.note || '').replace(\/'\/g, \"&#39;\").replace(\/\"\/g, \"&quot;\");\n\n                                    return `\n                                        <div class=\"ab-item\" onclick=\"abOpen(this)\" data-note=\"${safeNote}\">\n                                            <div class=\"ab-img-container\">\n                                                <img decoding=\"async\" src=\"${b1}${file}\" \n                                                     referrerpolicy=\"no-referrer\" \n                                                     onerror=\"if(this.src.includes('www.')){this.src='${b2}${file}';}\">\n                                            <\/div>\n                                            <div class=\"ab-data-footer\">\n                                                <span class=\"ab-team-name\">${p.nome_squadra || 'Squadra'}<\/span>\n                                                <span class=\"ab-match-info\">${date} vs ${p.avversario || '?'}<\/span>\n                                                <div class=\"ab-score-box\">\n                                                    <span class=\"ab-score\">${p.punteggio || '-'}<\/span>\n                                                    ${res !== 'Nullo' ? `<span class=\"ab-result-badge ${badge}\">${res}<\/span>` : ''}\n                                                <\/div>\n                                            <\/div>\n                                        <\/div>\n                                    `;\n                                }).join('');\n                            }\n\n                            function populateFilter(data) {\n                                if (!Array.isArray(data)) return;\n                                const teams = [...new Set(data.map(p => p.nome_squadra).filter(Boolean))].sort();\n                                teams.forEach(team => {\n                                    const opt = document.createElement('option');\n                                    opt.value = team;\n                                    opt.textContent = team;\n                                    teamFilter.appendChild(opt);\n                                });\n                            }\n\n                            function extractPhotos(d) {\n                                return Array.isArray(d) ? d : (d && d.status === 'success' ? d.data : null);\n                            }\n\n                            function applyPhotos(dataArr) {\n                                if (!Array.isArray(dataArr) || dataArr.length === 0) return false;\n                                allPhotos = dataArr;\n                                populateFilter(allPhotos);\n                                renderPhotos(allPhotos);\n                                return true;\n                            }\n\n                            function loadPhotosJsonp(baseUrl) {\n                                return new Promise(function (resolve, reject) {\n                                    var cb = 'abPhotosCb_' + Date.now();\n                                    var script = document.createElement('script');\n                                    var sep = baseUrl.indexOf('?') >= 0 ? '&' : '?';\n                                    script.src = baseUrl + sep + 'callback=' + cb;\n                                    window[cb] = function (payload) {\n                                        delete window[cb];\n                                        if (script.parentNode) script.parentNode.removeChild(script);\n                                        resolve(payload);\n                                    };\n                                    script.onerror = function () {\n                                        delete window[cb];\n                                        if (script.parentNode) script.parentNode.removeChild(script);\n                                        reject(new Error('JSONP failed'));\n                                    };\n                                    document.head.appendChild(script);\n                                });\n                            }\n\n                            async function init() {\n                                const cacheBuster = `t=${Date.now()}`;\n                                const urls = [\n                                    `https:\/\/www.aviglianabasket.cloud\/apiCALL.php?action=photos_public&${cacheBuster}`,\n                                    `${api}&${cacheBuster}`,\n                                    `https:\/\/aviglianabasket.cloud\/apiF.php?action=photos&${cacheBuster}`\n                                ];\n\n                                for (const url of urls) {\n                                    try {\n                                        const d = await jQuery.ajax({\n                                            url: url,\n                                            method: 'GET',\n                                            dataType: 'json',\n                                            xhrFields: { withCredentials: false },\n                                            timeout: 20000\n                                        });\n                                        const dataArr = extractPhotos(d);\n                                        if (applyPhotos(dataArr)) return;\n                                    } catch (err) {\n                                        console.warn('FotoNews: ajax fallito', url, err);\n                                    }\n                                }\n\n                                try {\n                                    const jsonpUrl = `${api}&${cacheBuster}`;\n                                    const d = await loadPhotosJsonp(jsonpUrl);\n                                    if (applyPhotos(extractPhotos(d))) return;\n                                } catch (err) {\n                                    console.warn('FotoNews: JSONP fallito', err);\n                                }\n\n                                grid.innerHTML = '<p style=\"color:var(--text-muted); font-size:14px; text-align:center; grid-column:1\/-1; padding: 40px;\">Nessuna foto trovata o errore di connessione API.<\/p>';\n                            }\n\n                            teamFilter.addEventListener('change', (e) => {\n                                const selectedTeam = e.target.value;\n                                if (!selectedTeam) {\n                                    renderPhotos(allPhotos);\n                                } else {\n                                    const filtered = allPhotos.filter(p => p.nome_squadra === selectedTeam);\n                                    renderPhotos(filtered);\n                                }\n                            });\n\n                            resetBtn.addEventListener('click', () => {\n                                teamFilter.value = \"\";\n                                renderPhotos(allPhotos);\n                            });\n\n                            window.abOpen = (el) => {\n                                const thumb = el.querySelector('img');\n                                const box = document.getElementById('ab-z-box');\n                                const img = document.getElementById('ab-z-img');\n                                const load = document.getElementById('ab-load-msg');\n                                const noteBox = document.getElementById('ab-z-note');\n\n                                const noteText = el.getAttribute('data-note');\n\n                                if (thumb && thumb.src) {\n                                    load.style.display = 'block';\n                                    img.src = '';\n                                    img.src = thumb.src;\n\n                                    if (noteBox) {\n                                        noteBox.innerText = noteText || '';\n                                        noteBox.style.display = noteText ? 'block' : 'none';\n                                    }\n\n                                    box.style.display = 'flex';\n                                }\n                            };\n\n                            init();\n                        })();\n                    <\/script>\n                <\/div>\n            <\/div>\n\n            <!-- ULTIMI RISULTATI SECTION -->\n            <div class=\"home-block reveal-on-scroll\" id=\"results-block\" style=\"margin-top: 40px;\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">emoji_events<\/span> ULTIMI RISULTATI\n                <\/h2>\n                <div class=\"results-marquee\">\n                    <div class=\"results-track\" id=\"results-track\">\n                        <div style=\"padding: 20px; color: var(--text-muted); font-family: 'Outfit'; font-weight: 600;\">\n                            <span class=\"material-icons-round\" style=\"vertical-align: middle; margin-right: 5px; animation: spin 2s linear infinite;\">sync<\/span>\n                            Caricamento risultati in corso&#8230;\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <script>\n                (function() {\n                    async function fetchLastResults() {\n                        const track = document.getElementById('results-track');\n                        if (!track) return;\n                        \n                        try {\n                            const [data, oppsData] = await Promise.all([\n                                fetch('https:\/\/www.aviglianabasket.cloud\/apiCALL.php?action=read&table=CAL_Matches').then(r=>r.json()),\n                                fetch('https:\/\/www.aviglianabasket.cloud\/apiCALL.php?action=read&table=CAL_Opponents').then(r=>r.json()).catch(()=>[])\n                            ]);\n                            const opponents = Array.isArray(oppsData) ? oppsData : (oppsData?.data || []);\n                            \n                            const matches = Array.isArray(data) ? data : (data.data || []);\n                            \/\/ DEBUG TEMPORANEO \u2014 rimuovere dopo verifica\n                            console.log('[RISULTATI] opponents campione:', opponents.slice(0,3).map(o=>({id:o.id, nome:o.nome, logo_url:o.logo_url})));\n                            console.log('[RISULTATI] matches campione:', matches.slice(0,3).map(m=>({avversario_id:m.avversario_id, avversario_nome:m.avversario_nome})));\n                            \n                            \/\/ Filter for matches with results and sort by date descending\n                            const results = matches\n                                .filter(m => m.punti_casa !== null && m.punti_ospiti !== null && m.punti_casa !== \"\" && m.punti_ospiti !== \"\")\n                                .sort((a, b) => new Date(b.data_incontro) - new Date(a.data_incontro))\n                                .slice(0, 15); \/\/ Last 15 results\n\n                            if (results.length === 0) {\n                                track.innerHTML = '<div style=\"padding: 20px; color: var(--text-muted);\">Nessun risultato recente disponibile.<\/div>';\n                                return;\n                            }\n\n                            const cardsHtml = results.map(m => {\n                                const pc = parseInt(m.punti_casa) || 0;\n                                const po = parseInt(m.punti_ospiti) || 0;\n                                const isCasa = m.is_casa == 1;\n                                \n                                \/\/ Logic for Win\/Loss: if isCasa, we win if pc > po. If not isCasa, we win if po > pc.\n                                const isWin = isCasa ? (pc > po) : (po > pc);\n                                const dateStr = new Date(m.data_incontro).toLocaleDateString('it-IT', { day: '2-digit', month: '2-digit' });\n                                \n                                const homeTeam = isCasa ? 'Avigliana' : (m.avversario_nome || 'Avversario');\n                                const awayTeam = isCasa ? (m.avversario_nome || 'Avversario') : 'Avigliana';\n\n                                const oppObj = opponents.find(o => String(o.id) === String(m.avversario_id));\n                                const avLogoSrc = m.squadra_logo_url || 'https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/LOGO_AB.png';\n                                const oppLogoSrc = oppObj?.logo_url ? `https:\/\/www.aviglianabasket.cloud\/LOGO_AVVERSARI\/${oppObj.logo_url}` : null;\n\n                                const homeLogoSrc = isCasa ? avLogoSrc : oppLogoSrc;\n                                const awayLogoSrc = isCasa ? oppLogoSrc : avLogoSrc;\n\n                                const logoStyle = 'width:56px;height:56px;object-fit:contain;border-radius:5px;display:block;margin:0 auto 4px;';\n                                const logoPlaceholder = '<div style=\"width:56px;height:56px;margin:0 auto 4px;\"><\/div>';\n\n                                return `\n                                    <div class=\"result-card\">\n                                        <div class=\"result-header\">\n                                            <span>${m.squadra_nome || 'Team'}<\/span>\n                                            <span class=\"result-badge ${isWin ? 'badge-win' : 'badge-loss'}\">${isWin ? 'VITTORIA' : 'SCONFITTA'}<\/span>\n                                        <\/div>\n                                        <div class=\"result-teams\">\n                                            <div style=\"display:flex;flex-direction:column;align-items:center;width:100px;\">\n                                              ${homeLogoSrc ? `<img decoding=\"async\" crossorigin=\"anonymous\" src=\"${homeLogoSrc}\" style=\"${logoStyle}\" onerror=\"this.style.display='none'\">` : logoPlaceholder}\n                                              <span class=\"result-team\" style=\"text-align:center;\">${homeTeam}<\/span>\n                                            <\/div>\n                                            <div class=\"result-score-wrap\">\n                                                <div class=\"result-score\">\n                                                  <span style=\"color:${pc > po ? '#4ade80' : pc < po ? '#ef4444' : 'rgba(255,255,255,0.8)'}; text-shadow:${pc > po ? '0 0 10px rgba(74,222,128,0.5)' : pc < po ? '0 0 10px rgba(239,68,68,0.4)' : 'none'};\">${pc}<\/span>\n                                                  <span style=\"color:rgba(255,255,255,0.3); font-size:0.7em; margin:0 2px;\">-<\/span>\n                                                  <span style=\"color:${po > pc ? '#4ade80' : po < pc ? '#ef4444' : 'rgba(255,255,255,0.8)'}; text-shadow:${po > pc ? '0 0 10px rgba(74,222,128,0.5)' : po < pc ? '0 0 10px rgba(239,68,68,0.4)' : 'none'};\">${po}<\/span>\n                                                <\/div>\n                                            <\/div>\n                                            <div style=\"display:flex;flex-direction:column;align-items:center;width:100px;\">\n                                              ${awayLogoSrc ? `<img decoding=\"async\" crossorigin=\"anonymous\" src=\"${awayLogoSrc}\" style=\"${logoStyle}\" onerror=\"this.style.display='none'\">` : logoPlaceholder}\n                                              <span class=\"result-team\" style=\"text-align:center;\">${awayTeam}<\/span>\n                                            <\/div>\n                                        <\/div>\n                                        <div class=\"result-footer\">\n                                            <span class=\"material-icons-round\" style=\"font-size: 14px;\">calendar_today<\/span>\n                                            ${dateStr} \u2022 ${m.tipo_incontro || 'Campionato'}\n                                        <\/div>\n                                    <\/div>\n                                `;\n                            }).join('');\n\n                            \/\/ Duplicate content for seamless loop\n                            track.innerHTML = cardsHtml + cardsHtml;\n                            \n                        } catch (error) {\n                            console.error('Error fetching results:', error);\n                            track.innerHTML = '<div style=\"padding: 20px; color: var(--text-muted);\">Errore nel caricamento dei risultati.<\/div>';\n                        }\n                    }\n                    \n                    \/\/ Initialize after a short delay to ensure DOM is ready and animations can start smoothly\n                    setTimeout(fetchLastResults, 500);\n                })();\n            <\/script>\n\n            <div id=\"merchandising-section\" class=\"home-block merchandising-parallax\">\n                <div class=\"merch-overlay\"><\/div>\n                <div class=\"merch-content\">\n                    <h2 class=\"block-title\" style=\"color: white; margin-bottom: 10px;\">\n                        <span class=\"material-icons-round\">shopping_cart<\/span> Merchandising\n                    <\/h2>\n                    <h3 class=\"void-merch-season\">\n                        STAGIONE 2026 &#8211; 2027<\/h3>\n                    <p style=\"font-size: 1.2rem; margin-bottom: 30px; font-weight: 600;\">Vesti i colori della tua\n                        squadra. Scopri il nuovo kit ufficiale.<\/p>\n                    <button type=\"button\" class=\"merch-btn merch-btn--soon\" aria-label=\"Presto online la nuova linea di abbigliamento\">Presto ON LINE la nuova linea di Abbigliamento<\/button>\n                <\/div>\n            <\/div>\n\n            <style>\n                .merchandising-parallax {\n                    position: relative;\n                    min-height: 400px;\n                    background-image: url('https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2025\/08\/AA_MERCHANDISING.jpg');\n                    background-attachment: fixed;\n                    background-position: center;\n                    background-repeat: no-repeat;\n                    background-size: cover;\n                    display: flex;\n                    align-items: center;\n                    justify-content: flex-start;\n                    \/* Left aligned content *\/\n                    text-align: left;\n                    \/* Left aligned text *\/\n                    padding: 60px 50px;\n                    \/* Increased side padding *\/\n                    border: none;\n                    overflow: hidden;\n                    border-radius: 30px;\n                    color: white;\n                }\n\n                .merch-overlay {\n                    position: absolute;\n                    top: 0;\n                    left: 0;\n                    width: 100%;\n                    height: 100%;\n                    background: rgba(0, 0, 0, 0.4);\n                    z-index: 1;\n                }\n\n                .merch-content {\n                    position: relative;\n                    z-index: 2;\n                    max-width: 800px;\n                }\n\n                .merch-btn {\n                    background: var(--primary);\n                    color: white;\n                    padding: 15px 40px;\n                    border-radius: 50px;\n                    font-weight: 900;\n                    text-decoration: none;\n                    text-transform: none;\n                    letter-spacing: 0.04em;\n                    line-height: 1.35;\n                    transition: all 0.3s ease;\n                    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);\n                    display: inline-block;\n                    border: 2px solid rgba(74, 222, 128, 0.45);\n                    font-size: clamp(0.85rem, 2.2vw, 1rem);\n                }\n\n                .merch-btn--soon {\n                    background: rgba(0, 0, 0, 0.72);\n                    color: #4ade80;\n                    cursor: default;\n                    text-align: left;\n                    max-width: 100%;\n                }\n\n                .merch-btn--soon:hover {\n                    background: rgba(0, 0, 0, 0.78);\n                    color: #86efac;\n                    transform: none;\n                    box-shadow: 0 0 28px rgba(74, 222, 128, 0.35);\n                }\n\n                .merch-btn:not(.merch-btn--soon):hover {\n                    background: #4ade80;\n                    color: #000;\n                    transform: translateY(-5px);\n                    box-shadow: 0 15px 30px rgba(74, 222, 128, 0.35);\n                }\n            <\/style>\n            <!-- SAFEGUARDING SECTION -->\n            <div class=\"home-block safeguarding-section\">\n                <div class=\"safeguarding-bg\"><\/div>\n                <div class=\"safeguarding-content\">\n                    <h2 class=\"safeguarding-title\">SAFEGUARDING<\/h2>\n                    <p class=\"safeguarding-text\">\n                        La polisportiva Avigliana Basket ha adottato le linee guida per la predisposizione dei modelli\n                        organizzativi e di controllo dell&#8217;attivit\u00e0 sportiva e dei codici di condotta a tutela dei minori\n                        e per la prevenzione delle molestie, della violenza di genere e di ogni altra forma e condizione\n                        di discriminazione. Avigliana Basket\n                    <\/p>\n                    <button onclick=\"openDynamicPage('Safeguarding', 'https:\/\/www.aviglianabasket.it\/?page_id=433')\"\n                        class=\"safeguarding-btn\" style=\"border:none; cursor:pointer;\">\n                        <span class=\"material-icons-round\">info<\/span>\n                        APPROFONDISCI\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <style>\n                .safeguarding-section {\n                    position: relative;\n                    padding: 60px 40px;\n                    border-radius: 30px;\n                    overflow: hidden;\n                    text-align: center;\n                    background: #050505;\n                    \/* Black as per image *\/\n                    color: white;\n                    margin-bottom: 20px;\n                    border: 1px solid rgba(255, 255, 255, 0.05);\n                }\n\n                .dark .safeguarding-section {\n                    background: #000;\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                \/* Light mode adjustment *\/\n                html:not(.dark) .safeguarding-section {\n                    background: var(--bg-card);\n                    color: var(--text-main);\n                    border-color: rgba(0, 0, 0, 0.05);\n                }\n\n                .safeguarding-bg {\n                    position: absolute;\n                    top: 0;\n                    left: 0;\n                    width: 100%;\n                    height: 100%;\n                    background-image: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"800\" height=\"400\" viewBox=\"0 0 800 400\"><rect width=\"800\" height=\"400\" fill=\"none\"\/><circle cx=\"400\" cy=\"200\" r=\"60\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><line x1=\"400\" y1=\"0\" x2=\"400\" y2=\"400\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\"\/><circle cx=\"0\" cy=\"200\" r=\"100\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><circle cx=\"800\" cy=\"200\" r=\"100\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><\/svg>');\n                    background-size: cover;\n                    background-position: center;\n                    opacity: 0.3;\n                    z-index: 1;\n                    pointer-events: none;\n                }\n\n                .safeguarding-content {\n                    position: relative;\n                    z-index: 2;\n                    max-width: 900px;\n                    margin: 0 auto;\n                }\n\n                .safeguarding-title {\n                    font-family: 'Outfit';\n                    font-size: 3.5rem;\n                    font-weight: 900;\n                    color: #00ff5a;\n                    \/* Bright green as per original *\/\n                    margin-bottom: 30px;\n                    letter-spacing: 2px;\n                    text-shadow: 0 0 20px rgba(0, 255, 90, 0.2);\n                }\n\n                .safeguarding-text {\n                    font-size: 1.1rem;\n                    line-height: 1.8;\n                    margin-bottom: 40px;\n                    opacity: 0.9;\n                    font-weight: 500;\n                }\n\n                .safeguarding-btn {\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 10px;\n                    background: #50d06b;\n                    \/* Soft green button as per image *\/\n                    color: white;\n                    padding: 12px 35px;\n                    border-radius: 10px;\n                    text-decoration: none;\n                    font-weight: 800;\n                    font-size: 1rem;\n                    transition: all 0.3s ease;\n                    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n                    text-transform: uppercase;\n                }\n\n                .safeguarding-btn:hover {\n                    transform: translateY(-3px);\n                    filter: brightness(1.1);\n                    box-shadow: 0 8px 25px rgba(80, 208, 107, 0.3);\n                }\n\n                @media (max-width: 768px) {\n                    .safeguarding-title {\n                        font-size: 2rem;\n                    }\n\n                    .safeguarding-text {\n                        font-size: 0.95rem;\n                    }\n\n                    .safeguarding-section {\n                        padding: 40px 20px;\n                    }\n                }\n            <\/style>\n\n            <!-- SPONSOR SECTION -->\n            <div id=\"sponsor-section\" class=\"home-block sponsor-section\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">handshake<\/span> SPONSOR\n                <\/h2>\n                <div class=\"sponsor-slider\">\n                    <div class=\"track\">\n                        <!-- FIRST SET -->\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/tecnocasa.jpg\"\n                                alt=\"Tecnocasa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Bluenergy-300x300.jpg\"\n                                alt=\"Bluenergy\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_BORDONE-300x300.jpg\"\n                                alt=\"Bordone\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GERVASI-300x300.jpg\"\n                                alt=\"Gervasi\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GIUGLAR-300x300.jpg\"\n                                alt=\"Giuglar\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LACROTA-300x300.jpg\"\n                                alt=\"La Crota\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LAROSA-300x300.jpg\"\n                                alt=\"La Rosa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LCN-300x300.jpg\"\n                                alt=\"LCN\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_MASOERO-300x300.jpg\"\n                                alt=\"Masoero\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Medical_LAB-300x300.jpg\"\n                                alt=\"Medical Lab\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Prometeus-300x300.jpg\"\n                                alt=\"Prometeus\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_SIKONS-300x300.jpg\"\n                                alt=\"Sikons\"><\/div>\n\n                        <!-- DUPLICATED SET FOR LOOP -->\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/tecnocasa.jpg\"\n                                alt=\"Tecnocasa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Bluenergy-300x300.jpg\"\n                                alt=\"Bluenergy\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_BORDONE-300x300.jpg\"\n                                alt=\"Bordone\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GERVASI-300x300.jpg\"\n                                alt=\"Gervasi\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GIUGLAR-300x300.jpg\"\n                                alt=\"Giuglar\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LACROTA-300x300.jpg\"\n                                alt=\"La Crota\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LAROSA-300x300.jpg\"\n                                alt=\"La Rosa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LCN-300x300.jpg\"\n                                alt=\"LCN\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_MASOERO-300x300.jpg\"\n                                alt=\"Masoero\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Medical_LAB-300x300.jpg\"\n                                alt=\"Medical Lab\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Prometeus-300x300.jpg\"\n                                alt=\"Prometeus\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_SIKONS-300x300.jpg\"\n                                alt=\"Sikons\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <footer>\n            <div class=\"footer-inner\">\n                <span class=\"footer-brand\"><span style=\"color:#4ade80\">Avigliana<\/span> Basket<\/span>\n                <span class=\"footer-sep\">\u00b7<\/span>\n                <span class=\"footer-copy\">Powered by <strong>R.ROSSINO<\/strong><\/span>\n                <span class=\"footer-sep\">\u00b7<\/span>\n                <span class=\"footer-year\">\u00a9 2026<\/span>\n                <span class=\"footer-sep\">\u00b7<\/span>\n                <span class=\"footer-legal\">\n                    <a href=\"#\" onclick=\"openDynamicPage('Privacy Policy', 'https:\/\/www.aviglianabasket.it\/?page_id=3'); return false;\">Privacy<\/a>\n                    <span class=\"footer-sep\">\u00b7<\/span>\n                    <button type=\"button\" id=\"ab-footer-cookie-policy\">Cookie<\/button>\n                    <span class=\"footer-sep\">\u00b7<\/span>\n                    <button type=\"button\" id=\"ab-footer-cookie-settings\">Impostazioni cookie<\/button>\n                <\/span>\n            <\/div>\n        <\/footer>\n    <\/div>\n\n    <!-- DYNAMIC OVERLAY -->\n    <div id=\"overlay-screen\">\n        <div id=\"overlay-body\"\n            style=\"background: var(--bg-card); padding: 0; border-radius: 0; box-shadow: none; height: 100%; width: 100%; display: flex; flex-direction: column;\">\n            <!-- Scripts will be loaded here -->\n            <p>Caricamento contenuti dinamici&#8230;<\/p>\n        <\/div>\n    <\/div>\n\n    <!-- BOOK SPLIT OVERLAY -->\n    <div id=\"book-split\">\n        <div class=\"split-panel split-left\"><\/div>\n        <div id=\"split-logo-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/LOGO_AB.png\" alt=\"Logo\" class=\"split-logo\" title=\"\">\n        <\/div>\n        <div class=\"split-panel split-right\"><\/div>\n    <\/div>\n\n    <script>\n        \/\/ Pre-chiudi il book-split in nero senza animazione\n        (function() {\n          const split = document.getElementById('book-split');\n          if(split) split.classList.add('intro-start');\n        })();\n\n        \/\/ Removed toggleTheme to streamline to Dark Mode Only\n\n        function closeSidebar() {\n            const sidebar = document.getElementById('sidebar');\n            if (sidebar) sidebar.classList.remove('sidebar-overlay-active');\n            document.body.classList.remove('sidebar-open');\n            const menuBtn = document.getElementById('header-menu-btn');\n            if (menuBtn) {\n                const icon = menuBtn.querySelector('.material-icons-round');\n                if (icon) icon.textContent = 'menu';\n                menuBtn.style.removeProperty('background');\n                menuBtn.style.removeProperty('box-shadow');\n            }\n            const bnavMenu = document.getElementById('bnav-menu');\n            if (bnavMenu) bnavMenu.classList.remove('bnav-active');\n        }\n\n        \/\/ GESTIONE PAGINE DINAMICHE\n        const SURVEY_PAGE_BASE = 'https:\/\/www.aviglianabasket.cloud\/wp-content\/uploads\/ab_survey.html';\n        const SURVEY_API_LIST = 'https:\/\/www.aviglianabasket.cloud\/apiC.php?action=get_active_public_surveys';\n\n        async function refreshSurveyActiveBadge() {\n            const badge = document.getElementById('survey-active-badge');\n            if (!badge) return;\n            try {\n                const res = await fetch(SURVEY_API_LIST);\n                const json = await res.json();\n                const count = (json.surveys || []).filter((s) => s.is_open).length;\n                if (count > 0) {\n                    badge.textContent = String(count);\n                    badge.classList.remove('is-hidden');\n                    badge.setAttribute('aria-hidden', 'false');\n                    badge.title = count === 1 ? '1 sondaggio attivo' : count + ' sondaggi attivi';\n                } else {\n                    badge.classList.add('is-hidden');\n                    badge.setAttribute('aria-hidden', 'true');\n                    badge.removeAttribute('title');\n                }\n            } catch (_) {\n                badge.classList.add('is-hidden');\n                badge.setAttribute('aria-hidden', 'true');\n                badge.removeAttribute('title');\n            }\n        }\n\n        function openSurveyPage() {\n            openDynamicPage('Sondaggio', SURVEY_PAGE_BASE);\n        }\n\n        function openDynamicPage(title, url) {\n\n            closeSidebar();\n\n            const split = document.getElementById('book-split');\n            split.classList.add('active');\n\n            setTimeout(() => {\n                document.body.classList.add('overlay-open');\n                const overlay = document.getElementById('overlay-screen');\n                const body = document.getElementById('overlay-body');\n\n                if (url) {\n                    body.style.padding = \"0\";\n                    body.style.height = \"100%\";\n                    body.style.flex = \"1\";\n                    body.style.overflow = \"hidden\";\n                    body.style.maxWidth = \"100%\";\n                    overlay.style.overflow = \"hidden\";\n                    \/\/ Su mobile usiamo 100vw esplicito per evitare offset laterali\n                    const isMobile = window.innerWidth <= 1024;\n                    body.innerHTML = `<iframe src=\"${url}\" style=\"width:100%;max-width:100%;height:100%;border:none;border-radius:0;background:#020617;display:block;margin:0;padding:0;\" title=\"${title.replace(\/\"\/g, '&quot;')}\"><\/iframe>`;\n                } else {\n                    body.style.padding = \"100px 50px\";\n                    body.style.height = \"auto\";\n                    body.style.flex = \"none\";\n                    overlay.style.overflow = \"auto\";\n                    body.innerHTML = `\n                        <div style=\"text-align: center; max-width: 800px; margin: 0 auto;\">\n                            <span class=\"material-icons-round\" style=\"font-size: 100px; color: var(--primary); margin-bottom: 20px;\">construction<\/span>\n                            <h2>Sezione ${title}<\/h2>\n                            <p style=\"color: var(--text-muted); margin-top: 15px;\">\n                                Questa sezione caricher\u00e0 lo script esterno fornito tramite link.<br>\n                                Il contenitore a tutto schermo assicura la massima visibilit\u00e0 dei contenuti.\n                            <\/p>\n                        <\/div>\n                    `;\n                }\n\n                overlay.classList.add('active');\n\n                setTimeout(() => {\n                    split.classList.remove('active');\n                }, 400);\n            }, 800);\n        }\n\n        function toggleMenu() {\n            const sidebar = document.getElementById('sidebar');\n            const btn = document.getElementById('header-menu-btn');\n            const isActive = sidebar.classList.toggle('sidebar-overlay-active');\n            document.body.classList.toggle('sidebar-open', isActive);\n            const icon = btn.querySelector('.material-icons-round');\n\n            if (isActive) {\n                icon.textContent = 'close';\n                btn.style.background = '#e74c3c';\n                btn.style.boxShadow = '0 4px 15px rgba(231,76,60,0.4)';\n                const bnavMenu = document.getElementById('bnav-menu');\n                if (bnavMenu) bnavMenu.classList.add('bnav-active');\n            } else {\n                icon.textContent = 'menu';\n                btn.style.removeProperty('background');\n                btn.style.removeProperty('box-shadow');\n                const bnavMenu = document.getElementById('bnav-menu');\n                if (bnavMenu) bnavMenu.classList.remove('bnav-active');\n            }\n        }\n\n        function showHome() {\n            closeSidebar();\n\n            if (document.body.classList.contains('overlay-open')) {\n                const split = document.getElementById('book-split');\n                const overlay = document.getElementById('overlay-screen');\n                split.classList.add('active');\n\n                setTimeout(() => {\n                    document.body.classList.remove('overlay-open');\n                    overlay.classList.remove('active');\n\n                    \/\/ Trigger home entry animation\n                    const hero = document.getElementById('home-hero');\n                    if (hero) {\n                        hero.classList.remove('home-slide-entry');\n                        void hero.offsetWidth;\n                        hero.classList.add('home-slide-entry');\n                    }\n\n                    setTimeout(() => {\n                        split.classList.remove('active');\n                    }, 400);\n                }, 800);\n            } else {\n                const content = document.getElementById('content-area');\n                if (content && typeof abSmoothScrollTo === 'function') {\n                    abSmoothScrollTo({ offsetTop: 0 }, 0);\n                } else if (content) {\n                    content.scrollTop = 0;\n                }\n            }\n        }\n\n        function scrollToSection(id) {\n            closeSidebar();\n            const overlay = document.getElementById('overlay-screen');\n            if (overlay.classList.contains('active')) {\n                showHome();\n                setTimeout(() => {\n                    const section = document.getElementById(id);\n                    if (section && typeof abSmoothScrollTo === 'function') abSmoothScrollTo(section, 88);\n                    else if (section) section.scrollIntoView({ behavior: 'smooth' });\n                }, 900);\n            } else {\n                const section = document.getElementById(id);\n                if (section && typeof abSmoothScrollTo === 'function') abSmoothScrollTo(section, 88);\n                else if (section) section.scrollIntoView({ behavior: 'smooth' });\n            }\n        }\n\n        function abElementScrollTop(el, container) {\n            if (!el || !container) return 0;\n            return container.scrollTop + el.getBoundingClientRect().top - container.getBoundingClientRect().top;\n        }\n\n        const AB_SCROLL_MODULE_SEL = [\n            '#home-hero',\n            '#nova-portal',\n            '#registration-promo-section',\n            '#news-section',\n            '#timeline-container-block',\n            '#fotonews-section',\n            '#results-block',\n            '#merchandising-section',\n            '.safeguarding-section',\n            '#sponsor-section'\n        ];\n\n        window.abGetScrollModules = function () {\n            const container = document.getElementById('content-area');\n            if (!container) return [];\n            return AB_SCROLL_MODULE_SEL.map(function (sel) {\n                return document.querySelector(sel);\n            }).filter(function (el) {\n                if (!el || !container.contains(el)) return false;\n                const rect = el.getBoundingClientRect();\n                return rect.height > 40 && rect.width > 0;\n            });\n        };\n\n        window.abGetCurrentModuleIndex = function (modules, container) {\n            if (!modules || !modules.length) return 0;\n            container = container || document.getElementById('content-area');\n            if (!container) return 0;\n            const anchor = container.scrollTop + 96;\n            let idx = 0;\n            for (let i = 0; i < modules.length; i++) {\n                if (abElementScrollTop(modules[i], container) <= anchor + 12) idx = i;\n            }\n            return idx;\n        };\n\n        window.abUpdateScrollModuleBtn = function () {\n            const btn = document.getElementById('ab-scroll-module-btn');\n            if (!btn) return;\n            const modules = abGetScrollModules();\n            btn.classList.toggle('ab-scroll-module-btn--disabled', !modules.length);\n            if (!modules.length) return;\n            const idx = abGetCurrentModuleIndex(modules);\n            const atEnd = idx >= modules.length - 1;\n            const icon = btn.querySelector('.material-icons-round');\n            if (icon) icon.textContent = atEnd ? 'expand_less' : 'expand_more';\n            btn.setAttribute('aria-label', atEnd ? 'Torna all\\'inizio pagina' : 'Vai al modulo successivo');\n        };\n\n        window.abScrollNextModule = function () {\n            const container = document.getElementById('content-area');\n            if (!container) return;\n            const modules = abGetScrollModules();\n            if (!modules.length) return;\n            const idx = abGetCurrentModuleIndex(modules, container);\n            const nextIdx = idx >= modules.length - 1 ? 0 : idx + 1;\n            abSmoothScrollTo(modules[nextIdx], 88);\n            setTimeout(abUpdateScrollModuleBtn, 450);\n        };\n\n        \/** Scroll fluido nel #content-area (ease-in-out, niente scatti del browser). *\/\n        window.abSmoothScrollTo = function (targetEl, offsetPx) {\n            const container = document.getElementById('content-area');\n            if (!container) return;\n            const offset = offsetPx != null ? offsetPx : 88;\n            let targetTop;\n            if (targetEl) {\n                if (typeof targetEl.getBoundingClientRect === 'function') {\n                    targetTop = Math.max(0, abElementScrollTop(targetEl, container) - offset);\n                } else if (targetEl.offsetTop != null) {\n                    targetTop = Math.max(0, targetEl.offsetTop - offset);\n                } else {\n                    targetTop = 0;\n                }\n            } else {\n                targetTop = Math.min(\n                    container.scrollHeight - container.clientHeight,\n                    container.scrollTop + container.clientHeight * 0.85\n                );\n            }\n            const start = container.scrollTop;\n            const distance = targetTop - start;\n            if (Math.abs(distance) < 2) return;\n            const duration = Math.min(1200, Math.max(650, Math.abs(distance) * 0.55));\n            const t0 = performance.now();\n            function easeInOutCubic(t) {\n                return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) \/ 2;\n            }\n            function frame(now) {\n                const p = Math.min(1, (now - t0) \/ duration);\n                container.scrollTop = start + distance * easeInOutCubic(p);\n                if (p < 1) requestAnimationFrame(frame);\n            }\n            requestAnimationFrame(frame);\n        };\n\n        window.abScrollHeroNext = function () {\n            if (typeof abScrollNextModule === 'function') {\n                abScrollNextModule();\n                return;\n            }\n            const next =\n                document.getElementById('nova-portal') ||\n                document.getElementById('registration-promo-section');\n            if (next) abSmoothScrollTo(next, 88);\n            else abSmoothScrollTo(null);\n        };\n\n        (function abScrollModuleBtnInit() {\n            const container = document.getElementById('content-area');\n            if (!container) return;\n            let scrollTick = false;\n            container.addEventListener('scroll', function () {\n                if (scrollTick) return;\n                scrollTick = true;\n                requestAnimationFrame(function () {\n                    scrollTick = false;\n                    abUpdateScrollModuleBtn();\n                });\n            }, { passive: true });\n            document.addEventListener('DOMContentLoaded', function () {\n                abUpdateScrollModuleBtn();\n            });\n            window.addEventListener('load', abUpdateScrollModuleBtn);\n            window.addEventListener('resize', abUpdateScrollModuleBtn, { passive: true });\n        })();\n\n        \/\/ INTRO SPLASH \u2014 backup (primary dismiss runs inline after #intro-splash)\n        (function() {\n          const splash = document.getElementById('intro-splash');\n          const split = document.getElementById('book-split');\n          let hidden = false;\n          function hideSplash() {\n            if (hidden || !splash || document.body.classList.contains('intro-done')) return;\n            hidden = true;\n            document.body.classList.add('intro-done');\n            document.querySelector('.ab-hero-inner')?.classList.add('ab-hero-inner--in');\n            if (split) {\n              split.classList.remove('intro-start');\n              split.style.pointerEvents = 'none';\n            }\n            splash.classList.add('intro-out');\n            splash.style.pointerEvents = 'none';\n            setTimeout(() => {\n              splash.remove();\n              if (typeof abUpdateScrollModuleBtn === 'function') abUpdateScrollModuleBtn();\n            }, 520);\n          }\n          setTimeout(hideSplash, 5400);\n        })();\n\n        window.onload = () => {\n            \/\/ Placeholder for window.onload if needed\n        };\n\n        \/\/ CUSTOM CURSOR LOGIC\n        const cursor = document.getElementById('custom-cursor');\n        const cursorRing = document.getElementById('cursor-ring');\n        const contentArea = document.getElementById('content-area');\n\n        document.addEventListener('mousemove', (e) => {\n            if (cursor) {\n                cursor.style.left = e.clientX + 'px';\n                cursor.style.top = e.clientY + 'px';\n            }\n        });\n\n\n        const updateHoverables = () => {\n            const hoverables = document.querySelectorAll('a, button, .nav-item, .submenu-item, .promo-box, .h-card, .event-box, .day-badge');\n            hoverables.forEach(item => {\n                item.addEventListener('mouseenter', () => { if(cursor) cursor.classList.add('cursor-hover'); });\n                item.addEventListener('mouseleave', () => { if(cursor) cursor.classList.remove('cursor-hover'); });\n            });\n        };\n        updateHoverables();\n\n        \/\/ PARALLAX & ENTRANCE ANIMATIONS\n        const observerOptions = {\n            threshold: 0.1\n        };\n\n        const revealObserver = new IntersectionObserver((entries) => {\n            entries.forEach(entry => {\n                if (entry.isIntersecting) {\n                    entry.target.classList.add('active');\n                    revealObserver.unobserve(entry.target);\n                }\n            });\n        }, observerOptions);\n\n        const initScrollAnimations = () => {\n            document.querySelectorAll('.ab-signal__lane, .home-block, .event-box, .sponsor-slider, .nova-bento-card, .nova-bento-head').forEach(el => {\n                el.classList.add('reveal-on-scroll');\n                revealObserver.observe(el);\n            });\n        };\n        initScrollAnimations();\n\n        const scrollProgress = document.getElementById('scroll-progress');\n        if (contentArea) {\n        contentArea.addEventListener('scroll', () => {\n            const scrolled = contentArea.scrollTop;\n            const heroBg = document.getElementById('hero-bg');\n            if (heroBg && window.innerWidth > 1024) {\n                heroBg.style.transform = `translateY(${scrolled * 0.4}px) scale(${1 + scrolled * 0.0003})`;\n            } else if (heroBg) {\n                heroBg.style.transform = 'none';\n            }\n            const h = contentArea.scrollHeight - contentArea.clientHeight;\n            if(scrollProgress) scrollProgress.style.width = (h > 0 ? (scrolled\/h)*100 : 0) + '%';\n        });\n        }\n\n        \/\/ Re-init hoverables when dynamic content is loaded (for LIVE events)\n        const observer = new MutationObserver(updateHoverables);\n        const liveContainer = document.getElementById('live-events-container');\n        if (liveContainer) {\n            observer.observe(liveContainer, { childList: true });\n        }\n    <\/script>\n<script>\n        \/\/ WOW EFFECT JS\n        \/\/ Lo smooth scrolling \u00e8 ora gestito nativamente via CSS per massimizzare la compatibilit\u00e0 coi touchpad\n\n        function abInitVanillaTilt() {\n            if (typeof VanillaTilt === 'undefined') return;\n            VanillaTilt.init(document.querySelectorAll(\".event-box\"), {\n                max: 5,\n                speed: 400,\n                glare: false,\n                scale: 1.02\n            });\n            const items = document.querySelectorAll(\".ab-item\");\n            if (items.length > 0 && !items[0].vanillaTilt) {\n                VanillaTilt.init(items, { max: 5, speed: 400, glare: false, scale: 1.02 });\n            }\n        }\n\n        if (window.abCookieConsent && window.abCookieConsent.isAllowed('preferences')) {\n            abInitVanillaTilt();\n        }\n        document.addEventListener('ab-cookie-tilt-ready', abInitVanillaTilt);\n\n        \/\/ Re-init tilt for dynamic content (ab-item is dynamic)\n        const initDynamicTilt = () => {\n            if (!window.abCookieConsent || !window.abCookieConsent.isAllowed('preferences')) return;\n            const items = document.querySelectorAll(\".ab-item\");\n            if(items.length > 0 && !items[0].vanillaTilt && typeof VanillaTilt !== 'undefined') {\n                VanillaTilt.init(items, { max: 5, speed: 400, glare: false, scale: 1.02 });\n            }\n        };\n\n        \/\/ Spotlight Glow\n        const applySpotlight = () => {\n            document.querySelectorAll('.event-box, .ab-item').forEach(card => {\n                card.addEventListener('mousemove', e => {\n                    const rect = card.getBoundingClientRect();\n                    const x = e.clientX - rect.left;\n                    const y = e.clientY - rect.top;\n                    card.style.setProperty('--mouse-x', `${x}px`);\n                    card.style.setProperty('--mouse-y', `${y}px`);\n                });\n            });\n        };\n        applySpotlight();\n\n        \/\/ MutationObserver replaces setInterval polling for dynamic content\n        const domWatcher = new MutationObserver(() => {\n            initDynamicTilt();\n            applySpotlight();\n        });\n        domWatcher.observe(document.getElementById('content-area'), {childList: true, subtree: true});\n\n        \/\/ Magnetic Buttons\n        document.querySelectorAll('.promo-btn, .merch-btn:not(.merch-btn--soon)').forEach(btn => {\n            btn.classList.add('magnetic-btn');\n            btn.addEventListener('mousemove', e => {\n                const rect = btn.getBoundingClientRect();\n                const h = rect.width \/ 2;\n                const v = rect.height \/ 2;\n                const x = e.clientX - rect.left - h;\n                const y = e.clientY - rect.top - v;\n                btn.style.transform = `translate(${x * 0.3}px, ${y * 0.3}px)`;\n            });\n            btn.addEventListener('mouseleave', () => {\n                btn.style.transform = `translate(0px, 0px)`;\n            });\n        });\n<\/script>\n\n    <!-- ===== MOBILE BOTTOM NAVIGATION BAR ===== -->\n    <div id=\"nova-cmd\" class=\"nova-cmd\" hidden aria-hidden=\"true\">\n        <div class=\"nova-cmd-backdrop\" onclick=\"closeNovaCmd()\"><\/div>\n        <div class=\"nova-cmd-panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"nova-cmd-title\">\n            <div class=\"nova-cmd-header\">\n                <span class=\"material-icons-round\">hive<\/span>\n                <div>\n                    <h2 id=\"nova-cmd-title\">Navigazione Portale Unico<\/h2>\n                    <p>Cerca una sezione o usa \u2191\u2193 + Invio<\/p>\n                <\/div>\n            <\/div>\n            <input type=\"search\" id=\"nova-cmd-input\" class=\"nova-cmd-input\" placeholder=\"Es. iscrizioni, calendario, portale\u2026\" autocomplete=\"off\" spellcheck=\"false\">\n            <ul id=\"nova-cmd-list\" class=\"nova-cmd-list\"><\/ul>\n            <div class=\"nova-cmd-foot\">\n                <span><kbd>\u2191<\/kbd><kbd>\u2193<\/kbd> naviga<\/span>\n                <span><kbd>Invio<\/kbd> apri<\/span>\n                <span><kbd>Esc<\/kbd> chiudi<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n    <nav id=\"mobile-bottom-nav\" aria-label=\"Navigazione mobile\">\n        <div class=\"bnav-item bnav-active\" id=\"bnav-home\" onclick=\"showHome(); bnavGo('home')\">\n            <span class=\"material-icons-round bnav-icon\">home<\/span>\n            <span class=\"bnav-label\">Home<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-stagione\" onclick=\"openDynamicPage('Stagione', 'https:\/\/www.aviglianabasket.it\/?page_id=139'); bnavGo('stagione')\">\n            <span class=\"material-icons-round bnav-icon\">event_note<\/span>\n            <span class=\"bnav-label\">Stagione<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-iscrizioni\" onclick=\"openDynamicPage('Iscrizioni', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/'); bnavGo('iscrizioni')\">\n            <span class=\"material-icons-round bnav-icon\">person_add<\/span>\n            <span class=\"bnav-label\">Iscriviti<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-merch\" onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/'); bnavGo('merch')\">\n            <span class=\"material-icons-round bnav-icon\">shopping_bag<\/span>\n            <span class=\"bnav-label\">Merch<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-menu\" onclick=\"toggleMenu(); bnavGo('menu')\" style=\"position:relative;\">\n            <span class=\"material-icons-round bnav-icon\">menu<\/span>\n            <span class=\"bnav-label\">Menu<\/span>\n        <\/div>\n    <\/nav>\n\n    <button type=\"button\" id=\"ab-scroll-module-btn\" class=\"ab-scroll-module-btn\" onclick=\"abScrollNextModule()\" aria-label=\"Vai al modulo successivo\">\n        <span class=\"material-icons-round\" aria-hidden=\"true\">expand_more<\/span>\n    <\/button>\n\n    <script>\n        function bnavGo(id) {\n            document.querySelectorAll('.bnav-item').forEach(el => el.classList.remove('bnav-active'));\n            const el = document.getElementById('bnav-' + id);\n            if (el) el.classList.add('bnav-active');\n        }\n        \/\/ Se l'overlay viene chiuso, torna Home attivo\n        document.addEventListener('DOMContentLoaded', function() {\n            refreshSurveyActiveBadge();\n            const origShowHome = window.showHome;\n            window.showHome = function() {\n                if (origShowHome) origShowHome();\n                bnavGo('home');\n            };\n        });\n    <\/script>\n    <div id=\"ab-z-box\" onclick=\"this.style.display='none'\">\n        <div id=\"ab-z-close\">\u00d7<\/div>\n        <div id=\"ab-load-msg\" style=\"color:white; position:absolute; font-size:12px;\">Caricamento&#8230;\n        <\/div>\n        <img decoding=\"async\" id=\"ab-z-img\" src=\"\" referrerpolicy=\"no-referrer\" onload=\"document.getElementById(&#039;ab-load-msg&#039;).style.display=&#039;none&#039;\" alt=\"\" title=\"\">\n        <div id=\"ab-z-note\"><\/div>\n    <\/div>\n\n    <!-- ===== WOW REDESIGN AB_HOME1_NEW ===== -->\n    <style id=\"wow-redesign\">\n        :root {\n            --wow-green: #00ff88;\n            --wow-green-dim: #008751;\n            --wow-gold: #C9A84C;\n            --wow-gold-light: #E8D48B;\n            --wow-gold-glow: rgba(201, 168, 76, 0.35);\n            --wow-glow: rgba(0, 255, 136, 0.35);\n            --wow-surface: rgba(8, 14, 11, 0.72);\n            --wow-border: rgba(0, 255, 136, 0.12);\n            --wow-radius: 24px;\n            --wow-radius-lg: 32px;\n        }\n\n        body {\n            background: #010302 !important;\n            color: #f0fdf4 !important;\n        }\n\n        #wow-particles {\n            position: fixed;\n            inset: 0;\n            z-index: 0;\n            pointer-events: none;\n            opacity: 0.55;\n        }\n\n        #wow-aurora {\n            position: fixed;\n            inset: -20%;\n            z-index: 0;\n            pointer-events: none;\n            background:\n                radial-gradient(ellipse 40% 30% at 15% 20%, rgba(0, 135, 81, 0.22), transparent 70%),\n                radial-gradient(ellipse 35% 40% at 85% 10%, rgba(74, 222, 128, 0.12), transparent 65%),\n                radial-gradient(ellipse 28% 22% at 78% 72%, rgba(201, 168, 76, 0.08), transparent 70%),\n                radial-gradient(ellipse 50% 35% at 50% 90%, rgba(0, 80, 48, 0.18), transparent 70%);\n            animation: wowAurora 18s ease-in-out infinite alternate;\n        }\n\n        @keyframes wowAurora {\n            0% { transform: translate(0, 0) scale(1); opacity: 0.7; }\n            50% { transform: translate(2%, -1%) scale(1.05); opacity: 1; }\n            100% { transform: translate(-1%, 2%) scale(1.02); opacity: 0.75; }\n        }\n\n        #page-bg {\n            opacity: 0.02 !important;\n            mix-blend-mode: soft-light;\n        }\n\n        #scroll-progress {\n            height: 3px !important;\n            background: linear-gradient(90deg, #9A7828, #C9A84C, #4ade80, #C9A84C, #9A7828) !important;\n            box-shadow: 0 0 20px var(--wow-glow), 0 0 12px var(--wow-gold-glow);\n        }\n\n        \/* HEADER \u2014 floating command bar *\/\n        #header-fixed {\n            top: 12px !important;\n            left: 12px !important;\n            right: 12px !important;\n            width: auto !important;\n            height: 68px !important;\n            border-radius: 20px !important;\n            background: rgba(4, 10, 7, 0.82) !important;\n            border: 1px solid var(--wow-border) !important;\n            backdrop-filter: blur(24px) saturate(180%) !important;\n            box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.03) inset !important;\n        }\n\n        .brand-name {\n            font-family: 'Syne', 'Outfit', sans-serif !important;\n            letter-spacing: 0.02em !important;\n        }\n\n        .brand-name .part1 {\n            color: var(--wow-green) !important;\n            text-shadow: 0 0 24px var(--wow-glow);\n        }\n\n        #header-menu-btn {\n            background: linear-gradient(135deg, #008751, #00c96a) !important;\n            box-shadow: 0 4px 24px rgba(0, 135, 81, 0.5) !important;\n        }\n\n        \/* Header layout \u2014 ticker non sovrapposto al brand *\/\n        #header-fixed {\n            display: flex !important;\n            align-items: center !important;\n            justify-content: space-between !important;\n            gap: 8px !important;\n            overflow: hidden !important;\n        }\n\n        .header-content-left,\n        .header-content-right {\n            flex: 0 0 auto !important;\n            z-index: 12 !important;\n        }\n\n        .branding {\n            position: relative !important;\n            left: auto !important;\n            top: auto !important;\n            transform: none !important;\n            background: rgba(4, 10, 7, 0.98) !important;\n            padding: 4px 16px 4px 0 !important;\n        }\n\n        .header-marquee-zone,\n        #header-matches {\n            flex: 1 1 auto !important;\n            min-width: 0 !important;\n            overflow: hidden !important;\n            position: relative !important;\n            left: auto !important;\n            top: auto !important;\n            transform: none !important;\n            margin: 0 8px !important;\n            z-index: 1 !important;\n            -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%) !important;\n            mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%) !important;\n        }\n\n        .header-marquee-container {\n            width: 100% !important;\n            max-width: 100% !important;\n        }\n\n        \/* SIDEBAR \u2014 neon rail *\/\n        #sidebar {\n            background: linear-gradient(180deg, rgba(3,8,5,0.98), rgba(1,4,2,0.99)) !important;\n            border-right: 1px solid var(--wow-border) !important;\n            box-shadow: 4px 0 60px rgba(0, 255, 136, 0.06) !important;\n        }\n\n        #sidebar .nav-item .material-icons-round {\n            border: 1px solid rgba(0, 255, 136, 0.15) !important;\n            background: rgba(0, 40, 24, 0.5) !important;\n            transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) !important;\n        }\n\n        #sidebar .nav-item:hover .material-icons-round,\n        #sidebar.sidebar-overlay-active .nav-item .material-icons-round {\n            border-color: rgba(0, 255, 136, 0.5) !important;\n            box-shadow: 0 0 24px var(--wow-glow) !important;\n            color: var(--wow-green) !important;\n            transform: scale(1.08);\n        }\n\n        #sidebar .nav-text {\n            font-family: 'Urbanist', sans-serif !important;\n            font-weight: 700 !important;\n        }\n\n        \/* HERO \u2014 cinematic *\/\n        #home-hero:not(.ab-hero-elegant) {\n            min-height: 100svh !important;\n            display: flex !important;\n            flex-direction: column !important;\n            align-items: center !important;\n            justify-content: center !important;\n            padding: calc(var(--header-height) + 40px) 24px 80px !important;\n        }\n\n        .hero-overlay {\n            background:\n                radial-gradient(ellipse 80% 60% at 50% 40%, rgba(0, 60, 35, 0.25), transparent),\n                linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(1,3,2,0.85) 75%, #010302 100%) !important;\n        }\n\n        .hero-wow-content {\n            position: relative;\n            z-index: 4;\n            text-align: center;\n            max-width: 900px;\n            padding: 0 20px;\n            animation: heroReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;\n        }\n\n        @keyframes heroReveal {\n            from { opacity: 0; transform: translateY(40px) scale(0.96); }\n            to { opacity: 1; transform: translateY(0) scale(1); }\n        }\n\n        .hero-eyebrow {\n            display: inline-flex;\n            align-items: center;\n            gap: 10px;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.75rem;\n            font-weight: 800;\n            letter-spacing: 0.25em;\n            text-transform: uppercase;\n            color: rgba(255,255,255,0.5);\n            margin-bottom: 20px;\n            padding: 8px 18px;\n            border-radius: 999px;\n            border: 1px solid var(--wow-border);\n            background: rgba(0, 40, 24, 0.35);\n        }\n\n        .hero-eyebrow-dot {\n            width: 8px;\n            height: 8px;\n            border-radius: 50%;\n            background: var(--wow-green);\n            box-shadow: 0 0 12px var(--wow-green);\n            animation: pulseDot 2s ease infinite;\n        }\n\n        @keyframes pulseDot {\n            0%, 100% { opacity: 1; transform: scale(1); }\n            50% { opacity: 0.6; transform: scale(0.85); }\n        }\n\n        .hero-mega-title {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 0.12em;\n            font-family: 'Syne', 'Outfit', sans-serif;\n            font-weight: 800;\n            font-size: clamp(3rem, 10vw, 6.5rem);\n            line-height: 1;\n            margin: 0 0 18px;\n            filter: none;\n        }\n\n        .hero-title-keep {\n            color: transparent;\n            -webkit-text-fill-color: transparent;\n            -webkit-text-stroke: 0.75px rgba(255, 255, 255, 0.55);\n            paint-order: stroke fill;\n            letter-spacing: 0.18em;\n            text-shadow: none;\n        }\n\n        .hero-push-line {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            flex-wrap: nowrap;\n            white-space: nowrap;\n            gap: 0;\n            line-height: 1;\n        }\n\n        .hero-push-text {\n            color: transparent;\n            -webkit-text-fill-color: transparent;\n            -webkit-text-stroke: 0.75px rgba(74, 222, 128, 0.65);\n            paint-order: stroke fill;\n            letter-spacing: 0.14em;\n            text-shadow: 0 0 16px rgba(74, 222, 128, 0.08);\n        }\n\n        .hero-push-logo {\n            height: 0.9em;\n            width: auto;\n            display: block;\n            flex-shrink: 0;\n            object-fit: contain;\n            margin-left: 0.04em;\n            filter: drop-shadow(0 0 10px rgba(74, 222, 128, 0.3));\n            transform: translateY(0.02em);\n        }\n\n        .hero-sub {\n            font-family: 'Urbanist', sans-serif;\n            font-size: clamp(1rem, 2.5vw, 1.35rem);\n            font-weight: 600;\n            letter-spacing: 0.35em;\n            text-transform: uppercase;\n            color: rgba(255,255,255,0.45);\n            margin-bottom: 36px;\n        }\n\n        .hero-cta-row {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 14px;\n            justify-content: center;\n            margin-bottom: 48px;\n        }\n\n        .hero-cta {\n            display: inline-flex;\n            align-items: center;\n            gap: 10px;\n            padding: 16px 32px;\n            border-radius: 999px;\n            font-family: 'Urbanist', sans-serif;\n            font-weight: 800;\n            font-size: 0.85rem;\n            letter-spacing: 0.12em;\n            text-transform: uppercase;\n            cursor: pointer;\n            border: none;\n            transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);\n        }\n\n        .hero-cta--primary {\n            background: linear-gradient(135deg, #008751, #00c96a);\n            color: #fff;\n            box-shadow: 0 8px 32px rgba(0, 135, 81, 0.45), 0 0 0 1px rgba(255,255,255,0.1) inset;\n        }\n\n        .hero-cta--primary:hover {\n            transform: translateY(-3px) scale(1.02);\n            box-shadow: 0 16px 48px rgba(0, 255, 136, 0.35);\n        }\n\n        .hero-cta--ghost {\n            background: rgba(255,255,255,0.04);\n            color: #fff;\n            border: 1px solid rgba(255,255,255,0.15) !important;\n        }\n\n        .hero-cta--ghost:hover {\n            background: rgba(0, 255, 136, 0.08);\n            border-color: var(--wow-green) !important;\n        }\n\n        .hero-stats {\n            display: flex;\n            gap: 32px;\n            justify-content: center;\n            flex-wrap: wrap;\n        }\n\n        .hero-stat {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 4px;\n            padding: 16px 24px;\n            border-radius: 16px;\n            background: rgba(255,255,255,0.03);\n            border: 1px solid rgba(255,255,255,0.06);\n            min-width: 100px;\n        }\n\n        .hero-stat-num {\n            font-family: 'Bebas Neue', sans-serif;\n            font-size: 2.2rem;\n            color: var(--wow-green);\n            line-height: 1;\n        }\n\n        .hero-stat-lbl {\n            font-size: 0.65rem;\n            font-weight: 700;\n            letter-spacing: 0.15em;\n            text-transform: uppercase;\n            color: rgba(255,255,255,0.4);\n        }\n\n        #hero-mobile-logo {\n            margin-bottom: 24px;\n        }\n\n        .scroll-indicator {\n            bottom: 100px !important;\n            opacity: 0.5 !important;\n        }\n\n        \/* CONTENT AREA *\/\n        #content-area {\n            z-index: 2;\n        }\n\n        .page-section {\n            padding: 80px 32px !important;\n        }\n\n        .home-block {\n            background: var(--wow-surface) !important;\n            border: 1px solid var(--wow-border) !important;\n            border-radius: var(--wow-radius-lg) !important;\n            backdrop-filter: blur(20px) !important;\n            box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.02) inset !important;\n            position: relative;\n            overflow: hidden;\n        }\n\n        .home-block::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 1px;\n            background: linear-gradient(90deg, transparent, var(--wow-green), transparent);\n            opacity: 0.5;\n        }\n\n        .block-title {\n            font-family: 'Syne', 'Outfit', sans-serif !important;\n            font-size: clamp(1.8rem, 4vw, 2.6rem) !important;\n            background: linear-gradient(135deg, #fff 30%, #4ade80);\n            -webkit-background-clip: text;\n            background-clip: text;\n            -webkit-text-fill-color: transparent;\n        }\n\n        .block-title::after {\n            background: linear-gradient(90deg, var(--wow-green), transparent) !important;\n            height: 4px !important;\n            border-radius: 4px !important;\n        }\n\n        \/* PROMO CARDS *\/\n        .promo-box {\n            border-radius: var(--wow-radius) !important;\n            border: 1px solid var(--wow-border) !important;\n            background: rgba(6, 14, 10, 0.85) !important;\n            overflow: hidden;\n            transition: transform 0.5s cubic-bezier(0.23,1,0.32,1), box-shadow 0.5s ease !important;\n        }\n\n        .promo-box:hover {\n            transform: translateY(-12px) !important;\n            box-shadow: 0 30px 80px rgba(0, 255, 136, 0.12), 0 0 0 1px rgba(0,255,136,0.2) !important;\n        }\n\n        .promo-btn {\n            background: linear-gradient(135deg, #008751, #00b35f) !important;\n            border-radius: 14px !important;\n            letter-spacing: 0.1em !important;\n            box-shadow: 0 6px 24px rgba(0,135,81,0.35) !important;\n        }\n\n        \/* MARQUEE *\/\n        .marquee-wrapper {\n            background: linear-gradient(135deg, rgba(0,135,81,0.9), rgba(0,80,48,0.95)) !important;\n            border: 1px solid rgba(0,255,136,0.2) !important;\n            border-radius: 20px !important;\n            transform: rotate(-1deg) !important;\n            box-shadow: 0 20px 60px rgba(0,0,0,0.4) !important;\n        }\n\n        \/* LIVE EVENTS *\/\n        .event-box, .h-card {\n            border-radius: 20px !important;\n            border: 1px solid var(--wow-border) !important;\n            background: rgba(4, 12, 8, 0.9) !important;\n        }\n\n        \/* RESULTS *\/\n        .result-card {\n            border: 1px solid rgba(0, 255, 136, 0.2) !important;\n            border-radius: 16px !important;\n            background: rgba(0, 20, 12, 0.6) !important;\n        }\n\n        .result-score {\n            color: var(--wow-green) !important;\n            text-shadow: 0 0 20px var(--wow-glow) !important;\n        }\n\n        \/* TIMELINE *\/\n        #timeline-container-block {\n            border: 1px solid var(--wow-border) !important;\n        }\n\n        #timeline-widget {\n            border-radius: 20px;\n            overflow: hidden;\n        }\n\n        \/* MERCH *\/\n        .merchandising-parallax {\n            border-radius: var(--wow-radius-lg) !important;\n            border: 1px solid var(--wow-border) !important;\n            box-shadow: 0 30px 80px rgba(0,0,0,0.5) !important;\n        }\n\n        .merch-btn {\n            font-weight: 800 !important;\n            box-shadow: 0 8px 32px var(--wow-glow) !important;\n        }\n        .merch-btn--soon {\n            background: rgba(0, 0, 0, 0.78) !important;\n            color: #4ade80 !important;\n            border: 2px solid rgba(74, 222, 128, 0.55) !important;\n            text-transform: none !important;\n            letter-spacing: 0.04em !important;\n            line-height: 1.35 !important;\n            font-size: clamp(0.88rem, 2.4vw, 1.05rem) !important;\n            box-shadow: 0 0 24px rgba(74, 222, 128, 0.28), inset 0 0 0 1px rgba(74, 222, 128, 0.15) !important;\n        }\n\n        \/* SPONSOR *\/\n        #sponsor-section {\n            border-radius: var(--wow-radius-lg);\n            padding: 40px 0 !important;\n            background: rgba(4,10,7,0.5);\n            border: 1px solid var(--wow-border);\n        }\n\n        \/* FOTONEWS *\/\n        .ab-item {\n            border-radius: 16px !important;\n            border: 1px solid var(--wow-border) !important;\n            overflow: hidden;\n        }\n\n        \/* INTRO SPLASH *\/\n        #intro-splash {\n            background: radial-gradient(ellipse at center, #041a0f 0%, #000 70%) !important;\n        }\n\n        #intro-logo {\n            filter: none !important;\n        }\n\n        \/* BOTTOM NAV *\/\n        #mobile-bottom-nav {\n            left: 12px !important;\n            right: 12px !important;\n            bottom: 12px !important;\n            width: auto !important;\n            border-radius: 22px !important;\n            border: 1px solid var(--wow-border) !important;\n            background: rgba(4, 10, 7, 0.92) !important;\n            box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;\n            padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;\n        }\n\n        .bnav-item.bnav-active .bnav-icon,\n        .bnav-item.bnav-active .bnav-label {\n            color: var(--wow-green) !important;\n        }\n\n        \/* OVERLAY *\/\n        #overlay-screen {\n            background: #010302 !important;\n        }\n\n        \/* REVEAL *\/\n        .reveal-on-scroll {\n            opacity: 0;\n            transform: translateY(48px);\n            transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1);\n        }\n\n        .reveal-on-scroll.active {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        \/* Pulsante step \u2014 cerchio a destra, solo freccia *\/\n        #ab-scroll-module-btn {\n            display: none;\n            position: fixed;\n            right: 24px;\n            left: auto;\n            bottom: 28px;\n            z-index: 99950;\n            align-items: center;\n            justify-content: center;\n            width: 52px;\n            height: 52px;\n            min-width: 0;\n            padding: 0;\n            border-radius: 50%;\n            border: 1.5px solid rgba(212, 175, 55, 0.55);\n            background: linear-gradient(180deg, rgba(8, 28, 18, 0.96), rgba(0, 0, 0, 0.92));\n            backdrop-filter: blur(14px);\n            -webkit-backdrop-filter: blur(14px);\n            color: #4ade80;\n            box-shadow:\n                0 8px 28px rgba(0, 0, 0, 0.5),\n                0 0 0 1px rgba(74, 222, 128, 0.2),\n                0 0 20px rgba(74, 222, 128, 0.14);\n            cursor: pointer;\n            -webkit-tap-highlight-color: transparent;\n            transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;\n            animation: abStepBtnPulse 2.4s ease-in-out infinite;\n        }\n\n        @keyframes abStepBtnPulse {\n            0%, 100% { box-shadow: 0 10px 36px rgba(0,0,0,0.55), 0 0 0 1px rgba(74,222,128,0.25), 0 0 18px rgba(74,222,128,0.12); }\n            50% { box-shadow: 0 12px 40px rgba(0,0,0,0.6), 0 0 0 1px rgba(212,175,55,0.45), 0 0 28px rgba(74,222,128,0.28); }\n        }\n\n        #ab-scroll-module-btn .material-icons-round {\n            font-size: 28px;\n            color: #4ade80;\n            line-height: 1;\n        }\n\n        #ab-scroll-module-btn:active {\n            transform: scale(0.94);\n        }\n\n        #ab-scroll-module-btn.ab-scroll-module-btn--disabled {\n            opacity: 0.35;\n            pointer-events: none;\n        }\n\n        @media (max-width: 1024px) {\n            body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n                right: 18px;\n                bottom: calc(108px + env(safe-area-inset-bottom, 0px));\n                width: 50px;\n                height: 50px;\n            }\n        }\n\n        body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n            display: inline-flex !important;\n        }\n\n        body.intro-done:not(.overlay-open) #home-hero .scroll-indicator,\n        #home-hero .scroll-indicator.ab-hero-scroll {\n            display: none !important;\n        }\n\n        body.overlay-open #ab-scroll-module-btn,\n        body:not(.intro-done) #ab-scroll-module-btn {\n            display: none !important;\n        }\n\n        \/* FAB iscrizioni mobile *\/\n        #wow-fab {\n            display: none;\n            position: fixed;\n            right: 16px;\n            bottom: calc(88px + env(safe-area-inset-bottom, 0px));\n            z-index: 8500;\n            width: 56px;\n            height: 56px;\n            border-radius: 18px;\n            border: none;\n            background: linear-gradient(135deg, #00ff88, #008751);\n            color: #010302;\n            box-shadow: 0 8px 32px var(--wow-glow);\n            cursor: pointer;\n            align-items: center;\n            justify-content: center;\n        }\n\n        @media (max-width: 1024px) {\n            :root { --header-height: 80px; }\n            #content-area { left: 0 !important; }\n            .hero-mega-title {\n                font-size: clamp(2.4rem, 9vw, 4.2rem);\n            }\n            .hero-title-keep {\n                letter-spacing: 0.12em;\n                -webkit-text-stroke-width: 0.5px;\n            }\n            .hero-push-text {\n                letter-spacing: 0.08em;\n                -webkit-text-stroke-width: 0.5px;\n            }\n            .hero-push-logo {\n                height: 0.95em;\n            }\n            #hero-mobile-logo { display: flex !important; }\n            .hero-wow-content { margin-top: 8px; }\n        }\n\n        @media (max-width: 640px) {\n            #header-fixed {\n                top: 8px !important;\n                left: 8px !important;\n                right: 8px !important;\n                height: 60px !important;\n                border-radius: 16px !important;\n            }\n            .page-section { padding: 48px 16px !important; }\n            .hero-stats {\n                display: grid !important;\n                grid-template-columns: repeat(3, 1fr) !important;\n                gap: 8px !important;\n                width: 100% !important;\n            }\n            .hero-stat { min-width: 0 !important; padding: 10px 4px !important; }\n            .hero-stat-num { font-size: 1.5rem !important; }\n            .hero-stat-lbl { font-size: 0.5rem !important; letter-spacing: 0.06em !important; }\n            .hero-cta-row { flex-direction: column; align-items: stretch; }\n            .hero-cta { justify-content: center; }\n            #wow-fab { display: none !important; }\n        }\n\n        @media (min-width: 1025px) {\n            #hero-mobile-logo { display: none !important; }\n            #hero-mobile-logo img { max-width: 180px !important; }\n            .hero-wow-content { margin-top: 0; }\n            #hero-bg { opacity: 0.75 !important; }\n        }\n\n        @media (prefers-reduced-motion: reduce) {\n            #wow-aurora, .hero-wow-content { animation: none !important; }\n            #wow-particles { display: none; }\n        }\n    <\/style>\n\n    <!-- Fix mobile definitivo: priorit\u00e0 massima -->\n    <style id=\"mobile-critical-fix\">\n        @media (max-width: 1024px) {\n            .header-btn,\n            #header-menu-btn {\n                display: flex !important;\n            }\n            #header-menu-btn {\n                width: 56px !important;\n                height: 56px !important;\n                min-width: 56px !important;\n                min-height: 56px !important;\n                flex: 0 0 56px !important;\n                background: #008751 !important;\n                border-radius: 14px !important;\n                box-shadow: 0 4px 20px rgba(0, 135, 81, 0.55) !important;\n                align-items: center !important;\n                justify-content: center !important;\n            }\n            #header-menu-btn .material-icons-round {\n                font-size: 32px !important;\n                line-height: 1 !important;\n            }\n            #header-fixed {\n                padding-right: 10px !important;\n            }\n            #home-hero {\n                background-color: #020504 !important;\n                background-image: radial-gradient(ellipse at 50% 20%, rgba(0, 120, 70, 0.4) 0%, transparent 52%),\n                                  linear-gradient(180deg, #041a0f 0%, #020504 58%, #000 100%) !important;\n                background-size: 100% 100% !important;\n                background-repeat: no-repeat !important;\n            }\n            #hero-bg {\n                display: none !important;\n                visibility: hidden !important;\n                opacity: 0 !important;\n                pointer-events: none !important;\n            }\n            #hero-mobile-logo {\n                display: flex !important;\n            }\n            #hero-mobile-logo img {\n                max-width: min(260px, 78vw) !important;\n                width: auto !important;\n            }\n            .scroll-indicator {\n                display: flex !important;\n                bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;\n                opacity: 0.75 !important;\n                z-index: 6 !important;\n                pointer-events: auto !important;\n            }\n            .moving-light-1,\n            .moving-light-2 {\n                display: none !important;\n            }\n            #page-bg {\n                background-size: auto, 180px !important;\n                opacity: 0.025 !important;\n            }\n            #sidebar,\n            #sidebar.sidebar-overlay-active {\n                width: 100% !important;\n                max-width: 100vw !important;\n                top: 0 !important;\n                height: 100dvh !important;\n                padding-top: calc(var(--header-height) + 16px) !important;\n                padding-bottom: 24px !important;\n                overflow-y: auto !important;\n            }\n            #sidebar .nav-item {\n                min-height: 58px !important;\n                height: auto !important;\n                padding: 10px 20px !important;\n                display: flex !important;\n                align-items: center !important;\n                gap: 16px !important;\n            }\n            #sidebar .nav-item .material-icons-round {\n                width: 52px !important;\n                height: 52px !important;\n                min-width: 52px !important;\n                margin: 0 !important;\n                font-size: 28px !important;\n            }\n            #sidebar .nav-text {\n                position: static !important;\n                left: auto !important;\n                opacity: 1 !important;\n                visibility: visible !important;\n                font-size: 1.15rem !important;\n                font-weight: 700 !important;\n                pointer-events: auto !important;\n            }\n            #sidebar .submenu {\n                max-height: none !important;\n                overflow: visible !important;\n            }\n            #sidebar .submenu-item {\n                padding: 16px 24px 16px 88px !important;\n                font-size: 1.05rem !important;\n                min-height: 50px !important;\n                line-height: 1.4 !important;\n            }\n        }\n        @media (max-width: 1024px) {\n            .header-marquee-zone,\n            #header-matches {\n                margin: 0 6px !important;\n            }\n            .header-marquee-content {\n                font-size: 0.8rem !important;\n            }\n        }\n        @media (max-width: 640px) {\n            :root {\n                --header-height: 64px;\n            }\n            .logo {\n                height: 44px !important;\n                max-width: 56px !important;\n            }\n            .header-marquee-zone,\n            #header-matches {\n                margin: 0 4px !important;\n            }\n            .header-marquee-content {\n                font-size: 0.72rem !important;\n            }\n        }\n    <\/style>\n\n    <!-- Fix mobile v2: stats, marquee, bottom nav tablet, hero overflow -->\n    <style id=\"mobile-fixes-v2\">\n        @media (max-width: 1024px) {\n            #content-area {\n                padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;\n            }\n\n            body {\n                padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));\n            }\n\n            #home-hero.ab-hero-elegant {\n                min-height: 100svh !important;\n                height: 100svh !important;\n                box-sizing: border-box !important;\n                padding: calc(12px + 68px + 28px) 16px calc(96px + env(safe-area-inset-bottom, 0px)) !important;\n                display: flex !important;\n                flex-direction: column !important;\n                justify-content: center !important;\n                align-items: center !important;\n                overflow: visible !important;\n            }\n\n            #home-hero:not(.ab-hero-elegant) {\n                min-height: 100svh !important;\n                height: auto !important;\n                padding: calc(var(--header-height) + 20px) 16px calc(96px + env(safe-area-inset-bottom, 0px)) !important;\n                justify-content: flex-start !important;\n                overflow: visible !important;\n            }\n\n            #hero-mobile-logo img {\n                max-width: min(200px, 58vw) !important;\n            }\n\n            .hero-wow-content {\n                width: 100%;\n                max-width: 100%;\n            }\n\n            .hero-stats {\n                display: grid !important;\n                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\n                gap: 8px !important;\n                width: 100% !important;\n                margin-top: 4px;\n            }\n\n            .hero-stat {\n                min-width: 0 !important;\n                padding: 10px 4px !important;\n            }\n\n            .hero-stat-num {\n                font-size: clamp(1.35rem, 5vw, 1.75rem) !important;\n            }\n\n            .hero-stat-lbl {\n                font-size: 0.48rem !important;\n                letter-spacing: 0.05em !important;\n                line-height: 1.2;\n            }\n\n            .marquee-wrapper {\n                width: 100% !important;\n                max-width: 100% !important;\n                margin-left: 0 !important;\n                transform: none !important;\n                scale: 1 !important;\n                padding: 14px 0 !important;\n                margin-top: 20px !important;\n                margin-bottom: 20px !important;\n                overflow: hidden !important;\n                border-radius: 16px !important;\n            }\n\n            .marquee-content {\n                font-size: clamp(0.75rem, 2.8vw, 1rem) !important;\n                letter-spacing: 2px !important;\n            }\n\n            .marquee-content span {\n                padding: 0 18px !important;\n            }\n\n            #wow-fab {\n                display: none !important;\n            }\n        }\n\n        @media (min-width: 641px) and (max-width: 1024px) {\n            .bnav-label {\n                font-size: 11px !important;\n                max-width: none !important;\n            }\n\n            .bnav-icon,\n            .bnav-icon.material-icons-round {\n                font-size: 24px !important;\n            }\n        }\n\n        \/* Scroll indicator \u2014 visibile su mobile\/tablet *\/\n        @media (max-width: 1024px) {\n            #home-hero .scroll-indicator {\n                display: flex !important;\n                position: absolute !important;\n                left: 50% !important;\n                bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;\n                transform: translateX(-50%) !important;\n                flex-direction: column !important;\n                align-items: center !important;\n                gap: 4px !important;\n                z-index: 6 !important;\n                opacity: 0.85 !important;\n                pointer-events: auto !important;\n                cursor: pointer !important;\n                -webkit-tap-highlight-color: transparent;\n                animation: scrollWiggleMobile 2.2s ease-in-out infinite !important;\n            }\n\n            #home-hero .scroll-indicator .mouse {\n                width: 22px !important;\n                height: 34px !important;\n                border-color: rgba(74, 222, 128, 0.9) !important;\n                box-shadow: 0 0 16px rgba(74, 222, 128, 0.25);\n            }\n\n            #home-hero .scroll-indicator .wheel {\n                background: #4ade80 !important;\n            }\n\n            #home-hero .scroll-indicator-arrow {\n                display: block !important;\n                font-size: 28px !important;\n                color: #4ade80 !important;\n                filter: drop-shadow(0 0 8px rgba(74, 222, 128, 0.5));\n                line-height: 1;\n                margin-top: -2px;\n            }\n\n            #home-hero .scroll-indicator-label {\n                font-family: 'Urbanist', sans-serif !important;\n                font-size: 0.65rem !important;\n                font-weight: 800 !important;\n                letter-spacing: 0.2em !important;\n                text-transform: uppercase !important;\n                color: rgba(255, 255, 255, 0.55) !important;\n            }\n\n            @keyframes scrollWiggleMobile {\n                0%, 100% { transform: translate(-50%, 0); opacity: 0.55; }\n                50% { transform: translate(-50%, 8px); opacity: 1; }\n            }\n        }\n\n        \/* ===== GENESIS NEXUS \u2014 layer premium ===== *\/\n        #intro-hex-canvas {\n            position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.22;\n            pointer-events: none;\n            z-index: 100000;\n        }\n\n        #hive-mesh-canvas {\n            position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: 0.35;\n        }\n        #cursor-glow {\n            position: fixed; width: 420px; height: 420px; border-radius: 50%;\n            pointer-events: none; z-index: 2;\n            background: radial-gradient(circle, rgba(74,222,128,0.12) 0%, transparent 65%);\n            transform: translate(-50%, -50%);\n            transition: opacity 0.3s;\n            opacity: 0;\n            mix-blend-mode: screen;\n        }\n        body.nova-cursor-on #cursor-glow { opacity: 1; }\n\n        .nova-cmd-trigger {\n            display: none;\n            align-items: center; gap: 8px;\n            height: 42px; padding: 0 14px;\n            border-radius: 14px;\n            border: 1px solid rgba(74,222,128,0.25);\n            background: rgba(0,40,24,0.55);\n            color: #4ade80; cursor: pointer;\n            font-family: 'Urbanist', sans-serif;\n            transition: all 0.3s ease;\n        }\n        .nova-cmd-trigger:hover {\n            border-color: rgba(74,222,128,0.55);\n            box-shadow: 0 0 24px rgba(74,222,128,0.2);\n            transform: translateY(-1px);\n        }\n        .nova-cmd-trigger .material-icons-round { font-size: 20px; }\n        .nova-cmd-kbd { display: flex; gap: 4px; }\n        .nova-cmd-kbd kbd, .nova-cmd-foot kbd, .nova-cmd-hint kbd {\n            font-family: 'Urbanist', monospace;\n            font-size: 0.65rem; padding: 2px 6px; border-radius: 6px;\n            border: 1px solid rgba(255,255,255,0.15);\n            background: rgba(0,0,0,0.35); color: rgba(255,255,255,0.7);\n        }\n        @media (min-width: 900px) { .nova-cmd-trigger { display: inline-flex; } }\n\n        .nova-headline-cinematic .nova-winning-line {\n            font-family: 'Urbanist', sans-serif;\n            font-style: italic;\n            font-weight: 400;\n            font-size: 0.42em;\n            letter-spacing: 0.08em;\n            color: rgba(255,255,255,0.92);\n            text-shadow: 0 0 40px rgba(74,222,128,0.35);\n            margin-top: 0.15em;\n        }\n        .nova-gradient-fill {\n            background: linear-gradient(120deg, #4ade80, #a7f3d0, #22c55e, #4ade80);\n            background-size: 200% auto;\n            -webkit-background-clip: text; background-clip: text;\n            -webkit-text-fill-color: transparent;\n            animation: novaShimmer 4s linear infinite;\n        }\n        @keyframes novaShimmer {\n            0% { background-position: 0% center; }\n            100% { background-position: 200% center; }\n        }\n        .nova-glitch {\n            position: relative;\n            animation: novaGlitch 8s infinite;\n        }\n        @keyframes novaGlitch {\n            0%, 92%, 100% { text-shadow: none; transform: none; }\n            93% { text-shadow: 2px 0 #4ade80, -2px 0 #fff; transform: skewX(-2deg); }\n            94% { text-shadow: -2px 0 #4ade80, 2px 0 #fff; transform: skewX(2deg); }\n            95% { text-shadow: none; transform: none; }\n        }\n        .nova-logo-orbit {\n            animation: novaLogoSpin 12s linear infinite;\n            filter: drop-shadow(0 0 20px rgba(74,222,128,0.6));\n        }\n        @keyframes novaLogoSpin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n        .nova-tagline .nova-shimmer {\n            background: linear-gradient(90deg, #fff, #4ade80, #fff);\n            background-size: 200% auto;\n            -webkit-background-clip: text; background-clip: text;\n            -webkit-text-fill-color: transparent;\n            animation: novaShimmer 3s linear infinite;\n        }\n        .nova-stats-glass {\n            backdrop-filter: blur(12px);\n            border: 1px solid rgba(74,222,128,0.15);\n            border-radius: 20px;\n            padding: 12px 20px !important;\n            background: rgba(0,20,12,0.35);\n        }\n        .nova-cmd-hint {\n            position: relative; z-index: 4;\n            text-align: center; margin-top: 8px;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.68rem; letter-spacing: 0.12em;\n            text-transform: uppercase; color: rgba(255,255,255,0.35);\n        }\n\n        .nova-orbit-hub {\n            position: relative; z-index: 4;\n            width: min(420px, 90vw); height: min(420px, 90vw);\n            margin: 28px auto 4px;\n        }\n        .nova-orbit-ring {\n            position: absolute; inset: 12%; border-radius: 50%;\n            border: 1px dashed rgba(74,222,128,0.15);\n            pointer-events: none;\n        }\n        .nova-orbit-ring--1 { animation: novaRingSpin 40s linear infinite; }\n        .nova-orbit-ring--2 { inset: 22%; animation: novaRingSpin 28s linear infinite reverse; border-color: rgba(74,222,128,0.08); }\n        @keyframes novaRingSpin { to { transform: rotate(360deg); } }\n        .nova-orbit-core {\n            position: absolute; left: 50%; top: 50%;\n            transform: translate(-50%, -50%);\n            width: 76px; height: 84px; padding: 0; border: none; cursor: pointer;\n            clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n            background: linear-gradient(145deg, rgba(0,135,81,0.9), rgba(0,60,35,0.95));\n            box-shadow: 0 0 40px rgba(74,222,128,0.35);\n            transition: transform 0.4s ease, box-shadow 0.4s ease;\n            z-index: 2;\n        }\n        .nova-orbit-core img { width: 52px; height: auto; object-fit: contain; }\n        .nova-orbit-core:hover { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 60px rgba(74,222,128,0.55); }\n        .nova-hex-cell {\n            position: absolute; left: 50%; top: 50%;\n            width: 82px; min-height: 88px;\n            display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;\n            padding: 8px 6px; cursor: pointer;\n            clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n            background: rgba(4,12,8,0.88);\n            box-shadow: inset 0 0 0 1px rgba(74,222,128,0.25);\n            color: #ecfdf5;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.58rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;\n            transition: transform 0.35s cubic-bezier(0.23,1,0.32,1), background 0.35s, box-shadow 0.35s;\n            z-index: 1;\n        }\n        .nova-hex-cell .material-icons-round { font-size: 22px; color: #4ade80; }\n        .nova-hex-cell:hover {\n            background: rgba(0,80,48,0.85);\n            box-shadow: 0 0 30px rgba(74,222,128,0.35);\n            transform: translate(-50%, -50%) var(--hex-pos) scale(1.1);\n        }\n        .nova-hex-cell--0 { --hex-pos: translate(0, -158px); transform: translate(-50%, -50%) translate(0, -158px); }\n        .nova-hex-cell--1 { --hex-pos: translate(137px, -79px); transform: translate(-50%, -50%) translate(137px, -79px); }\n        .nova-hex-cell--2 { --hex-pos: translate(137px, 79px); transform: translate(-50%, -50%) translate(137px, 79px); }\n        .nova-hex-cell--3 { --hex-pos: translate(0, 158px); transform: translate(-50%, -50%) translate(0, 158px); }\n        .nova-hex-cell--4 { --hex-pos: translate(-137px, 79px); transform: translate(-50%, -50%) translate(-137px, 79px); }\n        .nova-hex-cell--5 { --hex-pos: translate(-137px, -79px); transform: translate(-50%, -50%) translate(-137px, -79px); }\n\n        .nova-bento-section {\n            padding: 64px 24px 80px !important;\n            position: relative;\n        }\n        .nova-bento-section::before {\n            content: ''; position: absolute; inset: 0;\n            background: radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0,135,81,0.12), transparent 70%);\n            pointer-events: none;\n        }\n        .nova-bento-head { text-align: center; max-width: 640px; margin: 0 auto 40px; position: relative; }\n        .nova-bento-kicker {\n            display: inline-block; font-family: 'Urbanist', sans-serif;\n            font-size: 0.68rem; font-weight: 600; letter-spacing: 0.35em; text-transform: uppercase;\n            color: rgba(74,222,128,0.7); margin-bottom: 12px;\n        }\n        .nova-bento-title {\n            font-family: 'Syne', 'Outfit', sans-serif;\n            font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; margin: 0 0 12px;\n            color: #fff;\n        }\n        .nova-bento-title em {\n            font-family: 'Urbanist', sans-serif; font-style: italic;\n            color: #4ade80;\n        }\n        .nova-bento-desc { color: rgba(255,255,255,0.5); font-size: 1rem; line-height: 1.6; margin: 0; }\n        .nova-bento-grid {\n            display: grid;\n            grid-template-columns: repeat(6, minmax(0, 1fr));\n            gap: 20px;\n            max-width: 1100px;\n            margin: 0 auto;\n            position: relative;\n            align-items: stretch;\n        }\n        .nova-bento-card {\n            grid-column: span 2;\n            display: flex;\n            flex-direction: column;\n            min-height: 210px;\n            position: relative; overflow: hidden;\n            padding: 28px 26px;\n            border-radius: 24px;\n            border: 1px solid rgba(74,222,128,0.12);\n            background: linear-gradient(145deg, rgba(8,16,12,0.95), rgba(2,6,4,0.98));\n            cursor: pointer;\n            transition: transform 0.45s cubic-bezier(0.23,1,0.32,1), border-color 0.35s, box-shadow 0.35s;\n        }\n        .nova-bento-card:nth-child(4) { grid-column: 2 \/ span 2; }\n        .nova-bento-card:nth-child(5) { grid-column: 4 \/ span 2; }\n        .nova-bento-card--hero { padding: 28px 26px; }\n        .nova-bento-card:hover {\n            transform: translateY(-6px);\n            border-color: rgba(74,222,128,0.45);\n            box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 40px rgba(74,222,128,0.08);\n        }\n        .nova-bento-glow {\n            position: absolute; top: -40%; right: -20%; width: 60%; height: 80%;\n            background: radial-gradient(circle, rgba(74,222,128,0.2), transparent 70%);\n            pointer-events: none;\n        }\n        .nova-bento-icon {\n            display: inline-flex; align-items: center; justify-content: center;\n            width: 44px; height: 44px; border-radius: 14px;\n            background: rgba(0,135,81,0.2); color: #4ade80 !important;\n            margin-bottom: 16px; font-size: 24px !important;\n        }\n        .nova-bento-card h3 {\n            font-family: 'Syne', sans-serif; font-size: 1.15rem; font-weight: 700;\n            color: #fff; margin: 0 0 8px;\n        }\n        .nova-bento-card p {\n            flex: 1;\n            margin: 0; font-size: 0.88rem; line-height: 1.55; color: rgba(255,255,255,0.5);\n        }\n        .nova-bento-link {\n            display: inline-block; margin-top: auto; padding-top: 18px;\n            font-family: 'Urbanist', sans-serif; font-size: 0.75rem; font-weight: 600;\n            letter-spacing: 0.15em; text-transform: uppercase; color: #4ade80;\n        }\n        @media (max-width: 1024px) {\n            .nova-bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n            .nova-bento-card,\n            .nova-bento-card:nth-child(4),\n            .nova-bento-card:nth-child(5) { grid-column: auto; }\n            .nova-bento-kicker,\n            .void-chamber-tag {\n                font-size: 0.82rem !important;\n                letter-spacing: 0.16em !important;\n            }\n            .nova-bento-title,\n            .void-chamber-title {\n                font-size: clamp(1.95rem, 7.8vw, 2.85rem) !important;\n            }\n            .nova-bento-desc,\n            .void-chamber-lead {\n                font-size: clamp(1.02rem, 3.4vw, 1.15rem) !important;\n            }\n            .nova-bento-card h3,\n            .void-panel h3 {\n                font-size: clamp(1.28rem, 4.5vw, 1.52rem) !important;\n            }\n            .nova-bento-card p,\n            .void-panel p {\n                font-size: clamp(0.98rem, 3.2vw, 1.08rem) !important;\n            }\n            .nova-bento-link {\n                font-size: 0.88rem !important;\n            }\n        }\n        @media (max-width: 640px) {\n            .nova-bento-grid { grid-template-columns: 1fr; }\n            .nova-bento-title,\n            .void-chamber-title {\n                font-size: clamp(1.85rem, 9vw, 2.55rem) !important;\n            }\n            .nova-bento-desc,\n            .void-chamber-lead {\n                font-size: clamp(1.05rem, 3.8vw, 1.2rem) !important;\n            }\n            .nova-bento-card h3,\n            .void-panel h3 {\n                font-size: clamp(1.32rem, 5vw, 1.58rem) !important;\n            }\n            .nova-bento-card p,\n            .void-panel p {\n                font-size: clamp(1rem, 3.6vw, 1.12rem) !important;\n            }\n        }\n\n        .nova-cmd {\n            position: fixed; inset: 0; z-index: 200000;\n            display: flex; align-items: flex-start; justify-content: center;\n            padding: 12vh 16px 16px;\n        }\n        .nova-cmd[hidden] { display: none !important; }\n        .nova-cmd-backdrop {\n            position: absolute; inset: 0;\n            background: rgba(0,0,0,0.72);\n            backdrop-filter: blur(8px);\n        }\n        .nova-cmd-panel {\n            position: relative; width: min(560px, 100%);\n            border-radius: 24px;\n            border: 1px solid rgba(74,222,128,0.2);\n            background: linear-gradient(160deg, rgba(6,14,10,0.98), rgba(2,5,3,0.99));\n            box-shadow: 0 40px 100px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.04) inset;\n            overflow: hidden;\n            animation: novaCmdIn 0.35s cubic-bezier(0.16,1,0.3,1);\n        }\n        @keyframes novaCmdIn {\n            from { opacity: 0; transform: translateY(-16px) scale(0.96); }\n            to { opacity: 1; transform: translateY(0) scale(1); }\n        }\n        .nova-cmd-header {\n            display: flex; align-items: center; gap: 14px;\n            padding: 20px 22px 12px;\n            border-bottom: 1px solid rgba(255,255,255,0.06);\n        }\n        .nova-cmd-header .material-icons-round { font-size: 32px; color: #4ade80; }\n        .nova-cmd-header h2 { margin: 0; font-family: 'Syne', sans-serif; font-size: 1.1rem; color: #fff; }\n        .nova-cmd-header p { margin: 4px 0 0; font-size: 0.78rem; color: rgba(255,255,255,0.45); }\n        .nova-cmd-input {\n            width: 100%; box-sizing: border-box;\n            margin: 0; padding: 16px 22px;\n            border: none; border-bottom: 1px solid rgba(255,255,255,0.06);\n            background: transparent; color: #fff;\n            font-family: 'Urbanist', sans-serif; font-size: 1rem;\n            outline: none;\n        }\n        .nova-cmd-input::placeholder { color: rgba(255,255,255,0.3); }\n        .nova-cmd-list { list-style: none; margin: 0; padding: 8px; max-height: 320px; overflow-y: auto; }\n        .nova-cmd-item {\n            display: flex; align-items: center; justify-content: space-between; gap: 12px;\n            padding: 12px 14px; border-radius: 14px; cursor: pointer;\n            font-family: 'Urbanist', sans-serif; color: rgba(255,255,255,0.85);\n            transition: background 0.2s;\n        }\n        .nova-cmd-item:hover, .nova-cmd-item.is-active {\n            background: rgba(0,135,81,0.25);\n            color: #4ade80;\n        }\n        .nova-cmd-item small { color: rgba(255,255,255,0.35); font-size: 0.72rem; }\n        .nova-cmd-foot {\n            display: flex; flex-wrap: wrap; gap: 12px 16px;\n            padding: 12px 18px; border-top: 1px solid rgba(255,255,255,0.06);\n            font-size: 0.68rem; color: rgba(255,255,255,0.35);\n            font-family: 'Urbanist', sans-serif;\n        }\n\n        @media (max-width: 900px) {\n            .nova-orbit-hub { display: none; }\n            .nova-cmd-hint { display: none; }\n            .nova-bento-grid { grid-template-columns: 1fr; }\n            .nova-bento-card,\n            .nova-bento-card:nth-child(4),\n            .nova-bento-card:nth-child(5) { grid-column: auto; }\n        }\n        @media (max-width: 1024px) {\n            #cursor-glow { display: none; }\n        }\n        @media (prefers-reduced-motion: reduce) {\n            .nova-orbit-ring, .nova-logo-orbit, .nova-glitch, .intro-scan-beam { animation: none !important; }\n            #hive-mesh-canvas { display: none; }\n        }\n\n        @media (min-width: 1025px) {\n            #home-hero .scroll-indicator-arrow {\n                display: none !important;\n            }\n\n            #home-hero .scroll-indicator-label {\n                font-size: 0.75rem;\n                letter-spacing: 0.15em;\n                text-transform: uppercase;\n            }\n        }\n    <\/style>\n\n    <!-- VOID HIVE \u2014 lock dark totale + arena hero -->\n    <style id=\"void-hive-lock\">\n        html, body.void-hive {\n            background: #000 !important;\n            color: #ecfdf5 !important;\n            color-scheme: dark !important;\n        }\n\n        #void-noise {\n            position: fixed; inset: 0; z-index: 3; pointer-events: none; opacity: 0.045;\n            background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\");\n        }\n        #void-scan {\n            position: fixed; inset: 0; z-index: 4; pointer-events: none;\n            background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.12) 2px, rgba(0,0,0,0.12) 4px);\n            opacity: 0.35;\n        }\n        #void-vignette {\n            position: fixed; inset: 0; z-index: 5; pointer-events: none;\n            background: radial-gradient(ellipse at center, transparent 35%, rgba(0,0,0,0.85) 100%);\n        }\n\n        #page-bg { display: none !important; }\n        #content-area {\n            background: #000 !important;\n            left: 0 !important;\n        }\n        @media (min-width: 1025px) {\n            #content-area { padding-left: 96px !important; }\n            #sidebar {\n                top: 88px !important;\n                left: 14px !important;\n                bottom: 14px !important;\n                height: auto !important;\n                width: 72px !important;\n                border-radius: 22px !important;\n                border: 1px solid rgba(74,222,128,0.14) !important;\n                background: rgba(0,0,0,0.94) !important;\n                box-shadow: 0 0 60px rgba(0,0,0,0.8), 0 0 1px rgba(74,222,128,0.3) inset !important;\n            }\n            #sidebar:hover { width: 260px !important; border-radius: 22px !important; }\n            #sidebar:hover ~ #content-area { left: 0 !important; padding-left: 280px !important; }\n        }\n\n        .page-section {\n            background: #000 !important;\n            color: #ecfdf5 !important;\n            padding: 48px 24px !important;\n        }\n\n        \/* \u2014\u2014 VOID ARENA HERO \u2014\u2014 *\/\n        .void-arena {\n            min-height: 100svh !important;\n            padding: calc(var(--header-height) + 24px) 16px 100px !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            background: #000 !important;\n            overflow: hidden !important;\n        }\n        .hero-bg-img, .hero-overlay, .moving-light-1, .moving-light-2 { display: none !important; }\n        .void-arena-bg {\n            position: absolute; inset: 0; z-index: 0; overflow: hidden;\n        }\n        .void-arena-grid {\n            position: absolute; inset: -50%;\n            background-image:\n                linear-gradient(rgba(74,222,128,0.04) 1px, transparent 1px),\n                linear-gradient(90deg, rgba(74,222,128,0.04) 1px, transparent 1px);\n            background-size: 56px 56px;\n            transform: perspective(500px) rotateX(58deg) translateY(-12%);\n            mask-image: radial-gradient(ellipse 90% 70% at 50% 40%, black, transparent);\n            animation: voidGridDrift 24s linear infinite;\n        }\n        @keyframes voidGridDrift {\n            0% { transform: perspective(500px) rotateX(58deg) translateY(-12%) translateX(0); }\n            100% { transform: perspective(500px) rotateX(58deg) translateY(-12%) translateX(56px); }\n        }\n        .void-giant {\n            position: absolute; left: 50%; transform: translateX(-50%);\n            font-family: 'Syne', 'Outfit', sans-serif;\n            font-weight: 800;\n            font-size: clamp(4rem, 18vw, 14rem);\n            letter-spacing: 0.08em;\n            line-height: 0.85;\n            color: transparent;\n            -webkit-text-stroke: 1px rgba(74,222,128,0.07);\n            white-space: nowrap;\n            pointer-events: none;\n            user-select: none;\n        }\n        .void-giant--1 { top: 8%; opacity: 0.9; }\n        .void-giant--2 { top: 28%; opacity: 0.5; font-size: clamp(3rem, 14vw, 10rem); }\n        .void-arena-orb {\n            position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none;\n        }\n        .void-arena-orb--1 {\n            width: 40vw; height: 40vw; top: -10%; left: -5%;\n            background: radial-gradient(circle, rgba(0,135,81,0.35), transparent 70%);\n            animation: voidOrb 12s ease-in-out infinite alternate;\n        }\n        .void-arena-orb--2 {\n            width: 50vw; height: 50vw; bottom: -20%; right: -10%;\n            background: radial-gradient(circle, rgba(74,222,128,0.15), transparent 70%);\n            animation: voidOrb 16s ease-in-out infinite alternate-reverse;\n        }\n        @keyframes voidOrb {\n            0% { transform: translate(0,0) scale(1); }\n            100% { transform: translate(5vw, 3vh) scale(1.15); }\n        }\n\n        \/* \u2014\u2014 AB HERO ELEGANT \u2014 minimal, editoriale \u2014\u2014 *\/\n        .ab-hero-elegant {\n            min-height: 100svh !important;\n            padding: calc(var(--header-height) + 48px) 32px 88px !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            background: #000 !important;\n        }\n        .ab-hero-elegant .void-arena-bg,\n        .ab-hero-elegant .void-arena-grid,\n        .ab-hero-elegant .void-giant,\n        .ab-hero-elegant .void-arena-orb { display: none !important; }\n\n        .ab-hero-bg {\n            position: absolute; inset: 0; z-index: 0; pointer-events: none;\n            overflow: hidden;\n        }\n        .ab-hero-basketball {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            width: min(560px, 88vw);\n            height: min(560px, 88vw);\n            transform: translate(-50%, -50%);\n            opacity: 0.12;\n            pointer-events: none;\n            z-index: 0;\n        }\n        .ab-hero-basketball__ball {\n            position: relative;\n            width: 100%;\n            height: 100%;\n            border-radius: 50%;\n            overflow: hidden;\n            background:\n                radial-gradient(circle at 32% 26%, rgba(255, 205, 130, 0.42) 0%, transparent 44%),\n                radial-gradient(circle at 70% 76%, rgba(45, 18, 5, 0.55) 0%, transparent 46%),\n                radial-gradient(circle at 50% 54%, #cf5a14 0%, #a8440d 36%, #7a3108 58%, #451a04 100%);\n            box-shadow:\n                inset -22px -32px 54px rgba(0, 0, 0, 0.42),\n                inset 16px 20px 40px rgba(255, 185, 110, 0.14),\n                0 0 90px rgba(160, 70, 15, 0.1);\n        }\n        .ab-hero-basketball__leather {\n            position: absolute;\n            inset: 0;\n            border-radius: 50%;\n            opacity: 0.35;\n            background-image:\n                radial-gradient(circle at 20% 30%, rgba(0,0,0,0.18) 0 0.8px, transparent 1px),\n                radial-gradient(circle at 60% 70%, rgba(0,0,0,0.14) 0 0.7px, transparent 1px),\n                radial-gradient(circle at 80% 25%, rgba(255,255,255,0.08) 0 0.6px, transparent 1px);\n            background-size: 14px 14px, 16px 16px, 12px 12px;\n            mix-blend-mode: overlay;\n        }\n        .ab-hero-basketball__seams {\n            position: absolute;\n            inset: 0;\n            width: 100%;\n            height: 100%;\n            opacity: 0.85;\n        }\n        .ab-hero-glow {\n            position: absolute;\n            width: min(720px, 92vw); height: min(720px, 92vw);\n            top: 50%; left: 50%;\n            transform: translate(-50%, -50%);\n            background: radial-gradient(circle, rgba(0,100,60,0.14) 0%, transparent 62%);\n            opacity: 0.85;\n        }\n\n        .ab-hero-inner {\n            position: relative; z-index: 2;\n            width: 100%;\n            max-width: min(1180px, 100%);\n            text-align: center;\n            margin: 0 auto;\n            padding: 0 20px;\n            visibility: visible;\n            opacity: 1;\n        }\n        .ab-hero-inner--in {\n            animation: none;\n        }\n        .ab-hero-inner--in .ab-hero-brand,\n        .ab-hero-inner--in .ab-brand-glass,\n        .ab-hero-inner--in .ab-brand-glass__logo,\n        .ab-hero-inner--in .ab-brand-glass__frost,\n        .ab-hero-inner--in .ab-hero-brand__av,\n        .ab-hero-inner--in .ab-hero-brand__bk {\n            animation: none !important;\n        }\n        .ab-hero-inner--in .ab-brand-glass__text {\n            animation: abHeroBrandTextZoom 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;\n            transform-origin: center center;\n        }\n        @keyframes abHeroBrandTextZoom {\n            0% {\n                opacity: 0;\n                transform: scale(0.9);\n            }\n            100% {\n                opacity: 1;\n                transform: scale(1);\n            }\n        }\n        .ab-hero-inner--in .ab-hero-title { animation: abHeroStagger 0.95s ease 0.85s both; }\n        .ab-hero-inner--in .ab-hero-sub { animation: abHeroStagger 0.95s ease 0.98s both; }\n        .ab-hero-inner--in .ab-hero-cta { animation: abHeroStagger 0.95s ease 1.1s both; }\n        @keyframes abHeroStagger {\n            from { opacity: 0; transform: translateY(18px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        .ab-hero-brand {\n            margin: 0 auto 32px;\n            max-width: 100%;\n        }\n        .ab-hero-brand.ab-brand-glass {\n            overflow: visible;\n        }\n        .ab-brand-glass {\n            position: relative;\n            display: inline-block;\n            width: max-content;\n            max-width: calc(100vw - 48px);\n            vertical-align: middle;\n            overflow: visible;\n            isolation: isolate;\n            padding-top: 0;\n            margin-top: clamp(52px, 11vw, 76px);\n        }\n        .ab-brand-glass--intro {\n            max-width: calc(100vw - 32px);\n        }\n        .ab-brand-glass__logo {\n            position: absolute;\n            left: 50%;\n            top: 0;\n            transform: translate(-50%, calc(-100% - 8px));\n            width: auto;\n            height: min(72px, 16vw);\n            max-width: min(150px, 38vw);\n            opacity: 0.92;\n            filter: none;\n            z-index: 3;\n            pointer-events: none;\n            user-select: none;\n            transform-origin: 50% 100%;\n        }\n        .ab-brand-glass--intro .ab-brand-glass__logo {\n            height: min(64px, 14vw);\n            max-width: min(132px, 34vw);\n            opacity: 0.9;\n        }\n        .ab-brand-glass__frost {\n            position: absolute;\n            inset: -0.14em -0.26em;\n            z-index: 1;\n            border-radius: clamp(10px, 1.2vw, 14px);\n            background:\n                linear-gradient(145deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01)),\n                rgba(0, 0, 0, 0.58);\n            backdrop-filter: blur(20px) saturate(120%);\n            -webkit-backdrop-filter: blur(20px) saturate(120%);\n            border: 1px solid rgba(255, 255, 255, 0.08);\n            box-shadow:\n                inset 0 1px 0 rgba(255,255,255,0.05),\n                inset 0 0 24px rgba(0,0,0,0.35),\n                0 16px 48px rgba(0,0,0,0.32);\n            pointer-events: none;\n        }\n        .ab-brand-glass__text::before,\n        #intro-brand::before {\n            content: '';\n            position: absolute;\n            inset: -0.05em -0.08em;\n            z-index: -1;\n            border-radius: 0.2em;\n            background: rgba(0, 0, 0, 0.28);\n            box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.22);\n            pointer-events: none;\n        }\n        .ab-brand-glass__text,\n        #intro-brand {\n            position: relative;\n            z-index: 4;\n            display: inline-flex;\n            flex-wrap: nowrap;\n            align-items: baseline;\n            justify-content: center;\n            gap: 0.38em;\n            padding: 0.04em 0.06em;\n            font-family: var(--font-skeleton);\n            font-weight: 800;\n            font-size: clamp(1.55rem, 6.4vw, 3.85rem);\n            letter-spacing: clamp(0.04em, 0.7vw, 0.11em);\n            line-height: 1;\n            text-transform: uppercase;\n            white-space: nowrap;\n        }\n        .ab-brand-glass--intro .ab-brand-glass__text,\n        .ab-brand-glass--intro #intro-brand {\n            font-size: clamp(1.35rem, 5.8vw, 2.55rem);\n            letter-spacing: clamp(0.07em, 1.1vw, 0.2em);\n            gap: 0.38em;\n            align-items: center;\n            padding: 0.06em 0.08em;\n        }\n        .ab-hero-brand__av {\n            color: transparent;\n            -webkit-text-stroke: 1.75px rgba(88, 175, 125, 0.98);\n            paint-order: stroke fill;\n            filter:\n                drop-shadow(0 0 2px rgba(0, 0, 0, 1))\n                drop-shadow(0 0 8px rgba(0, 0, 0, 0.92))\n                drop-shadow(0 0 18px rgba(0, 0, 0, 0.72))\n                drop-shadow(0 0 5px rgba(0, 69, 40, 0.55));\n        }\n        .ab-hero-brand__bk {\n            color: transparent;\n            -webkit-text-stroke: 1.5px rgba(201, 168, 76, 0.95);\n            paint-order: stroke fill;\n            filter: drop-shadow(0 0 22px rgba(201, 168, 76, 0.4));\n        }\n\n        .ab-hero-tag {\n            margin: 0 0 28px;\n            font-family: var(--font-body);\n            font-size: 0.58rem; font-weight: 500;\n            letter-spacing: 0.28em; text-transform: uppercase;\n            color: rgba(148,163,184,0.45);\n        }\n\n        .ab-hero-title {\n            margin: 0 0 22px;\n            display: flex; flex-direction: column;\n            align-items: center; gap: 0.12em;\n        }\n        .ab-hero-title__keep {\n            display: block;\n            font-family: var(--font-display);\n            font-weight: 700;\n            font-size: clamp(1.15rem, 3.6vw, 2rem);\n            letter-spacing: 0.1em;\n            line-height: 1.1;\n            color: rgba(255,255,255,0.88);\n            text-transform: uppercase;\n        }\n        .ab-hero-title__win {\n            display: block;\n            font-family: var(--font-display);\n            font-weight: 400;\n            font-size: clamp(1rem, 3.1vw, 1.75rem);\n            line-height: 1.12;\n            color: #4ade80;\n            letter-spacing: 0.14em;\n            text-transform: uppercase;\n        }\n\n        .ab-hero-sub {\n            margin: 0 auto 36px;\n            max-width: 28rem;\n            font-family: var(--font-body);\n            font-size: clamp(0.78rem, 1.5vw, 0.9rem);\n            font-weight: 400;\n            letter-spacing: 0.04em;\n            text-transform: none;\n            color: rgba(203,213,225,0.55);\n            line-height: 1.65;\n        }\n\n        .ab-hero-cta {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            width: 100%;\n            margin: 0 auto;\n            gap: 16px;\n        }\n        .ab-hero-cta__primary {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            margin: 0 auto;\n            padding: 15px 38px;\n            border: 1px solid rgba(74,222,128,0.45);\n            border-radius: 999px;\n            background: rgba(74,222,128,0.06);\n            color: #4ade80;\n            font-family: var(--font-body);\n            font-size: 0.68rem; font-weight: 600;\n            letter-spacing: 0.22em; text-transform: uppercase;\n            cursor: pointer;\n            transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;\n        }\n        .ab-hero-cta__primary:hover {\n            background: #4ade80;\n            color: #00150c;\n            border-color: #4ade80;\n            box-shadow: 0 0 40px rgba(74,222,128,0.25);\n        }\n        .ab-hero-cta__text {\n            padding: 0;\n            border: none; background: none;\n            color: rgba(148,163,184,0.45);\n            font-family: var(--font-body);\n            font-size: 0.62rem; font-weight: 500;\n            letter-spacing: 0.18em; text-transform: uppercase;\n            cursor: pointer;\n            transition: color 0.25s ease;\n        }\n        .ab-hero-cta__text:hover { color: rgba(74,222,128,0.8); }\n\n        #home-hero .scroll-indicator.ab-hero-scroll {\n            display: none !important;\n        }\n        #home-hero .scroll-indicator.void-scroll-hint {\n            animation: scrollHintFloat 2.8s ease-in-out infinite !important;\n        }\n        @keyframes scrollHintFloat {\n            0%, 100% { transform: translate(-50%, 0); opacity: 0.72; }\n            50% { transform: translate(-50%, 10px); opacity: 1; }\n        }\n        .ab-hero-scroll .mouse {\n            display: block !important;\n            width: 24px !important;\n            height: 38px !important;\n            border: 2px solid rgba(74, 222, 128, 0.75) !important;\n            border-radius: 12px !important;\n            position: relative !important;\n            margin-bottom: 2px !important;\n            box-shadow: 0 0 16px rgba(74, 222, 128, 0.2);\n        }\n        .ab-hero-scroll .wheel {\n            display: block !important;\n            width: 3px !important;\n            height: 8px !important;\n            background: #4ade80 !important;\n            position: absolute !important;\n            top: 8px !important;\n            left: 50% !important;\n            transform: translateX(-50%) !important;\n            border-radius: 2px !important;\n            animation: wheelScroll 1.5s infinite !important;\n        }\n        .ab-hero-scroll .scroll-indicator-arrow {\n            display: block !important;\n            font-size: 1.25rem !important;\n            line-height: 1 !important;\n            color: #4ade80 !important;\n            filter: drop-shadow(0 0 8px rgba(74, 222, 128, 0.45));\n        }\n        .ab-hero-scroll .scroll-indicator-label {\n            font-family: var(--font-body) !important;\n            font-size: 0.58rem !important;\n            letter-spacing: 0.28em !important;\n            color: rgba(74, 222, 128, 0.65) !important;\n        }\n        .ab-hero-scroll .void-scroll-line {\n            display: none !important;\n        }\n\n        @media (min-width: 900px) {\n            .ab-hero-cta {\n                flex-direction: column;\n                align-items: center;\n                justify-content: center;\n            }\n        }\n\n        .void-arena-stage, .hive-comb, .void-stats-row, .void-mobile-logo,\n        .ab-hero-shell, .ab-hero-panel, .ab-hero-aside, .ab-hero-dock { display: none !important; }\n\n        .void-scroll-hint {\n            position: absolute !important; bottom: 28px !important; left: 50% !important;\n            transform: translateX(-50%) !important;\n            display: flex !important; flex-direction: column !important; align-items: center !important;\n            gap: 8px !important; z-index: 8 !important; cursor: pointer !important;\n        }\n        .void-scroll-hint .mouse, .void-scroll-hint .scroll-indicator-arrow { display: none !important; }\n        #home-hero .void-scroll-hint .mouse,\n        #home-hero .void-scroll-hint .scroll-indicator-arrow { display: block !important; }\n        .void-scroll-line {\n            width: 1px; height: 48px;\n            background: linear-gradient(180deg, #4ade80, transparent);\n            box-shadow: 0 0 12px rgba(74,222,128,0.5);\n        }\n        .void-scroll-hint .scroll-indicator-label {\n            font-family: var(--font-body) !important;\n            font-size: 0.58rem !important; letter-spacing: 0.28em !important;\n            color: rgba(74,222,128,0.55) !important;\n        }\n        @keyframes voidBounce {\n            0%, 100% { transform: translate(-50%, 0); opacity: 0.5; }\n            50% { transform: translate(-50%, 10px); opacity: 1; }\n        }\n\n        .void-mobile-logo {\n            display: none;\n            position: relative; z-index: 7;\n            flex-direction: column; align-items: center; margin-bottom: 16px;\n        }\n        .void-mobile-logo img {\n            max-width: 140px; width: 40vw;\n            filter: drop-shadow(0 0 30px rgba(74,222,128,0.45));\n        }\n        @keyframes voidPulse {\n            0%, 100% { opacity: 1; transform: scale(1); }\n            50% { opacity: 0.5; transform: scale(0.85); }\n        }\n        @keyframes voidShimmer {\n            0% { background-position: 0% center; }\n            100% { background-position: 200% center; }\n        }\n\n        @media (max-width: 640px) {\n            .ab-hero-elegant {\n                min-height: 100svh !important;\n                height: 100svh !important;\n                box-sizing: border-box !important;\n                padding: calc(12px + 68px + 36px) 20px calc(88px + env(safe-area-inset-bottom, 0px)) !important;\n                justify-content: center !important;\n                align-items: center !important;\n            }\n            .ab-hero-inner {\n                margin-top: clamp(12px, 3vh, 36px);\n            }\n            .ab-brand-glass__text {\n                font-size: clamp(1.85rem, 9.5vw, 3rem) !important;\n                letter-spacing: 0.045em !important;\n                gap: 0.34em !important;\n            }\n            .ab-brand-glass__logo {\n                top: 0 !important;\n                transform: translate(-50%, calc(-100% - 6px)) !important;\n                height: min(62px, 15vw) !important;\n                max-width: min(128px, 34vw) !important;\n                opacity: 0.92 !important;\n                filter: none !important;\n            }\n            .ab-hero-brand { margin-bottom: 28px; }\n            .ab-hero-brand__av {\n                -webkit-text-stroke: 1.5px rgba(88, 175, 125, 0.98);\n            }\n            .ab-hero-brand__bk {\n                -webkit-text-stroke: 1.25px rgba(201, 168, 76, 0.95);\n            }\n            .ab-hero-title__keep {\n                font-size: clamp(1.55rem, 6.2vw, 2.05rem) !important;\n            }\n            .ab-hero-title__win {\n                font-size: clamp(1.35rem, 5.5vw, 1.82rem) !important;\n            }\n            .ab-hero-sub {\n                font-size: clamp(1rem, 3.8vw, 1.18rem) !important;\n                letter-spacing: 0.03em;\n                margin-bottom: 34px;\n            }\n            .ab-hero-cta__primary {\n                font-size: 0.9rem !important;\n                padding: 17px 40px !important;\n            }\n            .ab-hero-cta__text {\n                font-size: 0.82rem !important;\n            }\n            .ab-hero-scroll .scroll-indicator-label {\n                font-size: 0.72rem !important;\n            }\n            .nova-bento-kicker,\n            .void-chamber-tag {\n                font-size: 0.82rem !important;\n                letter-spacing: 0.16em !important;\n                padding: 8px 16px !important;\n            }\n            .nova-bento-title,\n            .void-chamber-title {\n                font-size: clamp(1.9rem, 8.5vw, 2.75rem) !important;\n            }\n            .nova-bento-desc,\n            .void-chamber-lead {\n                font-size: clamp(1.02rem, 3.6vw, 1.18rem) !important;\n            }\n            .nova-bento-card h3,\n            .void-panel h3 {\n                font-size: clamp(1.28rem, 4.8vw, 1.55rem) !important;\n            }\n            .nova-bento-card p,\n            .void-panel p {\n                font-size: clamp(0.98rem, 3.4vw, 1.1rem) !important;\n            }\n            .nova-bento-link {\n                font-size: 0.88rem !important;\n            }\n        }\n\n        \/* \u2014\u2014 KILL ALL LIGHT SURFACES \u2014\u2014 *\/\n        .promo-box, .promo-box--schedule, .home-block, .event-box, .result-card,\n        .nova-bento-card, .intl-camp-slot, .intl-camp-slot-body, .intl-camp-slot-head,\n        #timeline-widget, #timeline-header, .day-badge, .sponsor-section {\n            background: linear-gradient(155deg, rgba(10,14,12,0.98), rgba(2,4,3,0.99)) !important;\n            color: #ecfdf5 !important;\n            border-color: rgba(74,222,128,0.12) !important;\n        }\n        .promo-box--schedule, .intl-camp-slot-body {\n            background: linear-gradient(180deg, rgba(14,22,18,0.98), rgba(6,10,8,0.99)) !important;\n        }\n        .intl-camp-slot-head { background: rgba(0,80,48,0.85) !important; color: #ecfdf5 !important; }\n        .intl-camp-time, .intl-camp-years { color: #cbd5e1 !important; }\n\n        .marquee-wrapper {\n            background: #000 !important;\n            border-top: 1px solid rgba(74,222,128,0.25) !important;\n            border-bottom: 1px solid rgba(74,222,128,0.25) !important;\n            transform: none !important;\n            box-shadow: 0 0 60px rgba(74,222,128,0.08) !important;\n        }\n        .marquee-content {\n            color: #4ade80 !important;\n            text-shadow: 0 0 20px rgba(74,222,128,0.5) !important;\n        }\n\n        #header-fixed {\n            background: rgba(0,0,0,0.88) !important;\n            border: 1px solid rgba(74,222,128,0.15) !important;\n        }\n        #overlay-screen {\n            background: #000 !important;\n        }\n        #mobile-bottom-nav {\n            background: rgba(0,0,0,0.94) !important;\n            border-top: 1px solid rgba(74,222,128,0.15) !important;\n        }\n\n        #live-events-container h1 { color: #4ade80 !important; }\n        .teams, .start-time-container { color: #ecfdf5 !important; }\n        .start-time-container { background: rgba(74,222,128,0.08) !important; }\n        .timeline-track { background: rgba(255,255,255,0.04) !important; }\n\n        .bg-outline-text {\n            -webkit-text-stroke: 1px rgba(74,222,128,0.06) !important;\n            color: transparent !important;\n        }\n\n        #wow-aurora { opacity: 0.55 !important; }\n        #wow-particles { opacity: 0.7 !important; }\n        #hive-mesh-canvas { opacity: 0.25 !important; }\n\n        #intro-splash { background: #000 !important; }\n\n        \/* \u2014\u2014 VOID CHAMBER \u2014 sezioni promo \/ nexus \u2014\u2014 *\/\n        .void-chamber {\n            position: relative !important;\n            padding: 72px 20px 88px !important;\n            background: #000 !important;\n            overflow: hidden !important;\n            border-top: 1px solid rgba(74,222,128,0.08) !important;\n            border-bottom: 1px solid rgba(74,222,128,0.08) !important;\n        }\n        .void-chamber::before {\n            content: '';\n            position: absolute; inset: 0;\n            background: radial-gradient(ellipse 60% 45% at 50% 0%, rgba(74,222,128,0.09), transparent 70%);\n            pointer-events: none;\n        }\n        .void-chamber-ghost {\n            position: absolute; top: 42%; left: 50%;\n            transform: translate(-50%, -50%);\n            font-family: var(--font-skeleton);\n            font-weight: 800;\n            font-size: clamp(3.5rem, 16vw, 13rem);\n            letter-spacing: 0.06em;\n            color: transparent;\n            -webkit-text-stroke: 1px rgba(74,222,128,0.05);\n            white-space: nowrap;\n            pointer-events: none;\n            z-index: 0;\n            user-select: none;\n        }\n        .void-chamber-head, .void-chamber-grid, .nova-bento-grid {\n            position: relative; z-index: 1;\n        }\n        .void-chamber-head, .nova-bento-head {\n            text-align: center; max-width: 720px; margin: 0 auto 48px;\n        }\n        .void-chamber-tag, .nova-bento-kicker {\n            display: inline-block;\n            font-family: var(--font-body);\n            font-size: 0.62rem; font-weight: 600;\n            letter-spacing: 0.28em; text-transform: uppercase;\n            color: #4ade80 !important;\n            border: 1px solid rgba(74,222,128,0.22);\n            padding: 6px 14px; border-radius: 999px;\n            background: rgba(74,222,128,0.05) !important;\n            margin-bottom: 16px;\n        }\n        .void-chamber-title, .nova-bento-title {\n            font-family: var(--font-display) !important;\n            font-size: clamp(2rem, 5vw, 3.4rem) !important;\n            font-weight: 800 !important;\n            color: #fff !important;\n            margin: 0 0 12px !important;\n            letter-spacing: 0.04em !important;\n            text-transform: uppercase !important;\n        }\n        .void-chamber-title em, .nova-bento-title em {\n            font-family: var(--font-display);\n            font-style: normal;\n            font-weight: 300;\n            color: #4ade80 !important;\n        }\n        .void-chamber-lead, .nova-bento-desc {\n            color: #94a3b8 !important;\n            font-family: var(--font-body);\n            font-size: 1rem; line-height: 1.7; margin: 0;\n            font-weight: 400;\n        }\n\n        .void-panel, .nova-bento-card {\n            position: relative !important;\n            background: #020402 !important;\n            background-image: none !important;\n            border: 1px solid rgba(74,222,128,0.16) !important;\n            border-radius: 28px !important;\n            box-shadow:\n                0 0 0 1px rgba(0,0,0,1) inset,\n                0 30px 80px rgba(0,0,0,0.85),\n                0 0 48px rgba(74,222,128,0.05) !important;\n            overflow: hidden !important;\n            transition: transform 0.45s ease, border-color 0.35s, box-shadow 0.35s !important;\n        }\n        .void-panel:hover, .nova-bento-card:hover {\n            transform: translateY(-8px) !important;\n            border-color: rgba(74,222,128,0.45) !important;\n            box-shadow:\n                0 0 0 1px rgba(74,222,128,0.1) inset,\n                0 40px 100px rgba(0,0,0,0.9),\n                0 0 80px rgba(74,222,128,0.12) !important;\n        }\n        .void-panel--featured {\n            border-color: rgba(74,222,128,0.32) !important;\n            box-shadow: 0 0 80px rgba(74,222,128,0.1) !important;\n        }\n        .void-panel-shine {\n            position: absolute; inset: 0; z-index: 2; pointer-events: none;\n            background: linear-gradient(110deg, transparent 42%, rgba(74,222,128,0.12) 50%, transparent 58%);\n            animation: voidPanelShine 7s ease-in-out infinite;\n        }\n        @keyframes voidPanelShine {\n            0%, 75%, 100% { transform: translateX(-120%); opacity: 0; }\n            82% { opacity: 1; }\n            90% { transform: translateX(120%); opacity: 0; }\n        }\n        .void-panel-btn, .promo-btn {\n            background: linear-gradient(135deg, #047857, #4ade80) !important;\n            color: #000 !important;\n            border: none !important;\n            font-weight: 800 !important;\n            letter-spacing: 0.14em !important;\n            box-shadow: 0 0 30px rgba(74,222,128,0.25) !important;\n        }\n        .void-merch-season {\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            color: #4ade80 !important;\n            font-size: clamp(1.2rem, 4vw, 2rem);\n            background: rgba(74,222,128,0.08) !important;\n            border: 1px solid rgba(74,222,128,0.35);\n            display: inline-block;\n            padding: 8px 20px;\n            border-radius: 12px;\n            text-shadow: 0 0 30px rgba(74,222,128,0.35);\n            margin-bottom: 15px;\n        }\n\n        \/* \u2014\u2014 NUCLEAR: annienta ogni superficie chiara \u2014\u2014 *\/\n        body.void-hive #content-area .home-block,\n        body.void-hive #content-area .event-box,\n        body.void-hive #content-area .result-card,\n        body.void-hive #content-area .ab-item,\n        body.void-hive #content-area #timeline-widget,\n        body.void-hive #content-area #timeline-header,\n        body.void-hive #content-area .day-badge,\n        body.void-hive #content-area .sponsor-section,\n        body.void-hive #content-area .safeguarding-section,\n        body.void-hive #content-area .merchandising-parallax,\n        body.void-hive #content-area .start-time-container,\n        body.void-hive #content-area .timeline-track,\n        body.void-hive #content-area .submenu,\n        body.void-hive #content-area table,\n        body.void-hive #content-area th,\n        body.void-hive #content-area td,\n        body.void-hive #content-area .news-card,\n        body.void-hive #content-area [class*=\"card\"],\n        body.void-hive #content-area [class*=\"box\"],\n        body.void-hive #content-area .home-block,\n        body.void-hive #content-area [class*=\"panel\"],\n        body.void-hive #content-area [class*=\"slot\"] {\n            background-color: #030503 !important;\n            background-image: none !important;\n            color: #e2e8f0 !important;\n        }\n        body.void-hive #content-area [style*=\"background: white\"],\n        body.void-hive #content-area [style*=\"background:white\"],\n        body.void-hive #content-area [style*=\"background: #fff\"],\n        body.void-hive #content-area [style*=\"background:#fff\"],\n        body.void-hive #content-area [style*=\"background: #f\"],\n        body.void-hive #content-area [style*=\"background:#f\"] {\n            background: #030503 !important;\n            background-color: #030503 !important;\n        }\n        html:not(.light-mode) .safeguarding-section,\n        html:not(.dark) .safeguarding-section,\n        html:not(.dark) .hero-overlay,\n        html:not(.dark) .hero-motto,\n        html:not(.dark) .scroll-indicator {\n            background: transparent !important;\n            color: #ecfdf5 !important;\n        }\n        .scroll-indicator .mouse {\n            border-color: rgba(74,222,128,0.7) !important;\n        }\n        .scroll-indicator .wheel {\n            background: #4ade80 !important;\n        }\n        #split-logo-wrap {\n            background: #000 !important;\n            border: 1px solid rgba(74,222,128,0.4) !important;\n        }\n\n        \/* Titoli sezione \u2014 gradiente testo preservato (non annientare con [class*=block]) *\/\n        body.void-hive #content-area .block-title {\n            font-family: var(--font-display) !important;\n            font-weight: 800 !important;\n            letter-spacing: 0.04em !important;\n            text-transform: uppercase !important;\n            background: none !important;\n            -webkit-text-fill-color: #f0fdf4 !important;\n            color: #f0fdf4 !important;\n        }\n        body.void-hive #sidebar .nav-text,\n        body.void-hive .footer-inner,\n        body.void-hive .header-marquee-content {\n            font-family: var(--font-body) !important;\n            font-weight: 500 !important;\n            letter-spacing: 0.12em !important;\n        }\n        body.void-hive .nova-bento-card h3,\n        body.void-hive .void-panel h3 {\n            font-family: var(--font-display) !important;\n            font-weight: 700 !important;\n            letter-spacing: 0.03em !important;\n        }\n        body.void-hive .nova-bento-card p,\n        body.void-hive .void-panel p {\n            font-family: var(--font-body) !important;\n            font-weight: 400 !important;\n            line-height: 1.65 !important;\n        }\n        body.void-hive .marquee-content {\n            font-family: var(--font-body) !important;\n            font-weight: 500 !important;\n            letter-spacing: 0.2em !important;\n            font-size: 1.05rem !important;\n        }\n        body.void-hive .marquee-content span::before { content: '\u00b7 '; }\n        body.void-hive #content-area .block-title {\n            display: flex !important;\n            align-items: center !important;\n            gap: 12px !important;\n            margin-bottom: 28px !important;\n        }\n        body.void-hive #content-area .block-title .material-icons-round {\n            -webkit-text-fill-color: #4ade80 !important;\n            color: #4ade80 !important;\n            background: none !important;\n            font-size: 1.15em !important;\n        }\n        body.void-hive #content-area .block-title::after {\n            background: linear-gradient(90deg, #4ade80, transparent) !important;\n        }\n\n        \/* Kill white spotlight \/ tilt glare *\/\n        .promo-box::before, .promo-box::after,\n        .event-box::before, .ab-item::before,\n        .js-tilt-glare, .js-tilt-glare-inner {\n            display: none !important;\n            opacity: 0 !important;\n        }\n\n        \/* \u2014\u2014 AB SIGNAL DECK \u2014 iscrizioni (layout nuovo, non promo-box) \u2014\u2014 *\/\n        .ab-signal {\n            position: relative !important;\n            padding: 88px 20px 100px !important;\n            background: #000 !important;\n            overflow: hidden !important;\n            border-top: 1px solid rgba(74,222,128,0.12) !important;\n            border-bottom: 1px solid rgba(74,222,128,0.12) !important;\n            min-height: auto !important;\n            justify-content: flex-start !important;\n        }\n        .ab-signal__noise {\n            position: absolute; inset: 0; pointer-events: none; opacity: 0.04; z-index: 0;\n            background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\");\n        }\n        .ab-signal__scan {\n            position: absolute; inset: 0; pointer-events: none; z-index: 0;\n            background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(74,222,128,0.03) 3px, rgba(74,222,128,0.03) 4px);\n        }\n        .ab-signal__ghost {\n            position: absolute; top: 18%; left: 50%; transform: translateX(-50%);\n            font-family: 'Syne', sans-serif; font-weight: 800;\n            font-size: clamp(4rem, 22vw, 16rem); letter-spacing: 0.2em;\n            color: transparent; -webkit-text-stroke: 1px rgba(74,222,128,0.04);\n            white-space: nowrap; pointer-events: none; z-index: 0; user-select: none;\n        }\n        .ab-signal__head, .ab-signal__deck { position: relative; z-index: 2; }\n        .ab-signal__head {\n            max-width: 920px; margin: 0 auto 56px; text-align: left;\n        }\n        .ab-signal__kicker {\n            display: inline-flex; align-items: center; gap: 10px;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.65rem; font-weight: 700; letter-spacing: 0.35em; text-transform: uppercase;\n            color: #4ade80; margin: 0 0 18px;\n        }\n        .ab-signal__dot {\n            width: 8px; height: 8px; border-radius: 50%;\n            background: #4ade80; box-shadow: 0 0 16px #4ade80;\n            animation: voidPulse 2s ease infinite;\n        }\n        .ab-signal__title {\n            font-family: 'Syne', sans-serif; font-weight: 800;\n            font-size: clamp(2.4rem, 7vw, 4.2rem); line-height: 0.95;\n            color: #fff; margin: 0 0 14px; letter-spacing: 0.04em;\n        }\n        .ab-signal__title em {\n            font-family: 'Urbanist', sans-serif; font-style: italic; color: #4ade80;\n        }\n        .ab-signal__cursor {\n            color: #4ade80; animation: abSignalBlink 1s step-end infinite;\n        }\n        @keyframes abSignalBlink { 50% { opacity: 0; } }\n        .ab-signal__lead {\n            margin: 0; max-width: 36rem;\n            font-size: 1rem; line-height: 1.65; color: #64748b;\n        }\n        .ab-signal__deck {\n            display: flex; flex-direction: column; gap: 20px;\n            max-width: 1100px; margin: 0 auto; width: 100%;\n        }\n        .ab-signal__lane {\n            display: grid;\n            grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);\n            align-items: stretch;\n            min-height: 168px;\n            background: #030503 !important;\n            border: 1px solid rgba(74,222,128,0.18) !important;\n            border-radius: 4px 24px 4px 24px;\n            overflow: hidden;\n            cursor: pointer;\n            transition: transform 0.45s cubic-bezier(0.23,1,0.32,1), border-color 0.35s, box-shadow 0.35s;\n            box-shadow: 0 24px 80px rgba(0,0,0,0.85), inset 0 1px 0 rgba(74,222,128,0.08);\n        }\n        .ab-signal__lane--ssc { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }\n        .ab-signal__lane--terminal { grid-template-columns: 1fr; min-height: 220px; }\n        .ab-signal__lane--hero {\n            border-color: rgba(74,222,128,0.45) !important;\n            box-shadow: 0 0 80px rgba(74,222,128,0.12), 0 30px 90px rgba(0,0,0,0.9) !important;\n        }\n        .ab-signal__lane:hover {\n            transform: translateX(8px) scale(1.01);\n            border-color: rgba(74,222,128,0.55) !important;\n            box-shadow: 0 0 100px rgba(74,222,128,0.15), 0 40px 100px rgba(0,0,0,0.95) !important;\n        }\n        .ab-signal__lane-visual {\n            position: relative; min-height: 168px; overflow: hidden;\n            background: #000 !important;\n        }\n        .ab-signal__lane-visual img {\n            width: 100%; height: 100%; object-fit: cover;\n            filter: saturate(0.88) brightness(0.78) contrast(1.05);\n            transition: transform 0.6s ease, filter 0.4s ease;\n        }\n        .ab-signal__lane:hover .ab-signal__lane-visual img {\n            transform: scale(1.06);\n            filter: saturate(0.95) brightness(0.88) contrast(1.08);\n        }\n        .ab-signal__lane-veil {\n            position: absolute; inset: 0;\n            background: linear-gradient(105deg, rgba(0,0,0,0.55) 0%, rgba(0,40,24,0.22) 42%, rgba(0,0,0,0.35) 100%);\n            pointer-events: none;\n        }\n        .ab-signal__lane-body {\n            display: flex; flex-direction: column; justify-content: center;\n            padding: 28px 32px; gap: 8px;\n            background: #030503 !important;\n        }\n        .ab-signal__lane-body--first { order: -1; }\n        .ab-signal__num {\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.62rem; font-weight: 700; letter-spacing: 0.4em;\n            color: rgba(74,222,128,0.5);\n        }\n        .ab-signal__lane-title {\n            font-family: 'Syne', sans-serif; font-weight: 800;\n            font-size: clamp(1.35rem, 3vw, 1.85rem); color: #fff; margin: 0;\n            letter-spacing: 0.06em; text-transform: uppercase;\n        }\n        .ab-signal__lane-desc {\n            margin: 0 0 12px; font-size: 0.92rem; line-height: 1.55; color: #94a3b8;\n        }\n        .ab-signal__cta {\n            display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;\n            margin-top: auto;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;\n            color: #4ade80; border-bottom: 1px solid rgba(74,222,128,0.35);\n            padding-bottom: 4px;\n        }\n        .ab-signal__cta .material-icons-round { font-size: 16px; }\n        .ab-signal__cta--solid {\n            color: #000; background: linear-gradient(135deg, #059669, #4ade80);\n            border: none; border-radius: 999px; padding: 12px 22px;\n            box-shadow: 0 0 30px rgba(74,222,128,0.3);\n        }\n        .ab-signal__terminal-grid {\n            position: absolute; inset: 0; opacity: 0.15; pointer-events: none;\n            background-image:\n                linear-gradient(rgba(74,222,128,0.15) 1px, transparent 1px),\n                linear-gradient(90deg, rgba(74,222,128,0.15) 1px, transparent 1px);\n            background-size: 24px 24px;\n        }\n        .ab-signal__lane-body--terminal {\n            position: relative; z-index: 1; padding: 32px 36px;\n        }\n        .ab-signal__terminal-head {\n            display: flex; flex-wrap: wrap; align-items: center; gap: 12px;\n            font-family: 'Urbanist', sans-serif;\n            font-size: 0.78rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;\n            color: #4ade80; margin-bottom: 20px;\n        }\n        .ab-signal__pulse {\n            width: 10px; height: 10px; border-radius: 50%;\n            background: #4ade80; box-shadow: 0 0 20px #4ade80;\n            animation: voidPulse 1.5s ease infinite;\n        }\n        .ab-signal__terminal-tag {\n            margin-left: auto;\n            font-size: 0.62rem; color: rgba(148,163,184,0.8);\n            border: 1px solid rgba(74,222,128,0.2); padding: 4px 10px; border-radius: 999px;\n        }\n        .ab-signal__times {\n            display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px;\n        }\n        .ab-signal__slot {\n            background: rgba(0,0,0,0.6) !important;\n            border: 1px solid rgba(74,222,128,0.2);\n            border-radius: 12px; padding: 16px 18px;\n        }\n        .ab-signal__slot span {\n            display: block; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase;\n            color: #64748b; margin-bottom: 6px;\n        }\n        .ab-signal__slot strong {\n            font-family: 'Outfit', sans-serif; font-size: 1.35rem; font-weight: 900; color: #ecfdf5;\n        }\n        .ab-signal__slot strong small { color: #4ade80; font-weight: 700; }\n        .ab-signal__dates {\n            margin: 0 0 18px; font-family: 'Outfit', sans-serif;\n            font-weight: 800; font-size: 0.85rem; letter-spacing: 0.12em;\n            text-transform: uppercase; color: rgba(74,222,128,0.85);\n        }\n        @media (max-width: 768px) {\n            .ab-signal__lane, .ab-signal__lane--ssc {\n                grid-template-columns: 1fr;\n            }\n            .ab-signal__lane-visual { min-height: 140px; }\n            .ab-signal__lane-body--first { order: 0; }\n            .ab-signal__times { grid-template-columns: 1fr; }\n            .ab-signal__terminal-tag { margin-left: 0; }\n            .ab-signal__head { text-align: center; }\n        }\n\n        @media (prefers-reduced-motion: reduce) {\n            .void-arena-grid, .void-arena-orb, .void-scroll-hint, .void-headline-line--fire,\n            .ab-hero-scroll { animation: none !important; }\n        }\n    <\/style>\n\n    <!-- \u2014\u2014 ACCENTI ORO \u00b7 stagione verde + oro \u2014\u2014 -->\n    <style id=\"gold-season-accents\">\n        ::-webkit-scrollbar-thumb {\n            background: linear-gradient(180deg, var(--brand-gold-dark), var(--brand-green-light)) !important;\n        }\n\n        body.void-hive #header-fixed {\n            border-color: rgba(74, 222, 128, 0.14) !important;\n            box-shadow:\n                0 8px 40px rgba(0, 0, 0, 0.5),\n                0 0 0 1px rgba(255,255,255,0.03) inset,\n                inset 0 1px 0 rgba(201, 168, 76, 0.22) !important;\n        }\n\n        body.void-hive .brand-name .part1 {\n            color: #4ade80 !important;\n            text-shadow: 0 0 20px rgba(74, 222, 128, 0.35), 0 0 8px rgba(201, 168, 76, 0.15) !important;\n        }\n        body.void-hive .brand-name .part2 {\n            color: var(--brand-gold-light) !important;\n            text-shadow: 0 0 18px var(--brand-gold-glow) !important;\n        }\n\n        body.void-hive .ab-hero-brand__av,\n        body.void-hive #intro-brand-av {\n            color: transparent !important;\n            -webkit-text-stroke: 1.75px rgba(88, 175, 125, 0.98) !important;\n            filter:\n                drop-shadow(0 0 2px rgba(0, 0, 0, 1))\n                drop-shadow(0 0 8px rgba(0, 0, 0, 0.92))\n                drop-shadow(0 0 18px rgba(0, 0, 0, 0.72))\n                drop-shadow(0 0 5px rgba(0, 69, 40, 0.55)) !important;\n        }\n\n        body.void-hive .ab-brand-glass__frost {\n            inset: -0.14em -0.26em !important;\n            border-radius: clamp(10px, 1.2vw, 14px) !important;\n            background:\n                linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)),\n                rgba(0, 0, 0, 0.62) !important;\n            backdrop-filter: blur(22px) saturate(115%) !important;\n            -webkit-backdrop-filter: blur(22px) saturate(115%) !important;\n            border-color: rgba(201, 168, 76, 0.22) !important;\n            box-shadow:\n                inset 0 1px 0 rgba(201, 168, 76, 0.18),\n                inset 0 0 28px rgba(0, 0, 0, 0.42),\n                inset 0 -1px 0 rgba(74, 222, 128, 0.08),\n                0 16px 48px rgba(0,0,0,0.32) !important;\n        }\n        body.void-hive .ab-brand-glass__logo {\n            top: 0 !important;\n            transform: translate(-50%, calc(-100% - 8px)) !important;\n            height: min(72px, 16vw) !important;\n            max-width: min(150px, 38vw) !important;\n            opacity: 0.92 !important;\n            filter: none !important;\n            z-index: 3 !important;\n        }\n        body.void-hive .ab-brand-glass__frost::after {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 10%;\n            right: 10%;\n            height: 1px;\n            background: linear-gradient(90deg, transparent, var(--brand-gold-light), transparent);\n            opacity: 0.75;\n            pointer-events: none;\n        }\n\n        body.void-hive .ab-hero-title__win {\n            background: linear-gradient(90deg, #4ade80 0%, var(--brand-gold-light) 55%, #4ade80 100%);\n            -webkit-background-clip: text;\n            background-clip: text;\n            color: transparent !important;\n            filter: drop-shadow(0 0 14px rgba(201, 168, 76, 0.25));\n        }\n\n        body.void-hive .ab-hero-cta__primary {\n            border-color: rgba(201, 168, 76, 0.55) !important;\n            box-shadow: 0 0 0 1px rgba(74, 222, 128, 0.12), inset 0 1px 0 rgba(201, 168, 76, 0.12) !important;\n        }\n        body.void-hive .ab-hero-cta__primary:hover {\n            border-color: #4ade80 !important;\n            box-shadow: 0 0 40px rgba(74,222,128,0.25), 0 0 20px var(--brand-gold-glow) !important;\n        }\n        body.void-hive .ab-hero-cta__text:hover {\n            color: var(--brand-gold-light) !important;\n        }\n\n        body.void-hive .ab-hero-scroll .mouse {\n            border-color: rgba(201, 168, 76, 0.55) !important;\n            box-shadow: 0 0 14px rgba(201, 168, 76, 0.2) !important;\n        }\n        body.void-hive .ab-hero-scroll .wheel {\n            background: linear-gradient(180deg, var(--brand-gold-light), #4ade80) !important;\n        }\n        body.void-hive .ab-hero-scroll .scroll-indicator-arrow,\n        body.void-hive .ab-hero-scroll .scroll-indicator-label {\n            color: var(--brand-gold-light) !important;\n            filter: drop-shadow(0 0 8px var(--brand-gold-glow)) !important;\n        }\n\n        body.void-hive .marquee-wrapper {\n            border-top-color: rgba(201, 168, 76, 0.28) !important;\n            border-bottom-color: rgba(201, 168, 76, 0.28) !important;\n            box-shadow: 0 0 60px rgba(74,222,128,0.06), inset 0 1px 0 rgba(201, 168, 76, 0.12) !important;\n        }\n        body.void-hive .marquee-content {\n            background: linear-gradient(90deg, #4ade80, var(--brand-gold-light), #4ade80);\n            -webkit-background-clip: text;\n            background-clip: text;\n            color: transparent !important;\n            text-shadow: none !important;\n            filter: drop-shadow(0 0 12px rgba(201, 168, 76, 0.2));\n        }\n\n        body.void-hive .void-chamber {\n            border-top-color: rgba(201, 168, 76, 0.14) !important;\n            border-bottom-color: rgba(201, 168, 76, 0.14) !important;\n        }\n        body.void-hive .void-chamber::before {\n            background:\n                radial-gradient(ellipse 60% 45% at 50% 0%, rgba(74,222,128,0.09), transparent 70%),\n                radial-gradient(ellipse 40% 30% at 80% 20%, rgba(201, 168, 76, 0.06), transparent 70%) !important;\n        }\n        body.void-hive .void-chamber-tag,\n        body.void-hive .nova-bento-kicker {\n            color: var(--brand-gold-light) !important;\n            border-color: rgba(201, 168, 76, 0.35) !important;\n            background: rgba(201, 168, 76, 0.06) !important;\n        }\n        body.void-hive .void-chamber-title em,\n        body.void-hive .nova-bento-title em {\n            color: var(--brand-gold-light) !important;\n            text-shadow: 0 0 30px var(--brand-gold-glow) !important;\n        }\n\n        body.void-hive .void-panel::before,\n        body.void-hive .nova-bento-card::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 2px;\n            z-index: 4;\n            pointer-events: none;\n            background: linear-gradient(90deg, transparent, var(--brand-gold) 18%, var(--brand-gold-light) 50%, var(--brand-gold) 82%, transparent);\n            opacity: 0.72;\n        }\n        body.void-hive .void-panel,\n        body.void-hive .nova-bento-card {\n            border-color: rgba(74, 222, 128, 0.14) !important;\n            box-shadow:\n                0 0 0 1px rgba(201, 168, 76, 0.06) inset,\n                0 30px 80px rgba(0,0,0,0.85),\n                0 0 48px rgba(74,222,128,0.05) !important;\n        }\n        body.void-hive .void-panel:hover,\n        body.void-hive .nova-bento-card:hover {\n            border-color: rgba(201, 168, 76, 0.42) !important;\n            box-shadow:\n                0 0 0 1px rgba(201, 168, 76, 0.12) inset,\n                0 40px 100px rgba(0,0,0,0.9),\n                0 0 60px rgba(201, 168, 76, 0.1),\n                0 0 80px rgba(74,222,128,0.08) !important;\n        }\n        body.void-hive .void-panel--featured {\n            border-color: rgba(201, 168, 76, 0.38) !important;\n            box-shadow: 0 0 80px rgba(201, 168, 76, 0.12), 0 0 40px rgba(74,222,128,0.08) !important;\n        }\n        body.void-hive .void-panel-shine {\n            background: linear-gradient(110deg, transparent 40%, rgba(201, 168, 76, 0.14) 48%, rgba(74,222,128,0.12) 52%, transparent 60%) !important;\n        }\n        body.void-hive .nova-bento-link {\n            color: var(--brand-gold-light) !important;\n        }\n        body.void-hive .nova-bento-icon {\n            background: rgba(201, 168, 76, 0.12) !important;\n            color: var(--brand-gold-light) !important;\n            box-shadow: inset 0 0 0 1px rgba(201, 168, 76, 0.22) !important;\n        }\n\n        body.void-hive .intro-ring {\n            border-color: rgba(201, 168, 76, 0.18) !important;\n        }\n        body.void-hive .intro-hex-frame {\n            border-color: rgba(201, 168, 76, 0.28) !important;\n            background: radial-gradient(circle at 50% 50%, rgba(201, 168, 76, 0.08), rgba(0,135,81,0.08), transparent 70%) !important;\n        }\n        body.void-hive .intro-genesis-tag {\n            color: rgba(201, 168, 76, 0.72) !important;\n            letter-spacing: 0.38em;\n        }\n\n        body.void-hive .void-panel-btn,\n        body.void-hive .promo-btn,\n        body.void-hive .ab-signal__cta--solid {\n            background: linear-gradient(135deg, #047857, #4ade80) !important;\n            border: 1px solid rgba(201, 168, 76, 0.45) !important;\n            box-shadow: 0 0 30px rgba(74,222,128,0.2), 0 0 16px var(--brand-gold-glow) !important;\n        }\n\n        body.void-hive #sidebar .nav-item:hover,\n        body.void-hive #sidebar .submenu-item:hover {\n            color: var(--brand-gold-light) !important;\n        }\n\n        body.void-hive .footer-brand span[style*=\"4ade80\"] {\n            color: var(--brand-gold-light) !important;\n        }\n\n        @media (max-width: 1024px) {\n            body.void-hive #home-hero.ab-hero-elegant {\n                min-height: 100svh !important;\n                height: 100svh !important;\n                box-sizing: border-box !important;\n                display: flex !important;\n                flex-direction: column !important;\n                justify-content: center !important;\n                align-items: center !important;\n                padding: calc(12px + 68px + 28px) 16px calc(100px + env(safe-area-inset-bottom, 0px)) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-inner {\n                width: 100%;\n                max-width: 100%;\n                margin-top: clamp(10px, 2.5vh, 28px);\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-brand-glass__text {\n                font-size: clamp(1.9rem, 8.8vw, 3rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__keep {\n                font-size: clamp(1.5rem, 5.8vw, 2rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__win {\n                font-size: clamp(1.32rem, 5.2vw, 1.78rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-sub {\n                font-size: clamp(1rem, 3.2vw, 1.12rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__primary {\n                font-size: 0.86rem !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__text {\n                font-size: 0.78rem !important;\n            }\n            body.void-hive .void-chamber-tag,\n            body.void-hive .nova-bento-kicker {\n                font-size: 0.82rem !important;\n                letter-spacing: 0.16em !important;\n            }\n            body.void-hive .void-chamber-title,\n            body.void-hive .nova-bento-title {\n                font-size: clamp(1.95rem, 7.8vw, 2.85rem) !important;\n            }\n            body.void-hive .void-chamber-lead,\n            body.void-hive .nova-bento-desc {\n                font-size: clamp(1.02rem, 3.4vw, 1.15rem) !important;\n            }\n            body.void-hive .nova-bento-card h3,\n            body.void-hive .void-panel h3 {\n                font-size: clamp(1.28rem, 4.5vw, 1.52rem) !important;\n            }\n            body.void-hive .nova-bento-card p,\n            body.void-hive .void-panel p {\n                font-size: clamp(0.98rem, 3.2vw, 1.08rem) !important;\n            }\n            body.void-hive .nova-bento-link {\n                font-size: 0.88rem !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-label {\n                font-size: 11px !important;\n            }\n        }\n        @media (max-width: 640px) {\n            body.void-hive #home-hero.ab-hero-elegant {\n                padding: calc(12px + 68px + 40px) 16px calc(92px + env(safe-area-inset-bottom, 0px)) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-inner {\n                margin-top: clamp(16px, 4vh, 40px);\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-brand-glass__text {\n                font-size: clamp(1.85rem, 9.8vw, 2.85rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__keep {\n                font-size: clamp(1.55rem, 6.2vw, 2.05rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__win {\n                font-size: clamp(1.35rem, 5.5vw, 1.82rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-sub {\n                font-size: clamp(1rem, 3.8vw, 1.18rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__primary {\n                font-size: 0.9rem !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__text {\n                font-size: 0.82rem !important;\n            }\n            body.void-hive .void-chamber-title,\n            body.void-hive .nova-bento-title {\n                font-size: clamp(1.85rem, 9vw, 2.55rem) !important;\n            }\n            body.void-hive .void-chamber-lead,\n            body.void-hive .nova-bento-desc {\n                font-size: clamp(1.05rem, 3.8vw, 1.2rem) !important;\n            }\n            body.void-hive .nova-bento-card h3,\n            body.void-hive .void-panel h3 {\n                font-size: clamp(1.32rem, 5vw, 1.58rem) !important;\n            }\n            body.void-hive .nova-bento-card p,\n            body.void-hive .void-panel p {\n                font-size: clamp(1rem, 3.6vw, 1.12rem) !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-label {\n                font-size: 12px !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-icon,\n            body.void-hive #mobile-bottom-nav .bnav-icon.material-icons-round {\n                font-size: 28px !important;\n            }\n        }\n    <\/style>\n\n    <!-- Mobile typography XL \u2014 priorit\u00e0 massima -->\n    <style id=\"mobile-type-xl\">\n        @media (max-width: 1024px) {\n            body.void-hive #home-hero.ab-hero-elegant .ab-brand-glass__text {\n                font-size: clamp(2rem, 10vw, 3.35rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__keep {\n                font-size: clamp(1.65rem, 6.8vw, 2.2rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__win {\n                font-size: clamp(1.45rem, 6vw, 1.95rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-sub {\n                font-size: clamp(1.06rem, 3.8vw, 1.22rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__primary {\n                font-size: 0.95rem !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__text {\n                font-size: 0.88rem !important;\n            }\n            body.void-hive .void-chamber-tag,\n            body.void-hive .nova-bento-kicker {\n                font-size: 0.92rem !important;\n            }\n            body.void-hive .void-chamber-title,\n            body.void-hive .nova-bento-title {\n                font-size: clamp(2.05rem, 8.8vw, 3rem) !important;\n            }\n            body.void-hive .void-chamber-lead,\n            body.void-hive .nova-bento-desc {\n                font-size: clamp(1.08rem, 3.8vw, 1.24rem) !important;\n            }\n            body.void-hive .nova-bento-card h3,\n            body.void-hive .void-panel h3 {\n                font-size: clamp(1.38rem, 5.2vw, 1.65rem) !important;\n            }\n            body.void-hive .nova-bento-card p,\n            body.void-hive .void-panel p {\n                font-size: clamp(1.05rem, 3.8vw, 1.18rem) !important;\n            }\n            body.void-hive .nova-bento-link {\n                font-size: 0.95rem !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-label {\n                font-size: 13px !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-icon,\n            body.void-hive #mobile-bottom-nav .bnav-icon.material-icons-round {\n                font-size: 30px !important;\n            }\n            body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n                right: 18px !important;\n                bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;\n                width: 50px !important;\n                height: 50px !important;\n                min-width: 0 !important;\n                border-radius: 50% !important;\n                z-index: 99950 !important;\n            }\n            body.void-hive #ab-scroll-module-btn .material-icons-round {\n                font-size: 26px !important;\n            }\n        }\n        @media (max-width: 640px) {\n            body.void-hive #home-hero.ab-hero-elegant .ab-brand-glass__text {\n                font-size: clamp(2.05rem, 11.5vw, 3.1rem) !important;\n                letter-spacing: 0.035em !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__keep {\n                font-size: clamp(1.72rem, 7.2vw, 2.15rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-title__win {\n                font-size: clamp(1.5rem, 6.4vw, 1.9rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-sub {\n                font-size: clamp(1.1rem, 4.2vw, 1.25rem) !important;\n            }\n            body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__primary {\n                font-size: 1rem !important;\n            }\n            body.void-hive .void-chamber-title,\n            body.void-hive .nova-bento-title {\n                font-size: clamp(1.95rem, 9.5vw, 2.65rem) !important;\n            }\n            body.void-hive .void-chamber-lead,\n            body.void-hive .nova-bento-desc {\n                font-size: clamp(1.12rem, 4.2vw, 1.28rem) !important;\n            }\n            body.void-hive .nova-bento-card h3,\n            body.void-hive .void-panel h3 {\n                font-size: clamp(1.42rem, 5.5vw, 1.7rem) !important;\n            }\n            body.void-hive .nova-bento-card p,\n            body.void-hive .void-panel p {\n                font-size: clamp(1.08rem, 4vw, 1.2rem) !important;\n            }\n            body.void-hive #mobile-bottom-nav .bnav-label {\n                font-size: 14px !important;\n            }\n            body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n                right: 16px !important;\n                bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;\n                width: 48px !important;\n                height: 48px !important;\n                min-width: 0 !important;\n                border-radius: 50% !important;\n                z-index: 99950 !important;\n            }\n            body.void-hive #ab-scroll-module-btn .material-icons-round {\n                font-size: 26px !important;\n            }\n            body.void-hive:not(.intro-done) #ab-scroll-module-btn,\n            body.void-hive.overlay-open #ab-scroll-module-btn {\n                display: none !important;\n            }\n        }\n        @media (prefers-reduced-motion: reduce) {\n            .ab-hero-inner--in .ab-brand-glass,\n            .ab-hero-inner--in .ab-brand-glass__logo,\n            .ab-hero-inner--in .ab-brand-glass__frost,\n            .ab-hero-inner--in .ab-hero-brand__av,\n            .ab-hero-inner--in .ab-hero-brand__bk,\n            .ab-hero-inner--in .ab-brand-glass__text,\n            #intro-brand,\n            #intro-brand-av,\n            #intro-brand-bk,\n            #intro-logo,\n            .ab-brand-glass--intro .ab-brand-glass__logo,\n            .ab-brand-glass--intro .ab-brand-glass__frost,\n            .intro-hex-frame,\n            .intro-ring,\n            .intro-scan-beam,\n            .intro-genesis-tag,\n            #intro-logo-wrap,\n            #intro-logo-wrap .ab-brand-glass--intro { animation: none !important; }\n            #intro-splash::before,\n            #intro-splash::after { animation: none !important; opacity: 0 !important; }\n        }\n    <\/style>\n\n    <!-- Step nav \u2014 cerchio a destra, solo freccia -->\n    <style id=\"scroll-step-nav-fix\">\n        body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n            display: inline-flex !important;\n            visibility: visible !important;\n            opacity: 1 !important;\n            pointer-events: auto !important;\n            z-index: 99950 !important;\n            right: 24px !important;\n            left: auto !important;\n            transform: none !important;\n            width: 52px !important;\n            height: 52px !important;\n            min-width: 0 !important;\n            padding: 0 !important;\n            border-radius: 50% !important;\n        }\n        #ab-scroll-module-btn .material-icons-round {\n            font-size: 28px !important;\n            color: #4ade80 !important;\n        }\n        #ab-scroll-module-btn .ab-scroll-module-btn__label {\n            display: none !important;\n        }\n        body.overlay-open #ab-scroll-module-btn,\n        body:not(.intro-done) #ab-scroll-module-btn {\n            display: none !important;\n        }\n        #home-hero .scroll-indicator,\n        #home-hero .scroll-indicator.ab-hero-scroll,\n        #home-hero .scroll-indicator.void-scroll-hint {\n            display: none !important;\n            visibility: hidden !important;\n            pointer-events: none !important;\n        }\n        body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta {\n            display: flex !important;\n            justify-content: center !important;\n            align-items: center !important;\n            width: 100% !important;\n        }\n        body.void-hive #home-hero.ab-hero-elegant .ab-hero-cta__primary {\n            margin-left: auto !important;\n            margin-right: auto !important;\n        }\n        body.void-hive .ab-brand-glass,\n        body.void-hive .ab-brand-glass--intro {\n            padding-top: 0 !important;\n            margin-top: clamp(52px, 11vw, 76px) !important;\n        }\n        body.void-hive .ab-brand-glass__frost {\n            inset: -0.14em -0.26em !important;\n            border-radius: clamp(10px, 1.2vw, 14px) !important;\n        }\n        body.void-hive .ab-brand-glass__logo {\n            top: 0 !important;\n            transform: translate(-50%, calc(-100% - 8px)) !important;\n            height: min(72px, 16vw) !important;\n            max-width: min(150px, 38vw) !important;\n            opacity: 0.92 !important;\n            filter: none !important;\n            z-index: 3 !important;\n        }\n        body.void-hive .ab-brand-glass__text,\n        body.void-hive #intro-brand {\n            z-index: 4 !important;\n            padding: 0.04em 0.06em !important;\n        }\n        body.intro-done #home-hero .ab-brand-glass__logo {\n            opacity: 0.92 !important;\n            animation: none !important;\n            filter: none !important;\n        }\n        body.intro-done #home-hero .ab-brand-glass__frost {\n            opacity: 1 !important;\n            animation: none !important;\n        }\n        body.intro-done .ab-hero-inner--in .ab-brand-glass,\n        body.intro-done .ab-hero-inner--in .ab-brand-glass__logo,\n        body.intro-done .ab-hero-inner--in .ab-brand-glass__frost,\n        body.intro-done .ab-hero-inner--in .ab-hero-brand__av,\n        body.intro-done .ab-hero-inner--in .ab-hero-brand__bk {\n            animation: none !important;\n        }\n        body.intro-done .ab-hero-inner--in .ab-brand-glass__text {\n            animation: abHeroBrandTextZoom 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both !important;\n            transform-origin: center center !important;\n        }\n        #home-hero.ab-hero-elegant .ab-hero-basketball {\n            opacity: 0.12 !important;\n        }\n        #home-hero.ab-hero-elegant .ab-hero-basketball__photo {\n            display: none !important;\n        }\n        @media (max-width: 768px) {\n            #home-hero.ab-hero-elegant .ab-hero-basketball {\n                width: min(420px, 92vw) !important;\n                height: min(420px, 92vw) !important;\n                opacity: 0.09 !important;\n            }\n        }\n        body.void-hive #merchandising-section.merchandising-parallax {\n            background-image: url('https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2025\/08\/AA_MERCHANDISING.jpg') !important;\n            background-size: cover !important;\n            background-position: center !important;\n            background-repeat: no-repeat !important;\n        }\n        body.void-hive #merchandising-section .merch-btn--soon {\n            display: inline-block !important;\n            visibility: visible !important;\n            opacity: 1 !important;\n            background: rgba(0, 0, 0, 0.82) !important;\n            color: #4ade80 !important;\n            border: 2px solid rgba(74, 222, 128, 0.6) !important;\n            text-transform: none !important;\n            letter-spacing: 0.03em !important;\n            font-weight: 800 !important;\n            font-size: clamp(0.9rem, 2.5vw, 1.08rem) !important;\n            line-height: 1.4 !important;\n            padding: 14px 22px !important;\n            box-shadow: 0 0 28px rgba(74, 222, 128, 0.32), inset 0 0 0 1px rgba(74, 222, 128, 0.2) !important;\n            text-shadow: 0 0 18px rgba(74, 222, 128, 0.35) !important;\n            cursor: default !important;\n        }\n        @media (max-width: 1024px) {\n            body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n                right: 18px !important;\n                bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;\n                width: 50px !important;\n                height: 50px !important;\n            }\n        }\n        @media (min-width: 1025px) {\n            body.intro-done:not(.overlay-open) #ab-scroll-module-btn {\n                bottom: 32px !important;\n                right: 28px !important;\n            }\n        }\n        @media (prefers-reduced-motion: reduce) {\n            #ab-scroll-module-btn { animation: none !important; }\n        }\n    <\/style>\n\n    <button type=\"button\" id=\"wow-fab\" onclick=\"openDynamicPage('Iscrizioni', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\" aria-label=\"Iscriviti\">\n        <span class=\"material-icons-round\" style=\"font-size:28px\">person_add<\/span>\n    <\/button>\n\n    <script>\n        \/* WOW \u2014 particelle + header shrink on scroll *\/\n        (function wowEffects() {\n            const canvas = document.getElementById('wow-particles');\n            const header = document.getElementById('header-fixed');\n            const content = document.getElementById('content-area');\n            if (!canvas) return;\n\n            const ctx = canvas.getContext('2d');\n            let particles = [];\n            let w, h, animId;\n\n            function resize() {\n                w = canvas.width = window.innerWidth;\n                h = canvas.height = window.innerHeight;\n            }\n\n            function initParticles() {\n                const count = Math.min(80, Math.floor((w * h) \/ 18000));\n                particles = Array.from({ length: count }, () => ({\n                    x: Math.random() * w,\n                    y: Math.random() * h,\n                    r: Math.random() * 1.8 + 0.4,\n                    vx: (Math.random() - 0.5) * 0.35,\n                    vy: (Math.random() - 0.5) * 0.35,\n                    a: Math.random() * 0.5 + 0.15\n                }));\n            }\n\n            function draw() {\n                ctx.clearRect(0, 0, w, h);\n                const linkDist = 120;\n                particles.forEach(p => {\n                    p.x += p.vx;\n                    p.y += p.vy;\n                    if (p.x < 0) p.x = w;\n                    if (p.x > w) p.x = 0;\n                    if (p.y < 0) p.y = h;\n                    if (p.y > h) p.y = 0;\n                    ctx.beginPath();\n                    ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n                    ctx.fillStyle = `rgba(74, 222, 128, ${p.a})`;\n                    ctx.fill();\n                });\n                for (let i = 0; i < particles.length; i++) {\n                    for (let j = i + 1; j < particles.length; j++) {\n                        const dx = particles[i].x - particles[j].x;\n                        const dy = particles[i].y - particles[j].y;\n                        const dist = Math.hypot(dx, dy);\n                        if (dist < linkDist) {\n                            ctx.beginPath();\n                            ctx.moveTo(particles[i].x, particles[i].y);\n                            ctx.lineTo(particles[j].x, particles[j].y);\n                            ctx.strokeStyle = `rgba(74, 222, 128, ${0.12 * (1 - dist \/ linkDist)})`;\n                            ctx.lineWidth = 0.6;\n                            ctx.stroke();\n                        }\n                    }\n                }\n                animId = requestAnimationFrame(draw);\n            }\n\n            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n                resize();\n                initParticles();\n                draw();\n                window.addEventListener('resize', () => { resize(); initParticles(); });\n            }\n\n            if (content && header) {\n                let headerTick = false;\n                content.addEventListener('scroll', () => {\n                    if (headerTick) return;\n                    headerTick = true;\n                    requestAnimationFrame(() => {\n                        const y = content.scrollTop;\n                        header.style.opacity = y > 60 ? '0.95' : '1';\n                        headerTick = false;\n                    });\n                }, { passive: true });\n            }\n        })();\n    <\/script>\n    <script>\n        (function applyMobileViewFix() {\n            function fix() {\n                var mobile = window.innerWidth <= 1024;\n                var heroVideo = document.getElementById('hero-bg');\n                var hero = document.getElementById('home-hero');\n                var logo = document.getElementById('hero-mobile-logo');\n                if (!mobile) return;\n                if (heroVideo) {\n                    heroVideo.pause();\n                    heroVideo.style.display = 'none';\n                    heroVideo.style.visibility = 'hidden';\n                }\n                if (hero) {\n                    hero.style.background = '#000';\n                    hero.style.backgroundImage = 'radial-gradient(ellipse at 50% 30%, rgba(0,100,60,0.25) 0%, transparent 55%)';\n                }\n                if (logo) logo.style.display = 'flex';\n            }\n            fix();\n            window.addEventListener('resize', fix);\n            document.addEventListener('DOMContentLoaded', fix);\n        })();\n    <\/script>\n\n    <script>\n        \/* GENESIS NEXUS \u2014 command palette, mesh, cursor, intro *\/\n        (function genesisNexus() {\n            document.documentElement.classList.add('dark');\n            document.documentElement.style.colorScheme = 'dark';\n            const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n            const NOVA_ROUTES = [\n                { title: 'Home', group: 'Navigazione', action: () => showHome() },\n                { title: 'Storia', group: 'Societ\u00e0', url: 'https:\/\/www.aviglianabasket.it\/?page_id=254' },\n                { title: 'Informazioni', group: 'Societ\u00e0', url: 'https:\/\/www.aviglianabasket.it\/?page_id=274' },\n                { title: 'Stagione', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=139' },\n                { title: 'Squadre', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=179' },\n                { title: 'Calendario', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=2192' },\n                { title: 'Prossimi Incontri', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=107' },\n                { title: 'Statistiche', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=5473' },\n                { title: 'News', group: 'Stagione', url: 'https:\/\/www.aviglianabasket.it\/?page_id=151' },\n                { title: 'Iscrizione Corsi', group: 'Atleti', url: 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/' },\n                { title: 'Portale Atleta', group: 'Atleti', url: 'https:\/\/www.aviglianabasket.cloud\/PORTALE\/index.html' },\n                { title: 'Sondaggio', group: 'Atleti', action: () => openSurveyPage() },\n                { title: 'Merchandising', group: 'Shop', url: 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/' },\n                { title: 'Sponsor', group: 'Club', url: 'https:\/\/www.aviglianabasket.it\/?page_id=454' },\n                { title: 'Area Riservata', group: 'Club', url: 'https:\/\/www.aviglianabasket.it\/?page_id=427' }\n            ];\n\n            let cmdIndex = 0;\n            let cmdFiltered = NOVA_ROUTES.slice();\n\n            function renderCmdList() {\n                const list = document.getElementById('nova-cmd-list');\n                if (!list) return;\n                list.innerHTML = cmdFiltered.map((r, i) =>\n                    `<li class=\"nova-cmd-item${i === cmdIndex ? ' is-active' : ''}\" data-idx=\"${i}\">\n                        <span>${r.title}<\/span><small>${r.group}<\/small>\n                    <\/li>`\n                ).join('');\n                list.querySelectorAll('.nova-cmd-item').forEach(el => {\n                    el.addEventListener('click', () => runCmdRoute(cmdFiltered[Number(el.dataset.idx)]));\n                });\n                const active = list.querySelector('.is-active');\n                if (active) active.scrollIntoView({ block: 'nearest' });\n            }\n\n            function runCmdRoute(route) {\n                if (!route) return;\n                closeNovaCmd();\n                if (route.action) route.action();\n                else if (route.url) openDynamicPage(route.title, route.url);\n            }\n\n            window.openNovaCmd = function () {\n                const panel = document.getElementById('nova-cmd');\n                const input = document.getElementById('nova-cmd-input');\n                if (!panel) return;\n                panel.hidden = false;\n                panel.setAttribute('aria-hidden', 'false');\n                cmdIndex = 0;\n                cmdFiltered = NOVA_ROUTES.slice();\n                renderCmdList();\n                if (input) { input.value = ''; setTimeout(() => input.focus(), 50); }\n            };\n\n            window.closeNovaCmd = function () {\n                const panel = document.getElementById('nova-cmd');\n                if (!panel) return;\n                panel.hidden = true;\n                panel.setAttribute('aria-hidden', 'true');\n            };\n\n            document.getElementById('nova-cmd-input')?.addEventListener('input', (e) => {\n                const q = String(e.target.value || '').trim().toLowerCase();\n                cmdFiltered = NOVA_ROUTES.filter(r =>\n                    r.title.toLowerCase().includes(q) || r.group.toLowerCase().includes(q)\n                );\n                cmdIndex = 0;\n                renderCmdList();\n            });\n\n            document.addEventListener('keydown', (e) => {\n                const panel = document.getElementById('nova-cmd');\n                const open = panel && !panel.hidden;\n                if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 'k') {\n                    e.preventDefault();\n                    open ? closeNovaCmd() : openNovaCmd();\n                    return;\n                }\n                if (!open) return;\n                if (e.key === 'Escape') { closeNovaCmd(); return; }\n                if (e.key === 'ArrowDown') {\n                    e.preventDefault();\n                    cmdIndex = Math.min(cmdIndex + 1, cmdFiltered.length - 1);\n                    renderCmdList();\n                }\n                if (e.key === 'ArrowUp') {\n                    e.preventDefault();\n                    cmdIndex = Math.max(cmdIndex - 1, 0);\n                    renderCmdList();\n                }\n                if (e.key === 'Enter') {\n                    e.preventDefault();\n                    runCmdRoute(cmdFiltered[cmdIndex]);\n                }\n            });\n\n            \/* Cursor glow \u2014 desktop *\/\n            if (window.innerWidth > 1024 && !reduced) {\n                const glow = document.getElementById('cursor-glow');\n                document.body.classList.add('nova-cursor-on');\n                document.addEventListener('mousemove', (e) => {\n                    if (!glow) return;\n                    glow.style.left = e.clientX + 'px';\n                    glow.style.top = e.clientY + 'px';\n                }, { passive: true });\n            }\n\n            \/* Hive mesh canvas *\/\n            if (!reduced) {\n                const mesh = document.getElementById('hive-mesh-canvas');\n                if (mesh) {\n                    const mctx = mesh.getContext('2d');\n                    let mx = 0.5, my = 0.5, mw, mh, meshId;\n                    const resizeMesh = () => {\n                        mw = mesh.width = window.innerWidth;\n                        mh = mesh.height = window.innerHeight;\n                    };\n                    document.addEventListener('mousemove', (e) => {\n                        mx = e.clientX \/ window.innerWidth;\n                        my = e.clientY \/ window.innerHeight;\n                    }, { passive: true });\n                    const drawHex = (cx, cy, r) => {\n                        mctx.beginPath();\n                        for (let i = 0; i < 6; i++) {\n                            const a = (Math.PI \/ 3) * i - Math.PI \/ 6;\n                            const x = cx + r * Math.cos(a);\n                            const y = cy + r * Math.sin(a);\n                            i === 0 ? mctx.moveTo(x, y) : mctx.lineTo(x, y);\n                        }\n                        mctx.closePath();\n                    };\n                    const drawMesh = () => {\n                        mctx.clearRect(0, 0, mw, mh);\n                        const size = 36;\n                        const w = size * 1.732;\n                        const h = size * 1.5;\n                        const cols = Math.ceil(mw \/ w) + 2;\n                        const rows = Math.ceil(mh \/ h) + 2;\n                        for (let row = -1; row < rows; row++) {\n                            for (let col = -1; col < cols; col++) {\n                                const cx = col * w + (row % 2 ? w \/ 2 : 0);\n                                const cy = row * h;\n                                const dx = (cx \/ mw) - mx;\n                                const dy = (cy \/ mh) - my;\n                                const dist = Math.hypot(dx, dy);\n                                const alpha = Math.max(0, 0.08 - dist * 0.15);\n                                if (alpha <= 0.005) continue;\n                                drawHex(cx, cy, size * 0.48);\n                                mctx.strokeStyle = `rgba(74, 222, 128, ${alpha})`;\n                                mctx.lineWidth = 0.6;\n                                mctx.stroke();\n                            }\n                        }\n                        meshId = requestAnimationFrame(drawMesh);\n                    };\n                    resizeMesh();\n                    drawMesh();\n                    window.addEventListener('resize', resizeMesh);\n                }\n            }\n\n            \/* Intro \u2014 alone particelle radiali, soft *\/\n            const introCanvas = document.getElementById('intro-hex-canvas');\n            if (introCanvas &#038;&#038; !reduced) {\n                const ictx = introCanvas.getContext('2d');\n                let iw, ih, t0 = performance.now();\n                const resizeIntro = () => {\n                    iw = introCanvas.width = window.innerWidth;\n                    ih = introCanvas.height = window.innerHeight;\n                };\n                const drawIntro = (now) => {\n                    const t = (now - t0) \/ 1000;\n                    ictx.clearRect(0, 0, iw, ih);\n                    const cx = iw \/ 2, cy = ih \/ 2;\n                    const bloom = t < 2.4 ? 0 : Math.min(1, (t - 2.4) \/ 0.8);\n                    const fade = t > 4.2 ? Math.max(0, 1 - (t - 4.2) \/ 0.8) : 1;\n                    for (let ring = 1; ring <= 5; ring++) {\n                        const r = ring * 32 + t * 18;\n                        const alpha = Math.max(0, (0.14 - ring * 0.022 - t * 0.028) * bloom * fade);\n                        if (alpha <= 0) continue;\n                        ictx.beginPath();\n                        ictx.arc(cx, cy, r, 0, Math.PI * 2);\n                        ictx.strokeStyle = ring % 2 === 0\n                            ? `rgba(201, 168, 76, ${alpha * 0.85})`\n                            : `rgba(74, 222, 128, ${alpha})`;\n                        ictx.lineWidth = 0.75;\n                        ictx.stroke();\n                    }\n                    if (t < 5.2) requestAnimationFrame(drawIntro);\n                };\n                resizeIntro();\n                requestAnimationFrame(drawIntro);\n                window.addEventListener('resize', resizeIntro);\n            }\n\n            \/* Magnetic CTAs *\/\n            document.querySelectorAll('.nova-cta-magnetic').forEach(btn => {\n                btn.addEventListener('mousemove', (e) => {\n                    const r = btn.getBoundingClientRect();\n                    const x = (e.clientX - r.left - r.width \/ 2) * 0.18;\n                    const y = (e.clientY - r.top - r.height \/ 2) * 0.18;\n                    btn.style.transform = `translate(${x}px, ${y}px)`;\n                });\n                btn.addEventListener('mouseleave', () => { btn.style.transform = ''; });\n            });\n\n            \/* Void giant parallax *\/\n            const content = document.getElementById('content-area');\n            const giants = document.querySelectorAll('.void-giant');\n            if (content && giants.length) {\n                content.addEventListener('scroll', () => {\n                    const y = content.scrollTop;\n                    giants.forEach((el, i) => {\n                        el.style.transform = `translateX(-50%) translateY(${y * (0.08 + i * 0.04)}px)`;\n                    });\n                }, { passive: true });\n            }\n\n            \/* Magnetic void hex *\/\n            document.querySelectorAll('.ab-hero-tile, .void-hex').forEach(btn => {\n                btn.addEventListener('mousemove', (e) => {\n                    const r = btn.getBoundingClientRect();\n                    const x = (e.clientX - r.left - r.width \/ 2) * 0.15;\n                    const y = (e.clientY - r.top - r.height \/ 2) * 0.15;\n                    btn.style.transform = `translate(${x}px, ${y}px)`;\n                });\n                btn.addEventListener('mouseleave', () => { btn.style.transform = ''; });\n            });\n\n            document.querySelectorAll('.nova-bento-card').forEach(card => {\n                card.addEventListener('keydown', (e) => {\n                    if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); card.click(); }\n                });\n            });\n        })();\n    <\/script>\n\n    <script>\n        \/* VOID DARK ENFORCER \u2014 caccia sfondi chiari (debounced, no loop) *\/\n        (function voidDarkEnforcer() {\n            document.documentElement.classList.add('dark');\n            document.documentElement.classList.remove('light-mode');\n\n            let running = false;\n            let debounceTimer = null;\n            let observer = null;\n\n            function luminance(rgb) {\n                const m = rgb.match(\/\\d+\/g);\n                if (!m || m.length < 3) return 0;\n                const [r, g, b] = m.map(Number);\n                return (0.299 * r + 0.587 * g + 0.114 * b) \/ 255;\n            }\n\n            function isLightBg(el) {\n                if (!el || el.tagName === 'IMG' || el.tagName === 'VIDEO' || el.tagName === 'IFRAME' || el.tagName === 'CANVAS') return false;\n                if (el.id === 'intro-splash' || el.closest('#intro-splash')) return false;\n                const cs = getComputedStyle(el);\n                const bg = cs.backgroundColor;\n                if (!bg || bg === 'transparent' || bg === 'rgba(0, 0, 0, 0)') return false;\n                return luminance(bg) > 0.42;\n            }\n\n            function purgeLight(root) {\n                if (!root) return;\n                root.querySelectorAll('*').forEach((el) => {\n                    if (isLightBg(el)) {\n                        el.style.setProperty('background', '#030503', 'important');\n                        el.style.setProperty('background-color', '#030503', 'important');\n                        el.style.setProperty('background-image', 'none', 'important');\n                        if (luminance(getComputedStyle(el).color) < 0.35) {\n                            el.style.setProperty('color', '#e2e8f0', 'important');\n                        }\n                    }\n                    const inline = el.getAttribute('style') || '';\n                    if (\/background\\s*:\\s*(white|#fff(f(f)?)?|#f[0-9a-f]{5}|rgb\\s*\\(\\s*255)\/i.test(inline)) {\n                        el.style.setProperty('background', '#030503', 'important');\n                        el.style.setProperty('background-color', '#030503', 'important');\n                    }\n                });\n            }\n\n            function run() {\n                if (running) return;\n                running = true;\n                try {\n                    document.documentElement.style.setProperty('background', '#000', 'important');\n                    document.body.style.setProperty('background', '#000', 'important');\n                    document.body.style.setProperty('background-color', '#000', 'important');\n                    const content = document.getElementById('content-area');\n                    if (content) {\n                        content.style.setProperty('background', '#000', 'important');\n                        content.style.setProperty('background-color', '#000', 'important');\n                    }\n                    document.querySelectorAll('.page-section, #registration-promo-section, .ab-signal').forEach((el) => {\n                        el.style.setProperty('background', '#000', 'important');\n                        el.style.setProperty('background-color', '#000', 'important');\n                    });\n                    purgeLight(content);\n                    purgeLight(document.getElementById('sidebar'));\n                } finally {\n                    running = false;\n                }\n            }\n\n            function scheduleRun() {\n                clearTimeout(debounceTimer);\n                debounceTimer = setTimeout(run, 250);\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', run, { once: true });\n            } else {\n                run();\n            }\n            window.addEventListener('load', run, { once: true });\n            setTimeout(run, 500);\n\n            const root = document.getElementById('content-area');\n            if (root && typeof MutationObserver !== 'undefined') {\n                observer = new MutationObserver((mutations) => {\n                    const structural = mutations.some((m) => m.type === 'childList');\n                    if (structural) scheduleRun();\n                });\n                observer.observe(root, { childList: true, subtree: true });\n            }\n        })();\n    <\/script>\n\n    <!-- Cookie consent \u2014 banner + policy -->\n    <style id=\"ab-cookie-consent-styles\">\n        .ab-cookie-banner {\n            position: fixed;\n            left: 16px;\n            right: 16px;\n            bottom: 16px;\n            z-index: 99960;\n            max-width: 560px;\n            margin: 0 auto;\n            opacity: 0;\n            visibility: hidden;\n            transform: translateY(18px);\n            transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.45s ease;\n            pointer-events: none;\n        }\n        .ab-cookie-banner--visible {\n            opacity: 1;\n            visibility: visible;\n            transform: translateY(0);\n            pointer-events: auto;\n        }\n        .ab-cookie-banner__inner {\n            padding: 18px 20px 16px;\n            border-radius: 18px;\n            border: 1px solid rgba(201, 168, 76, 0.28);\n            background:\n                linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)),\n                rgba(4, 10, 7, 0.94);\n            backdrop-filter: blur(18px) saturate(120%);\n            -webkit-backdrop-filter: blur(18px) saturate(120%);\n            box-shadow:\n                0 18px 48px rgba(0,0,0,0.55),\n                0 0 0 1px rgba(74,222,128,0.08),\n                0 0 32px rgba(74,222,128,0.08);\n        }\n        .ab-cookie-banner__kicker {\n            margin: 0 0 6px;\n            font-size: 0.62rem;\n            font-weight: 700;\n            letter-spacing: 0.28em;\n            text-transform: uppercase;\n            color: rgba(201, 168, 76, 0.82);\n        }\n        .ab-cookie-banner__title {\n            margin: 0 0 8px;\n            font-family: var(--font-display, system-ui, sans-serif);\n            font-size: 1rem;\n            font-weight: 700;\n            color: #ecfdf5;\n        }\n        .ab-cookie-banner__text {\n            margin: 0 0 14px;\n            font-size: 0.82rem;\n            line-height: 1.55;\n            color: rgba(226, 232, 240, 0.78);\n        }\n        .ab-cookie-banner__text a {\n            color: #4ade80;\n            text-decoration: underline;\n            text-underline-offset: 2px;\n        }\n        .ab-cookie-banner__actions {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n        }\n        .ab-cookie-btn {\n            flex: 1 1 140px;\n            min-height: 42px;\n            padding: 0 16px;\n            border-radius: 999px;\n            font-family: inherit;\n            font-size: 0.78rem;\n            font-weight: 700;\n            letter-spacing: 0.06em;\n            text-transform: uppercase;\n            cursor: pointer;\n            transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;\n        }\n        .ab-cookie-btn:active { transform: scale(0.97); }\n        .ab-cookie-btn--ghost {\n            border: 1px solid rgba(148, 163, 184, 0.35);\n            background: rgba(0,0,0,0.35);\n            color: rgba(226, 232, 240, 0.88);\n        }\n        .ab-cookie-btn--ghost:hover {\n            border-color: rgba(201, 168, 76, 0.45);\n            color: #fff;\n        }\n        .ab-cookie-btn--solid {\n            border: 1px solid rgba(201, 168, 76, 0.45);\n            background: linear-gradient(135deg, #047857, #4ade80);\n            color: #020617;\n            box-shadow: 0 0 24px rgba(74,222,128,0.18);\n        }\n        .ab-cookie-btn--solid:hover {\n            box-shadow: 0 0 32px rgba(74,222,128,0.28);\n        }\n        .ab-calendar-consent-msg {\n            padding: 18px 16px;\n            border-radius: 14px;\n            border: 1px dashed rgba(74,222,128,0.25);\n            background: rgba(0,0,0,0.35);\n            color: rgba(226,232,240,0.78);\n            font-size: 0.88rem;\n            line-height: 1.5;\n            text-align: center;\n        }\n        .ab-calendar-consent-msg__btn {\n            margin-left: 6px;\n            padding: 0;\n            border: none;\n            background: none;\n            color: #4ade80;\n            font: inherit;\n            font-weight: 700;\n            cursor: pointer;\n            text-decoration: underline;\n            text-underline-offset: 2px;\n        }\n        .ab-cookie-modal {\n            position: fixed;\n            inset: 0;\n            z-index: 100010;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            padding: 20px;\n            background: rgba(0,0,0,0.72);\n            backdrop-filter: blur(8px);\n            -webkit-backdrop-filter: blur(8px);\n            opacity: 0;\n            visibility: hidden;\n            transition: opacity 0.3s ease, visibility 0.3s ease;\n        }\n        .ab-cookie-modal--open {\n            opacity: 1;\n            visibility: visible;\n        }\n        .ab-cookie-modal__panel {\n            width: min(640px, 100%);\n            max-height: min(78vh, 720px);\n            overflow: auto;\n            padding: 24px 22px;\n            border-radius: 18px;\n            border: 1px solid rgba(74,222,128,0.18);\n            background: #050806;\n            box-shadow: 0 24px 64px rgba(0,0,0,0.65);\n        }\n        .ab-cookie-modal__head {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            gap: 12px;\n            margin-bottom: 14px;\n        }\n        .ab-cookie-modal__head h2 {\n            margin: 0;\n            font-size: 1.15rem;\n            color: #ecfdf5;\n        }\n        .ab-cookie-modal__close {\n            border: none;\n            background: rgba(255,255,255,0.06);\n            color: #ecfdf5;\n            width: 36px;\n            height: 36px;\n            border-radius: 50%;\n            cursor: pointer;\n        }\n        .ab-cookie-modal__panel h3 {\n            margin: 18px 0 8px;\n            font-size: 0.92rem;\n            color: #4ade80;\n        }\n        .ab-cookie-modal__panel p,\n        .ab-cookie-modal__panel li {\n            font-size: 0.84rem;\n            line-height: 1.6;\n            color: rgba(226,232,240,0.78);\n        }\n        .ab-cookie-modal__panel ul {\n            margin: 0;\n            padding-left: 1.2rem;\n        }\n        @media (max-width: 1024px) {\n            body.intro-done:not(.overlay-open) .ab-cookie-banner--visible {\n                bottom: calc(108px + env(safe-area-inset-bottom, 0px));\n            }\n        }\n        @media (min-width: 768px) {\n            .ab-cookie-banner {\n                left: auto;\n                right: 24px;\n                margin: 0;\n            }\n        }\n    <\/style>\n\n    <div id=\"ab-cookie-banner\" class=\"ab-cookie-banner\" role=\"dialog\" aria-labelledby=\"ab-cookie-title\" aria-hidden=\"true\">\n        <div class=\"ab-cookie-banner__inner\">\n            <p class=\"ab-cookie-banner__kicker\">Privacy &amp; Cookie<\/p>\n            <h2 class=\"ab-cookie-banner__title\" id=\"ab-cookie-title\">Utilizzo dei cookie<\/h2>\n            <p class=\"ab-cookie-banner__text\">\n                Utilizziamo cookie tecnici necessari al funzionamento del sito e, previo consenso, servizi di preferenza\n                (tipografia Urbanist, calendario Google, effetti grafici). Puoi accettare tutti i cookie o continuare con\n                solo quelli necessari. Maggiori informazioni nella\n                <a href=\"#\" id=\"ab-cookie-banner-policy-link\">Cookie Policy<\/a> e nella\n                <a href=\"#\" id=\"ab-cookie-banner-privacy-link\">Privacy Policy<\/a>.\n            <\/p>\n            <div class=\"ab-cookie-banner__actions\">\n                <button type=\"button\" class=\"ab-cookie-btn ab-cookie-btn--ghost\" id=\"ab-cookie-reject\">Solo necessari<\/button>\n                <button type=\"button\" class=\"ab-cookie-btn ab-cookie-btn--solid\" id=\"ab-cookie-accept\">Accetta tutti<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div id=\"ab-cookie-modal\" class=\"ab-cookie-modal\" aria-hidden=\"true\" role=\"dialog\" aria-labelledby=\"ab-cookie-modal-title\">\n        <div class=\"ab-cookie-modal__panel\">\n            <div class=\"ab-cookie-modal__head\">\n                <h2 id=\"ab-cookie-modal-title\">Cookie Policy<\/h2>\n                <button type=\"button\" class=\"ab-cookie-modal__close\" id=\"ab-cookie-modal-close\" aria-label=\"Chiudi\">&times;<\/button>\n            <\/div>\n            <p>Questa informativa descrive le tipologie di cookie e tecnologie simili utilizzate su questo sito web di Avigliana Basket ASD.<\/p>\n            <h3>1. Cosa sono i cookie<\/h3>\n            <p>I cookie sono piccoli file di testo che i siti possono salvare sul dispositivo dell'utente per garantire il corretto funzionamento o memorizzare preferenze.<\/p>\n            <h3>2. Cookie necessari<\/h3>\n            <p>Sempre attivi. Include la memorizzazione locale della scelta sui cookie (<code>ab_cookie_consent_v1<\/code>) e le funzionalit\u00e0 essenziali di navigazione del portale.<\/p>\n            <h3>3. Cookie e servizi di preferenza (solo con consenso)<\/h3>\n            <ul>\n                <li><strong>Google Fonts (Urbanist)<\/strong> \u2014 tipografia del sito da Google LLC.<\/li>\n                <li><strong>Google Calendar API<\/strong> \u2014 visualizzazione prossimi incontri e calendario.<\/li>\n                <li><strong>CDN Cloudflare (Vanilla Tilt)<\/strong> \u2014 effetti grafici non essenziali sulle card.<\/li>\n            <\/ul>\n            <p>Le icone Material (Google Fonts) sono caricate per garantire la navigazione e l'accessibilit\u00e0 dell'interfaccia.<\/p>\n            <h3>4. Come gestire le preferenze<\/h3>\n            <p>Puoi modificare la scelta in qualsiasi momento tramite il link <strong>Impostazioni cookie<\/strong> nel footer. Per i trattamenti di dati personali consulta la Privacy Policy del sito.<\/p>\n            <h3>5. Titolare del trattamento<\/h3>\n            <p>Avigliana Basket ASD \u2014 Avigliana (TO). Per richieste relative alla privacy utilizza i contatti indicati nella Privacy Policy ufficiale del sito.<\/p>\n        <\/div>\n    <\/div>\n\n    <script>\n        (function abCookieUiInit() {\n            var banner = document.getElementById('ab-cookie-banner');\n            var modal = document.getElementById('ab-cookie-modal');\n            if (!banner || !window.abCookieConsent) return;\n\n            function openModal() {\n                if (!modal) return;\n                modal.classList.add('ab-cookie-modal--open');\n                modal.setAttribute('aria-hidden', 'false');\n            }\n            function closeModal() {\n                if (!modal) return;\n                modal.classList.remove('ab-cookie-modal--open');\n                modal.setAttribute('aria-hidden', 'true');\n            }\n            function showBanner() {\n                if (window.abCookieConsent.hasChoice()) return;\n                banner.classList.add('ab-cookie-banner--visible');\n                banner.setAttribute('aria-hidden', 'false');\n            }\n            function hideBannerAndSave(level) {\n                if (level === 'all') window.abCookieConsent.acceptAll();\n                else window.abCookieConsent.acceptEssential();\n                window.abCookieConsent.closeBanner();\n            }\n\n            document.getElementById('ab-cookie-accept')?.addEventListener('click', function () { hideBannerAndSave('all'); });\n            document.getElementById('ab-cookie-reject')?.addEventListener('click', function () { hideBannerAndSave('essential'); });\n            document.getElementById('ab-cookie-banner-policy-link')?.addEventListener('click', function (e) {\n                e.preventDefault();\n                openModal();\n            });\n            document.getElementById('ab-cookie-banner-privacy-link')?.addEventListener('click', function (e) {\n                e.preventDefault();\n                if (typeof openDynamicPage === 'function') {\n                    openDynamicPage('Privacy Policy', 'https:\/\/www.aviglianabasket.it\/?page_id=3');\n                }\n            });\n            document.getElementById('ab-footer-cookie-policy')?.addEventListener('click', openModal);\n            document.getElementById('ab-footer-cookie-settings')?.addEventListener('click', function () {\n                window.abCookieConsent.openBanner();\n            });\n            document.getElementById('ab-cookie-modal-close')?.addEventListener('click', closeModal);\n            modal?.addEventListener('click', function (e) {\n                if (e.target === modal) closeModal();\n            });\n\n            function tryShowBanner() {\n                if (window.abCookieConsent.hasChoice()) return;\n                if (document.body.classList.contains('intro-done')) {\n                    setTimeout(showBanner, 500);\n                    return;\n                }\n                var obs = new MutationObserver(function () {\n                    if (document.body.classList.contains('intro-done')) {\n                        obs.disconnect();\n                        setTimeout(showBanner, 500);\n                    }\n                });\n                obs.observe(document.body, { attributes: true, attributeFilter: ['class'] });\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', tryShowBanner, { once: true });\n            } else {\n                tryShowBanner();\n            }\n        })();\n    <\/script>\n\n\n<\/body>\n\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avigliana Basket \u2014 VOID HIVE Avigliana Basket Dal 2017 \u00b7 Avigliana (TO) groups Societ\u00e0 Storia Informazioni Privacy Policy event_note Stagione [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"disabled","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5748","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5748"}],"version-history":[{"count":158,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748\/revisions"}],"predecessor-version":[{"id":6441,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748\/revisions\/6441"}],"wp:attachment":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}