   /* Hero Section */
   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-Book.otf') format('opentype');
       font-weight: 400;
       font-style: normal;
   }

   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-Bold.otf') format('opentype');
       font-weight: 700;
       font-style: normal;
   }

   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-Medium.otf') format('opentype');
       font-weight: 500;
       font-style: normal;
   }

   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-Italic.otf') format('opentype');
       font-weight: 400;
       font-style: italic;
   }

   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-SemiBoldItalic.otf') format('opentype');
       font-weight: 600;
       font-style: italic;
   }

   @font-face {
       font-family: 'PPNeueMontreal';
       src: url('/assets/fonts/montreal/PPNeueMontreal-Thin.otf') format('opentype');
       font-weight: 100;
       font-style: normal;
   }

   * {
       font-family: 'PPNeueMontreal', sans-serif;
       margin: 0;
   }

   .hero img {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   .hero-text {
       position: absolute;
       top: 50%;
       left: 50%;
       transform: translate(-50%, -50%);
       text-align: center;
       color: white;
       font-size: 4.5rem;
       width: 80%;
       line-height: 1.2;
       z-index: 2;
   }

   /* Navigation */
   .nav {
       display: flex;
       align-items: start;
       gap: 4rem;
       flex-direction: row;
       justify-content: flex-start;
       font-size: 24px;
   }

   .nav a {
       text-decoration: none;
       color: black;
       font-weight: 500;
   }

   /* Animated underline for links on hover (excluding links with images) */
   a:not(:has(img)) {
       text-decoration: none;
   }

   /*
   a:not(:has(img))::after {
       content: '';
       position: absolute;
       width: 0;
       height: 2px;
       bottom: -4px;
       left: 0;
       background-color: currentColor;
       transition: width 0.5s ease;
   }
*/
   a:not(:has(img)):hover::after {
       width: 100%;
   }

   .nav img {
       height: 25px;
       /* Altezza specifica per il logo nella nav */
       margin-left: auto;
   }

   .corner-text {
       position: absolute;
       writing-mode: vertical-rl;
       font-size: 0.8rem;
       padding: 0.5rem;
       font-size: 24px;
       color: black;
       right: 0;
       z-index: 1000;
   }

   .corner-text.top-right {
       top: -1px;
       right: 56px;
       transform: rotate(0);
       writing-mode: horizontal-tb;
   }

   .corner-text.middle-top {
        top: 8px;
        right: 0;
    }

   .corner-text.middle-center {
       top: 35vh;
       right: 0;
   }

   .corner-text.minimal-left {
       writing-mode: sideways-lr;
       left: 0;
       top: 250px;
       z-index: 0;
   }

   .corner-text.minimal-right {
       top: 8px;
   }

   .corner-text.minimal-center-right {
       top: 250px;
   }

   .home .hero {
       margin: 3rem 3rem 1rem 3rem;
   }

   .hero,
   .hero-carousel {
       position: relative;
       height: 510px;
       overflow: hidden;
       border-radius: 25px;
       margin: 1rem 3rem;
       border: 1px solid black;
   }


   .hero::after {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background-color: rgba(0, 0, 0, 0.2);
       z-index: 1;
       border-radius: 25px;
   }

   .logo-hp {
       filter: invert(1);
   }

   .info-section-custom {
       text-align: center;
   }

   .info-subtitle {
       color: var(--white-smoke);
       /* Grigio chiaro */
       font-size: 24px;
       /* Book weight */
       text-align: left;
       padding-top: 3rem;
       padding-bottom: 0;
   }

   .info-main-text,
   .info-main-text-white {
       font-size: 4rem;
       line-height: 1.15;
       font-weight: 500;
       /* Bold weight */
       color: black;
       padding: 2rem 0
   }

   .info-main-text-white {
       color: #fff;
   }

   .info-sub-text {
       font-size: 24px;
   }

   .insegna-wrapper {
       height: 50px;
       width: 117px;
       border: 2px solid black;
       border-radius: 15px;
       overflow: hidden;
       display: inline-block;
       vertical-align: middle;
   }

   .inline-logo-info {
       height: 100%;
       width: 100%;
       object-fit: cover;
       transform: scale(2);
       object-position: 20px -36px;
   }

   .insegna-wrapper:hover {
       transform: scale(2.9);
       border-radius: 4px;
   }

   .insegna-wrapper {
       transition: transform 0.3s ease;
   }

   .separatore-arrow-down {
       width: 100%;
       text-align: center;
       font-size: 2rem;
   }

   /* ==== SLIDER ==== */
   .slideshow-container {
       position: relative;
       height: 350px;
       perspective: 1000px;
       margin: 0 auto 2rem 0;
       overflow: hidden;
       /* Ensure no horizontal scrollbars */
       -webkit-overflow-scrolling: touch;
       /* Smooth scrolling on iOS */
       /* Prevent any horizontal overflow */
       max-width: 100%;
       box-sizing: border-box;
   }

   .slideshow-track {
       position: absolute;
       width: 100%;
       height: 100%;
       display: flex;
       justify-content: center;
       align-items: center;
       transform-style: preserve-3d;
       transition: transform 1s ease;
       /* Remove any potential overflow */
       overflow: hidden;
       /* Touch-friendly */
       touch-action: pan-y pinch-zoom;
       user-select: none;
       -webkit-user-select: none;
       -moz-user-select: none;
       -ms-user-select: none;
       /* Prevent horizontal overflow */
       max-width: 100%;
       box-sizing: border-box;
   }

   .slide {
       position: absolute;
       width: 60%;
       /* Ridotto da 70% a 60% */
       max-width: 500px;
       /* Ridotto da 600px a 500px */
       height: 250px;
       background-size: cover;
       background-position: center;
       border-radius: 8px;
       transition: all 0.5s ease;
       display: flex;
       justify-content: flex-start;
       align-items: flex-start;
       padding: 15px;
       overflow: hidden;
       /* Ensure slides don't create scrollbars */
       box-sizing: border-box;
       /* Prevent text selection during drag */
       user-select: none;
       -webkit-user-select: none;
       -moz-user-select: none;
       -ms-user-select: none;
   }

   .slide.active {
       z-index: 10;
   }

   .slide-title {
       color: white;
       font-size: 1.2rem;
       font-weight: 500;
       text-align: left;
       z-index: 2;
       position: relative;
       margin-right: 10px;
       text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
       max-width: 60%;
   }

   /* Modificati i valori di trasformazione per ridurre la larghezza delle slide laterali */
   .slide.prev,
   .slide.next {
       filter: blur(3px);
       transform: translateX(-40%) scale(0.75) translateZ(0);
       /* Ridotto lo spostamento laterale per evitare overflow */
   }

   .slide.next {
       transform: translateX(40%) scale(0.75) translateZ(0);
   }

   .slide.prev-2,
   .slide.next-2 {
       filter: blur(5px);
       opacity: 0.5;
       transform: translateX(-80%) scale(0.6) translateZ(-100px);
       /* Ridotto lo spostamento laterale per evitare overflow */
   }

   .slide.next-2 {
       transform: translateX(80%) scale(0.6) translateZ(-100px);
   }

   .slide.hidden {
       opacity: 0;
       transform: translateZ(-300px);
       pointer-events: none;
   }

   .navigation {
       position: absolute;
       bottom: 20px;
       left: 0;
       right: 0;
       display: flex;
       justify-content: center;
       gap: 10px;
       z-index: 100;
   }

   .nav-btn {
       width: 12px;
       height: 12px;
       border-radius: 50%;
       background-color: rgba(255, 255, 255, 0.5);
       border: none;
       cursor: pointer;
       transition: background-color 0.3s ease;
   }

   .nav-btn.active {
       background-color: white;
       transform: scale(1.2);
   }

   .section-piccoloamerica-general {
       background-color: #e7b519;
       /* Sfondo giallo come da tua ultima modifica */
       color: #000;
       /* Testo bianco */
       padding: 1.5rem 0;
       /* Padding verticale per l'altezza della barra */
       height: auto;
       /* Altezza determinata dal contenuto e padding */
       border-radius: 30px 30px 0 0;
       border: 1px solid black;
   }

   .contenitore-text-piccoloamerica {
       display: flex;
       justify-content: space-between;
       /* Mantiene la distribuzione tra il gruppo di sinistra e "America" a destra */
       align-items: center;
       color: #000;
       /* Padding orizzontale interno */
   }

   .brand-group-start {
       /* Nuovo contenitore per Fondazione e Piccolo */
       display: flex;
       align-items: center;
       gap: 10rem;
       /* Spaziatura tra Fondazione e Piccolo */
   }

   .piccoloamerica-text {
       font-size: 28px;
       /* Dimensione font */
       font-weight: 500;
       /* Peso del font (Medium) */
   }

   .section-piccoloamerica-general .separatore-arrow-down.white {
       padding-top: 3rem;
   }

   img.inline-foto-info {
       /* Foto Vale e Fede */
       width: 100%;
       object-fit: cover;
       transform: scale(1.4);
       object-position: 11px;

   }

   img.inline-piazza-info {
       /* Foto Piazza */
       width: 100%;
       object-fit: cover;
       transform: scale(3.5);
       object-position: -23px -5px;
   }

   .gallery-flex {
       display: flex;
       gap: 0;
       /* spazio tra le colonne */
       margin: 0 0 0 0;
       padding: 0;
       justify-content: center;
   }

   .gallery-col {
       flex: 1 1 0;
       min-width: 0;
       border-radius: 24px;
       overflow: hidden;
       background: #000;
       border: 1px solid #000;
       height: 678px;
       transition: flex-basis 0.4s cubic-bezier(.4, 2, .6, 1), box-shadow 0.3s;
       position: relative;
   }

   .gallery-col img {
       width: 100%;
       height: 100%;
       object-fit: cover;
       display: block;
       transition: transform 0.4s cubic-bezier(.4, 2, .6, 1);
   }

   .gallery-col:hover {
       flex-basis: 400px;
       z-index: 2;
       box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.18);
       border-color: #000;
   }

   .gallery-col:hover img {
       transform: scale(1.05);
   }

   /* Bordo stondato solo agli estremi */
   .gallery-col:first-child {
       border-top-left-radius: 24px;
       border-bottom-left-radius: 24px;
   }

   .gallery-col:last-child {
       border-top-right-radius: 24px;
       border-bottom-right-radius: 24px;
   }

   .footer {
       display: flex;
       justify-content: space-between;
       padding: 3rem;
       border-radius: 20px 20px 0 0;
   }

   p.slogan {
       color: #fff;
       margin-top: -9px !important;
       margin-bottom: 31px !important;
   }

   .footer--light {
       background-color: transparent;
       color: #000;
       margin-top: 20px;
       border-top: 1px solid #000;
       border-left: 1px solid #000;
       border-right: 1px solid #000;
       border-bottom: 0;
   }

   .footer--dark {
       margin-top: 3rem;
       color: #000;
       border-top: 1px solid black;
       border-left: 1px solid black;
       border-right: 1px solid black;
       border-bottom: 0;
   }

   .footer h2,
   .footer h3,
   .footer p,
   .footer strong {
       margin: 0.5rem 0;
   }

   .footer-left,
   .footer-right {
       width: 45%;
       display: flex;
       flex-direction: column;
       justify-content: end;
   }

   img.logo-hp-footer {
       width: 135px;
       filter: invert(1);

   }

   .section-piccoloamerica-general.white {
       background: white;
       margin-top: -45px;
       border-bottom: none;
       border-left: none;
       border-right: none;
       margin-bottom: 20%;
   }

   .nav-minimal-interno {
       display: flex;
       flex-wrap: wrap;
       align-items: center;
       gap: 3rem;
       width: 100%
   }

   .nav-minimal-interno a:last-child {
       margin-left: auto;
       display: flex;
       align-items: center;
   }

   .nav-minimal-interno img.logo-hp {
       margin-left: auto;
   }

   .sitodedicato {
       margin: 40px;
   }

   .sitodedicato a {
       color: #fff;
       font-size: 24px;
   }

   .sezione-due-colonne {
       display: flex;
       gap: 40px;
       font-size: 24px;
   }

   .sezione-due-colonne.white {
       text-align: left;
       margin-top: 0;
   }

   .colonna p {
       margin-top: 2rem;
       margin-bottom: 2rem;
       word-break: break-word;
   }

   .colonna {
       flex: 1;
       border-radius: 20px;
   }

   @media (max-width: 768px) {
       .colonna {
           padding: 2rem 0;
       }

       .hero {
           height: 400px;
       }

       .nav-minimal-interno {
           gap: 9px;
           font-size: 11pt;
       }

       .hero {
           margin-right: 40px;
           margin-left: 40px;
       }

       .hero img {
           object-position: 60%;
       }

       .inline-logo-info {
           object-position: unset;
       }

       .info-main-text,
       .info-main-text-white {
           font-size: 1.6rem;
           z-index: 1000;
       }

       .hero-text {
           font-size: 2.5rem;
       }

       .brand-group-start {
           gap: 3rem;
       }

       .footer-left,
       .footer-right {
           width: 100%;
       }

       .piccoloamerica-text {
           font-size: 20px;
       }

       .gallery-col {
           height: 400px;
       }

       .footer {
           flex-direction: column;
       }

       .nav {
           flex-wrap: wrap;
           gap: 1rem;
           flex-direction: row;
           justify-content: space-between;
           font-size: 1.3rem;
       }

       .slide {
           width: 80%;
           height: 220px;
       }

       .slide.prev,
       .slide.next {
           transform: translateX(-40%) scale(0.8) translateZ(0);
       }

       .slide.next {
           transform: translateX(40%) scale(0.8) translateZ(0);
       }

       .slide-title {
           font-size: 1.5rem;
       }

       .corner-text {
           right: 0;
       }

       .colonna p {
           margin-top: 10px;
           margin-bottom: 10px;
       }

       .sezione-due-colonne.white {
           margin: 0;
       }

       .sezione-due-colonne {
           flex-direction: column;
           gap: 24px;
           margin: 60px 40px;
           text-align: center;
       }

   }

   @media (max-width: 480px) {

       .slide {
           width: 85%;
           height: 180px;
       }

       .slide-title {
           font-size: 1.2rem;
       }

   }

   .hero video#my-video {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       object-fit: cover;
       z-index: 0;
   }