/* --- IMPOSTAZIONI GENERALI E PALETTE (AGGIORNATA CON I TUOI COLORI) --- */
        :root {
            --grigio-antracite: #242526;
            --grigio-sfondo-hero: #3a3b3c;
            --grigio-testo: #333333;
            --grigio-testo-chiaro: #606266;
            --verde-eco: #237d00;        /* Il tuo nuovo verde aziendale */
            --verde-eco-hover: #36af07;  /* Il tuo verde luminoso per il passaggio del mouse */
            --verde-eco-contrasto: #36af07;
            --bianco: #ffffff;           /* Mantenuto bianco puro per far staccare le schede */
            --grigio-chiaro: #f5f5f5;
            --grigio-bordo: #e4e7ed;
        }

        body {
            font-family: 'Inter', sans-serif;
            margin: 0; padding: 0;
            color: var(--grigio-testo);
            line-height: 1.7;
            background-color: var(--grigio-chiaro); /* Sfondo generale Panna */
            -webkit-font-smoothing: antialiased;
        }

        a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        textarea:focus-visible,
        summary:focus-visible {
            outline: 3px solid var(--verde-eco-contrasto);
            outline-offset: 3px;
        }

        /* --- TOP BAR CONTATTI --- */
        .top-bar {
            background-color: var(--verde-eco);
            color: var(--bianco);
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 8px 20px;
            font-size: 13px;
            letter-spacing: 0.5px;
            z-index: 200;
            position: relative;
        }
        
        .top-bar-content { display: flex; align-items: center; gap: 15px; }
        .top-bar-title { font-weight: 400; opacity: 0.9; display: flex; align-items: center; gap: 6px; }
        .top-bar-title svg { width: 14px; height: 14px; }
        .top-bar a { color: var(--bianco); text-decoration: none; font-weight: 700; transition: opacity 0.3s ease; }
        .top-bar a:hover { opacity: 0.8; text-decoration: underline; }
        .top-bar-divider { opacity: 0.5; font-size: 10px; }

        @media (max-width: 768px) {
            .top-bar { padding: 10px; font-size: 12px; }
            .top-bar-content { flex-direction: column; gap: 5px; text-align: center; }
            .top-bar-divider { display: none; }
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* --- HEADER --- */
        header {
            background-color: var(--grigio-antracite);
            padding: 20px 50px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 3px solid var(--verde-eco);
            position: sticky; top: 0; z-index: 100;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }

        header .site-logo,
        header > h1 { margin: 0; font-size: 22px; line-height: 1; letter-spacing: 1px; color: var(--bianco); font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
        header > h1::before { content: ""; width: 77px; aspect-ratio: 913 / 242; background: url('../img/logo-ete-header.png') center / contain no-repeat; flex: 0 0 auto; display: block; }
        header .site-logo-mark { width: 77px; height: auto; flex: 0 0 auto; display: block; }
        header .site-logo span,
        header > h1 span { color: var(--verde-eco-contrasto); }
        nav { display: flex; gap: 35px; }
        nav a {
            color: var(--bianco); text-decoration: none; font-weight: 500; font-size: 14px;
            text-transform: uppercase; letter-spacing: 1px; position: relative; padding-bottom: 5px;
            transition: color 0.3s ease;
        }
        nav a::after {
            content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 0;
            background-color: var(--verde-eco-contrasto); transition: width 0.3s ease;
        }
        nav a:hover, nav a.active { color: var(--verde-eco-contrasto); }
        nav a:hover::after, nav a.active::after { width: 100%; }

        /* --- HERO SECTION CON IMMAGINE DI SFONDO --- */
        .hero {
            position: relative;
            background-color: var(--grigio-sfondo-hero);
            padding: 160px 50px;
            text-align: center;
            /* Inserimento immagine capannone con overlay scuro */
            background-image: linear-gradient(rgba(36, 37, 38, 0.82), rgba(36, 37, 38, 0.82)), url('../img/capannone_interporto-1920.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed; /* Effetto parallasse */
        }
        .hero-content { animation: fadeInUp 1s ease-out forwards; position: relative; z-index: 2; }
        .hero h1,
        .hero h2 { font-size: 54px; margin-bottom: 25px; font-weight: 700; line-height: 1.15; color: var(--bianco); letter-spacing: -1px; }
        .hero h1 span,
        .hero h2 span { color: var(--verde-eco-contrasto); }
        .hero p { font-size: 19px; max-width: 750px; margin: 0 auto 45px auto; font-weight: 300; color: #d1d5db; }

        .btn {
            display: inline-block; padding: 16px 36px; background-color: var(--verde-eco);
            color: var(--bianco); text-decoration: none; font-weight: 600; border-radius: 4px;
            margin: 0 10px; text-transform: uppercase; font-size: 13px; letter-spacing: 1px;
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .btn:hover { background-color: var(--verde-eco-hover); transform: translateY(-3px); box-shadow: 0 8px 15px rgba(54, 175, 7, 0.3); }
        .btn-secondary { background-color: transparent; border: 2px solid var(--bianco); box-shadow: none; }
        .btn-secondary:hover { background-color: var(--bianco); color: var(--grigio-antracite); }

        /* --- PILASTRI --- */
        .pillars {
            display: flex; justify-content: space-between;
            padding: 90px 10%; background-color: transparent; gap: 40px;
        }

        .pillar-box {
            flex: 1; padding: 50px 40px; background: var(--bianco);
            border-radius: 8px; border: 1px solid var(--grigio-bordo);
            box-shadow: 0 4px 20px rgba(0,0,0,0.02); transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            text-align: center; position: relative; overflow: hidden;
        }

        .pillar-box::before {
            content: ''; position: absolute; top: 0; left: 50%; width: 0; height: 4px;
            background-color: var(--verde-eco); transition: all 0.4s ease; transform: translateX(-50%);
        }

        .pillar-box:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.06); border-color: transparent; }
        .pillar-box:hover::before { width: 100%; }

        .icon-wrapper {
            width: 80px; height: 80px; margin: 0 auto 25px auto;
            background-color: var(--grigio-chiaro); border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            transition: all 0.4s ease; position: relative; z-index: 1;
        }

        .icon-wrapper::after {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            border-radius: 50%; background-color: var(--verde-eco);
            z-index: -1; transform: scale(0); transition: transform 0.4s ease;
        }

        .pillar-box:hover .icon-wrapper { transform: scale(1.1); box-shadow: 0 10px 20px rgba(35, 125, 0, 0.2); }
        .pillar-box:hover .icon-wrapper::after { transform: scale(1); }

        .pillar-icon { width: 36px; height: 36px; color: var(--verde-eco); transition: color 0.4s ease; }
        .pillar-box:hover .pillar-icon { color: var(--bianco); }

        .pillar-box h3 { color: var(--grigio-antracite); margin-top: 0; margin-bottom: 15px; font-size: 24px; font-weight: 600; }
        .pillar-box p { font-size: 16px; color: var(--grigio-testo-chiaro); margin: 0; line-height: 1.8; }

        /* --- ABOUT --- */
        .about { padding: 110px 50px; text-align: center; max-width: 850px; margin: 0 auto; }
        .about h2 { color: var(--grigio-antracite); font-size: 38px; margin-bottom: 35px; font-weight: 700; letter-spacing: -0.5px; }
        .about p { font-size: 17px; color: var(--grigio-testo-chiaro); margin-bottom: 25px; }
  
        /* --- SEZIONE DI CHIUSURA (FINAL CLOSER) --- */
        .final-closer {
            position: relative;
            padding: 120px 50px;
            text-align: center;
            background-color: var(--grigio-antracite);
            /* Suggerimento: usa una foto di un vostro camion in movimento o un paesaggio locale */
            background-image: linear-gradient(rgba(36, 37, 38, 0.85), rgba(36, 37, 38, 0.85)), url('../img/interno_magazzino-1920.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed; /* Effetto parallasse come nella Hero */
            color: var(--bianco);
            border-top: 4px solid var(--verde-eco);
        }

        .closer-content {
            max-width: 800px;
            margin: 0 auto;
            animation: fadeInUp 1s ease-out;
        }

        .final-closer h2 {
            font-size: 36px;
            margin-bottom: 20px;
            font-weight: 700;
        }

        .final-closer p {
            font-size: 18px;
            color: #d1d5db;
            margin-bottom: 40px;
            line-height: 1.6;
        }

        .closer-actions {
            display: flex;
            justify-content: center;
            gap: 20px;
        }

        @media (max-width: 768px) {
            .final-closer { padding: 80px 20px; }
            .closer-actions { flex-direction: column; align-items: center; }
            .final-closer h2 { font-size: 28px; }
        }

        /* --- FOOTER --- */
        footer { 
            background-color: var(--grigio-antracite); 
            padding: 30px 20px; /* Spazio ridotto */
            text-align: center; 
            border-top: 1px solid rgba(255,255,255,0.05);
        }

        .footer-logo {
            width: 300px; /* Leggermente più piccolo per delicatezza */
            height: auto; 
            margin-bottom: 15px; 
            /* filter: brightness(0) invert(1); /* Lo rende bianco */ */
        }

        .footer-info {
            color: #9ca3af;
            font-size: 13px;
            margin: 0 0 8px 0;
        }

        .footer-info a {
            color: #9ca3af;
            text-decoration: none;
            transition: color 0.3s;
        }

        .footer-info a:hover {
            color: var(--verde-eco-contrasto);
        }

        .footer-legal {
            color: #6b7280;
            font-size: 11px;
            margin: 0;
            letter-spacing: 0.3px;
        }

        /* --- NUMERI CHIAVE HOME --- */
        .numbers-section {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1px;
            background-color: var(--grigio-bordo);
            border-bottom: 1px solid var(--grigio-bordo);
        }

        .number-card {
            background-color: var(--bianco);
            padding: 38px 28px;
            text-align: center;
        }

        .number-card strong {
            display: block;
            color: var(--verde-eco);
            font-size: 34px;
            line-height: 1;
            margin-bottom: 14px;
            font-weight: 700;
            letter-spacing: -0.5px;
        }

        .number-card span {
            display: block;
            color: var(--grigio-testo-chiaro);
            font-size: 14px;
            line-height: 1.6;
        }

        /* --- SEZIONI COMMERCIALI HOME --- */
        .commercial-section {
            padding: 100px 10%;
            background-color: var(--grigio-chiaro);
            background-image: linear-gradient(rgba(245, 245, 245, 0.94), rgba(245, 245, 245, 0.94)), url('../img/interno_magazzino-1920.jpg');
            background-size: cover;
            background-position: center;
            border-top: 1px solid var(--grigio-bordo);
            border-bottom: 1px solid var(--grigio-bordo);
        }

        .section-heading {
            max-width: 850px;
            margin: 0 auto 55px auto;
            text-align: center;
        }

        .section-heading span,
        .coverage-content span {
            display: inline-block;
            color: var(--verde-eco);
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 700;
            margin-bottom: 12px;
        }

        .section-heading h2,
        .coverage-content h2 {
            color: var(--grigio-antracite);
            font-size: 36px;
            line-height: 1.2;
            margin: 0 0 20px 0;
            letter-spacing: -0.5px;
        }

        .section-heading p,
        .coverage-content p {
            color: var(--grigio-testo-chiaro);
            font-size: 17px;
            line-height: 1.8;
            margin: 0;
        }

        .sector-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
        }

        .sector-card {
            background-color: rgba(255,255,255,0.96);
            border: 1px solid rgba(228, 231, 237, 0.9);
            border-radius: 8px;
            padding: 32px 28px;
            transition: all 0.3s ease;
            border-top: 4px solid var(--verde-eco);
            backdrop-filter: blur(2px);
        }

        .sector-card:hover {
            transform: translateY(-6px);
            background-color: var(--bianco);
            box-shadow: 0 18px 35px rgba(0,0,0,0.08);
        }

        .sector-card h3 {
            color: var(--grigio-antracite);
            margin: 0 0 14px 0;
            font-size: 20px;
        }

        .sector-card p {
            color: var(--grigio-testo-chiaro);
            font-size: 15px;
            line-height: 1.7;
            margin: 0;
        }

        .coverage-section {
            padding: 95px 10%;
            background-color: var(--grigio-chiaro);
            border-top: 1px solid var(--grigio-bordo);
        }

        .coverage-content {
            max-width: 980px;
            margin: 0 auto;
            text-align: center;
        }

        .coverage-highlight {
            max-width: 860px;
            margin: 34px auto 0 auto;
            background-color: var(--bianco);
            border: 1px solid var(--grigio-bordo);
            border-left: 5px solid var(--verde-eco);
            border-radius: 8px;
            padding: 26px 28px;
            text-align: left;
            box-shadow: 0 10px 28px rgba(0,0,0,0.04);
        }

        .coverage-highlight strong {
            display: block;
            color: var(--grigio-antracite);
            font-size: 20px;
            margin-bottom: 10px;
        }

        .coverage-highlight p {
            margin: 0;
            font-size: 16px;
            color: var(--grigio-testo-chiaro);
            line-height: 1.7;
        }

        .coverage-tags {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
            margin-top: 28px;
        }

        .coverage-tags span {
            background-color: var(--bianco);
            border: 1px solid var(--grigio-bordo);
            color: var(--grigio-antracite);
            padding: 10px 18px;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 600;
        }

        @media (max-width: 1100px) {
            .numbers-section { grid-template-columns: repeat(2, 1fr); }
            .sector-grid { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 768px) {
            .hero { padding: 100px 24px; background-attachment: scroll; }
            .hero h1,
            .hero h2 { font-size: 36px; }
            .hero p { font-size: 17px; }
            .btn { display: block; margin: 12px auto; max-width: 260px; }
            .pillars { flex-direction: column; padding: 60px 6%; }
            .numbers-section { grid-template-columns: 1fr; }
            .commercial-section, .coverage-section { padding: 70px 6%; }
            .commercial-section { background-attachment: scroll; }
            .sector-grid { grid-template-columns: 1fr; }
            .section-heading h2, .coverage-content h2 { font-size: 28px; }
            .number-card { padding: 30px 22px; }
            .coverage-highlight { padding: 22px 20px; text-align: left; }
            .coverage-highlight strong { font-size: 18px; }
            .final-closer { background-attachment: scroll; }
        }


        /* --- MENU MOBILE --- */
        .menu-toggle {
            display: none;
        }

        .menu-toggle-label {
            display: none;
            width: 42px;
            height: 42px;
            border: 1px solid rgba(255,255,255,0.18);
            border-radius: 4px;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
        }

        .menu-toggle-label span {
            display: block;
            width: 22px;
            height: 2px;
            background-color: var(--bianco);
            transition: all 0.3s ease;
        }

        @media (max-width: 768px) {
            header {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
                padding: 16px 20px;
                position: sticky;
                top: 0;
            }

            header .site-logo,
            header > h1 {
                font-size: 18px;
                letter-spacing: 0.5px;
            }

            .menu-toggle-label {
                display: flex;
            }

            nav {
                display: none;
                position: absolute;
                left: 0;
                right: 0;
                top: 100%;
                background-color: var(--grigio-antracite);
                border-top: 1px solid rgba(255,255,255,0.08);
                border-bottom: 3px solid var(--verde-eco);
                padding: 12px 20px 18px 20px;
                margin-top: 0;
                box-shadow: 0 12px 24px rgba(0,0,0,0.18);
            }

            .menu-toggle:checked ~ nav {
                display: flex;
                flex-direction: column;
                gap: 0;
            }

            nav a {
                display: block;
                padding: 13px 0;
                font-size: 13px;
                border-bottom: 1px solid rgba(255,255,255,0.08);
            }

            nav a:last-child {
                border-bottom: none;
            }

            .menu-toggle:checked + .menu-toggle-label span:nth-child(1) {
                transform: translateY(7px) rotate(45deg);
            }

            .menu-toggle:checked + .menu-toggle-label span:nth-child(2) {
                opacity: 0;
            }

            .menu-toggle:checked + .menu-toggle-label span:nth-child(3) {
                transform: translateY(-7px) rotate(-45deg);
            }

            .top-bar {
                font-size: 12px;
                padding: 9px 12px;
            }

            .top-bar-content {
                gap: 4px;
            }

            footer {
                padding: 28px 16px;
            }

            .footer-logo {
                width: 220px;
                max-width: 80%;
            }

            .footer-info {
                font-size: 12px;
                line-height: 1.6;
            }

            .footer-legal {
                font-size: 10px;
                line-height: 1.5;
            }
        }

        @media (max-width: 480px) {
            header .site-logo,
            header > h1 {
                font-size: 16px;
                gap: 8px;
            }

            header .site-logo-mark,
            header > h1::before {
                width: 60px;
            }

            .menu-toggle-label {
                width: 40px;
                height: 40px;
            }

            .page-banner h1,
            .hero h1,
            .hero h2 {
                font-size: 30px;
                line-height: 1.18;
            }

            .page-banner p,
            .hero p {
                font-size: 15px;
            }

            .btn {
                width: 100%;
                max-width: 300px;
                box-sizing: border-box;
                text-align: center;
            }
        }


        @media (max-width: 768px) {
            .hero {
                min-height: auto;
                padding: 92px 22px;
            }

            .hero h1,
            .hero h2 {
                font-size: 34px;
            }

            .hero p {
                max-width: 100%;
                margin-bottom: 32px;
            }

            .numbers-section {
                gap: 0;
            }

            .commercial-section {
                background-attachment: scroll;
            }

            .sector-card,
            .pillar-box,
            .number-card {
                text-align: left;
            }

            .pillar-box .icon-wrapper {
                margin-left: 0;
            }

            .coverage-tags {
                justify-content: flex-start;
            }

            .coverage-tags span {
                font-size: 13px;
                padding: 9px 14px;
            }

            .closer-actions {
                width: 100%;
            }
        }


        /* --- FIX STEP 5B: TOP BAR MOBILE E FOOTER --- */
        footer,
        footer p,
        footer span,
        footer .footer-info,
        footer .footer-legal {
            color: #9ca3af;
        }

        footer a,
        footer a:visited,
        footer a:active {
            color: #9ca3af;
            text-decoration: none;
        }

        footer a:hover {
            color: var(--verde-eco-contrasto);
        }

        .footer-legal a,
        .footer-legal a:visited,
        .footer-legal a:active {
            color: #6b7280;
            text-decoration: none;
        }

        .footer-legal a:hover {
            color: var(--verde-eco-contrasto);
        }

        @media (max-width: 768px) {
            .top-bar {
                padding: 10px 14px;
            }

            .top-bar-content {
                width: 100%;
                display: grid;
                grid-template-columns: 1fr 1fr;
                align-items: start;
                gap: 12px;
                text-align: center;
            }

            .top-bar-title,
            .top-bar-divider {
                display: none !important;
            }

            .top-bar-content > span:not(.top-bar-title):not(.top-bar-divider) {
                display: block;
                line-height: 1.35;
                font-size: 13px;
                font-weight: 500;
                min-width: 0;
            }

            .top-bar-content > span:not(.top-bar-title):not(.top-bar-divider) a {
                display: block;
                margin-top: 3px;
                font-size: 13px;
                font-weight: 700;
                white-space: nowrap;
            }
        }

        @media (max-width: 390px) {
            .top-bar {
                padding: 9px 10px;
            }

            .top-bar-content {
                gap: 8px;
            }

            .top-bar-content > span:not(.top-bar-title):not(.top-bar-divider),
            .top-bar-content > span:not(.top-bar-title):not(.top-bar-divider) a {
                font-size: 12px;
            }
        }


        /* --- STEP 11.1C: HOME - KPI CON EFFETTO BOX ELEGANTE --- */

        .numbers-section {
            background-color: #f4f5f6;
            padding: 34px 10%;
            gap: 22px;
            border-top: 1px solid var(--grigio-bordo);
            border-bottom: 1px solid var(--grigio-bordo);
        }

        .number-card {
            position: relative;
            background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
            border: 1px solid rgba(210, 216, 222, 0.95);
            border-radius: 10px;
            padding: 34px 26px 36px 26px;
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 10px 24px rgba(0,0,0,0.045);
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
            overflow: hidden;
        }

        .number-card::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, rgba(35,125,0,0.95), rgba(35,125,0,0.18));
        }

        .number-card::after {
            content: "";
            position: absolute;
            right: -28px;
            bottom: -28px;
            width: 86px;
            height: 86px;
            border-radius: 50%;
            background: rgba(35,125,0,0.045);
            pointer-events: none;
        }

        .number-card strong {
            position: relative;
            display: block;
            color: var(--verde-eco);
            margin-bottom: 9px;
            letter-spacing: -0.4px;
        }

        .number-card span {
            position: relative;
            display: block;
            max-width: 280px;
            margin: 0 auto;
            line-height: 1.55;
        }

        .number-card:hover {
            transform: translateY(-4px);
            border-color: rgba(35,125,0,0.28);
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 16px 34px rgba(0,0,0,0.075);
        }

        @media (max-width: 900px) {
            .numbers-section {
                grid-template-columns: repeat(2, 1fr);
                padding: 30px 7%;
                gap: 18px;
            }
        }

        @media (max-width: 768px) {
            .numbers-section {
                grid-template-columns: repeat(2, 1fr);
                padding: 26px 6%;
                gap: 14px;
                background-color: #f3f4f5;
            }

            .number-card {
                padding: 26px 16px 28px 16px;
                text-align: left;
                border-radius: 9px;
                box-shadow:
                    0 1px 0 rgba(255,255,255,0.95) inset,
                    0 8px 18px rgba(0,0,0,0.045);
            }

            .number-card strong {
                font-size: 31px;
                margin-bottom: 8px;
            }

            .number-card span {
                margin: 0;
                max-width: 190px;
                font-size: 12.5px;
                line-height: 1.45;
            }

            .number-card::before {
                height: 3px;
            }

            .number-card::after {
                right: -38px;
                bottom: -38px;
                width: 90px;
                height: 90px;
            }
        }

        @media (max-width: 430px) {
            .numbers-section {
                gap: 12px;
                padding: 24px 5%;
            }

            .number-card {
                padding: 24px 14px 26px 14px;
            }

            .number-card strong {
                font-size: 28px;
            }

            .number-card span {
                font-size: 11.5px;
                line-height: 1.42;
            }
        }


        /* --- STEP 11.2: HOME - RITMO VISIVO E SPAZIATURE PIU' COMPATTE --- */

        .pillars {
            padding: 62px 8% 66px 8%;
            gap: 28px;
            background:
                linear-gradient(180deg, #f5f6f7 0%, #ffffff 100%);
            border-bottom: 1px solid var(--grigio-bordo);
        }

        .pillar-box {
            min-height: auto;
            padding: 34px 30px 32px 30px;
            border-radius: 9px;
            box-shadow: 0 10px 26px rgba(0,0,0,0.035);
        }

        .pillar-box .icon-wrapper {
            width: 64px;
            height: 64px;
            margin-bottom: 22px;
        }

        .pillar-box h3 {
            font-size: 22px;
            margin-bottom: 12px;
        }

        .pillar-box p {
            font-size: 14px;
            line-height: 1.65;
            max-width: 420px;
            margin-left: auto;
            margin-right: auto;
        }

        .commercial-section {
            padding: 74px 8% 78px 8%;
            background-position: center;
        }

        .section-heading {
            margin-bottom: 42px;
        }

        .section-heading h2 {
            font-size: 34px;
            max-width: 760px;
            margin-left: auto;
            margin-right: auto;
        }

        .section-heading p {
            max-width: 760px;
            margin-left: auto;
            margin-right: auto;
        }

        .sector-grid {
            gap: 22px;
        }

        .sector-card {
            padding: 26px 24px;
            min-height: auto;
            border-radius: 8px;
            box-shadow: 0 8px 22px rgba(0,0,0,0.035);
        }

        .sector-card h3 {
            margin-bottom: 10px;
            font-size: 17px;
        }

        .sector-card p {
            font-size: 14px;
            line-height: 1.62;
        }

        .coverage-section {
            padding: 74px 8%;
        }

        .coverage-highlight {
            margin-top: 28px;
            padding: 22px 26px;
        }

        .final-closer {
            padding: 86px 8%;
        }

        @media (max-width: 1024px) {
            .pillars,
            .commercial-section,
            .coverage-section {
                padding-left: 6%;
                padding-right: 6%;
            }

            .pillar-box {
                padding: 30px 24px;
            }
        }

        @media (max-width: 768px) {
            .pillars {
                padding: 42px 6% 46px 6%;
                gap: 18px;
            }

            .pillar-box {
                padding: 26px 22px;
                border-radius: 9px;
            }

            .pillar-box .icon-wrapper {
                width: 58px;
                height: 58px;
                margin-bottom: 18px;
            }

            .pillar-box h3 {
                font-size: 23px;
                margin-bottom: 10px;
            }

            .pillar-box p {
                font-size: 14px;
                line-height: 1.58;
            }

            .commercial-section {
                padding: 52px 6% 56px 6%;
            }

            .section-heading {
                margin-bottom: 30px;
                text-align: left;
            }

            .section-heading h2 {
                font-size: 26px;
                line-height: 1.22;
            }

            .section-heading p {
                font-size: 15px;
                line-height: 1.65;
            }

            .sector-grid {
                gap: 16px;
            }

            .sector-card {
                padding: 22px 20px;
                text-align: left;
            }

            .sector-card h3 {
                font-size: 18px;
            }

            .coverage-section {
                padding: 54px 6%;
            }

            .coverage-highlight {
                margin-top: 24px;
                padding: 20px 18px;
            }

            .final-closer {
                padding: 66px 6%;
            }
        }

        @media (max-width: 430px) {
            .pillars {
                padding-top: 36px;
                padding-bottom: 38px;
            }

            .commercial-section {
                padding-top: 46px;
                padding-bottom: 48px;
            }

            .coverage-section {
                padding-top: 48px;
                padding-bottom: 48px;
            }

            .sector-card {
                padding: 20px 18px;
            }
        }


        /* --- STEP 11.3: HOME FINALE - SPAZIATURE E ALLINEAMENTI --- */

        /* Compatta il passaggio tra numeri, card vantaggi e settori serviti */
        .numbers-section {
            padding-top: 28px;
            padding-bottom: 28px;
        }

        .pillars {
            padding-top: 46px;
            padding-bottom: 50px;
        }

        .commercial-section {
            padding-top: 42px;
            padding-bottom: 52px;
        }

        .coverage-section {
            padding-top: 44px;
            padding-bottom: 56px;
        }

        .final-closer {
            padding-top: 72px;
            padding-bottom: 76px;
        }

        /* Allineamento e gerarchia sezioni */
        .section-heading {
            max-width: 860px;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: 30px;
            text-align: center;
        }

        .section-heading span,
        .coverage-content > span {
            display: inline-block;
            margin-bottom: 12px;
            letter-spacing: 2.2px;
        }

        .section-heading h2,
        .coverage-content h2 {
            max-width: 820px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.18;
        }

        .section-heading p,
        .coverage-content > p {
            max-width: 780px;
            margin-left: auto;
            margin-right: auto;
            line-height: 1.72;
        }

        /* KPI: mantiene effetto box ma migliora proporzioni */
        .number-card {
            min-height: 116px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding-top: 28px;
            padding-bottom: 30px;
        }

        .number-card strong {
            line-height: 1;
        }

        .number-card span {
            line-height: 1.5;
        }

        /* Card vantaggi più equilibrate */
        .pillar-box {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            min-height: 210px;
        }

        .pillar-box .icon-wrapper {
            flex: 0 0 auto;
        }

        .pillar-box h3,
        .pillar-box p {
            text-align: center;
        }

        /* Settori serviti: griglia più compatta e coerente */
        .sector-grid {
            align-items: stretch;
        }

        .sector-card {
            min-height: 132px;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }

        .sector-card h3 {
            line-height: 1.25;
        }

        .sector-card p {
            margin-bottom: 0;
        }

        /* Copertura territoriale: blocco evidenza più vicino e pulito */
        .coverage-highlight {
            margin-top: 24px;
            margin-bottom: 0;
        }

        .coverage-tags {
            margin-top: 24px;
        }

        @media (max-width: 1024px) {
            .commercial-section,
            .coverage-section {
                padding-top: 42px;
            }

            .sector-card {
                min-height: 128px;
            }
        }

        @media (max-width: 768px) {
            .numbers-section {
                padding-top: 22px;
                padding-bottom: 22px;
            }

            .pillars {
                padding-top: 34px;
                padding-bottom: 38px;
            }

            .commercial-section {
                padding-top: 34px;
                padding-bottom: 40px;
            }

            .coverage-section {
                padding-top: 36px;
                padding-bottom: 42px;
            }

            .final-closer {
                padding-top: 54px;
                padding-bottom: 58px;
            }

            .section-heading {
                text-align: left;
                margin-bottom: 24px;
            }

            .section-heading h2,
            .section-heading p,
            .coverage-content h2,
            .coverage-content > p {
                max-width: none;
                margin-left: 0;
                margin-right: 0;
            }

            .coverage-content {
                text-align: left;
            }

            .number-card {
                min-height: 132px;
                align-items: flex-start;
                justify-content: center;
            }

            .pillar-box {
                min-height: auto;
                align-items: flex-start;
            }

            .pillar-box h3,
            .pillar-box p {
                text-align: left;
            }

            .sector-card {
                min-height: auto;
            }

            .coverage-tags {
                justify-content: flex-start;
            }
        }

        @media (max-width: 430px) {
            .numbers-section {
                padding-top: 20px;
                padding-bottom: 20px;
            }

            .pillars {
                padding-top: 30px;
                padding-bottom: 34px;
            }

            .commercial-section {
                padding-top: 30px;
                padding-bottom: 36px;
            }

            .coverage-section {
                padding-top: 32px;
                padding-bottom: 38px;
            }

            .number-card {
                min-height: 122px;
            }
        }


        /* --- STEP 13: HOME - COPERTURA TERRITORIALE RIVOLUZIONATA --- */

        .coverage-revolution {
            position: relative;
            overflow: hidden;
            min-height: 620px;
            padding: 0;
            background:
                linear-gradient(135deg, #1f2224 0%, #242628 46%, #f5f6f7 46%, #f5f6f7 100%);
            border-top: 1px solid rgba(0,0,0,0.08);
            border-bottom: 5px solid var(--verde-eco);
            isolation: isolate;
        }

        .coverage-revolution-bg {
            position: absolute;
            inset: 0;
            z-index: -2;
            overflow: hidden;
        }

        .coverage-map-visual {
            position: absolute;
            right: -2%;
            top: 8%;
            width: 68%;
            height: 84%;
            background-image:
                linear-gradient(90deg, rgba(245,246,247,0.16), rgba(245,246,247,0.72) 18%, rgba(245,246,247,0.88) 100%),
                url('../img/copertura-territoriale-network.jpg');
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            border-radius: 26px 0 0 26px;
            opacity: 0.94;
            box-shadow: -30px 0 70px rgba(0,0,0,0.10);
            filter: saturate(0.96) contrast(1.02);
        }

        .coverage-map-visual::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 49% 52%, rgba(35,125,0,0.25), transparent 9%),
                linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.46));
            pointer-events: none;
        }

        .coverage-map-visual::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(245,246,247,0.0) 0%, rgba(255,255,255,0.30) 42%, rgba(255,255,255,0.02) 100%);
            transform: translateX(-120%);
            pointer-events: none;
        }

        .coverage-motion-line {
            position: absolute;
            height: 2px;
            width: 190px;
            background: linear-gradient(90deg, transparent, rgba(35,125,0,0.36), transparent);
            border-radius: 999px;
            z-index: -1;
            opacity: 0.55;
        }

        .coverage-motion-line-1 {
            right: 20%;
            top: 38%;
        }

        .coverage-motion-line-2 {
            right: 12%;
            top: 58%;
            width: 250px;
        }

        .coverage-motion-line-3 {
            right: 36%;
            top: 72%;
            width: 170px;
        }

        .coverage-revolution-inner {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(360px, 0.9fr) minmax(420px, 1.1fr);
            gap: 54px;
            align-items: center;
            max-width: 1420px;
            margin: 0 auto;
            padding: 88px 8%;
        }

        .coverage-copy {
            color: var(--bianco);
        }

        .coverage-copy > span {
            display: inline-block;
            color: #7dce64;
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 3px;
            margin-bottom: 18px;
        }

        .coverage-copy h2 {
            color: var(--bianco);
            font-size: 46px;
            line-height: 1.07;
            letter-spacing: -1.2px;
            margin: 0 0 24px 0;
        }

        .coverage-copy > p {
            color: rgba(255,255,255,0.76);
            font-size: 18px;
            line-height: 1.72;
            margin: 0 0 32px 0;
            max-width: 600px;
        }

        .coverage-main-card {
            position: relative;
            background: rgba(255,255,255,0.96);
            color: var(--grigio-antracite);
            border-left: 5px solid var(--verde-eco);
            border-radius: 12px;
            padding: 28px 30px;
            box-shadow: 0 22px 50px rgba(0,0,0,0.20);
            overflow: hidden;
        }

        .coverage-main-card::after {
            content: "2x";
            position: absolute;
            right: 24px;
            top: 18px;
            color: rgba(35,125,0,0.07);
            font-size: 78px;
            font-weight: 800;
            line-height: 1;
            letter-spacing: -4px;
            pointer-events: none;
        }

        .coverage-main-card strong {
            display: block;
            color: var(--grigio-antracite);
            font-size: 24px;
            line-height: 1.22;
            margin-bottom: 14px;
            max-width: 560px;
        }

        .coverage-main-card p {
            color: var(--grigio-testo);
            font-size: 16px;
            line-height: 1.72;
            margin: 0;
            max-width: 640px;
        }

        .coverage-proof {
            align-self: end;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
            margin-top: 330px;
        }

        .coverage-proof-card {
            position: relative;
            min-height: 150px;
            padding: 24px 22px;
            background: rgba(255,255,255,0.91);
            border: 1px solid rgba(214,220,226,0.88);
            border-top: 4px solid var(--verde-eco);
            border-radius: 12px;
            box-shadow: 0 18px 38px rgba(0,0,0,0.08);
            backdrop-filter: blur(2px);
        }

        .coverage-proof-card span {
            display: block;
            color: var(--verde-eco);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1.8px;
            margin-bottom: 10px;
        }

        .coverage-proof-card strong {
            display: block;
            color: var(--grigio-antracite);
            font-size: 25px;
            line-height: 1.05;
            margin-bottom: 12px;
            letter-spacing: -0.4px;
        }

        .coverage-proof-card p {
            color: var(--grigio-testo-chiaro);
            font-size: 14px;
            line-height: 1.55;
            margin: 0;
        }

        @media (prefers-reduced-motion: no-preference) {
            .coverage-map-visual {
                animation: mapBreath 16s ease-in-out infinite alternate;
            }

            .coverage-map-visual::after {
                animation: mapLightSweep 8s ease-in-out infinite;
            }

            .coverage-motion-line-1 {
                animation: routePulse 4.8s ease-in-out infinite;
            }

            .coverage-motion-line-2 {
                animation: routePulse 5.6s ease-in-out infinite 0.8s;
            }

            .coverage-motion-line-3 {
                animation: routePulse 6.4s ease-in-out infinite 1.4s;
            }

            @keyframes mapBreath {
                from {
                    transform: scale(1) translate3d(0,0,0);
                }
                to {
                    transform: scale(1.025) translate3d(-8px,-4px,0);
                }
            }

            @keyframes mapLightSweep {
                0%, 34% {
                    transform: translateX(-120%);
                    opacity: 0;
                }
                50% {
                    opacity: 0.42;
                }
                74%, 100% {
                    transform: translateX(120%);
                    opacity: 0;
                }
            }

            @keyframes routePulse {
                0%, 100% {
                    transform: translateX(-18px);
                    opacity: 0.16;
                }
                50% {
                    transform: translateX(20px);
                    opacity: 0.62;
                }
            }
        }

        @media (max-width: 1180px) {
            .coverage-revolution-inner {
                grid-template-columns: 1fr;
                gap: 34px;
                padding: 72px 7%;
            }

            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 56%, #f5f6f7 56%, #f5f6f7 100%);
            }

            .coverage-map-visual {
                top: 45%;
                right: 0;
                width: 100%;
                height: 52%;
                border-radius: 0;
                opacity: 0.52;
                background-image:
                    linear-gradient(180deg, rgba(245,246,247,0.28), rgba(245,246,247,0.86) 42%, rgba(245,246,247,0.96) 100%),
                    url('../img/copertura-territoriale-network.jpg');
            }

            .coverage-copy {
                max-width: 760px;
            }

            .coverage-proof {
                margin-top: 90px;
            }
        }

        @media (max-width: 768px) {
            .coverage-revolution {
                min-height: auto;
                background: linear-gradient(180deg, #202325 0%, #202325 64%, #f5f6f7 64%, #f5f6f7 100%);
            }

            .coverage-revolution-inner {
                padding: 54px 6% 58px 6%;
                gap: 28px;
            }

            .coverage-map-visual {
                top: 49%;
                height: 45%;
                background-size: auto 100%;
                background-position: center bottom;
                opacity: 0.34;
            }

            .coverage-motion-line {
                display: none;
            }

            .coverage-copy > span {
                font-size: 12px;
                letter-spacing: 2.4px;
                margin-bottom: 14px;
            }

            .coverage-copy h2 {
                font-size: 34px;
                line-height: 1.12;
                letter-spacing: -0.8px;
                margin-bottom: 18px;
            }

            .coverage-copy > p {
                font-size: 15.5px;
                line-height: 1.62;
                margin-bottom: 24px;
            }

            .coverage-main-card {
                padding: 24px 22px;
                border-left-width: 4px;
            }

            .coverage-main-card::after {
                font-size: 58px;
                right: 18px;
                top: 18px;
            }

            .coverage-main-card strong {
                font-size: 22px;
                max-width: 92%;
            }

            .coverage-main-card p {
                font-size: 15px;
                line-height: 1.62;
            }

            .coverage-proof {
                grid-template-columns: 1fr;
                gap: 14px;
                margin-top: 64px;
            }

            .coverage-proof-card {
                min-height: auto;
                padding: 22px 20px;
            }

            .coverage-proof-card strong {
                font-size: 24px;
            }
        }

        @media (max-width: 430px) {
            .coverage-revolution-inner {
                padding: 46px 5% 52px 5%;
            }

            .coverage-copy h2 {
                font-size: 30px;
            }

            .coverage-copy > p {
                font-size: 15px;
            }

            .coverage-main-card {
                padding: 22px 18px;
            }

            .coverage-main-card strong {
                font-size: 20px;
            }

            .coverage-main-card p {
                font-size: 14.5px;
            }

            .coverage-proof {
                margin-top: 52px;
            }
        }


        /* --- STEP 13B: COPERTURA - LEGGIBILITA' TESTO PRINCIPALE --- */

        .coverage-revolution {
            background:
                linear-gradient(135deg, #1f2224 0%, #242628 52%, #f5f6f7 52%, #f5f6f7 100%);
        }

        .coverage-map-visual {
            width: 62%;
            right: 0;
            opacity: 0.88;
        }

        .coverage-revolution-inner {
            grid-template-columns: minmax(420px, 0.78fr) minmax(460px, 1.22fr);
        }

        .coverage-copy {
            position: relative;
            z-index: 3;
            max-width: 610px;
            padding-right: 22px;
        }

        .coverage-copy > span {
            color: #78d05f;
            text-shadow: 0 1px 12px rgba(0,0,0,0.22);
        }

        .coverage-copy h2 {
            max-width: 560px;
            color: #ffffff;
            font-size: 43px;
            line-height: 1.08;
            text-shadow: 0 2px 18px rgba(0,0,0,0.34);
        }

        .coverage-copy > p {
            max-width: 560px;
            color: rgba(255,255,255,0.86);
            font-weight: 500;
            text-shadow: 0 2px 14px rgba(0,0,0,0.28);
        }

        .coverage-main-card {
            max-width: 610px;
        }

        @media (max-width: 1180px) {
            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 58%, #f5f6f7 58%, #f5f6f7 100%);
            }

            .coverage-map-visual {
                width: 100%;
                opacity: 0.44;
            }

            .coverage-copy {
                max-width: 760px;
                padding-right: 0;
            }

            .coverage-copy h2,
            .coverage-copy > p {
                max-width: 720px;
            }

            .coverage-main-card {
                max-width: 760px;
            }
        }

        @media (max-width: 768px) {
            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 68%, #f5f6f7 68%, #f5f6f7 100%);
            }

            .coverage-map-visual {
                top: 50%;
                opacity: 0.24;
            }

            .coverage-copy h2 {
                max-width: 100%;
                color: #ffffff;
                font-size: 32px;
                text-shadow: 0 2px 16px rgba(0,0,0,0.42);
            }

            .coverage-copy > p {
                max-width: 100%;
                color: rgba(255,255,255,0.88);
                text-shadow: 0 2px 14px rgba(0,0,0,0.35);
            }
        }

        @media (max-width: 430px) {
            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 70%, #f5f6f7 70%, #f5f6f7 100%);
            }

            .coverage-copy h2 {
                font-size: 29px;
            }

            .coverage-map-visual {
                opacity: 0.20;
            }
        }


        /* --- STEP 14 TEST: CARD VANTAGGI CON SFONDO DIAGONALE --- */

        .pillars {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            background:
                linear-gradient(135deg, #202325 0%, #202325 38%, #f5f6f7 38%, #f5f6f7 100%);
            border-top: 1px solid rgba(0,0,0,0.08);
            border-bottom: 1px solid var(--grigio-bordo);
            padding-top: 58px;
            padding-bottom: 62px;
        }

        .pillars::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 16% 30%, rgba(35,125,0,0.18), transparent 24%),
                linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.18));
            opacity: 0.75;
            pointer-events: none;
            z-index: -1;
        }

        .pillar-box {
            background: rgba(255,255,255,0.97);
            border: 1px solid rgba(214,220,226,0.94);
            border-radius: 12px;
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 18px 40px rgba(0,0,0,0.075);
        }

        .pillar-box:nth-child(1) {
            transform: translateY(10px);
        }

        .pillar-box:nth-child(2) {
            transform: translateY(-4px);
            border-top: 4px solid var(--verde-eco);
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 24px 52px rgba(0,0,0,0.095);
        }

        .pillar-box:nth-child(3) {
            transform: translateY(10px);
        }

        .pillar-box:hover {
            transform: translateY(-8px);
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 26px 56px rgba(0,0,0,0.11);
        }

        .pillar-box:nth-child(1):hover,
        .pillar-box:nth-child(3):hover {
            transform: translateY(2px);
        }

        .pillar-box:nth-child(2):hover {
            transform: translateY(-12px);
        }

        @media (max-width: 1024px) {
            .pillars {
                background:
                    linear-gradient(145deg, #202325 0%, #202325 42%, #f5f6f7 42%, #f5f6f7 100%);
                padding-top: 50px;
                padding-bottom: 54px;
            }

            .pillar-box:nth-child(1),
            .pillar-box:nth-child(2),
            .pillar-box:nth-child(3) {
                transform: none;
            }

            .pillar-box:hover,
            .pillar-box:nth-child(1):hover,
            .pillar-box:nth-child(2):hover,
            .pillar-box:nth-child(3):hover {
                transform: translateY(-5px);
            }
        }

        @media (max-width: 768px) {
            .pillars {
                background:
                    linear-gradient(160deg, #202325 0%, #202325 28%, #f5f6f7 28%, #f5f6f7 100%);
                padding-top: 42px;
                padding-bottom: 44px;
            }

            .pillars::before {
                opacity: 0.42;
            }

            .pillar-box {
                box-shadow:
                    0 1px 0 rgba(255,255,255,0.95) inset,
                    0 14px 30px rgba(0,0,0,0.065);
            }

            .pillar-box:hover,
            .pillar-box:nth-child(1):hover,
            .pillar-box:nth-child(2):hover,
            .pillar-box:nth-child(3):hover {
                transform: none;
            }
        }

        @media (max-width: 430px) {
            .pillars {
                background:
                    linear-gradient(165deg, #202325 0%, #202325 24%, #f5f6f7 24%, #f5f6f7 100%);
            }
        }


        /* --- STEP 15 DEFINITIVO: HOME ALLINEATA CARD + COPERTURA --- */

        /* Card vantaggi: sfondo diagonale approvato */
        .pillars {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            background:
                linear-gradient(135deg, #202325 0%, #202325 38%, #f5f6f7 38%, #f5f6f7 100%) !important;
            border-top: 1px solid rgba(0,0,0,0.08);
            border-bottom: 1px solid var(--grigio-bordo);
            padding-top: 58px;
            padding-bottom: 62px;
        }

        .pillars::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 16% 30%, rgba(35,125,0,0.18), transparent 24%),
                linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.18));
            opacity: 0.75;
            pointer-events: none;
            z-index: -1;
        }

        .pillar-box {
            background: rgba(255,255,255,0.97);
            border: 1px solid rgba(214,220,226,0.94);
            border-radius: 12px;
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 18px 40px rgba(0,0,0,0.075);
        }

        .pillar-box:nth-child(1) {
            transform: translateY(10px);
        }

        .pillar-box:nth-child(2) {
            transform: translateY(-4px);
            border-top: 4px solid var(--verde-eco);
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 24px 52px rgba(0,0,0,0.095);
        }

        .pillar-box:nth-child(3) {
            transform: translateY(10px);
        }

        .pillar-box:hover {
            transform: translateY(-8px);
            box-shadow:
                0 1px 0 rgba(255,255,255,0.95) inset,
                0 26px 56px rgba(0,0,0,0.11);
        }

        .pillar-box:nth-child(1):hover,
        .pillar-box:nth-child(3):hover {
            transform: translateY(2px);
        }

        .pillar-box:nth-child(2):hover {
            transform: translateY(-12px);
        }

        /* Copertura territoriale: versione rivoluzionata definitiva */
        .coverage-revolution {
            position: relative;
            overflow: hidden;
            min-height: 620px;
            padding: 0;
            background:
                linear-gradient(135deg, #1f2224 0%, #242628 52%, #f5f6f7 52%, #f5f6f7 100%) !important;
            border-top: 1px solid rgba(0,0,0,0.08);
            border-bottom: 5px solid var(--verde-eco);
            isolation: isolate;
        }

        .coverage-revolution-bg {
            position: absolute;
            inset: 0;
            z-index: -2;
            overflow: hidden;
        }

        .coverage-map-visual {
            position: absolute;
            right: 0;
            top: 8%;
            width: 62%;
            height: 84%;
            background-image:
                linear-gradient(90deg, rgba(245,246,247,0.16), rgba(245,246,247,0.72) 18%, rgba(245,246,247,0.88) 100%),
                url('../img/copertura-territoriale-network.jpg');
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            border-radius: 26px 0 0 26px;
            opacity: 0.88;
            box-shadow: -30px 0 70px rgba(0,0,0,0.10);
            filter: saturate(0.96) contrast(1.02);
        }

        .coverage-map-visual::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 49% 52%, rgba(35,125,0,0.25), transparent 9%),
                linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.46));
            pointer-events: none;
        }

        .coverage-map-visual::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(245,246,247,0.0) 0%, rgba(255,255,255,0.30) 42%, rgba(255,255,255,0.02) 100%);
            transform: translateX(-120%);
            pointer-events: none;
        }

        .coverage-motion-line {
            position: absolute;
            height: 2px;
            width: 190px;
            background: linear-gradient(90deg, transparent, rgba(35,125,0,0.36), transparent);
            border-radius: 999px;
            z-index: -1;
            opacity: 0.55;
        }

        .coverage-motion-line-1 {
            right: 20%;
            top: 38%;
        }

        .coverage-motion-line-2 {
            right: 12%;
            top: 58%;
            width: 250px;
        }

        .coverage-motion-line-3 {
            right: 36%;
            top: 72%;
            width: 170px;
        }

        .coverage-revolution-inner {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(420px, 0.78fr) minmax(460px, 1.22fr);
            gap: 54px;
            align-items: center;
            max-width: 1420px;
            margin: 0 auto;
            padding: 88px 8%;
        }

        .coverage-copy {
            position: relative;
            z-index: 3;
            max-width: 610px;
            padding-right: 22px;
            color: var(--bianco);
        }

        .coverage-copy > span {
            display: inline-block;
            color: #78d05f;
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 3px;
            margin-bottom: 18px;
            text-shadow: 0 1px 12px rgba(0,0,0,0.22);
        }

        .coverage-copy h2 {
            max-width: 560px;
            color: #ffffff;
            font-size: 43px;
            line-height: 1.08;
            letter-spacing: -1.2px;
            margin: 0 0 24px 0;
            text-shadow: 0 2px 18px rgba(0,0,0,0.34);
        }

        .coverage-copy > p {
            max-width: 560px;
            color: rgba(255,255,255,0.86);
            font-size: 18px;
            line-height: 1.72;
            font-weight: 500;
            margin: 0 0 32px 0;
            text-shadow: 0 2px 14px rgba(0,0,0,0.28);
        }

        .coverage-main-card {
            position: relative;
            max-width: 610px;
            background: rgba(255,255,255,0.96);
            color: var(--grigio-antracite);
            border-left: 5px solid var(--verde-eco);
            border-radius: 12px;
            padding: 28px 30px;
            box-shadow: 0 22px 50px rgba(0,0,0,0.20);
            overflow: hidden;
        }

        .coverage-main-card::after {
            content: "2x";
            position: absolute;
            right: 24px;
            top: 18px;
            color: rgba(35,125,0,0.07);
            font-size: 78px;
            font-weight: 800;
            line-height: 1;
            letter-spacing: -4px;
            pointer-events: none;
        }

        .coverage-main-card strong {
            display: block;
            color: var(--grigio-antracite);
            font-size: 24px;
            line-height: 1.22;
            margin-bottom: 14px;
            max-width: 560px;
        }

        .coverage-main-card p {
            color: var(--grigio-testo);
            font-size: 16px;
            line-height: 1.72;
            margin: 0;
            max-width: 640px;
        }

        .coverage-proof {
            align-self: end;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
            margin-top: 330px;
        }

        .coverage-proof-card {
            position: relative;
            min-height: 150px;
            padding: 24px 22px;
            background: rgba(255,255,255,0.91);
            border: 1px solid rgba(214,220,226,0.88);
            border-top: 4px solid var(--verde-eco);
            border-radius: 12px;
            box-shadow: 0 18px 38px rgba(0,0,0,0.08);
            backdrop-filter: blur(2px);
        }

        .coverage-proof-card span {
            display: block;
            color: var(--verde-eco);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1.8px;
            margin-bottom: 10px;
        }

        .coverage-proof-card strong {
            display: block;
            color: var(--grigio-antracite);
            font-size: 25px;
            line-height: 1.05;
            margin-bottom: 12px;
            letter-spacing: -0.4px;
        }

        .coverage-proof-card p {
            color: var(--grigio-testo-chiaro);
            font-size: 14px;
            line-height: 1.55;
            margin: 0;
        }

        @media (prefers-reduced-motion: no-preference) {
            .coverage-map-visual {
                animation: mapBreath 16s ease-in-out infinite alternate;
            }

            .coverage-map-visual::after {
                animation: mapLightSweep 8s ease-in-out infinite;
            }

            .coverage-motion-line-1 {
                animation: routePulse 4.8s ease-in-out infinite;
            }

            .coverage-motion-line-2 {
                animation: routePulse 5.6s ease-in-out infinite 0.8s;
            }

            .coverage-motion-line-3 {
                animation: routePulse 6.4s ease-in-out infinite 1.4s;
            }

            @keyframes mapBreath {
                from {
                    transform: scale(1) translate3d(0,0,0);
                }
                to {
                    transform: scale(1.025) translate3d(-8px,-4px,0);
                }
            }

            @keyframes mapLightSweep {
                0%, 34% {
                    transform: translateX(-120%);
                    opacity: 0;
                }
                50% {
                    opacity: 0.42;
                }
                74%, 100% {
                    transform: translateX(120%);
                    opacity: 0;
                }
            }

            @keyframes routePulse {
                0%, 100% {
                    transform: translateX(-18px);
                    opacity: 0.16;
                }
                50% {
                    transform: translateX(20px);
                    opacity: 0.62;
                }
            }
        }

        @media (max-width: 1180px) {
            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 58%, #f5f6f7 58%, #f5f6f7 100%) !important;
            }

            .coverage-revolution-inner {
                grid-template-columns: 1fr;
                gap: 34px;
                padding: 72px 7%;
            }

            .coverage-map-visual {
                top: 45%;
                right: 0;
                width: 100%;
                height: 52%;
                border-radius: 0;
                opacity: 0.44;
                background-image:
                    linear-gradient(180deg, rgba(245,246,247,0.28), rgba(245,246,247,0.86) 42%, rgba(245,246,247,0.96) 100%),
                    url('../img/copertura-territoriale-network.jpg');
            }

            .coverage-copy {
                max-width: 760px;
                padding-right: 0;
            }

            .coverage-copy h2,
            .coverage-copy > p {
                max-width: 720px;
            }

            .coverage-main-card {
                max-width: 760px;
            }

            .coverage-proof {
                margin-top: 90px;
            }

            .pillars {
                background:
                    linear-gradient(145deg, #202325 0%, #202325 42%, #f5f6f7 42%, #f5f6f7 100%) !important;
                padding-top: 50px;
                padding-bottom: 54px;
            }

            .pillar-box:nth-child(1),
            .pillar-box:nth-child(2),
            .pillar-box:nth-child(3) {
                transform: none;
            }

            .pillar-box:hover,
            .pillar-box:nth-child(1):hover,
            .pillar-box:nth-child(2):hover,
            .pillar-box:nth-child(3):hover {
                transform: translateY(-5px);
            }
        }

        @media (max-width: 768px) {
            .coverage-revolution {
                min-height: auto;
                background: linear-gradient(180deg, #202325 0%, #202325 68%, #f5f6f7 68%, #f5f6f7 100%) !important;
            }

            .coverage-revolution-inner {
                padding: 54px 6% 58px 6%;
                gap: 28px;
            }

            .coverage-map-visual {
                top: 50%;
                height: 45%;
                background-size: auto 100%;
                background-position: center bottom;
                opacity: 0.24;
            }

            .coverage-motion-line {
                display: none;
            }

            .coverage-copy > span {
                font-size: 12px;
                letter-spacing: 2.4px;
                margin-bottom: 14px;
            }

            .coverage-copy h2 {
                max-width: 100%;
                color: #ffffff;
                font-size: 32px;
                line-height: 1.12;
                letter-spacing: -0.8px;
                margin-bottom: 18px;
                text-shadow: 0 2px 16px rgba(0,0,0,0.42);
            }

            .coverage-copy > p {
                max-width: 100%;
                color: rgba(255,255,255,0.88);
                font-size: 15.5px;
                line-height: 1.62;
                margin-bottom: 24px;
                text-shadow: 0 2px 14px rgba(0,0,0,0.35);
            }

            .coverage-main-card {
                padding: 24px 22px;
                border-left-width: 4px;
            }

            .coverage-main-card::after {
                font-size: 58px;
                right: 18px;
                top: 18px;
            }

            .coverage-main-card strong {
                font-size: 22px;
                max-width: 92%;
            }

            .coverage-main-card p {
                font-size: 15px;
                line-height: 1.62;
            }

            .coverage-proof {
                grid-template-columns: 1fr;
                gap: 14px;
                margin-top: 64px;
            }

            .coverage-proof-card {
                min-height: auto;
                padding: 22px 20px;
            }

            .coverage-proof-card strong {
                font-size: 24px;
            }

            .pillars {
                background:
                    linear-gradient(160deg, #202325 0%, #202325 28%, #f5f6f7 28%, #f5f6f7 100%) !important;
                padding-top: 42px;
                padding-bottom: 44px;
            }

            .pillars::before {
                opacity: 0.42;
            }

            .pillar-box {
                box-shadow:
                    0 1px 0 rgba(255,255,255,0.95) inset,
                    0 14px 30px rgba(0,0,0,0.065);
            }

            .pillar-box:hover,
            .pillar-box:nth-child(1):hover,
            .pillar-box:nth-child(2):hover,
            .pillar-box:nth-child(3):hover {
                transform: none;
            }
        }

        @media (max-width: 430px) {
            .coverage-revolution {
                background: linear-gradient(180deg, #202325 0%, #202325 70%, #f5f6f7 70%, #f5f6f7 100%) !important;
            }

            .coverage-revolution-inner {
                padding: 46px 5% 52px 5%;
            }

            .coverage-copy h2 {
                font-size: 29px;
            }

            .coverage-copy > p {
                font-size: 15px;
            }

            .coverage-main-card {
                padding: 22px 18px;
            }

            .coverage-main-card strong {
                font-size: 20px;
            }

            .coverage-main-card p {
                font-size: 14.5px;
            }

            .coverage-proof {
                margin-top: 52px;
            }

            .coverage-map-visual {
                opacity: 0.20;
            }

            .pillars {
                background:
                    linear-gradient(165deg, #202325 0%, #202325 24%, #f5f6f7 24%, #f5f6f7 100%) !important;
            }
        }
