.testata{background:var(--notte);color:#fff;padding:140px 0 0}
.testata .wrap{padding-bottom:44px}
.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 26px;max-width:34em}
.testata .cta{display:flex;gap:12px;flex-wrap:wrap}

.dati{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dato{background:#fff;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:16.5px;line-height:1.3}

.barra-filtri{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:28px 0 18px}
.barra-filtri h2{font-size:clamp(26px,3vw,34px)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:inherit;font-weight:600;font-size:15px;padding:9px 15px;border-radius:999px;border:0;background:#fff;color:var(--blu);cursor:pointer;box-shadow:inset 0 0 0 1px var(--linea)}
.chips button[aria-pressed="true"]{background:var(--blu);color:#fff;box-shadow:none}

.corsi{display:grid;gap:8px}
.fam{font-size:14px;font-stretch:115%;color:var(--rosso);margin:16px 0 2px;letter-spacing:.01em}
.fam:first-child{margin-top:0}
details.corso{background:#fff;border-radius:16px}
details.corso summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:16px 20px}
details.corso summary::-webkit-details-marker{display:none}
details.corso summary:hover h3{text-decoration:underline;text-decoration-color:var(--rosso);text-underline-offset:4px}
details.corso h3{font-size:19px;font-stretch:115%;margin:0}
details.corso h3 small{font-size:13px;font-weight:600;color:var(--grigio);font-stretch:100%;margin-left:8px}
.freccia{width:22px;height:22px;color:var(--rosso);transform:rotate(90deg);transition:transform .2s}
details.corso[open] .freccia{transform:rotate(-90deg)}
details.corso[open]{box-shadow:inset 0 0 0 1.5px var(--blu)}
.corpo{padding:0 20px 18px;display:grid;gap:10px}
.corpo p{font-size:15.5px}
.int{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--grigio);white-space:nowrap}
.int i{display:inline-block;width:6px;height:16px;border-radius:3px;background:var(--linea)}
.int i.on{background:var(--rosso)}
.quando{border-top:1px solid var(--linea);padding-top:10px;display:grid;gap:4px;font-size:14.5px;font-variant-numeric:tabular-nums}
.quando div{display:flex;gap:10px;flex-wrap:wrap}
.quando b{color:var(--blu);min-width:118px}
.quando span{color:var(--grigio)}
.prov{font-size:12px}
@media (max-width:640px){details.corso summary{grid-template-columns:1fr auto;gap:10px}details.corso .int{grid-column:1;grid-row:2}details.corso .freccia{grid-row:1/3;grid-column:2}}
.colonne{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:20px;align-items:start}
.pannello h2{font-size:clamp(24px,2.6vw,30px);margin-bottom:12px}
.q-testa{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;flex-wrap:wrap}
.q-testa h2{margin:0}
.gest{display:grid;gap:10px}
.gest .orari-g{display:flex;gap:8px;flex-wrap:wrap}
.gest .orari-g span{font-size:14px;font-weight:600;background:var(--ghiaccio);color:var(--blu);padding:5px 10px;border-radius:8px}
.quote ol{margin:0;padding-left:20px;display:grid;gap:6px}
@media (max-width:1060px){.dati{grid-template-columns:1fr 1fr}.colonne{grid-template-columns:1fr}}
@media (max-width:640px){.testata{padding-top:104px}}
