/*
  Le pagine di approfondimento: pagine normali, che scorrono. Lo stile è quello del resto del sito (Geist, angoli tondi, il blu di
  «dove sei» e basta, nessun maiuscoletto, nessuno spigolo vivo), con più aria fra le parti e il testo che si legge: una colonna per
  volta, righe sottili al posto delle scatole, e una scena (un pezzo di Fallthere) dove serve vedere.

  Le scene sono le stesse delle presentazioni: partono quando entrano in vista (`sito.js` mette `.vista` sul riquadro `[data-scena]`),
  fanno la loro coreografia una volta e poi stanno ferme. Con «meno movimento», o senza JavaScript, sono già al loro posto.
  Niente attributi `style`, niente animazioni senza fine, niente ombre pesanti.
*/

html.pagina body {
  background: var(--sfondo);
}
.art {
  overflow-x: clip;
}
.art-dentro {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: var(--lato-sx) var(--lato-dx);
}
.art-solo-lettori {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ── L'apertura: il titolo, la riga, i due bottoni, e la scena sotto ──────────────────────────── */

.art-eroe {
  max-width: 1120px;
  margin-inline: auto;
  padding: calc(var(--su) + clamp(20px, 5vh, 64px)) var(--lato-dx) clamp(24px, 4vw, 56px) var(--lato-sx);
  text-align: center;
}
.art-eroe__testo {
  max-width: 46rem;
  margin-inline: auto;
}
.art-briciole ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.1em 0.2em;
  margin: 0 0 1.4rem;
  padding: 0;
  list-style: none;
  color: var(--testo-piano);
  font-size: 0.875rem;
}
.art-briciole li {
  white-space: nowrap;
}
.art-briciole li + li::before {
  content: "/";
  margin-right: 0.2em;
  opacity: 0.55;
}
.art-briciole a {
  display: inline-block;
  padding: 0.25em 0.3em;
  color: inherit;
  text-decoration: none;
  border-radius: var(--r-piccolo);
}
.art-briciole a:hover {
  color: var(--testo);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.art-briciole [aria-current="page"] {
  display: inline-block;
  padding: 0.25em 0.3em;
  color: var(--testo);
}
.art-eroe h1 {
  margin: 0;
  font-size: clamp(2.25rem, 6.4vw, 4rem);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.art-eroe h1:focus {
  outline: none;
}
.art-lead {
  max-width: 36rem;
  margin: 1.1rem auto 0;
  color: var(--testo-piano);
  font-size: clamp(1.0625rem, 2.2vw, 1.3125rem);
  line-height: 1.45;
  text-wrap: pretty;
}
.art-azioni {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 1.75rem;
}

/* ── Il riquadro di una scena ────────────────────────────────────────────────────────────────── */

.art-palco {
  position: relative;
  width: 100%;
  max-width: 1040px;
  margin: clamp(28px, 5vw, 56px) auto 0;
  border: 1px solid var(--velo);
  border-radius: 28px;
  background: color-mix(in srgb, var(--superficie) 70%, var(--sfondo));
  overflow: hidden;
}
.art-palco .scena {
  aspect-ratio: 16 / 10;
  padding: clamp(10px, 2.2vw, 24px);
}
.art-palco--eroe .scena {
  aspect-ratio: 2 / 1;
  max-height: min(520px, 70svh);
}
@media (max-width: 639px) {
  .art-palco .scena,
  .art-palco--eroe .scena {
    aspect-ratio: 4 / 5;
    max-height: none;
  }
}

/* ── Le sezioni ───────────────────────────────────────────────────────────────────────────────── */

.art-sez {
  padding-block: clamp(36px, 6vw, 84px);
}
.art-h2 {
  margin: 0 0 clamp(18px, 2.6vw, 32px);
  font-size: clamp(1.625rem, 3.4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.art-h2--piccolo {
  margin-bottom: 0.4em;
  font-size: clamp(1.25rem, 2.4vw, 1.625rem);
}
.art-h3 {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.art-intro {
  max-width: 40rem;
  margin: -0.6rem 0 clamp(18px, 2.6vw, 28px);
  color: var(--testo-piano);
  font-size: 1.0625rem;
  line-height: 1.5;
}
.art a {
  text-underline-offset: 0.2em;
}

/* un blocco con la sua scena, a destra e a sinistra a turno */
.art-split {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
}
.art-sez--sx .art-split {
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
}
.art-sez--sx .art-split__testo {
  order: 2;
}
/* una scena fitta sta sotto il testo, a tutta larghezza */
.art-sez--piena .art-split,
.art-sez--sx.art-sez--piena .art-split {
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(20px, 3vw, 36px);
}
.art-sez--sx.art-sez--piena .art-split__testo {
  order: 0;
}
.art-sez--piena .art-split__testo p {
  max-width: 44rem;
}
.art-split__testo .art-h2 {
  margin-bottom: 0.45em;
}
.art-split__testo p {
  max-width: 32rem;
  margin: 0;
  color: var(--testo-piano);
  font-size: 1.0625rem;
  line-height: 1.55;
}
.art-split .art-palco {
  margin: 0;
}
.art-punti {
  display: grid;
  gap: 0.5em;
  margin: 1.1rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 1rem;
}
.art-punti li {
  padding-left: 1.4em;
  position: relative;
}
.art-punti li::before {
  content: "";
  position: absolute;
  left: 0.2em;
  top: 0.62em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: var(--dove-sei);
}
@media (max-width: 859px) {
  .art-split,
  .art-sez--sx .art-split {
    grid-template-columns: minmax(0, 1fr);
  }
  .art-sez--sx .art-split__testo {
    order: 0;
  }
}

/* i particolari: righe sottili, un'icona, il titolo e due righe */
.art-voci {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(24px, 5vw, 64px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-voce {
  display: flex;
  gap: 16px;
  padding: 22px 0;
  border-top: 1px solid var(--velo);
}
.art-voce__ic,
.art-carta__ic {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: var(--velo);
}
.art-voce__ic .ic,
.art-carta__ic .ic {
  width: 20px;
  height: 20px;
}
.art-voce p {
  margin: 0.3em 0 0;
  color: var(--testo-piano);
  line-height: 1.5;
}
@media (max-width: 719px) {
  .art-voci {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* i passi: il titolo a sinistra, l'elenco numerato a destra */
.art-passi-riga {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}
.art-passi-testa {
  position: sticky;
  top: calc(var(--su) + 8px);
}
.art-passi-testa p {
  margin: 0;
  color: var(--testo-piano);
  font-size: 1.0625rem;
  line-height: 1.5;
}
.art-passi {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: passo;
}
.art-passo {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--velo);
  counter-increment: passo;
}
.art-passo::before {
  content: counter(passo);
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--velo);
  font-size: 0.9375rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.art-passo p {
  margin: 0.3em 0 0;
  color: var(--testo-piano);
  line-height: 1.55;
}
.art-passo b,
.art-voce b,
.art-split__testo b,
.art-domanda__risposta b,
.art-momento b,
.art-prosa b {
  font-weight: 600;
  color: var(--testo);
}
.art-passo:last-child {
  border-bottom: 1px solid var(--velo);
}
@media (max-width: 859px) {
  .art-passi-riga {
    grid-template-columns: minmax(0, 1fr);
  }
  .art-passi-testa {
    position: static;
  }
}

/* le funzioni collegate: carte con un filo e una freccia */
.art-carte {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-carta {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid var(--velo);
  border-radius: var(--r-carta);
  background: var(--superficie);
  color: var(--testo);
  text-decoration: none;
  transition: transform 180ms var(--ease), box-shadow 180ms var(--ease), border-color 180ms var(--ease);
}
.art-carta:hover {
  transform: translateY(-1px);
  border-color: var(--velo-forte);
  box-shadow: 0 18px 36px -26px var(--ombra);
}
.art-carta__testi {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.3;
}
.art-carta__testi b {
  font-weight: 600;
}
.art-carta__testi span {
  color: var(--testo-piano);
  font-size: 0.875rem;
}
.art-carta__vai {
  margin-left: auto;
  color: var(--testo-piano);
}
.art-carta__vai .ic {
  width: 18px;
  height: 18px;
}

/* le schede dei piani: due, una accanto all'altra; senza il listino la riga del prezzo lo dice a parole */
.art-piani {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-piano {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--velo);
  border-radius: var(--r-carta);
  background: var(--superficie);
}
.art-piano--arrivo {
  border: 1.5px dashed var(--velo-forte);
  background: transparent;
}
.art-piano__testa {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
}
.art-piano__testa .art-h3 {
  margin: 0;
  font-size: 1.25rem;
}
.art-piano__etichetta {
  color: var(--testo-piano);
  font-size: 0.875rem;
}
.art-piano__riga {
  margin: 0;
  color: var(--testo-piano);
}
.art-piano__punti {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-piano__punti li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.4;
}
.art-piano__punti .ic {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 0.15em;
  color: var(--dove-sei);
}
.art-piano__prezzo {
  margin: auto 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--velo);
  font-weight: 600;
}

/* quello che ancora non c'è: tratteggiato, con la parola, senza date */
.art-ancora {
  padding: clamp(20px, 3vw, 32px);
  border: 1.5px dashed var(--velo-forte);
  border-radius: 24px;
}
.art-ancora p {
  margin: 0;
  color: var(--testo-piano);
}
.art-ancora__lista {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.art-ancora__voce {
  padding: 0.4em 0.95em;
  border: 1px dashed var(--velo-forte);
  border-radius: var(--r-pieno);
  color: var(--testo-piano);
  font-size: 0.9375rem;
}

/* le domande frequenti */
.art-sez--domande .art-dentro {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}
.art-sez--domande .art-h2 {
  position: sticky;
  top: calc(var(--su) + 8px);
}
.art-domande {
  min-width: 0;
}
.art-domanda {
  border-top: 1px solid var(--velo);
}
.art-domanda:last-child {
  border-bottom: 1px solid var(--velo);
}
.art-domanda summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 14px 4px;
  cursor: pointer;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
  border-radius: var(--r-base);
}
.art-domanda summary::-webkit-details-marker {
  display: none;
}
.art-domanda summary:hover {
  color: var(--dove-sei);
}
.art-domanda__freccia {
  flex: none;
  width: 20px;
  height: 20px;
  transition: transform 200ms var(--ease);
}
.art-domanda[open] .art-domanda__freccia {
  transform: rotate(180deg);
}
.art-domanda__risposta {
  max-width: 40rem;
  padding: 0 4px 22px;
  color: var(--testo-piano);
  line-height: 1.6;
}
.art-domanda__risposta p {
  margin: 0;
}
@media (max-width: 859px) {
  .art-sez--domande .art-dentro {
    grid-template-columns: minmax(0, 1fr);
  }
  .art-sez--domande .art-h2 {
    position: static;
  }
}

/* testo corrente, tabelle, cronologie, dati, giornate: le pagine che si leggono */
.art-prosa {
  max-width: 44rem;
}
.art-prosa p {
  margin: 0 0 1em;
  font-size: 1.0625rem;
  line-height: 1.65;
}
.art-nota {
  max-width: 44rem;
  margin: 14px 0 0;
  color: var(--testo-piano);
  font-size: 0.9375rem;
}
.art-tab {
  overflow-x: auto;
  border: 1px solid var(--velo);
  border-radius: var(--r-carta);
  background: var(--superficie);
}
.art-tab table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.art-tab th,
.art-tab td {
  padding: 14px 18px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--velo);
  line-height: 1.45;
}
.art-tab thead th {
  color: var(--testo-piano);
  font-weight: 600;
}
.art-tab tbody th {
  font-weight: 600;
}
.art-tab tr:last-child th,
.art-tab tr:last-child td {
  border-bottom: 0;
}
.art-cronologia {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 52rem;
}
.art-cron {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  gap: 24px;
  padding: 22px 0;
  border-top: 1px solid var(--velo);
}
.art-cron:last-child {
  border-bottom: 1px solid var(--velo);
}
.art-cron__data {
  color: var(--testo-piano);
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
}
.art-cron p {
  margin: 0.3em 0 0;
  color: var(--testo-piano);
  line-height: 1.55;
}
@media (max-width: 639px) {
  .art-cron {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
.art-dati {
  display: grid;
  gap: 0;
  max-width: 44rem;
  margin: 0;
}
.art-dato {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid var(--velo);
}
.art-dato:last-child {
  border-bottom: 1px solid var(--velo);
}
.art-dato dt {
  color: var(--testo-piano);
}
.art-dato dd {
  margin: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 559px) {
  .art-dato {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}
.art-giornata {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-momento {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-top: 1px solid var(--velo);
}
.art-momento:last-child {
  border-bottom: 1px solid var(--velo);
}
.art-momento__quando {
  color: var(--testo-piano);
  font-size: 0.9375rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.art-momento p {
  max-width: 40rem;
  margin: 0.35em 0 0;
  color: var(--testo-piano);
  line-height: 1.55;
}
.art-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.art-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  min-height: 36px;
  padding: 0 0.9em 0 0.7em;
  border: 1px solid var(--velo);
  border-radius: var(--r-pieno);
  background: var(--superficie);
  color: var(--testo);
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 160ms var(--ease);
}
.art-chip:hover {
  background: var(--velo);
}
.art-chip .ic {
  width: 16px;
  height: 16px;
}
@media (pointer: coarse) {
  .art-chip {
    min-height: 44px;
  }
}
@media (max-width: 639px) {
  .art-momento {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
.art-esempi {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-esempio {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 24px;
  padding: 22px 0;
  border-top: 1px solid var(--velo);
}
.art-esempio:last-child {
  border-bottom: 1px solid var(--velo);
}
.art-esempio__chi {
  color: var(--testo-piano);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
}
.art-esempio p {
  max-width: 42rem;
  margin: 0.3em 0 0;
  color: var(--testo-piano);
  line-height: 1.55;
}
.art-esempio b {
  font-weight: 600;
  color: var(--testo);
}
@media (max-width: 719px) {
  .art-esempio {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
.art-invito {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--velo);
  border-radius: 24px;
  background: var(--superficie);
}
.art-invito p {
  flex: 1 1 22rem;
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.5;
}

/* ── La chiusura: l'invito, con Pan ──────────────────────────────────────────────────────────── */

.art-cta {
  margin: clamp(40px, 6vw, 88px) var(--lato-dx) 0 var(--lato-sx);
  border-radius: 36px;
  background: var(--sfondo);
  color: var(--testo);
  text-align: center;
}
.art-cta__dentro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding-block: clamp(44px, 7vw, 88px);
}
.art-cta__pan {
  width: 84px;
  height: 84px;
}
.art-cta .art-h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.25rem);
  letter-spacing: -0.04em;
}
.art-cta p {
  max-width: 40ch;
  margin: 0;
  color: var(--testo-piano);
  font-size: 1.125rem;
}
.art-cta .bottone {
  margin-top: 10px;
}
.art-cta .art-cta__nota {
  font-size: 0.9375rem;
}
@media (min-width: 1500px) {
  .art-cta {
    max-width: 1320px;
    margin-inline: auto;
  }
}

/* ── Il piè di pagina: tutte le pagine, per gruppi, e i dati di chi risponde ─────────────────── */

/* Il piè (02/10, l'utente: «il peggio è il footer, proprio inaccettabile»: erano 71 collegamenti in cinque colonne): tre righe corte.
   Il nome con la sua frase, le parole della testata e poche pagine in fila, la riga di legge. Tutte le pagine stanno nella mappa del sito. */
.piede {
  margin-top: clamp(40px, 6vw, 80px);
  padding: clamp(28px, 4vw, 40px) var(--lato-dx) calc(var(--testata-h) + var(--isola-m) + 32px) var(--lato-sx);
  border-top: 1px solid var(--velo);
}
.piede__dentro {
  max-width: 1120px;
  margin-inline: auto;
  display: grid;
  gap: 18px;
}
.piede__marca {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 20px;
}
.piede__marca .marchio {
  margin-left: -0.8em;
}
.piede__marca p {
  max-width: 34rem;
  margin: 0;
  color: var(--testo-piano);
  font-size: 0.9375rem;
}
.piede__nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.piede__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--testo-piano);
  font-size: 0.9375rem;
  text-decoration: none;
}
.piede__nav a:hover {
  color: var(--testo);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.piede__legale {
  padding-top: 14px;
  border-top: 1px solid var(--velo);
}
.piede__legale .titolare {
  margin-inline: 0;
  text-align: left;
}
@media (pointer: coarse) {
  .piede__nav a,
  .art-briciole a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}
@media (min-width: 760px) and (pointer: fine) {
  .piede {
    padding-bottom: clamp(24px, 4vw, 40px);
  }
}

/* ── Le scene che solo queste pagine usano: il telefono, l'accoglienza, le statistiche, le regole ───────────
   Stessi pezzi del resto del sito (`.carta`, `.rg`, `.tondo`, `.stato`), tutto in «em» dentro il riquadro di una scena, con la
   composizione per il largo e quella per l'alto. I numeri sono di esempio e senza segno di valuta. */

.c-sn-tel {
  --W: 64;
  --H: 25;
  --Wp: 26;
  --Hp: 40;
}
.sn-tel {
  position: absolute;
  inset: 0;
}
.sn-tel__tel {
  display: flex;
  flex-direction: column;
  gap: 0.9em;
  height: 100%;
  padding: 1.3em 1.5em 1.5em;
  border-radius: 2.2em;
  background: var(--superficie);
  box-shadow: 0 0 0 0.14em var(--velo-forte), 0 1.4em 2.6em -1.6em var(--ombra);
}
.sn-tel__t {
  margin: 0;
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.sn-tel__widget {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1em;
  min-height: 0;
}
.sn-wd {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  min-height: 0;
  padding: 1em 1.1em;
}
.sn-wd__app {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin: 0;
  color: var(--testo-piano);
  font-size: 0.92em;
  font-weight: 600;
}
.sn-wd__riga {
  margin: 0;
  font-size: 1.12em;
  font-weight: 600;
  line-height: 1.25;
}
.sn-wd__tasto {
  align-self: flex-start;
  margin-top: auto;
  padding: 0.45em 1.2em;
  border-radius: var(--r-pieno);
  background: var(--accento);
  color: var(--accento-testo);
  font-size: 0.95em;
  font-weight: 600;
}
@container scena (aspect-ratio < 1.22) {
  .sn-tel__widget {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .sn-wd {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .sn-wd__app {
    flex: 1 0 100%;
  }
  .sn-wd__riga {
    flex: 1;
  }
  .sn-wd__tasto {
    margin-top: 0;
  }
}

.c-sn-acc {
  --W: 46;
  --H: 25;
  --Wp: 34;
  --Hp: 31;
}
.sn-acc {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1em;
  padding: 1em 1.3em;
}
.sn-acc__t {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  margin-bottom: 0.4em;
}
.sn-pa {
  min-height: 2.5em;
}
.sn-pa--fatto .rg__t {
  color: var(--testo-piano);
}
.sn-pa .stato .ic {
  margin-right: 0.3em;
}
.sn-acc .stato {
  font-size: 0.9em !important;
}

.c-sn-st {
  --W: 56;
  --H: 27;
  --Wp: 28;
  --Hp: 47;
}
.sn-st {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.9em;
  padding: 1.1em 1.4em;
}
.sn-st__testa {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6em 1em;
}
.sn-st__titolo {
  margin: 0;
  font-size: 1.45em;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.sn-st__scelte {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0.8em;
}
.sn-st__sc {
  display: inline-flex;
  gap: 0.2em;
  padding: 0.2em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  font-size: 1em;
}
.sn-st__o {
  padding: 0.15em 0.8em;
  border-radius: var(--r-pieno);
  color: var(--testo-piano);
  white-space: nowrap;
}
.sn-st__o--su {
  background: var(--superficie-alta);
  color: var(--testo);
  font-weight: 600;
  box-shadow: 0 0 0 1px var(--velo);
}
.sn-st__carte {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7em;
}
.sn-st__carta {
  display: flex;
  flex-direction: column;
  gap: 0.1em;
  padding: 0.6em 0.9em;
  border-radius: 0.9em;
  box-shadow: 0 0 0 1px var(--velo);
}
.sn-st__carta b {
  font-size: 1.9em;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
.sn-st__carta--tardi b {
  color: var(--pericolo);
}
.sn-st__carta em {
  font-size: 0.92em;
}
.sn-st__grafici {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 1.1em;
}
.sn-st__g {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  min-height: 0;
}
.sn-st__gt {
  margin: 0;
  font-size: 0.95em;
  font-weight: 600;
}
.sn-st__area {
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow: visible;
}
.sn-st__riempi {
  fill: color-mix(in srgb, var(--testo) 9%, transparent);
}
.sn-st__linea {
  fill: none;
  stroke: var(--testo);
  stroke-width: 1.5;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.sn-st__r {
  display: grid;
  grid-template-columns: 4.2em minmax(0, 1fr) 1.6em;
  align-items: center;
  gap: 0.6em;
  font-size: 0.95em;
}
.sn-st__nome {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sn-st__pista {
  height: 0.8em;
}
.sn-st__barra {
  display: block;
  height: 100%;
  border-radius: 0.3em;
  background: var(--testo);
  opacity: 0.85;
  transform-origin: left;
}
.sn-st__barra--1 { width: 100%; }
.sn-st__barra--2 { width: 79%; }
.sn-st__barra--3 { width: 57%; }
.sn-st__barra--4 { width: 36%; }
.sn-st__r b {
  text-align: right;
}
@container scena (aspect-ratio < 1.22) {
  .sn-st {
    gap: 0.8em;
    padding: 1em 1.1em;
  }
  .sn-st__grafici {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .sn-st__carta {
    padding: 0.5em 0.6em;
  }
  .sn-st__carta b {
    font-size: 1.6em;
  }
  .sn-st__carta em {
    display: none;
  }
}

.c-sn-pr {
  --W: 50;
  --H: 27;
  --Wp: 28;
  --Hp: 32;
}
.sn-pr {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55em;
  padding: 1.1em 1.4em;
}
.sn-pr__testa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.sn-pr__titolo {
  margin: 0;
  font-size: 1.45em;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.sn-pr .stato {
  font-size: 0.9em !important;
}
.sn-pr__gr {
  display: flex;
  align-items: baseline;
  gap: 0.8em;
  margin: 0.2em 0 0;
  padding: 0 0.2em;
}
.sn-pr__gr b {
  font-size: 1.02em;
  font-weight: 600;
}
.sn-pr__gr .muto {
  font-size: 0.9em;
}
.sn-pr__carta {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  padding: 0.7em 1em;
  border-radius: 0.9em;
  box-shadow: 0 0 0 1px var(--velo);
}
.sn-pr__riga {
  display: flex;
  align-items: center;
  gap: 0.7em;
  margin: 0;
}
.sn-pr__riga b {
  font-weight: 600;
}
.sn-pr__tipo {
  flex: none;
  padding: 0.1em 0.65em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  color: var(--testo-piano);
  font-size: 0.9em;
  font-weight: 600;
}
.sn-pr__da {
  margin: 0;
  font-size: 0.92em;
}
.sn-pr__se {
  margin: 0;
  font-size: 0.95em;
}
.sn-pr__se b {
  font-weight: 600;
}
.sn-pr__bott {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-top: 0.3em;
}
.sn-pr__b {
  padding: 0.3em 1em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  font-size: 0.95em;
  font-weight: 600;
  white-space: nowrap;
}
.sn-pr__b--si {
  background: var(--accento);
  color: var(--accento-testo);
}
.sn-pr__r {
  min-height: 2.4em;
}
.sn-pr__c {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 1.2em;
  height: 1.2em;
  border-radius: 0.3em;
  background: var(--accento);
  color: var(--accento-testo);
}
.sn-pr__c .ic {
  width: 0.85em;
  height: 0.85em;
}
.sn-pr__fondo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5em;
  margin-top: auto;
}
.sn-pr__fondo .muto {
  margin-right: auto;
  font-size: 0.95em;
}
@container scena (aspect-ratio < 1.22) {
  .sn-pr {
    gap: 0.5em;
    padding: 1em 1.1em;
  }
  .sn-pr__testa {
    flex-wrap: wrap;
    gap: 0.4em;
  }
  .sn-pr__r > em {
    display: none;
  }
  .sn-pr__fondo {
    justify-content: flex-start;
  }
}

.c-sn-at {
  --W: 58;
  --H: 26;
  --Wp: 30;
  --Hp: 40;
}
.sn-at {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.9em;
  padding: 1.1em 1.4em;
}
.sn-at__testa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.sn-at__titolo {
  margin: 0;
  font-size: 1.45em;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.sn-at__nuova {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  padding: 0.45em 1.1em 0.45em 0.8em;
  border-radius: var(--r-pieno);
  background: var(--accento);
  color: var(--accento-testo);
  font-size: 0.95em;
  font-weight: 600;
  white-space: nowrap;
}
.sn-at__barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 0.6em;
}
.sn-at__liv {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  padding: 0.3em 0.85em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  font-size: 0.95em;
  white-space: nowrap;
}
.sn-at__liv b {
  color: var(--testo-piano);
  font-weight: 600;
}
.sn-at__quali {
  display: inline-flex;
  gap: 0.2em;
  margin-left: auto;
  padding: 0.2em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  font-size: 0.95em;
}
.sn-at__q {
  padding: 0.15em 0.8em;
  border-radius: var(--r-pieno);
  color: var(--testo-piano);
  white-space: nowrap;
}
.sn-at__q--su {
  background: var(--superficie-alta);
  color: var(--testo);
  font-weight: 600;
  box-shadow: 0 0 0 1px var(--velo);
}
.sn-at__numeri {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7em;
}
.sn-at__n {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  padding: 0.55em 0.9em;
  border-radius: 0.9em;
  box-shadow: 0 0 0 1px var(--velo);
}
.sn-at__n b {
  font-size: 1.8em;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}
.sn-at__n--tardi b {
  color: var(--pericolo);
}
.sn-at__gruppo {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.sn-at__gt {
  display: flex;
  align-items: baseline;
  gap: 0.8em;
  margin: 0 0 0.2em;
  padding: 0 0.7em;
}
.sn-at__gt b {
  font-size: 1.05em;
  font-weight: 600;
}
.sn-at__gt .muto {
  font-size: 0.88em;
}
.sn-at__r {
  min-height: 2.6em;
}
.sn-at__c {
  flex: none;
  width: 1.15em;
  height: 1.15em;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.12em var(--testo-piano);
}
.sn-at__r > em {
  flex: none;
  width: 10.5em;
  text-align: right;
}
.rg > em.sn-at__tardi {
  color: var(--pericolo);
  font-weight: 600;
}
.sn-at__veloce {
  color: var(--testo-piano);
}
@container scena (aspect-ratio < 1.22) {
  .sn-at {
    gap: 0.8em;
    padding: 1em 1.1em;
  }
  .sn-at__numeri {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sn-at__quali {
    margin-left: 0;
  }
  .sn-at__gt {
    flex-direction: column;
    gap: 0.1em;
  }
  .sn-at__r > em {
    width: 8.6em;
  }
}

.c-sn-au {
  --W: 62;
  --H: 25;
  --Wp: 32;
  --Hp: 42;
}
.sn-au {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 1.4em;
}
.sn-au__c .carta__t .ic {
  vertical-align: -0.2em;
  margin-right: 0.3em;
}
.sn-au__frase {
  margin: 0.3em 0 1em;
  font-size: 1.15em;
  line-height: 1.8;
}
.sn-pillola {
  display: inline-block;
  padding: 0.05em 0.7em;
  border-radius: var(--r-pieno);
  background: color-mix(in srgb, var(--selezione) 14%, transparent);
  color: var(--dove-sei);
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
}
.sn-au__p {
  min-height: 2.8em;
}
@container scena (aspect-ratio < 1.22) {
  .sn-au {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: start;
  }
}

/* ── Le facce: otto agenti, la pagina «L'aspetto di…» e Pan in cinque momenti ─────────────────────────────────────
   Le facce sono quelle del prodotto (`assets/avatar.css`): la misura la dà `--avatar-px`, dentro il riquadro in «em». */

.c-sn-fc {
  --W: 48;
  --H: 26;
  --Wp: 30;
  --Hp: 44;
}
.sn-fc {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1em;
}
.sn-fc__t {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  padding: 0.8em 0.6em;
  text-align: center;
}
.sn-fc__t .pan.avatar {
  --avatar-px: 6.8em;
}
.sn-fc__d {
  color: var(--testo-piano);
  font-size: 0.95em;
  line-height: 1.25;
}
@container scena (aspect-ratio < 1.22) {
  .sn-fc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .sn-fc__t .pan.avatar {
    --avatar-px: 5.4em;
  }
  .sn-fc__d {
    font-size: 1.08em;
  }
}

.c-sn-as {
  --W: 52;
  --H: 24;
  --Wp: 30;
  --Hp: 46;
}
.sn-as {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  gap: 1.2em;
}
.sn-as__sx {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6em;
  text-align: center;
}
.sn-as__sx .carta__t {
  align-self: stretch;
  text-align: left;
}
.sn-as__faccia .pan.avatar {
  --avatar-px: 7.4em;
}
.sn-as__frase {
  margin: 0;
  font-weight: 600;
  line-height: 1.25;
}
.sn-as__bott {
  display: flex;
  gap: 0.6em;
  margin-top: auto;
}
.sn-as__dx {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
}
.sn-as__guida {
  margin: 0;
}
.sn-as__schede {
  display: flex;
  gap: 0.5em;
}
.sn-sc {
  padding: 0.25em 0.9em;
  border-radius: var(--r-pieno);
  background: var(--velo);
  color: var(--testo-piano);
  font-style: normal;
  font-weight: 600;
}
.sn-sc--sel {
  background: var(--accento);
  color: var(--accento-testo);
}
.sn-as__tessere {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.7em;
  margin-top: auto;
}
.sn-as__tessera {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border-radius: var(--r-pieno);
}
.sn-as__tessera .pan.avatar {
  --avatar-px: 3.7em;
}
.sn-as__tessera--sel {
  box-shadow: 0 0 0 0.16em var(--dove-sei);
}
@container scena (aspect-ratio < 1.22) {
  .sn-as {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
  }
  .sn-as__sx {
    flex-direction: column;
  }
  .sn-as__faccia .pan.avatar {
    --avatar-px: 6em;
  }
  .sn-as__tessera .pan.avatar {
    --avatar-px: 3.5em;
  }
}

.c-sn-um {
  --W: 56;
  --H: 13;
  --Wp: 30;
  --Hp: 34;
}
.sn-um {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1em;
}
.sn-um__t {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8em;
  text-align: center;
}
.sn-um__t > .pan {
  width: 7.4em;
  height: 7.4em;
}
.sn-um__d {
  font-weight: 600;
  line-height: 1.2;
}
/* la proprietà «scale» si compone con il «transform» che fa battere le palpebre: la faccia contenta stringe gli occhi, quella attenta li apre */
.sn-um__t[data-umore="felice"] .pan-occhio {
  scale: 1 0.55;
}
.sn-um__t[data-umore="ascolto"] .pan-occhio {
  scale: 1.12;
}
@container scena (aspect-ratio < 1.22) {
  .sn-um {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(5, minmax(0, 1fr));
    gap: 0.4em;
  }
  .sn-um__t {
    flex-direction: row;
    justify-content: flex-start;
    gap: 1.2em;
    padding-left: 3em;
    text-align: left;
  }
  .sn-um__t > .pan {
    width: 4.4em;
    height: 4.4em;
  }
}

/* ── Il codice: i permessi di Pan sul codice, e la squadra con un modello per agente ─────────────────────────────── */

.c-sn-pm {
  --W: 46;
  --H: 25;
  --Wp: 32;
  --Hp: 34;
}
.sn-pm {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  padding: 1em 1.3em;
}
.sn-pm__t {
  display: flex;
  align-items: center;
  gap: 0.7em;
  margin-bottom: 0.5em;
}
.sn-pm__pan {
  display: block;
  width: 2.2em;
  height: 2.2em;
  flex: none;
}
.sn-pm__ramo {
  margin-left: auto;
  color: var(--testo-piano);
  font-style: normal;
  font-weight: 400;
  font-size: 0.85em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sn-pm__p {
  min-height: 2.4em;
}
.sn-pm__chiede {
  margin-top: auto;
  padding: 0.9em 1em;
  border-radius: var(--r-carta);
  background: var(--velo);
}
.sn-pm__chiede p {
  margin: 0 0 0.7em;
  font-weight: 600;
}
.sn-pm__risposte {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
@container scena (aspect-ratio < 1.22) {
  .sn-pm__ramo {
    display: none;
  }
}

.c-sn-sq {
  --W: 46;
  --H: 21;
  --Wp: 32;
  --Hp: 36;
}
.sn-sq {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  padding: 1em 1.3em;
}
.sn-sq__coordina {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: 0.5em 0 0.7em;
  border-bottom: 1px solid var(--velo);
}
.sn-sq__r {
  display: flex;
  align-items: center;
  gap: 0.8em;
  min-height: 3em;
}
.sn-sq__nome {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}
.sn-sq__modello {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15em;
  margin-left: auto;
  font-size: 0.9em;
}
.sn-sq__nuovo {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-top: auto;
  color: var(--testo-piano);
  font-weight: 600;
}
.sn-sq__nuovo .ic {
  width: 1.2em;
  height: 1.2em;
}
@container scena (aspect-ratio < 1.22) {
  .sn-sq__modello {
    flex-direction: row;
    align-items: center;
    flex: 1 0 calc(100% - 3.2em);
    margin-left: 3.2em;
    justify-content: flex-start;
    gap: 0.6em;
  }
  .sn-sq__r {
    flex-wrap: wrap;
  }
}
