
:root{--tile:140px;
  --bg:#f7f9fc;
  --panel:#ffffff;
  --ink:#0b1220;
  --muted:#425476;
  --accent:#0ea5e9;
  --accent2:#22c55e;
  --ring:#e6ecf5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:#0ea5e9;text-decoration:none}
.container{max-width:1240px;margin:0 auto;padding:18px}
.nav{display:flex;align-items:center;justify-content:center}
.brand-centered{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}
.brand-centered img{width:230px;height:230px;border-radius:50%;background:var(--bg)!important;object-fit:contain;padding:12px;}
.lead{font-size:18px;color:var(--muted);text-align:center;max-width:900px;margin:0 auto}
.hero-cta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 8px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:14px;border:1px solid var(--ring);background:var(--panel);color:var(--ink);font-weight:700}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px auto;max-width:900px}
.kpi{background:var(--panel);border:1px solid var(--ring);border-radius:14px;padding:14px;text-align:center;/* shadow removed */border:1px solid var(--ring);border-radius:18px;padding:18px;/* shadow removed */margin:0 0 8px;text-align:center}
.banner{border-radius:14px;overflow:hidden;border:1px solid var(--ring);box-shadow:0 10px 24px rgba(0,0,0,.07);max-width:300px;width:100%;margin:10px auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--tile),1fr));gap:12px;justify-content:center}
.tile{position:relative;overflow:hidden;border-radius:14px;background:#f1f5fb;border:1px solid var(--ring);width:var(--tile);aspect-ratio:1/1;justify-self:center}
.tile img{width:100%;height:100%;object-fit:cover;display:block}
.tile .cap{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;padding:6px 10px;border-radius:10px;font-size:12px}
.note{text-align:center;color:var(--muted);font-size:13px}
.footer{padding:38px 0 60px;color:#6b7ea3;font-size:14px;text-align:center}
.badge{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:#eef2f9;border:1px dashed var(--ring)}
.social{display:flex;gap:8px;justify-content:center;margin-top:8px}
.icon{width:22px;height:22px;display:inline-block}
@media (max-width:980px){
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--tile),1fr));gap:12px;justify-content:center}
  .kpis{grid-template-columns:1fr 1fr}
}

@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:520px){.banner{border-radius:14px;overflow:hidden;border:1px solid var(--ring);box-shadow:0 10px 24px rgba(0,0,0,.07);max-width:300px;width:100%;margin:10px auto}}

.spin-fast{animation:spin 2.8s linear infinite}

@media (max-width:520px){.brand-centered img{width:200px;height:200px}.banner{border-radius:14px;overflow:hidden;border:1px solid var(--ring);box-shadow:0 10px 24px rgba(0,0,0,.07);max-width:300px;width:100%;margin:10px auto}}

@media (max-width:520px){.banner{border-radius:14px;overflow:hidden;border:1px solid var(--ring);box-shadow:0 10px 24px rgba(0,0,0,.07);max-width:300px;width:100%;margin:10px auto}}

@media (max-width:340px){.banner{max-width:92vw}}

@media (min-width:740px){:root{--tile:160px}}
@media (min-width:1024px){:root{--tile:180px}}

#promo-banner .banner{border-radius:14px;overflow:hidden;border:1px solid var(--ring);
  box-shadow:0 10px 24px rgba(0,0,0,.07);max-width:600px;width:100%;margin:18px auto}
#promo-banner .banner img{width:100%;height:auto;object-fit:contain;display:block}
@media (max-width:520px){#promo-banner .banner{max-width:92vw}}

/* ===== GALLERIA 0-GAP (75 immagini attaccate) ===== */
#gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0 !important;padding:0;margin:0}
#gallery-grid img{display:block;width:100%;height:auto;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}

/* Mobile: celle un po' più strette */
@media (max-width:640px){
  #gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}

/* Annulla vecchi stili di figure/tile/caption se presenti */
#gallery-grid .tile, #gallery-grid figure{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;width:auto!important;aspect-ratio:auto!important;justify-self:stretch!important}
#gallery-grid .cap{display:none!important}

/* Sezione senza padding (opzionale) */
.section.no-padding{padding:0}

/* ===== Centro l'H1 dell'hero ===== */
header.section h1{ text-align:center; margin:0 auto 8px; }

/* Griglia senza spazi (immagini attaccate) e rendering veloce */
#gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:0 !important; padding:0; margin:0;
}
#gallery-grid img{
  display:block; width:100%; height:auto;
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
  aspect-ratio:1 / 1;
  content-visibility:auto;           /* non renderizza fuori viewport */
  contain-intrinsic-size:160px 160px;/* dimensione stimata per layout */
}
@media (max-width:640px){
  #gallery-grid{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
}

/* Centro l'H1 dell'hero */
header.section h1{ text-align:center; margin:0 auto 8px; }

/* Anti-save (best effort) */
#gallery-grid, #gallery-grid * { -webkit-touch-callout: none; }
#gallery-grid img{
  pointer-events: none;          /* niente click / tap sull'immagine */
  -webkit-user-drag: none;       /* no drag to desktop */
  user-drag: none;
  -webkit-user-select: none;     /* no select/long-press menu iOS */
  user-select: none;
}



