:root {
      --primary-color: #7D8C71;       /* Sage/Olive di lusso desaturato */
      --accent-color: #C5A880;        /* Oro antico per accenti e hover */
      --text-dark: #2C302E;           /* Antracite morbido al posto del nero puro */
      --background-light: #FAF9F6;    /* Bianco avorio caldissimo */
    }
    body {
      font-family: 'Montserrat', sans-serif;
      background-color: var(--background-light);
      color: var(--text-dark);
      letter-spacing: 0.02em;
    }
    h1, h2, h3, .font-display {
      font-family: 'Cormorant Garamond', serif;
      color: var(--primary-color);
      letter-spacing: 0.01em;
    }
    .text-primary { color: var(--primary-color); }
    .bg-primary { background-color: var(--primary-color); }
    .border-primary { border-color: var(--primary-color); }
    .text-accent { color: var(--accent-color); }

    .text-white { color: #FFFFFF; }
    
    /* Hero */
    .hero-slide { position: relative; height: 90vh; }
    @media (min-width: 768px){ .hero-slide { height: 100vh; } }
    .hero-slide::before { content: ""; position: absolute; inset: 0; background: rgba(20, 24, 22, 0.45); z-index: 1; }
    .hero-slide .hero-inner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 2rem; z-index: 2; }
    .hero-animated { opacity: 0; transform: translateY(20px); transition: opacity .8s cubic-bezier(0.25, 1, 0.5, 1) .2s, transform .8s cubic-bezier(0.25, 1, 0.5, 1) .2s; }
    .splide__slide.is-active .hero-animated { opacity: 1; transform: translateY(0); }
    .hero-img { width: 100%; height: 100%; object-fit: cover; display: block; }

    /* Splide controls */
    .splide__arrow {
      background-color: rgba(255, 255, 255, 0.95) !important;
      color: var(--primary-color) !important;
      width: 52px; height: 52px; border-radius: 9999px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.06);
      transition: all .3s ease;
    }
    .splide__arrow:hover { background-color: #ffffff !important; color: var(--accent-color) !important; transform: scale(1.05); }
    .splide__arrow svg { fill: currentColor !important; transition: fill .3s ease; }
    .splide__pagination__page { background: rgba(255, 255, 255, 0.4) !important; width: 10px !important; height: 10px !important; transition: all .3s ease !important; }
    .splide__pagination__page.is-active { background: var(--accent-color) !important; transform: scale(1.3); width: 14px !important; border-radius: 5px !important; }

    /* Event slider */
    .events-splide .splide__slide { opacity: .4; transform: scale(.92); transition: opacity .5s ease, transform .5s ease; }
    .events-splide .splide__slide.is-active { opacity: 1; transform: scale(1); }
    .event-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(20, 24, 22, 0.85) 0%, rgba(20, 24, 22, 0.2) 60%, transparent 100%); transition: opacity .4s ease; }
    .event-card { transition: all .4s cubic-bezier(0.16, 1, 0.3, 1); }
    .event-card:hover { transform: translateY(-4px); }