:root{
      --accent:#d79a2b;
      --accent-dark:#b77e17;
      --text:#1f2937;
      --muted:#6b7280;
      --line:#e5e7eb;
    }

    body{
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans";
      color: var(--text);
      background:#fff;
    }

    /* Navbar pulita e moderna */
    .topbar{
      border-bottom:1px solid var(--line);
      background:#fff;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:.6rem;
      text-decoration:none;
      color:var(--text);
      font-weight:700;
      letter-spacing:.2px;
    }
    .brand img{
      width:36px;
      height:36px;
      object-fit:cover;
      border-radius:10px;
    }
    .nav-link{
      font-size:.82rem;
      color:#374151 !important;
      text-transform:uppercase;
      letter-spacing:.08em;
      padding:.9rem .75rem !important;
      border-radius:10px;
    }
    .nav-link:hover{
      background:#f8fafc;
      color:#000 !important;
    }

    /* Carosello sotto navbar */
    .carousel-item img{
      width:100%;
      height: 520px;      /* altezza più comoda */
      object-fit: contain; /* NON taglia le immagini */
      background:#0b0f14;
    }
    .carousel-caption{
      background: rgba(0,0,0,.45);
      border-radius: 14px;
      padding: 14px 16px;
      max-width: 680px;
      margin: 0 auto;
    }

    /* Pagina “centrata e bianca” stile screenshot */
    .page{
      max-width: 860px;
      margin: 0 auto;
      padding: 0 16px;
    }
    .section{
      padding: 44px 0;
      border-bottom:1px solid #f3f4f6;
    }
    .section:last-child{ border-bottom:none; }

    .kicker{
      font-size:.78rem;
      text-transform: uppercase;
      letter-spacing:.12em;
      color: var(--muted);
      margin-bottom:.35rem;
      text-align:center;
    }
    h1{
      font-size: 2.1rem;
      font-weight: 600;
      margin: 0 0 .3rem 0;
      text-align:center;
    }
    .subtitle{
      text-align:center;
      color:var(--muted);
      margin-bottom: 18px;
      font-size: .95rem;
    }

    .btn-accent{
      background: var(--accent);
      border-color: var(--accent);
      color:#fff;
      border-radius: 10px;
      font-weight:700;
      padding:.55rem 1rem;
    }
    .btn-accent:hover{
      background: var(--accent-dark);
      border-color: var(--accent-dark);
      color:#fff;
    }
    .soft-card{
      border:1px solid var(--line);
      border-radius:14px;
      padding:18px;
      background:#fff;
    }

    footer{
      padding: 28px 0 40px;
      color: var(--muted);
      font-size:.9rem;
      text-align:center;
    }

    /* Relatori (griglia volti) */
    .speaker{
      text-align:center;
      padding: 10px 8px;
    }
    .speaker img{
      width:64px;
      height:64px;
      border-radius:50%;
      object-fit:cover;
      border: 1px solid var(--line);
      margin-bottom:8px;
    }
    .speaker .name{
      font-size:.82rem;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin:0;
    }
    .speaker .role{
      font-size:.8rem;
      color:var(--muted);
      margin:2px 0 0;
    }

    /* Attività: 3 colonne con mini-card */
    .activity-card{
      border:1px solid var(--line);
      border-radius:14px;
      overflow:hidden;
      background:#fff;
      height:100%;
    }
    .activity-card .thumb{
      height: 140px;
      background:#f8fafc;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }
    .activity-card .thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .activity-card .body{
      padding: 14px;
    }
    .activity-card h3{
      font-size: 1rem;
      margin:0 0 .35rem 0;
      font-weight:700;
    }
    .activity-card p{
      color:var(--muted);
      font-size:.9rem;
      margin:0 0 .9rem 0;
    }
    /* Attività: 3 colonne con mini-card */
.activity-card{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  height:400px;  /* Aumentato l'altezza del box per evitare che l'immagine venga tagliata */
}

.activity-card .thumb{
  height: 240px;  /* Aumentato l'altezza della "thumb" (la parte superiore con l'immagine) */
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.activity-card .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;  /* Utilizza "contain" per evitare il taglio */
}

.activity-card .body{
  padding: 14px;
}
