        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-300.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Outfit'; src: url('https://dottori-online.com/wp-content/uploads/2026/03/outfit-v15-latin-800.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Inter'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/inter-regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Inter'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/inter-medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Inter'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/inter-semibold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Inter'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/inter-bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Newsreader'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/Newsreader.woff2') format('woff2'); font-weight: 400 700; font-style: normal; font-display: swap; }
        @font-face { font-family: 'Newsreader'; src: url('https://dottori-online.com/wp-content/uploads/2026/05/Newsreader-Italic.woff2') format('woff2'); font-weight: 400 700; font-style: italic; font-display: swap; }
        @font-face { font-family: 'Dotrice'; src: url('https://dottori-online.com/wp-content/uploads/2026/06/Dotrice-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

        :root {
            --bg-pure: #FAF9F6;
            --bg-surface: #F5EDE0;
            --bg-linen: #F6F2EC;
            --bg-card: #FFFFFF;

            --text-primary: #111111;
            --text-secondary: #2A2A1E;
            --text-muted: rgba(0, 0, 0, 0.6);

            --brand-gold: #5A3305;
            --sovereign-gold: #DA821B;
            --aura-amber: #D48F4F;

            --veri-jade: #A6CFB8;
            --veri-magenta: #DC308F;
            --veri-blue: #457BF1;
            --veri-neon: #E7FE55;           /* solo per data-vis (grafici/spike), non per UI chrome */
            --veri-rust: #B8653B;
            --medical-green: #7AB893;

            --aura-clay: #C4A882;
            --aura-sage: #8FA88A;
            --aura-taupe: #8B7355;
            --aura-cream: #F0E8D8;
            --aura-wheat: #E8DCC8;
            --aura-sand: #DDCFB8;
            --aura-glaze: rgba(166, 207, 184, 0.12);
            --aura-glaze-amber: rgba(212, 143, 79, 0.08);
            --aura-glaze-clay: rgba(196, 168, 130, 0.15);

            --radius-sm: 12px;
            --radius-md: 16px;
            --radius-lg: 32px;
            --radius-xl: 40px;
            --radius-btn: 16px;

            --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.04);
            --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06);
            --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.08);
            --shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.1);

            --border-light: rgba(0, 0, 0, 0.08);
            --border-subtle: rgba(0, 0, 0, 0.15);

            --gradient-warm: linear-gradient(135deg, #F5EDE0 0%, #FAF9F6 50%, #F0E8D8 100%);
            --gradient-card: linear-gradient(145deg, #FFFFFF 0%, #FDFBF8 100%);
            --gradient-hero: radial-gradient(ellipse at center top, rgba(218, 130, 27, 0.08) 0%, transparent 70%);
            --gradient-jade: linear-gradient(135deg, rgba(166, 207, 184, 0.12) 0%, transparent 100%);
            --gradient-amber: linear-gradient(135deg, rgba(212, 143, 79, 0.06) 0%, transparent 100%);
            --gradient-surface: linear-gradient(180deg, #FAF9F6 0%, #F5EDE0 100%);

            --font-title: 'Outfit', sans-serif;
            --font-body: 'Inter', sans-serif;
            --font-serif: 'Newsreader', Georgia, serif;
            --font-numbers: 'Dotrice', var(--font-title);

            /* Legacy aliases backward compat */
            --petrolio: var(--text-primary);
            --petrolio-dark: var(--text-primary);
            --petrolio-light: var(--bg-linen);
            --oro: var(--sovereign-gold);
            --oro-light: rgba(218, 130, 27, 0.12);
            --verde-clinico: var(--veri-jade);
            --testo: var(--text-primary);
            --testo-muted: var(--text-muted);
            --neve: var(--bg-card);
            --border-aura: var(--border-light);
            --radius-majestic: var(--radius-sm);
            --shadow-majestic: var(--shadow-md);
            --glass-bg: var(--bg-card);
            --glass-border: var(--border-light);

            /* Safe area per notch/island (iOS) */
            --safe-top: env(safe-area-inset-top, 0px);
            --safe-bottom: env(safe-area-inset-bottom, 0px);
            --safe-left: env(safe-area-inset-left, 0px);
            --safe-right: env(safe-area-inset-right, 0px);

            /* Token semantici (ereditano dalla palette warm) */
            --color-error: var(--veri-rust);
            --color-warning: var(--aura-amber);
            --color-success: var(--medical-green);
            --color-info: var(--veri-blue);
        }

        body {
            font-family: var(--font-body);
            color: var(--testo);
            margin: 0;
            padding: 0;
            background-color: var(--neve);
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
            line-height: 1.6;
        }

        h1,
        h2,
        h3,
        h4,
        h5 {
            font-family: var(--font-title);
            font-weight: 400;
            line-height: 1.1;
            margin: 0;
            color: var(--petrolio);
        }

        em {
            font-family: var(--font-serif);
            font-style: italic;
            font-weight: 600;
            letter-spacing: 0.02em;
            color: var(--oro);
        }

        .main-content-wrapper {
            position: relative;
            z-index: 10;
            background: var(--bg-card);
            margin-bottom: 850px;
            border-bottom-left-radius: 40px;
            border-bottom-right-radius: 40px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
        }

        /* MAJESTIC HUB PANEL v9.2 — Theme-Aware */
        .majestic-hub-panel {
            position: fixed; top: 0; right: -400px; width: 400px; height: 100vh;
            background: var(--hub-bg, rgba(255,255,255,0.98));
            backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px);
            z-index: 10000;
            transition: right 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            padding: 40px; display: flex; flex-direction: column; gap: 24px;
            box-shadow: -20px 0 60px rgba(0,0,0,0.1);
            overflow-y: auto; overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
            color: var(--hub-text, var(--text-primary));
        }
        .majestic-hub-panel.is-open { right: 0; }
        .hub-overlay {
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
            background: var(--hub-overlay, rgba(6,46,55,0.45)); backdrop-filter: blur(8px);
            z-index: 9999; opacity: 0; pointer-events: none; transition: opacity 0.6s;
        }
        .hub-overlay.is-active { opacity: 1; pointer-events: auto; }
        .hub-close {
            position: absolute; top: 20px; right: 20px; cursor: pointer;
            color: var(--hub-text, var(--text-primary)); opacity: 0.5; transition: opacity 0.3s;
        }
        .hub-close:hover { opacity: 1; }
        .hub-section h5 {
            text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.62rem;
            color: var(--oro) !important; margin-bottom: 12px; font-weight: 800;
        }
        .hub-nav-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
        .hub-nav-link {
            text-decoration: none; color: var(--hub-link, var(--text-primary));
            font-family: var(--font-title, 'Outfit', sans-serif);
            font-size: 0.95rem; font-weight: 600;
            transition: all 0.3s;
            display: flex; align-items: center; gap: 12px; min-height: 44px;
        }
        .hub-nav-link:hover { color: var(--oro); transform: translateX(5px); }
        .hub-nav-link img { width: 22px; height: 22px; flex-shrink: 0; opacity: 0.85; transition: opacity 0.3s; }
        .hub-nav-link:hover img { opacity: 1; }
        .hub-nav-link span { flex: 1; }
        .majestic-hub-panel::-webkit-scrollbar { width: 3px; }
        .majestic-hub-panel::-webkit-scrollbar-track { background: transparent; }
        .majestic-hub-panel::-webkit-scrollbar-thumb { background: var(--hub-scrollbar, rgba(6,46,55,0.12)); border-radius: 10px; }
        .hub-btn { display:block; text-align:center; color:#fff !important; padding:14px 24px; border-radius:var(--radius-btn,16px); text-decoration:none; font-weight:700; font-family:var(--font-title,'Outfit',sans-serif); font-size:0.9rem; transition:background 0.3s; letter-spacing:0.05em; }

        /* ⚗️ AURA FOOTER v6.1 CORE */
        footer.aura-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 750px;
            z-index: 1;
            background: radial-gradient(circle at 120px 220px, #111111 0%, #1A0E01 100%);
            display: flex;
            align-items: center;
            padding: 100px 0;
            color: #FFFFFF;
            overflow: hidden;
        }

        .footer-glow {
            position: absolute;
            top: -100px;
            left: -100px;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(219, 185, 147, 0.15) 0%, transparent 70%);
            filter: blur(60px);
            z-index: -1;
            pointer-events: none;
        }

        .do-fold-wrapper {
            position: relative;
            background-color: transparent;
            overflow: visible;
            width: 100%;
        }

        .do-hero-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('https://dottori-online.com/wp-content/uploads/2026/02/Visita-Medica-Online-Comunita-blurred.avif');
            background-size: cover;
            background-position: center;
            opacity: 1;
            z-index: 1;
        }

        .do-hero {
            position: relative;
            z-index: 2;
            padding: 140px 24px 100px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            min-height: 85vh;
        }

        .hero-glass-card {
            background: rgba(255, 255, 255, 0.4);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid var(--border-light);
            border-radius: var(--radius-xl);
            padding: 60px;
            max-width: 1000px;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            box-shadow: var(--shadow-xl);
            position: relative;
            z-index: 1000;
        }

        .do-hero-badge {
            background: var(--neve);
            padding: 8px 18px;
            border-radius: 14px;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--petrolio);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            margin-bottom: 32px;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border: 1px solid var(--border-aura);
        }

        .do-hero-headline {
            font-family: 'Newsreader', serif;
            font-size: clamp(2.2rem, 5vw, 3.2rem);
            font-weight: 400;
            color: var(--petrolio);
            line-height: 1.1;
            margin-bottom: 20px;
            letter-spacing: -0.01em;
        }

        .do-hero-headline em {
            font-style: italic;
            color: var(--oro);
        }

        .do-hero-description {
            font-size: clamp(1rem, 1.8vw, 1.15rem);
            color: var(--testo-muted);
            max-width: 720px;
            margin-bottom: 56px;
            line-height: 1.7;
        }

        /* 🔍 SEARCH UI v6.1 (Restored from Backup) */
        #dmc-search-wrapper {
            display: flex;
            background: var(--glass-bg);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid var(--glass-border);
            border-radius: 14px;
            padding: 8px;
            width: 100%;
            max-width: 800px;
            position: relative;
            z-index: 100;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
            transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
            margin-top: 40px;
        }

        #dmc-search-wrapper:focus-within {
            transform: translateY(-4px);
            box-shadow: var(--shadow-majestic);
            border-color: var(--oro-light);
        }

        #dmc-input-wrapper {
            flex: 1;
            display: flex;
            align-items: center;
            padding-left: 24px;
        }

        #dmc-input-wrapper svg {
            opacity: 0.5;
            color: var(--petrolio);
            flex-shrink: 0;
        }

        #dmc-search {
            background: transparent;
            border: none;
            outline: none;
            width: 100%;
            font-size: 1.1rem;
            padding: 14px 12px;
            font-family: var(--font-body);
            color: var(--petrolio);
        }

        #dmc-btn {
            background: var(--petrolio);
            color: var(--neve);
            border: none;
            border-radius: 14px;
            padding: 14px 40px;
            font-weight: 700;
            font-size: 0.95rem;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
            height: auto;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #dmc-btn:hover {
            background: var(--brand-gold);
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
        }

        #dmc-results {
            position: absolute;
            top: calc(100% + 12px);
            left: 0;
            width: 100%;
            background: var(--neve);
            border-radius: 24px;
            box-shadow: var(--shadow-majestic);
            display: none;
            z-index: 9999 !important;
            text-align: left;
            overflow: hidden;
            border: 1px solid var(--border-aura);
        }

        #dmc-results.show {
            display: block !important;
        }

        .dmc-item {
            padding: 18px 24px;
            border-bottom: 1px solid var(--border-aura);
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 16px;
            transition: background 0.2s ease;
        }

        .dmc-item:last-child {
            border-bottom: none;
        }

        .dmc-item:hover {
            background: var(--petrolio-light);
        }

        /* 🎖️ TRUST BAR v6.1 */
        .trust-bar-section {
            width: 100%;
            margin-top: 48px;
            padding: 0 24px;
        }

        .trust-items {
            display: flex;
            justify-content: center;
            gap: 16px;
            flex-wrap: wrap;
        }

        .trust-item {
            background: var(--aura-amber);
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 8px 20px;
            border-radius: var(--radius-sm);
            display: flex;
            align-items: center;
            gap: 12px;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
            box-shadow: var(--shadow-sm);
            font-size: 0.9rem;
            font-weight: 600;
            color: #FFFFFF !important;
        }

        .trust-item.active {
            background: var(--petrolio);
            color: var(--neve) !important;
            border-color: var(--petrolio);
            box-shadow: var(--shadow-majestic);
        }

        .trust-icon {
            color: #FFFFFF !important;
            display: flex;
            align-items: center;
        }

        /* 📄 CONTENT & CARDS */
        .content-section {
            max-width: 1200px;
            margin: 0 auto 80px;
            padding: 0 24px;
        }

        h2 {
            font-family: var(--font-title);
            font-weight: 400;
            color: var(--petrolio);
            font-size: clamp(2.4rem, 5vw, 3.8rem);
            text-align: center;
            margin-top: 60px;
            margin-bottom: 28px;
            line-height: 1.1;
        }

        h2 em {
            font-style: italic;
            color: var(--oro);
        }

        .cards-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 24px;
        }

        .card {
            background: var(--gradient-card);
            padding: 40px 32px;
            border-radius: var(--radius-majestic);
            border: 1px solid var(--border-aura);
            transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
            position: relative;
            box-shadow: var(--shadow-sm);
        }

        .card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow-lg);
            border-color: var(--oro);
        }

        .card .icon {
            color: var(--oro);
            margin-bottom: 24px;
        }

        .card h4 {
            font-family: var(--font-title);
            font-size: 1.8rem;
            margin-bottom: 16px;
            color: var(--petrolio);
            font-weight: 400;
        }

        .card p {
            color: var(--testo-muted);
            font-size: 1rem;
            line-height: 1.6;
        }

        .alliance-box {
            background: var(--bg-surface);
            border-radius: var(--radius-majestic);
            padding: 60px 48px;
            border: 1px solid var(--border-aura);
            border-left: 4px solid var(--sovereign-gold);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
            margin-bottom: 60px;
        }

        .alliance-quote {
            font-family: var(--font-title);
            font-size: clamp(1.8rem, 3.5vw, 2.4rem);
            color: var(--petrolio);
            font-style: italic;
            display: block;
            margin-bottom: 32px;
            text-align: center;
            font-weight: 400;
        }

        .aura-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 12px 28px;
            background: var(--sovereign-gold);
            color: #FFFFFF !important;
            border-radius: 14px;
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 700;
            border: none;
            box-shadow: 0 4px 16px rgba(218, 130, 27, 0.3);
            transition: all 0.3s ease;
            margin-top: 12px;
        }

        .aura-pill:hover {
            background: var(--brand-gold);
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(218, 130, 27, 0.4);
            color: #FFFFFF !important;
        }

        /* 📘 USER GUIDE BLOCK */
        .user-guide-block {
            display: flex;
            gap: 32px;
            margin: 60px auto 0;
            max-width: 1000px;
            text-align: left;
            padding: 40px;
            background: var(--glass-bg);
            border-radius: 24px;
            border: 1px solid var(--border-aura);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

        .guide-step {
            flex: 1;
        }

        .guide-step .icon {
            color: var(--oro);
            margin-bottom: 16px;
        }

        .guide-step h5 {
            font-family: var(--font-title);
            font-size: 1.5rem;
            font-weight: 400;
            color: var(--petrolio);
            margin-bottom: 10px;
        }

        .guide-step p {
            font-size: 0.95rem;
            color: var(--testo-muted);
            line-height: 1.6;
        }

        @media (max-width: 991px) {
            .main-content-wrapper {
                margin-bottom: 0 !important;
                border-radius: 0 !important;
            }

            footer.aura-footer {
                position: relative !important;
                height: auto !important;
                padding: 80px 24px !important;
                display: block !important;
            }

            .user-guide-block {
                flex-direction: column;
                gap: 40px;
                padding: 30px 24px;
                margin-top: 40px;
            }
        }

        @media (max-width: 768px) {
            .do-hero {
                padding: 80px 20px 48px;
            }

            .hero-glass-card {
                padding: 32px 20px !important;
                border-radius: var(--radius-md);
            }

            .do-hero-headline {
                font-size: 2.2rem !important;
            }

            .do-hero-description {
                margin-bottom: 32px;
                font-size: 1rem;
            }

            #dmc-search-wrapper {
                flex-direction: column;
                padding: 12px;
                gap: 12px;
                background: rgba(255, 255, 255, 0.05);
            }

            #dmc-input-wrapper {
                padding-left: 12px;
                width: 100%;
            }

            #dmc-search {
                font-size: 1.05rem;
                padding: 14px 0;
            }

            #dmc-btn {
                width: 100%;
                padding: 14px;
                font-size: 1.1rem;
            }

            .content-section {
                margin-bottom: 60px;
                padding: 0 20px;
            }

            .trust-items {
                display: grid !important;
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }

            .guide-step h5 {
                font-size: 1.4rem;
            }

            .hub-nav-link {
                font-size: 0.9rem;
            }
        }
        .u-shadow-xl { box-shadow: var(--shadow-xl); }
        .u-bg-gradient-warm { background: var(--gradient-warm); }
        .u-bg-gradient-card { background: var(--gradient-card); }
        .u-overflow-visible { overflow: visible; }
        .u-float { animation: auraFloat 4s ease-in-out infinite; }
        @keyframes auraFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

        @media (prefers-color-scheme: dark) {
            :root {
                --bg-pure: #1A1A1A;
                --bg-surface: #2A2A2A;
                --bg-linen: #2A2A1E;
                --bg-card: #2A2A2A;
                --text-primary: #E8E0D8;
                --text-secondary: #C8C0B8;
                --text-muted: rgba(232, 224, 216, 0.65);
                --border-light: rgba(232, 224, 216, 0.1);
                --border-subtle: rgba(232, 224, 216, 0.2);
                --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.3);
                --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
                --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.5);
                --shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.6);
                --hub-bg: rgba(15, 10, 5, 0.95);
                --hub-text: rgba(255, 255, 255, 0.9);
                --hub-link: rgba(255, 255, 255, 0.85);
                --hub-overlay: rgba(0, 0, 0, 0.7);
                --hub-scrollbar: rgba(255, 255, 255, 0.15);
                --hub-btn-entra-bg: var(--oro, #DA821B);
                --hub-btn-entra-hover: #BC7318;
                --hub-btn-visita-bg: rgba(255, 255, 255, 0.1);
                --hub-btn-visita-hover: rgba(255, 255, 255, 0.2);
                --gradient-card: linear-gradient(145deg, #2A2A2A 0%, #222222 100%);
                --gradient-warm: linear-gradient(135deg, #2A2A2A 0%, #1A1A1A 50%, #222222 100%);
            }
            .do-hero-bg { opacity: 0.3; }
            .hero-glass-card { background: rgba(26, 26, 26, 0.85); border-color: rgba(255, 255, 255, 0.08); }
            .do-hub-sub { color: var(--text-secondary); }
            
            
        }
        /* --- AURA FLOATER v6.5 — Sovereign Navigation Pill --- */
        .aura-floater {
            position: fixed; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%);
            z-index: 9999; background: rgba(15, 10, 5, 0.92); backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border-radius: var(--radius-md, 16px);
            border: 1px solid rgba(218, 130, 27, 0.2); padding: 6px 10px 6px 20px;
            display: flex; align-items: center; gap: 4px;
            box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5); max-width: 96vw;
            transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .floater-logo { display: flex; align-items: center; padding-right: 12px; cursor: pointer; flex-shrink: 0; min-height: 48px; }
        .floater-logo img { height: 32px; width: auto; display: block; }
        .floater-divider { width: 1px; height: 18px; background: rgba(255,255,255,0.12); flex-shrink: 0; margin: 0 4px; }
        .floater-link {
            color: rgba(255,255,255,0.75); text-decoration: none; font-family: var(--font-heading, 'Outfit', sans-serif);
            font-size: 0.78rem; font-weight: 500; letter-spacing: 0.03em; padding: 6px 14px;
            border-radius: var(--radius-btn, 16px); transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); white-space: nowrap;
            min-height: 48px; display: inline-flex; align-items: center;
        }
        .floater-link:hover { color: #fff; background: rgba(255,255,255,0.08); }
        .floater-link:active { transform: scale(0.96); }
        .floater-link.active { color: var(--sovereign-gold, #DA821B); }
        .btn-hub-trigger-floater {
            color: rgba(255,255,255,0.85) !important; text-decoration: none; font-family: var(--font-heading, 'Outfit', sans-serif);
            font-size: 0.78rem; font-weight: 500; padding: 6px 14px; border-radius: var(--radius-btn, 16px);
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); white-space: nowrap; display: inline-flex; align-items: center;
            gap: 8px; cursor: pointer; background: none; border: none;
            min-height: 48px;
        }
        .btn-hub-trigger-floater:hover { background: rgba(255,255,255,0.08); color: #fff !important; }
        .btn-hub-trigger-floater:active { transform: scale(0.96); }
        .floater-cta {
            background: var(--sovereign-gold, #DF8D1D); color: #fff !important; font-weight: 700;
            padding: 0 24px; border-radius: var(--radius-btn, 16px);
            margin-left: 8px; font-size: 0.8rem;
            min-height: 48px; display: inline-flex; align-items: center; justify-content: center;
            letter-spacing: 1px; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s, box-shadow 0.3s;
            box-shadow: 0 4px 12px rgba(218, 130, 27, 0.25);
        }
        .floater-cta:hover { background: var(--brand-gold, #C47A18); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(218, 130, 27, 0.35); }
        .floater-cta:active { transform: scale(0.96) translateY(1px); }
        @media (max-width: 768px) {
            .aura-floater { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); padding: 6px 60px 6px 26px; gap: 6px; border-radius: var(--radius-md, 16px); justify-content: flex-start; }
            .floater-link { padding: 0 14px; font-size: 0.8rem; min-height: 48px; }
            .btn-hub-trigger-floater { padding: 0 14px; font-size: 0.8rem; min-height: 48px; gap: 8px; }
            .floater-cta { padding: 0 28px; min-height: 48px; border-radius: var(--radius-btn, 16px); font-size: 0.8rem; margin-left: 6px; letter-spacing: 0.5px; }
            .floater-logo { padding-right: 10px; min-height: 48px; }
            .floater-logo img { height: 28px; }
            .floater-divider { margin: 0 4px; }
            .hide-mobile { display: none !important; }
        }
        @media (max-width: 380px) {
            .btn-hub-trigger-floater span { display: none; }
            .floater-cta { padding: 0 20px; letter-spacing: 0; font-size: 0.8rem; }
            .floater-link { padding: 0 10px; font-size: 0.75rem; }
        }

        /* 2. SCROLL REVEAL (v5.5 STANDARD) */
        .aura-reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1s cubic-bezier(0.16, 1, 0.3, 1);
            will-change: transform, opacity;
        }

        .aura-reveal.reveal-visible {
            opacity: 1 !important;
            transform: translateY(0) !important;
        }

        .aura-icon {
            width: 48px;
            height: 48px;
            margin-bottom: 24px;
            color: var(--oro);
        }

        .aura-icon svg {
            width: 100%;
            height: 100%;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* HUB SECTION */
        .do-hub-section {
            padding: 40px 0 100px;
            overflow: hidden;
        }

        .do-hub-header {
            text-align: center;
            margin-bottom: 64px;
            padding: 0 24px;
        }

        .do-hub-title {
            font-family: var(--font-title);
            font-size: clamp(1.8rem, 5vw, 3.2rem);
            font-weight: 400;
            color: var(--petrolio);
            margin-bottom: 24px;
            line-height: 1.1;
        }

        .do-hub-title em {
            font-style: italic;
            color: var(--oro);
        }

        .do-hub-sub {
            font-size: 1.1rem;
            color: var(--testo-muted);
            max-width: 800px;
            margin: 0 auto;
            line-height: 1.7;
        }

        .do-moments-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 24px;
        }

        .do-moment-card {
            background: rgba(255, 255, 255, 0.5);
            border: 1px solid rgba(0, 0, 0, 0.05);
            padding: 40px 32px;
            border-radius: var(--radius-majestic);
            display: flex;
            flex-direction: column;
            gap: 16px;
            box-shadow: var(--shadow-majestic);
            transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
            background-image: var(--gradient-jade);
        }

        .do-moment-card:hover {
            transform: translateY(-12px);
            border-color: var(--aura-amber);
            box-shadow: var(--shadow-lg), 0 0 0 1px var(--aura-glaze-amber);
        }

        .do-moment-card.is-center {
            background: var(--petrolio);
            color: var(--neve) !important;
            border: none;
        }

        .do-moment-num {
            font-family: var(--font-numbers);
            font-size: 4rem;
            font-weight: 600;
            line-height: 1;
            color: var(--oro);
            opacity: 0.9;
            margin-top: -10px;
        }

        .do-moment-label {
            font-size: 0.75rem;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--testo-muted);
            opacity: 0.8;
        }

        .do-moment-card.is-center .do-moment-label {
            color: rgba(255, 255, 255, 0.6);
        }

        .do-moment-title {
            font-family: var(--font-title);
            font-size: 2.2rem;
            font-weight: 400;
            line-height: 1.1;
            color: var(--petrolio);
        }

        .do-moment-card.is-center .do-moment-title {
            color: var(--neve);
        }

        .do-moment-desc {
            font-size: 1rem;
            color: var(--testo-muted);
            line-height: 1.7;
        }

        .do-moment-card.is-center .do-moment-desc {
            color: rgba(255, 255, 255, 0.85);
        }

        .do-moment-tag {
            display: inline-block;
            font-size: 0.8rem;
            font-weight: 800;
            color: var(--petrolio);
            background: var(--petrolio-light);
            padding: 8px 18px;
            border-radius: 14px;
            margin-top: auto;
            width: fit-content;
        }

        .do-moment-tag.is-jade {
            background: var(--aura-glaze);
            color: var(--text-primary);
        }

        .do-moment-card.is-center .do-moment-tag {
            background: rgba(255, 255, 255, 0.15);
            color: var(--neve);
        }

        /* JOURNEYS SECTION */
        .journeys-section {
            padding: 80px 0;
            background: var(--bg-card);
            border-radius: 14px;
        }

        .journey-box {
            margin-bottom: 100px;
            padding: 0 40px;
        }

        .journey-label {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 40px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1rem;
        }

        .journey-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: var(--border-light);
        }

        .journey-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 20px;
        }

        .journey-card {
            background: linear-gradient(135deg, rgba(166, 207, 184, 0.12) 0%, transparent 100%), var(--gradient-card);
            padding: 24px;
            border-radius: var(--radius-majestic);
            border: 1px solid var(--aura-clay, var(--border-light));
            transition: all 0.3s ease;
            box-shadow: var(--shadow-sm);
        }

        .journey-card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow-lg), 0 0 0 1px var(--aura-glaze-amber);
            border-color: var(--oro);
        }

        .j-icon {
            width: 28px;
            height: 28px;
            color: var(--oro);
            margin-bottom: 16px;
        }

        .j-icon svg {
            width: 100%;
            height: 100%;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.5;
        }

        .j-num {
            color: var(--petrolio);
            font-weight: 800;
            font-size: 0.7rem;
            margin-bottom: 4px;
            display: block;
            opacity: 0.5;
        }

        .j-title {
            font-weight: 700;
            margin-bottom: 8px;
            font-size: 1.1rem;
            color: var(--petrolio);
        }

        .j-desc {
            font-size: 0.9rem;
            color: var(--testo-muted);
            line-height: 1.6;
        }

        @media (max-width: 991px) {

            .do-moments-grid,
            .journey-grid {
                grid-template-columns: 1fr !important;
                gap: 24px !important;
            }

            .do-hub-section {
                padding: 40px 0 60px !important;
            }
        }

        @media (prefers-color-scheme: dark) {
            .do-moment-card { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.08); }
            .do-moment-card.is-center { background: #3B342C; }
            .do-moment-title { color: var(--text-primary); }
            .do-moment-label { color: var(--text-secondary); }
            .do-moment-desc { color: var(--text-secondary); }
            .do-moment-tag { background: rgba(255, 255, 255, 0.08); color: var(--text-primary); }
            .do-moment-tag.is-jade { background: rgba(166, 207, 184, 0.15); color: var(--text-primary); }
            .do-moment-card.is-center .do-moment-title,
            .do-moment-card.is-center .do-moment-desc,
            .do-moment-card.is-center .do-moment-label,
            .do-moment-card.is-center .do-moment-tag { color: #fff !important; }
            .do-moment-card.is-center .do-moment-tag { background: rgba(255, 255, 255, 0.2); }
            .journey-card { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.08); }
            .journey-card:hover { border-color: var(--oro); }
            .j-title { color: var(--text-primary); }
            .j-desc { color: var(--text-secondary); }
            .j-num { color: var(--text-primary); opacity: 0.4; }
            .dmc-pv5-card { border: none !important; }
            .dmc-pv5-card[data-level="active"],
            .dmc-pv5-card.active { background: #2A2A2A !important; border: 1px solid rgba(255,255,255,0.15) !important; color: #fff !important; }
            .dmc-pv5-card[data-level="active"] .dmc-pv5-name,
            .dmc-pv5-card[data-level="active"] .dmc-pv5-spec,
            .dmc-pv5-card[data-level="active"] .dmc-pv5-title,
            .dmc-pv5-card.active .dmc-pv5-name,
            .dmc-pv5-card.active .dmc-pv5-spec,
            .dmc-pv5-card.active .dmc-pv5-title { color: #fff !important; }
            .dmc-pv5-card[data-level="active"] .dmc-pv5-cta,
            .dmc-pv5-card.active .dmc-pv5-cta { color: var(--oro) !important; }
            .dmc-pv5-tag { color: #F7F1E8 !important; background: rgba(255,255,255,0.08) !important; border-color: rgba(255,255,255,0.15) !important; }
            .dmc-pv5-tag.free { color: #A8D5BA !important; }
            .dmc-pv5-tag.garante { color: #F5E6C8 !important; }
            .seo-content { color: var(--text-primary) !important; }
            .seo-content h3, .seo-content h2, .content-section h2, #catalogo-specialisti h2 { color: var(--text-primary) !important; }
            .ai-summary-box { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; }
            .ai-summary-box h4 { color: var(--text-primary) !important; }
            .ai-summary-box p { color: var(--text-secondary) !important; }
        }

        /* --- MAJESTIC FOOTER v7.0 (Sabbia-Inspired Light Gradient) --- */
        footer.aura-footer {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 750px;
            z-index: 1;
            background: linear-gradient(165deg, #FFFFFF 0%, #FAF9F6 50%, #EBE8E0 100%);
            display: flex;
            align-items: center;
            padding: 120px 0;
            /* Sovereign Padding */
            color: var(--petrolio);
            overflow: hidden;
            border-top: 1px solid var(--border-light);
        }

        .footer-glow {
            position: absolute;
            top: -100px;
            left: -100px;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, rgba(218, 130, 27, 0.08) 0%, transparent 70%);
            filter: blur(60px);
            z-index: -1;
            pointer-events: none;
        }

        footer.aura-footer a {
            color: var(--testo-muted) !important;
            text-decoration: none;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            display: inline-flex;
            align-items: center;
        }

        footer.aura-footer a:hover {
            color: var(--oro) !important;
            text-decoration: underline;
            transform: translateX(4px);
        }

        footer.aura-footer h4 {
            font-family: 'Newsreader', 'Georgia', serif;
            font-size: 2rem;
            line-height: 1.25;
            color: var(--petrolio) !important;
            font-style: italic;
            font-weight: 400;
            margin: 20px 0;
            text-shadow: none;
        }

        footer.aura-footer h5 {
            text-transform: uppercase;
            letter-spacing: 0.2em;
            font-size: 0.68rem;
            color: var(--oro) !important;
            margin-bottom: 24px;
            font-weight: 800;
        }

        .footer-link-list {
            list-style: none;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 12px;
            font-size: 0.9rem;
        }

        .footer-bottom-bar {
            margin-top: 80px;
            padding-top: 32px;
            border-top: 1px solid var(--border-light);
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.72rem;
            color: var(--testo-muted);
            letter-spacing: 0.05em;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.6fr 1fr 1fr 1fr;
            gap: 80px;
            align-items: start;
        }

        @media (max-width: 1024px) {
            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 40px;
            }
        }

        @media (max-width: 768px) {

            .main-content-wrapper,
            .do-manifesto-wrapper {
                margin-bottom: 0 !important;
                border-radius: 0 !important;
                z-index: 10 !important;
                position: relative !important;
            }

            footer.aura-footer {
                position: relative !important;
                height: auto !important;
                padding: 60px 24px !important;
                display: block !important;
                z-index: 2;
            }

            .footer-grid {
                grid-template-columns: 1fr !important;
                gap: 48px !important;
                text-align: center;
            }

            /* Allinea logo e testo al centro */
            .footer-grid>div:first-child {
                grid-column: span 1;
                margin-bottom: 12px;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .footer-link-list {
                padding: 0 !important;
                margin: 0 !important;
                width: 100% !important;
                align-items: center !important;
            }

            .footer-link-list li {
                width: 100% !important;
                padding: 0 !important;
                margin: 0 !important;
                text-align: center !important;
            }

            .footer-link-list a {
                min-height: 44px;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                text-align: center !important;
                width: 100% !important;
                padding: 0 !important;
                margin: 0 !important;
            }

            /* Touch Target */
            .footer-bottom-bar {
                flex-direction: column;
                gap: 20px;
                text-align: center;
                margin-top: 48px;
            }
        }


/* --- OURA AESTHETIC FOOTER OVERRIDE (INJECTED) --- */
footer.aura-footer {
            position: relative !important;
            z-index: 10;
            width: 100%;
            height: auto !important;
            background: radial-gradient(circle at 15% 25%, #42403E 0%, #201E1C 100%) !important;
            display: block;
            padding: 60px 0 60px;
            color: #F7F1E8; /* Sandstone text */
            overflow: hidden;
            border-top: 1px solid var(--border-light);
            box-sizing: border-box;
        }

        footer.aura-footer a {
            color: #D1C9BE !important; /* Lighter secondary text */
            text-decoration: none;
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
            display: inline-flex;
            align-items: center;
        }

        footer.aura-footer a:hover {
            color: var(--brand-gold) !important;
            text-decoration: underline;
            transform: translateX(4px);
        }

        footer.aura-footer h4 {
            font-family: var(--font-serif, 'Newsreader', serif);
            font-size: 1.85rem;
            line-height: 1.25;
            color: #F7F1E8 !important;
            font-style: italic;
            font-weight: 300;
            margin: 18px 0;
            text-shadow: none;
        }

        footer.aura-footer p, footer.aura-footer span, footer.aura-footer div {
            color: #D1C9BE;
        }

        footer.aura-footer h5 {
            text-transform: none;
            font-size: 0.95rem;
            color: #F7F1E8 !important;
            margin-bottom: 24px;
            font-weight: 500;
            font-family: var(--font-body, 'Inter', sans-serif);
        }

        .footer-link-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 16px;
            font-size: 0.85rem;
            font-family: var(--font-body, 'Inter', sans-serif);
        }

        .footer-bottom-bar {
            margin-top: 64px;
            padding-top: 28px;
            border-top: 1px solid rgba(247, 241, 232, 0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.75rem;
            color: #9E968B;
            letter-spacing: 0.03em;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.6fr 1fr 1fr 1fr;
            gap: 60px;
            align-items: start;
        }

        @media (max-width: 1024px) {
            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 40px;
            }
        }

        @media (max-width: 768px) {
            footer.aura-footer {
                padding: 40px 20px 60px !important;
            }

            .footer-grid {
                grid-template-columns: 1fr 1fr !important;
                gap: 40px !important;
                text-align: center;
            }

            .footer-grid>div:first-child {
                grid-column: span 2;
                margin-bottom: 12px;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .footer-link-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 16px;
            font-size: 0.85rem;
            font-family: var(--font-body, 'Inter', sans-serif);
        }

            .footer-link-list li {
                width: 100% !important;
                text-align: center !important;
            }

            .footer-link-list a {
                min-height: 40px;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                text-align: center !important;
                width: 100% !important;
            }

            .footer-bottom-bar {
                flex-direction: column;
                gap: 24px;
                text-align: left;
                align-items: flex-start;
                margin-top: 40px;
            }
        }
    
@media (prefers-color-scheme: dark) {
    footer.aura-footer, 
    html[data-theme="dark"] footer.aura-footer,
    body.dark-mode footer.aura-footer {
        color: #F7F1E8 !important;
    }
    footer.aura-footer p, 
    footer.aura-footer span, 
    footer.aura-footer div,
    html[data-theme="dark"] footer.aura-footer p,
    html[data-theme="dark"] footer.aura-footer span,
    html[data-theme="dark"] footer.aura-footer div,
    body.dark-mode footer.aura-footer p,
    body.dark-mode footer.aura-footer span,
    body.dark-mode footer.aura-footer div {
        color: #D1C9BE !important;
    }
    footer.aura-footer a,
    html[data-theme="dark"] footer.aura-footer a,
    body.dark-mode footer.aura-footer a {
        color: #D1C9BE !important;
    }
    footer.aura-footer h4, footer.aura-footer h5,
    html[data-theme="dark"] footer.aura-footer h4,
    html[data-theme="dark"] footer.aura-footer h5,
    body.dark-mode footer.aura-footer h4,
    body.dark-mode footer.aura-footer h5 {
        color: #F7F1E8 !important;
    }
}
