    
        /* Stili globali */
        html {
            scroll-behavior: smooth;
        }


        body {
	line-height: 1.6;
	color: #e0e0e0;
	font-size: 16px;
	font-family: lato;
}
        /* Header con backdrop blur */
        #main-header {
            position: fixed;
            width: 100%;
            z-index: 50;
            transition: all 0.3s ease;
        }

        .header-blur {
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            background-color: rgba(31, 41, 55, 0.8);
        }

        /* Logo hover effect */
        .logo img {
            transition: transform 0.3s ease;
        }

        .logo:hover img {
            transform: scale(1.05);
        }

        /* Nav links hover effect */
        .nav-link {
            position: relative;
            padding-bottom: 2px;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background-color: #fff;
            transition: width 0.3s ease;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* Scroll to top button */
        .scroll-to-top {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            background: #3B82F6;
            color: white;
            width: 3rem;
            height: 3rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            opacity: 0;
            visibility: hidden;
            z-index: 1000;
        }

        .scroll-to-top.visible {
            opacity: 1;
            visibility: visible;
        }

        .scroll-to-top:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }

        /* Stili per lo Swiper (potrebbero non servire in questa pagina, ma li includo per coerenza) */
        .swiper-slide {
            width: 350px !important;
            height: auto !important;
        }
        
        /* Aspetto ratio per le immagini */
        .aspect-w-16 {
            position: relative;
            padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
        }
        
        .aspect-w-16 img,
        .aspect-w-16 video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Navigazione Swiper */
        .swiper-button-next,
        .swiper-button-prev {
            color: white !important;
            background: rgba(0, 0, 0, 0.5);
            width: 40px !important;
            height: 40px !important;
            border-radius: 50%;
        }

        .swiper-button-next:after,
        .swiper-button-prev:after {
            font-size: 20px !important;
        }
        
        /* Stili personalizzati per l'effetto hover e la cornice */
        .progetto-item {
            position: relative;
            overflow: hidden;
            border-radius: 0.5rem; /* rounded-lg */
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); /* shadow-sm */
            border: 1px solid white; /* Cornice bianca */
            cursor: pointer;
        }

        .progetto-item img {
            display: block;
            width: 100%;
            height: auto;
            transition: transform 0.3s ease;
        }

        .progetto-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.5); /* Oscuramento */
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
            color: white;
            font-weight: bold;
            text-align: center;
            padding: 1rem;
        }

        .progetto-item:hover .progetto-overlay {
            opacity: 1;
        }

         .progetto-item:hover img {
            transform: scale(1.05); /* Piccolo zoom sull'immagine */
        }

        /* Stili per le modal */
        .modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            display: none; /* Nascosta di default */
            justify-content: center;
            align-items: center;
            z-index: 1000;
            overflow-y: auto; /* Permette lo scroll se il contenuto è troppo lungo */
        }

        /* Quando non ha la classe hidden, mostrala con flex */
        .modal:not(.hidden) {
            display: flex;
        }

        .modal-content {
            background-color: white;
            padding: 2rem;
            border-radius: 0.5rem;
            max-width: 800px;
            width: 90%;
            position: relative;
        }

        .modal-close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            font-size: 1.5rem;
            cursor: pointer;
            color: #333;
        }

         .media-modal-content {
            max-width: 90%;
            max-height: 90%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .media-modal-content img,
        .media-modal-content video {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        /* Stile per l'Hero Video */
        #hero video {
            width: 100%;
            height: auto; /* O una altezza fissa se preferisci */
            display: block;
            object-fit: cover; /* Assicura che il video copra l'area senza distorcere */
        }

        /* Stile per i titoli con il nuovo font */
        h1, h2, h3 {
            font-family: 'Montserrat', sans-serif;
        }

        body {
            font-family: 'Open Sans', sans-serif;
        }

        /* Stili per le divisioni eleganti */
        .section-divider {
            position: relative;
            height: 50px; /* Altezza del divisore */
            background: linear-gradient(to bottom, #1a1a1a, #333); /* Gradiente scuro */
        }

        .section-divider::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: inherit; /* Usa lo stesso gradiente */
            transform: skewY(-2deg); /* Inclinazione */
            transform-origin: top left;
        }

         .section-divider::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: inherit; /* Usa lo stesso gradiente */
            transform: skewY(2deg); /* Inclinazione opposta */
            transform-origin: top right;
        }

        /* Aggiusta il padding delle sezioni per compensare il divisore */
        section {
            padding-top: 70px; /* Aumenta il padding top */
            padding-bottom: 70px; /* Aumenta il padding bottom */
        }

        /* Stile per il video di sfondo nella sezione Chi Siamo */
        #chi-siamo {
            position: relative; /* Necessario per posizionare il video assoluto */
            overflow: hidden; /* Nasconde parti del video che escono */
        }

        #chi-siamo video.background-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            z-index: 0;
            transform: translate(-50%, -50%);
            /* Riga da modificare per l'opacità */
            opacity: 0.6;
        }

        #chi-siamo .container {
            position: relative;
            z-index: 10; /* Assicura che il contenuto sia sopra il video */
        }

        /* Stile per l'immagine di sfondo nella sezione Contatti */
        #contatti {
            position: relative; /* Necessario per posizionare l'overlay assoluto */
            overflow: hidden;
        }

        #contatti .background-image-container {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('<?php echo BASE_PATH; ?>/img/contacts.jpeg'); /* Immagine di sfondo */
            background-size: cover;
            background-position: center;
            /* Riga da modificare per l'opacità */
            opacity: 1;
           /* filter: sepia(100%);  Tono seppia */
            z-index: 0; /* Sotto il contenuto */
            animation: zoom-pan 30s infinite alternate ease-in-out; /* Applica l'animazione */
        }


        #contatti .container {
            position: relative;
            z-index: 10; /* Assicura che il contenuto sia sopra l'overlay */
        }

        /* Animazione zoom sull'immagine di sfondo */
        @keyframes zoom-pan {
            0% { transform: scale(1) translate(0, 0); }
            50% { transform: scale(1.1) translate(5%, 5%); }
            100% { transform: scale(1) translate(0, 0); }
        }

        /* Stili specifici per la pagina del progetto */
        .project-page-container {
            padding-top: 20px; /* Spazio per l'header fisso */
            background-color: #ffffff; /* Sfondo chiaro */
            color: #4a5568; /* Testo grigio scuro */
        }

        .project-title {
            margin-top: 1rem;
            font-size: 3rem;
            font-weight: bold;
            margin-bottom: 0.5rem;
            color: #ffffff; /* Bianco per il titolo */
        }

        .project-layout {
            display: grid;
            grid-template-columns: 1fr; /* Default: singola colonna */
            gap: 2rem;
        }

        @media (min-width: 768px) { /* Layout a due colonne su schermi medi e grandi */
            .project-layout {
                grid-template-columns: 2fr 1fr; /* Contenuto principale (2/3) e sidebar (1/3) */
            }
        }

        .main-content {
            /* Stili per il contenuto principale (tab) */
        }

        .sidebar {
            /* Stili per la sidebar */
        }

        .tabs-container {
            margin-bottom: 2rem;
        }

        .tab-buttons {
            display: flex;
            border-bottom: 1px solid #333;
            margin-bottom: 1.5rem;
        }

        .tab-button {
            padding: 1rem 1.5rem;
            cursor: pointer;
            border: none;
            background: none;
            color: #718096; /* Grigio medio per tab inattive */
            font-size: 1rem;
            transition: color 0.3s ease, border-bottom-color 0.3s ease;
            border-bottom: 2px solid transparent;
        }

        .tab-button:hover {
            color: #2d3748; /* Testo grigio scuro all'hover */
        }

        .tab-button.active {
            color: #2d3748; /* Grigio scuro per tab attiva */
            border-bottom-color: #4a5568; /* Sottolineatura grigia */
        }

        .tab-content {
            /* Stili per il contenuto delle tab */
        }

        .overview-content img {
            float: left; /* Immagine allineata a sinistra */
            margin-right: 1.5rem;
            margin-bottom: 1rem;
            max-width: 40%; /* Rendi l'immagine responsiva */
            height: auto;
            border-radius: 8px;
        }

        .video-player-mini {
            position: relative;
            cursor: pointer;
            margin-bottom: 2rem;
            border-radius: 8px;
            overflow: hidden;
            background-color: #f7fafc;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .video-player-mini {
            aspect-ratio: 16 / 9;
        }

        .video-player-mini video {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .play-icon-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background: rgba(0, 0, 0, 0.5);
            color: white;
            font-size: 3rem;
            transition: background-color 0.3s ease;
        }

        .video-player-mini:hover .play-icon-overlay {
            background: rgba(0, 0, 0, 0.7);
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); /* Griglia responsiva più grande */
            gap: 1rem;
            padding: 1rem;
            background-color: #f7fafc;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .gallery-item img {
            width: 100%;
            height: 120px; /* Altezza aumentata per le anteprime */
            object-fit: cover;
            cursor: pointer;
            border-radius: 4px;
            transition: all 0.3s ease;
            border: 2px solid #e2e8f0;
        }

        .gallery-item img:hover {
            transform: scale(1.05);
            border-color: #4a5568;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        /* Stili per la modale del video e della galleria */
        .modal-viewer {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.9);
            display: none; /* Nascosta di default */
            justify-content: center;
            align-items: center;
            z-index: 2000;
        }

        /* Quando non ha la classe hidden, mostrala con flex */
        .modal-viewer:not(.hidden) {
            display: flex;
        }

        .modal-viewer-content {
            max-width: 90%;
            max-height: 90%;
        }

        .modal-viewer-content img,
        .modal-viewer-content video {
            display: block;
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        .modal-viewer-close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            font-size: 2rem;
            color: white;
            cursor: pointer;
        }

        .modal-viewer-nav {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            padding: 0 1rem;
            color: white;
            font-size: 3rem;
            cursor: pointer;
        }

        .modal-viewer-nav .prev,
        .modal-viewer-nav .next {
            background: rgba(0, 0, 0, 0.5);
            padding: 0.5rem;
            border-radius: 4px;
        }

        .director-bio {
            margin-top: 3rem; /* Spazio dopo il separatore */
            overflow: hidden; /* Per contenere il float */
        }

        .director-bio img {
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 8px;
        }

