.testata{background:var(--notte);color:#fff;padding:140px 0 0}
.testata .wrap{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:40px}
.briciole{font-size:14px;opacity:.7;margin-bottom:14px}
.briciole a{text-decoration:none}.briciole a:hover{text-decoration:underline}
.testata h1{color:#fff;font-size:clamp(38px,5.4vw,70px);font-style:italic;line-height:1}
.testata .desc{font-size:19px;opacity:.88;margin:18px 0 28px;max-width:30em}
.testata .cta{display:flex;gap:12px;flex-wrap:wrap}
.testata .tappa{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;background:rgba(255,255,255,.1);padding:7px 12px;border-radius:999px;margin-bottom:18px}
.testata .tappa i{width:10px;height:10px;border-radius:50%;background:var(--rosso);display:inline-block}
.foto-att{position:relative;width:100%;height:clamp(200px,24vw,320px);border-radius:28px 28px 28px 6px;overflow:hidden}
.foto-att .ph{background-color:#0B3C82}
.foto-att .ph-cap{color:#fff}

/* dati chiave */
.dati{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.dato{background:var(--ghiaccio);border-radius:16px;padding:16px}
.dato .i{color:var(--rosso);width:24px;height:24px}
.dato small{display:block;color:var(--grigio);font-size:13.5px;margin-top:8px}
.dato b{display:block;color:var(--blu);font-stretch:110%;font-size:17px;line-height:1.3}
.dato.cert{background:#FFF0F1}

.colonne{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:20px;align-items:start}
.colonne>div{display:grid;gap:20px;min-width:0}
.pannello h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:14px}
.pannello p+p{margin-top:12px}
.testo p{color:var(--inchiostro);max-width:40em}

/* livelli */
.livelli{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;counter-reset:l}
.livelli li{background:var(--ghiaccio);border-radius:16px;padding:16px 16px 16px 58px;position:relative;min-height:76px}
.livelli li::before{counter-increment:l;content:counter(l);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2.5px solid var(--rosso);color:var(--rosso);font-weight:800;font-size:14px;position:absolute;left:16px;top:16px}
.livelli b{display:block;color:var(--blu);font-stretch:110%}
.livelli span{font-size:14px;color:var(--grigio)}
.nota{font-size:13.5px;color:var(--grigio);margin-top:12px;font-style:italic}

/* orari della singola attività */
.orari-att{list-style:none;margin:0;padding:0}
.orari-att li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea)}
.orari-att li:last-child{border:0}
.orari-att b{color:var(--blu);font-stretch:110%}
.orari-att span{color:var(--inchiostro)}
.orari-att span small{display:block;color:var(--grigio)}
.orari-att li.oggi b{color:var(--rosso)}

.vai-orari{display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:20px 24px;text-decoration:none;font-weight:700;font-stretch:115%;font-size:19px;color:var(--blu)}
.vai-orari .i{color:var(--rosso);width:24px;height:24px}
.vai-orari span{flex:1}
.vai-orari:hover{box-shadow:inset 0 0 0 1.5px var(--blu)}
/* percorso: dove sei */
.dove{background:var(--blu);color:#fff}
.dove h2{color:#fff}
.mini{list-style:none;margin:6px 0 18px;padding:0 0 0 34px;position:relative}
.mini::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:3px;background:rgba(222,0,15,.55);border-radius:2px}
.mini li{position:relative;padding:7px 0;opacity:.65}
.mini li::before{content:"";position:absolute;left:-31px;top:12px;width:14px;height:14px;border-radius:50%;background:var(--blu);border:3px solid var(--rosso)}
.mini li.qui{opacity:1;font-weight:700}
.mini li.qui::before{background:var(--rosso);box-shadow:0 0 0 5px rgba(222,0,15,.25)}
.dove .link{color:#fff}

/* staff */
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.persona{display:flex;gap:12px;align-items:center;background:var(--ghiaccio);border-radius:16px;padding:12px}
.persona .av{position:relative;width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none}
.persona .av .ph-cap{display:none}
.persona b{display:block;color:var(--blu);font-size:15.5px}
.persona span{font-size:13.5px;color:var(--grigio)}

/* blocchi richiudibili */
details{border-bottom:1px solid var(--linea)}
details:last-child{border:0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-weight:700;font-stretch:110%;color:var(--blu);font-size:17px}
summary::-webkit-details-marker{display:none}
summary .i{color:var(--rosso);transition:transform .2s}
details[open] summary .i{transform:rotate(45deg)}
details .corpo{padding:0 0 18px;color:var(--inchiostro)}
details .corpo ol{margin:0;padding-left:20px;display:grid;gap:6px}
.quote{border:2px solid var(--blu)}
.q-testa{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;flex-wrap:wrap}
.q-testa h2{margin:0}
.quote .corpo ol{margin:0;padding-left:20px;display:grid;gap:6px}
.segnaposto{background:var(--ghiaccio);border:1.5px dashed #9FB3CF;border-radius:12px;padding:12px 14px;font-size:14.5px;color:var(--grigio);margin-top:12px}

.altre{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.altre a{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:18px;padding:20px;text-decoration:none;font-weight:700;font-stretch:110%;color:var(--blu)}
.altre a small{display:block;font-weight:500;color:var(--grigio);font-stretch:100%}
.altre a .i{color:var(--rosso)}
.altre a:hover{box-shadow:inset 0 0 0 1.5px var(--blu)}

@media (max-width:1060px){
  .testata .wrap{grid-template-columns:1fr;gap:32px}
  .dati{grid-template-columns:repeat(2,1fr)}
  .colonne{grid-template-columns:1fr}
  .livelli{grid-template-columns:1fr 1fr}
  .staff,.altre{grid-template-columns:1fr}
}
@media (max-width:640px){
  .testata{padding-top:104px}
  .dati{grid-template-columns:1fr 1fr}
  .dato b{font-size:15px;word-break:break-word}
  .q-testa .link{font-size:15px}
  .livelli{grid-template-columns:1fr}
  .orari-att li{grid-template-columns:96px 1fr}
}
