﻿    * { margin: 0; padding: 0; box-sizing: border-box; }

    html, body {
      width: 100%;
      height: 100%;
      overflow: hidden;
      font-family: 'Raleway', sans-serif;
      background: #f6f4f0;
    }

    /* ── SLIDE CONTAINER ── */
    .slides {
      display: flex;
      width: 200vw;
      height: 100vh;
      transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
    }

    .slides.go-right {
      transform: translateX(-100vw);
    }

    /* ── PAGINA 1 ── */
    .page {
      width: 100vw;
      height: 100vh;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      background: #f6f4f0;
    }

    .hero {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 8vw;
      gap: 4vw;
    }

    .logo-side {
      flex: 0 0 auto;
      width: 40%;
      opacity: 0;
      animation: fadeIn 2s ease 0.3s forwards;
    }

    .logo-side img {
      width: 100%;
      height: auto;
      max-height: 85vh;
      object-fit: contain;
    }

    .right-side {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 40px;
    }

    .typewriter-text {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: clamp(16px, 1.6vw, 24px);
      color: #111;
      line-height: 1.5;
      letter-spacing: 0.03em;
      border-right: 2px solid #111;
      white-space: nowrap;
      overflow: hidden;
      width: 0;
      animation:
        typing 2.2s steps(57, end) 2.4s forwards,
        blink 0.75s step-end 2.4s 6,
        removeCursor 0.1s ease 6.8s forwards;
    }

    .cta-btn {
      font-family: 'Raleway', sans-serif;
      font-weight: 400;
      font-size: clamp(13px, 1.1vw, 16px);
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #111;
      background: transparent;
      border: 0.8px solid #111;
      padding: 14px 32px;
      cursor: pointer;
      opacity: 0;
      animation:
        fadeIn 0.8s ease 5s forwards,
        pulse 2s ease-in-out 6s infinite;
      transition: background 0.3s, color 0.3s;
    }

    .cta-btn:hover {
      background: #111;
      color: #f6f4f0;
      animation: none;
      opacity: 1;
    }

    /* ── PAGINA 2 HUB ── */
    .page-2 {
      background: #f6f4f0;
      flex-direction: row;
      justify-content: flex-start;
      align-items: center;
      padding: 0;
      gap: 0;
      position: relative;
      overflow: hidden;
    }


    /* ── PANNELLI LATERALI ── *//* ── PANNELLI LATERALI ── */
    .panel {
      position: fixed;
      background: #f6f4f0;
      z-index: 100;
      transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 60px 8vw;
      overflow-y: auto;
    }

    .panel-from-left  { top:0; left:0; width:100vw; height:100vh; transform: translateX(-100vw); }
    .panel-from-right { top:0; left:0; width:100vw; height:100vh; transform: translateX(100vw); }
    .panel-from-top   { top:0; left:0; width:100vw; height:100vh; transform: translateY(-100vh); }
    .panel-from-bottom{ top:0; left:0; width:100vw; height:100vh; transform: translateY(100vh); }

    .panel.open { transform: translate(0, 0); }

    .panel-inner h2 {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: clamp(28px, 3.5vw, 52px);
      color: #111;
      letter-spacing: 0.04em;
      margin-bottom: 24px;
    }

    .panel-inner p {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: clamp(14px, 1.2vw, 18px);
      color: #444;
      line-height: 1.8;
      max-width: 640px;
    }

    .panel-accent {
      width: 40px;
      height: 3px;
      background: #3db84b;
      margin-bottom: 32px;
    }

    .panel-close {
      font-family: 'Raleway', sans-serif;
      font-weight: 400;
      font-size: 12px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #888;
      background: transparent;
      border: none;
      cursor: pointer;
      margin-top: 48px;
      padding: 0;
    }
    .panel-close:hover { color: #111; }

    /* ── ANIMATIONS ── */
    @keyframes fadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }

    @keyframes typing {
      from { width: 0; }
      to   { width: 30em; }
    }

    @keyframes blink {
      0%, 100% { border-color: #111; }
      50%       { border-color: transparent; }
    }

    @keyframes removeCursor {
      to { border-color: transparent; }
    }

    @keyframes pulse {
      0%, 100% { opacity: 1; }
      50%       { opacity: 0.35; }
    }


    .page-2 {
      position: relative;
    }

    

    .hub-logo,
    .hub-welcome,
    .hub-grid,
    .back-btn {
      position: relative;
      z-index: 1;
    }

    /* ── RESPONSIVE MOBILE ── */
    @media (max-width: 768px) {

      /* HOME */
      .hero {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 40px 8vw;
        gap: 28px;
        text-align: left;
      }

      .logo-side {
        width: 96%;
        max-width: 420px;
      }

      .logo-side img {
        max-height: 28vh;
      }

      .right-side {
        width: 100%;
        gap: 24px;
      }

      .typewriter-text {
        font-size: 15px;
        white-space: normal;
        border-right: none;
        width: auto !important;
        animation: fadeIn 1.5s ease 2.4s both;
      }

      .cta-btn {
        font-size: 12px;
        padding: 12px 24px;
        opacity: 1;
        animation: none;
      }

      /* HUB */
      .page-2 {
        flex-direction: column;
        padding: 0;
        justify-content: flex-start;
        overflow-y: auto;
        height: 100vh;
      }

      .hub-left {
        flex: none;
        width: 100%;
        padding: 40px 6vw 24px;
        align-items: flex-start;
      }

      .hub-welcome {
        font-size: 14px;
        max-width: 100%;
        margin-bottom: 20px;
      }

      .hub-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        max-width: 100%;
      }

      .hub-card {
        min-height: 90px;
        padding: 18px 14px;
      }

      .hub-card-title {
        font-size: 12px;
      }

      /* Hub illustration — in flow, sotto i riquadri */
      .hub-right {
        position: relative;
        width: 100%;
        height: 56vw;
        pointer-events: none;
      }

      .hub-illustration {
        height: 100%;
        width: auto;
        max-width: 340px;
        display: block;
        margin: 0 auto;
      }

      /* PANELS — azzera padding base, ci pensano i container interni */
      .panel {
        padding: 0;
      }
      .panel-close-top {
        display: block;
        align-self: flex-start;
        margin-top: 0;
      }
      .panel-close,
      .panel-chi-close {
        align-self: flex-start;
      }

      /* Testo giustificato su tutti i pannelli (escluse card cura) */
      .spazio-para,
      .panel-chi-intro,
      .persona-bio,
      .cura-frase {
        text-align: justify;
      }

      .panel-inner h2 {
        font-size: 28px;
      }

      .panel-inner p {
        font-size: 15px;
      }
    }

    @media (max-width: 400px) {
      .hub-grid {
        grid-template-columns: 1fr;
      }
    }
  
    /* Hub layout — base (mobile + desktop) */
    .hub-left {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .hub-right {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .hub-illustration {
      display: block;
    }
    .hub-welcome {
      line-height: 1.6;
      color: #222;
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 0.8s ease 0.5s, transform 0.8s ease 0.5s;
    }
    .slides.go-right .hub-welcome {
      opacity: 1;
      transform: translateY(0);
    }
    .hub-grid {
      display: grid;
      gap: 10px;
      width: 100%;
    }
    .hub-card {
      border: 0.8px solid #111;
      cursor: pointer;
      background: transparent;
      display: flex;
      align-items: center;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s ease, transform 0.6s ease, background 0.2s, color 0.2s;
    }
    .hub-card:nth-child(1) { transition-delay: 0.6s,  0.6s,  0s; }
    .hub-card:nth-child(2) { transition-delay: 0.75s, 0.75s, 0s; }
    .hub-card:nth-child(3) { transition-delay: 0.9s,  0.9s,  0s; }
    .hub-card:nth-child(4) { transition-delay: 1.05s, 1.05s, 0s; }
    .hub-card:nth-child(5) { transition-delay: 1.2s,  1.2s,  0s; }
    .slides.go-right .hub-card {
      opacity: 1;
      transform: translateY(0);
    }
    .hub-card:hover { background: #111; }
    .hub-card:hover .hub-card-title { color: #f6f4f0; }
    .hub-card-title {
      font-size: 0.65rem;
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #111;
    }
    .back-btn {
      margin-top: 24px;
      background: none;
      border: none;
      cursor: pointer;
      font-size: 0.8rem;
      font-family: 'Raleway', sans-serif;
      color: #555;
      letter-spacing: 0.05em;
      padding: 0;
      opacity: 0;
      transition: opacity 0.8s ease 1.3s, color 0.3s;
    }
    .slides.go-right .back-btn { opacity: 1; }
    .back-btn:hover { color: #111; }

    /* Hub layout — solo desktop */
    @media (min-width: 769px) {
      .hub-left {
        flex: 1;
        justify-content: center;
        padding: 0 6vw;
        height: 100%;
        position: relative;
        z-index: 1;
      }
      .hub-right {
        position: absolute;
        right: 0;
        top: 0;
        width: 38%;
        height: 100%;
        pointer-events: none;
        z-index: 0;
      }
      .hub-illustration {
        width: 100%;
        max-width: 480px;
      }
      .hub-welcome {
        font-size: 0.95rem;
        max-width: 60vw;
        margin-bottom: 28px;
      }
      .hub-grid {
        grid-template-columns: repeat(5, 1fr);
        max-width: 60vw;
      }
      .hub-card {
        padding: 16px 10px;
      }
    }

    
    /* Sezione Ci presentiamo */
    .panel-chi-inner {
      width: 100%;
      height: 100%;
      overflow-y: auto;
      padding: 60px 8vw;
      display: flex;
      flex-direction: column;
      gap: 80px;
      box-sizing: border-box;
    }
    .panel-chi-header {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 0;
    }
    .panel-chi-header .panel-accent {
      width: 40px;
      height: 3px;
      background: #3db84b;
      flex-shrink: 0;
    }
    .panel-chi-header h2 {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 1.4rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #111;
      margin: 0;
    }







    .panel-chi-close {
      margin-top: 20px;
      background: none;
      border: none;
      cursor: pointer;
      font-size: 0.8rem;
      font-family: 'Raleway', sans-serif;
      color: #555;
      letter-spacing: 0.05em;
      padding: 0;
    }
    .panel-chi-close:hover { color: #111; }


    
    /* Ci presentiamo — layout affiancato senza scroll */
    .panel-chi-inner {
      width: 100%;
      height: 100%;
      padding: 5vh 6vw 4vh;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 2vh;
      box-sizing: border-box;
      overflow-y: auto;
    }
    .panel-chi-intro {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.9rem;
      line-height: 1.7;
      color: #444;
      margin: 0 0 3vh 0;
    }
    .persone-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4vw;
    }
    .persona-card {
      display: flex;
      flex-direction: column;
      gap: 16px;
      min-height: 0;
    }
    .persona-img {
      width: 100%;
      max-height: 34vh;
      object-fit: contain;
      object-position: bottom;
      display: block;
    }
    .persona-bio {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.88rem;
      line-height: 1.7;
      color: #222;
      margin: 0;
    }
    .persona-bio .nome {
      font-weight: 700;
    }
    .persona-cv {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.78rem;
      color: #3db84b;
      margin: 0;
      cursor: default;
    }
    .panel-chi-header {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 1vh;
    }
    .panel-chi-header .panel-accent {
      width: 36px;
      height: 3px;
      background: #3db84b;
      flex-shrink: 0;
    }
    .panel-chi-header h2 {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 1.2rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #111;
      margin: 0;
    }
    .panel-chi-close {
      margin-top: auto;
      padding-top: 1vh;
      background: none;
      border: none;
      cursor: pointer;
      font-size: 0.78rem;
      font-family: 'Raleway', sans-serif;
      color: #888;
      letter-spacing: 0.05em;
      align-self: flex-start;
      flex-shrink: 0;
    }
    .panel-chi-close:hover { color: #111; }

    @media (max-width: 768px) {
      .panel-chi-inner {
        overflow-y: auto;
        justify-content: flex-start;
        gap: 20px;
        padding: 40px 6vw 100px;
        height: 100vh;
      }
      .persone-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        flex: none;
        min-height: auto;
      }
      .persona-card {
        min-height: auto;
      }
      .persona-img {
        width: 100%;
        max-height: 52vw;
        object-fit: contain;
      }
      .panel-chi-intro {
        font-size: 0.85rem;
        margin-bottom: 0;
      }
    }

    
    /* Scopri Spaz-IO */
    .spazio-close-mobile { display: none; }
    .panel-spazio-outer {
      width: 100%;
      height: 100%;
      position: relative;
    }
    .spazio-slide {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      padding: 5vh 6vw;
      box-sizing: border-box;
      gap: 5vw;
      position: relative;
    }
    .spazio-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 2.5vh;
      justify-content: center;
    }
    .spazio-img-wrap {
      flex: 0 0 42%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .spazio-img {
      width: 100%;
      max-height: 70vh;
      object-fit: contain;
      display: block;
    }
    .spazio-para {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.9rem;
      line-height: 1.8;
      color: #222;
      margin: 0;
      max-width: 480px;
    }
    .spazio-down-btn {
      background: none;
      border: none;
      font-size: 2rem;
      color: #3db84b;
      cursor: pointer;
      animation: bounce 1.8s infinite;
      line-height: 1;
      padding: 0;
      font-weight: 700;
      align-self: flex-start;
      margin-top: 0.5vh;
    }
    .spazio-up-btn {
      position: absolute;
      bottom: 3vh;
      left: 6vw;
      background: none;
      border: none;
      font-size: 0.78rem;
      font-family: 'Raleway', sans-serif;
      color: #888;
      letter-spacing: 0.05em;
      cursor: pointer;
      padding: 0;
    }
    .spazio-up-btn:hover { color: #111; }
    @keyframes bounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(6px); }
    }
    .spazio-duo {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6vw;
      width: 100%;
      height: 100%;
      align-items: start;
      box-sizing: border-box;
    }
    .spazio-duo-card {
      display: flex;
      flex-direction: column;
      gap: 2.5vh;
    }
    @media (max-width: 768px) {
      .spazio-close-desktop { display: none; }
      .spazio-close-mobile {
        display: block;
        align-self: flex-start;
        margin-top: 8px;
      }
      .panel-spazio-outer {
        height: 100vh;
        overflow-y: auto;
      }
      .spazio-slide {
        flex-direction: column;
        padding: 40px 6vw 100px;
        height: auto;
        min-height: 100vh;
        align-items: flex-start;
      }
      .spazio-img-wrap {
        flex: none;
        width: 100%;
      }
      .spazio-img {
        max-height: 50vw;
      }
      .spazio-duo {
        grid-template-columns: 1fr;
        overflow-y: auto;
      }
    }

    
    /* Spaz-IO di Conoscenza */
    .conoscenza-close-mobile { display: none; }
    .panel-conoscenza-inner {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: row;
      align-items: center;
      padding: 5vh 5vw;
      gap: 4vw;
      box-sizing: border-box;
    }
    .conoscenza-left {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 2.5vh;
      justify-content: center;
    }
    .conoscenza-left .spazio-para {
      margin-top: 1.5rem;
    }
    .conoscenza-center {
      flex: 0 0 30%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .conoscenza-img {
      width: 100%;
      max-height: 65vh;
      object-fit: contain;
      display: block;
    }
    .conoscenza-right {
      flex: 0 0 22%;
      display: flex;
      flex-direction: column;
      gap: 14px;
      justify-content: center;
    }
    .conoscenza-box {
      border: 0.8px solid #111;
      padding: 18px 16px;
      cursor: pointer;
      transition: background 0.2s;
    }
    .conoscenza-box:hover {
      background: rgba(61,184,75,0.08);
    }
    .conoscenza-box-text {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.78rem;
      line-height: 1.5;
      letter-spacing: 0.03em;
      color: #111;
    }
    @media (max-width: 768px) {
      .panel-conoscenza-inner {
        flex-direction: column;
        overflow-y: auto;
        align-items: flex-start;
        padding: 40px 6vw 100px;
        gap: 28px;
        height: 100vh;
      }
      .conoscenza-left {
        order: 1;
        width: 100%;
      }
      .conoscenza-left .spazio-para {
        margin-top: 0;
      }
      .conoscenza-close-desktop {
        display: none;
      }
      .conoscenza-right {
        order: 2;
        flex: none;
        width: 100%;
      }
      .conoscenza-center {
        order: 3;
        flex: none;
        width: 100%;
      }
      .conoscenza-img {
        max-height: 60vw;
        width: 100%;
      }
      .conoscenza-close-mobile {
        display: block;
        order: 4;
      }
    }

    
    /* Chiudi in cima — solo mobile */
    @media (min-width: 769px) {
      .panel-close-top { display: none; }
    }

    /* Spaz-IO di Cura */
    .panel-cura-inner {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 5vh 6vw 4vh;
      box-sizing: border-box;
      gap: 3vh;
    }
    .cura-frase {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 1rem;
      line-height: 1.8;
      color: #222;
      margin: 0;
      max-width: 100%;
    }
    .cura-servizi {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 2vw;
      width: 100%;
      align-items: start;
    }
    @media (max-width: 768px) {
      .panel-cura-inner {
        overflow-y: auto;
        padding: 40px 6vw 100px;
        height: 100vh;
        gap: 20px;
      }
      .cura-frase {
        font-size: 0.85rem;
      }
      .cura-servizi {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      .cura-card-img {
        height: 44vw;
        object-fit: contain;
      }
      .cura-card-title {
        font-size: 0.82rem;
      }
    }

    
    .cura-card {
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: flex-start;
    }
    .cura-card-img {
      width: 100%;
      height: 22vh;
      object-fit: contain;
      object-position: bottom;
      display: block;
    }
    .cura-card-title {
      font-family: 'Raleway', sans-serif;
      font-weight: 500;
      font-size: 0.82rem;
      letter-spacing: 0.04em;
      color: #111;
      margin: 0;
      text-transform: uppercase;
    }
    .cura-card-text {
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.82rem;
      line-height: 1.7;
      color: #333;
      margin: 0;
    }

        .cura-card-img-placeholder {
      width: 100%;
      height: 22vh;
      background: #ece9e3;
      display: block;
    }

    
    @keyframes cardFadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    .cura-card {
      opacity: 0;
    }
    #panel-cura.open .cura-card:nth-child(1) { animation: cardFadeIn 1.2s ease forwards 0.2s; }
    #panel-cura.open .cura-card:nth-child(2) { animation: cardFadeIn 1.2s ease forwards 1.2s; }
    #panel-cura.open .cura-card:nth-child(3) { animation: cardFadeIn 1.2s ease forwards 2.2s; }
    #panel-cura.open .cura-card:nth-child(4) { animation: cardFadeIn 1.2s ease forwards 3.2s; }
    #panel-cura.open .cura-card:nth-child(5) { animation: cardFadeIn 1.2s ease forwards 4.2s; }

    
    /* Animazioni immagini pannelli — scattano alla prima apertura */
    @keyframes imgFadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }

    /* Scopri Spaz-IO */
    #panel-spazio .spazio-img { opacity: 0; }
    #panel-spazio.open .spazio-img { animation: imgFadeIn 2s ease forwards 0.5s; }

    /* Ci presentiamo */
    #panel-chi .persona-img { opacity: 0; }
    #panel-chi.open .persona-img:nth-of-type(1) { animation: imgFadeIn 2s ease forwards 0.5s; }
    #panel-chi.open .persona-img:nth-of-type(2) { animation: imgFadeIn 2s ease forwards 1.5s; }

    /* Spaz-IO di Conoscenza */
    #panel-conoscenza .conoscenza-img { opacity: 0; }
    #panel-conoscenza.open .conoscenza-img { animation: imgFadeIn 2s ease forwards 0.5s; }

    /* Vieni a trovarci */
    #panel-contatti .contatti-img { opacity: 0; }
    #panel-contatti.open .contatti-img:nth-child(1) { animation: imgFadeIn 2s ease forwards 0.5s; }
    #panel-contatti.open .contatti-img:nth-child(2) { animation: imgFadeIn 2s ease forwards 1.5s; }

    /* Spaz-IO di Cura — frase intro */
    #panel-cura .cura-frase { opacity: 0; }
    #panel-cura.open .cura-frase { animation: imgFadeIn 2s ease forwards 0.5s; }

    
    /* Quando il pannello è già stato visto, niente animazioni */
    #panel-spazio.no-anim .spazio-img,
    #panel-chi.no-anim .persona-img,
    #panel-conoscenza.no-anim .conoscenza-img,
    #panel-cura.no-anim .cura-frase,
    #panel-cura.no-anim .cura-card,
    #panel-contatti.no-anim .contatti-img {
      opacity: 1 !important;
      animation: none !important;
      transform: none !important;
    }

    
    .brush-deco {
      position: absolute;
      bottom: 20px;
      right: 20px;
      width: 18vw;
      max-width: 220px;
      opacity: 1;
      pointer-events: none;
      z-index: 0;
    }

    
    .hub-logo {
      display: none;
    }

    /* Footer fisso */
    .site-footer {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 6px 8vw;
      display: flex;
      align-items: center;
      gap: 16px;
      font-family: 'Raleway', sans-serif;
      font-weight: 300;
      font-size: 0.8rem;
      letter-spacing: 0.06em;
      color: #f6f4f0;
      background: #111;
      z-index: 200;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.6s ease;
      box-sizing: border-box;
    }
    .slides.go-right ~ .site-footer {
      opacity: 1;
      pointer-events: auto;
    }
    .footer-sep {
      color: rgba(246,244,240,0.3);
    }
    .site-footer a {
      color: inherit;
      text-decoration: none;
    }
    .site-footer a:hover {
      color: #fff;
    }
    @media (max-width: 768px) {
      .site-footer {
        display: none;
      }
    }

    /* Vieni a trovarci */
    .contatti-close-mobile { display: none; }
    .panel-contatti-inner {
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: row;
      align-items: center;
      padding: 5vh 5vw;
      gap: 4vw;
      box-sizing: border-box;
    }
    .contatti-left {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 1.8vh;
    }
    .contatti-left .spazio-para strong {
      font-weight: 700;
      color: #111;
    }
    .contatti-imgs {
      flex: 0 0 44%;
      display: flex;
      flex-direction: row;
      gap: 2vw;
      align-items: center;
    }
    .contatti-img {
      flex: 1;
      width: 0;
      max-height: 54vh;
      object-fit: cover;
      display: block;
    }
    @media (max-width: 768px) {
      .panel-contatti-inner {
        flex-direction: column;
        overflow-y: auto;
        align-items: flex-start;
        padding: 40px 6vw 100px;
        gap: 24px;
        height: 100vh;
      }
      .contatti-close-desktop { display: none; }
      .contatti-close-mobile { display: block; }
      .contatti-imgs {
        flex: none;
        width: 100%;
        gap: 12px;
      }
      .contatti-img {
        max-height: 36vw;
      }
    }
