/* =====================================================================
   Latosec — design system RESTYLING V8B (07/09/2026)
   «Old visual language + new information architecture»: contenuti e architettura delle fasi 1-7,
   linguaggio visuale approvato nella fase 8A e consolidato qui (un solo foglio, nessun webfont).
   Usato SOLO dalla build in modalità --restyling (pagine *.restyling.html). Nessuna dipendenza esterna.
   Struttura: 1 token · 2 base · 3 layout e superfici · 4 componenti comuni · 5 home · 6 pagine interne
              7 presidio · 8 verticali · 9 pagine speciali · 10 note numerate · 11 mobile · 12 movimento e stampa
   Regola: la card segnala un oggetto autonomo (scheda, ambito, report, avviso, modulo, calendario);
   prosa, righe editoriali, tabelle, fonti e note restano sulla pagina, senza cornice.
   ===================================================================== */

/* ---------- 1. TOKEN (font di sistema: nessuna dichiarazione di webfont, nessun file scaricato) ---------- */
:root{
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,"SF Mono",Menlo,"Liberation Mono",monospace;
  --misura:66ch;
  --carta:#f3f6f8; --superficie:#ffffff; --superficie-2:#eaf0f4;
  --inchiostro:#1e2528; --inchiostro-2:#333c40; --attenuato:#5a656b; --etichetta:#5a656b;
  --riga:#dde4e9; --riga-forte:#c6d0d7;
  --marchio:#4ebcf3; --marchio-scuro:#2fb0ef; --marchio-testo:#0b1a22;
  --accento:#0e6f9e; --accento-forte:#0a587e; --accento-tinta:#e7f5fd;
  --ottone:#8a6721; --ottone-fondo:#f6f0df;
  --ok:#2e7d4f; --avviso:#8a5a00; --critico:#b3372c;
  --fuoco:#0e6f9e;
  --raggio:10px; --raggio-s:7px; --raggio-xs:4px;
  --ombra-s:0 1px 2px rgba(30,37,40,.06);
  --ombra-m:0 2px 4px rgba(30,37,40,.05),0 14px 30px -14px rgba(30,37,40,.18);
  --testata-h:68px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --carta:#0e1318; --superficie:#151c23; --superficie-2:#1b242d;
    --inchiostro:#e9eff2; --inchiostro-2:#ccd6db; --attenuato:#9aa6ac; --etichetta:#8f9ba1;
    --riga:#25303a; --riga-forte:#34414c;
    --accento:#7cc8f0; --accento-forte:#a3d8f5; --accento-tinta:#0d2b3d; --fuoco:#7cc8f0;
    --ottone:#d0aa60; --ottone-fondo:#2e2a20;
    --ok:#6fbf8a; --avviso:#d3a94a; --critico:#e08a7f;
    --ombra-s:0 1px 2px rgba(0,0,0,.35);
    --ombra-m:0 2px 4px rgba(0,0,0,.3),0 14px 30px -14px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"]{
  --carta:#0e1318; --superficie:#151c23; --superficie-2:#1b242d;
  --inchiostro:#e9eff2; --inchiostro-2:#ccd6db; --attenuato:#9aa6ac; --etichetta:#8f9ba1;
  --riga:#25303a; --riga-forte:#34414c;
  --accento:#7cc8f0; --accento-forte:#a3d8f5; --accento-tinta:#0d2b3d; --fuoco:#7cc8f0;
  --ottone:#d0aa60; --ottone-fondo:#2e2a20;
  --ok:#6fbf8a; --avviso:#d3a94a; --critico:#e08a7f;
  --ombra-s:0 1px 2px rgba(0,0,0,.35);
  --ombra-m:0 2px 4px rgba(0,0,0,.3),0 14px 30px -14px rgba(0,0,0,.55);
}

/* ---------- 2. BASE (metriche del font di sistema) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--testata-h) + 16px)}
body{margin:0;background:var(--carta);color:var(--inchiostro);font-family:var(--sans);font-size:1rem;line-height:1.62}
@media (min-width:960px){body{font-size:1.0625rem}}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.2;letter-spacing:0;text-wrap:balance}
h1{font-size:clamp(2rem,1.45rem + 2.1vw,3.1rem);font-weight:750;letter-spacing:-.025em;line-height:1.1}
h2{font-size:clamp(1.5rem,1.25rem + 1vw,2rem);font-weight:720;letter-spacing:-.018em;line-height:1.18}
h3{font-size:1.125rem;font-weight:680;letter-spacing:-.012em;line-height:1.3}
p{margin:0;text-wrap:pretty}
p + p{margin-top:.8em}
a{color:var(--accento);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{color:var(--accento-forte)}
:focus-visible{outline:2px solid var(--marchio);outline-offset:3px;border-radius:3px}
ul,ol{margin:0;padding:0}
img{max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}
th{text-align:left}
figure,blockquote,dl,dd{margin:0}
code,.mono{font-family:var(--mono);font-size:.94em}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--marchio);color:var(--marchio-testo);padding:10px 16px;font-weight:600;text-decoration:none}
.skip:focus{left:0}
.solo-mobile{display:none}
@media (max-width:699px){.solo-mobile{display:block}.solo-desktop{display:none !important}}

/* ---------- 3. LAYOUT E SUPERFICI: pagina grigia chiarissima, testata e chiusura bianche ---------- */
.contenitore{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.griglia{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:28px}
.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
@media (max-width:959px){.c4,.c5,.c6,.c7,.c8{grid-column:span 12}}
.sezione{padding:clamp(44px,6vw,76px) 0}
.sezione-testa{max-width:var(--misura);margin-bottom:28px}
.sezione-testa h2{margin-bottom:10px}
.sommario{font-size:1.125rem;line-height:1.55;color:var(--attenuato);max-width:var(--misura)}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accento);margin-bottom:12px}
.nota{font-size:.9rem;line-height:1.55;color:var(--attenuato);max-width:58ch}
.testo{max-width:var(--misura)}
.testo ul{padding-left:1.2em}
.azioni{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px}
.apertura,.testata-pagina{background:var(--superficie);border-bottom:1px solid var(--riga)}
.chiusura{background:var(--superficie);border-top:1px solid var(--riga);border-bottom:1px solid var(--riga)}
/* card: oggetti autonomi (elenco esplicito, non «tutto in card») */
.card,.apertura .c5,.ambito,.report,.modulo-v2,.contatti-dati,.recapiti,.indice-settori li,.scheda-orizzontale > div,
.avviso-riga,.confronto.schede > div,.situazioni-griglia .confronto > div,.linea-tempo,.dettaglio,.presidio .livello,
.nota-laterale,.schema-esempio,.catena,.domande details,.percorsi{
  background:var(--superficie);border:1px solid var(--riga);border-radius:var(--raggio);box-shadow:var(--ombra-s)}
.card{padding:22px 24px 8px;align-self:start}
.card .scheda-titolo{margin-bottom:8px}
.card .scheda{border-top:0}

/* ---------- 4. COMPONENTI COMUNI ---------- */
.btn-primario{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:12px 22px;
  background:var(--marchio);color:var(--marchio-testo);border:1px solid var(--marchio);border-radius:var(--raggio-s);
  font:600 .98rem var(--sans);text-decoration:none;cursor:pointer;line-height:1.2;box-shadow:var(--ombra-s)}
.btn-primario:hover{background:var(--marchio-scuro);border-color:var(--marchio-scuro);color:var(--marchio-testo);box-shadow:var(--ombra-m)}
.btn-secondario{display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:10px 16px;border:1px solid var(--riga-forte);border-radius:var(--raggio-s);
  background:var(--superficie);color:var(--inchiostro);font-weight:600;text-decoration:none}
.btn-secondario:hover{border-color:var(--accento);color:var(--accento-forte);text-decoration:none}
.btn-secondario.freccia::after{color:var(--accento)}
.freccia::after{content:" \2192"}
@media (max-width:479px){.azioni .btn-primario{width:100%}}

/* intestazione: fissa, superficie bianca, ombra sottile, navigazione grigia */
.testata-sito{position:sticky;top:0;z-index:40;background:var(--superficie);border-bottom:1px solid var(--riga);box-shadow:var(--ombra-s)}
.testata-sito .barra{display:flex;align-items:center;gap:28px;min-height:var(--testata-h)}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:44px;width:auto;display:block}
.nav-principale{margin-left:auto}
.nav-principale ul{display:flex;gap:22px;list-style:none}
.nav-principale a{display:inline-block;color:var(--attenuato);text-decoration:none;font-size:.95rem;padding:8px 2px;border-bottom:2px solid transparent}
.nav-principale a:hover{color:var(--inchiostro)}
.nav-principale a.evidenza{color:var(--accento-forte);font-weight:600;border-bottom-color:var(--marchio)}
.telefono-testata{font-weight:600;color:var(--inchiostro);text-decoration:none;white-space:nowrap;font-size:.95rem}
.telefono-testata span{font-weight:400;color:var(--attenuato)}
@media (max-width:1099px){.telefono-testata{display:none}}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;
  border:1px solid var(--riga-forte);border-radius:var(--raggio-s);font-weight:600;font-size:.95rem}
.menu summary::-webkit-details-marker{display:none}
.menu summary .barre{display:inline-flex;flex-direction:column;gap:3px}
.menu summary .barre i{display:block;width:16px;height:2px;background:currentColor}
.menu[open] summary{border-color:var(--accento);color:var(--accento-forte)}
.menu .pannello{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--superficie);border-top:1px solid var(--riga);
  border-bottom:2px solid var(--marchio);padding:6px 0 10px;max-height:calc(100dvh - var(--testata-h) - 8px);overflow-y:auto;box-shadow:var(--ombra-m)}
.menu .pannello ul{list-style:none}
.menu .pannello a{display:block;padding:12px clamp(16px,4vw,48px);color:var(--inchiostro);text-decoration:none;border-bottom:1px solid var(--riga)}
.menu .pannello a.evidenza{color:var(--accento-forte);font-weight:600}
.menu .pannello a:hover,.menu .pannello a:focus{background:var(--superficie-2)}
.menu .pannello .tel{display:block;padding:12px clamp(16px,4vw,48px) 4px;font-size:.9rem;color:var(--attenuato)}
@media (max-width:959px){.nav-principale{display:none}.menu{display:block}.testata-sito .barra{position:relative}}

/* scheda dati (termine/valore): dentro le card senza riga superiore */
.scheda-titolo{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accento);margin-bottom:8px}
.scheda{border-top:2px solid var(--inchiostro)}
.scheda > div{display:grid;grid-template-columns:minmax(7.5rem,36%) 1fr;gap:4px 14px;padding:11px 0;border-bottom:1px solid var(--riga)}
.scheda > div:last-child{border-bottom:0}
.scheda dt{font-size:.85rem;color:var(--etichetta);padding-top:2px}
.scheda dd{font-size:1rem;color:var(--inchiostro);line-height:1.45}
.scheda dd .sub{display:block;font-size:.875rem;color:var(--attenuato)}
.scheda dd a{font-weight:600}
.scheda dd,.scheda dd a{overflow-wrap:anywhere}
@media (max-width:699px){
  .scheda > div{padding:8px 0}
  .scheda-compatta > div{grid-template-columns:minmax(6.5rem,34%) 1fr}
  .scheda-compatta dd .sub{display:inline;color:var(--attenuato)}
  .scheda-compatta dd .sub::before{content:"\00b7";margin:0 .35em 0 .3em;color:var(--attenuato)}
  .scheda-compatta dd{overflow-wrap:normal}
}
@media (max-width:359px){.scheda > div{grid-template-columns:1fr;gap:0}}
.scheda-segue{margin-top:12px;max-width:none}
.apertura .c5 .scheda-segue{margin:10px 0 8px}

/* mappa di ambiti: card bianche; la composizione dipende dalla pagina (home 2+3, /servizi/ 3×2, altrove terzi uguali) */
.mappa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ambito{padding:24px 26px 26px;display:flex;flex-direction:column}
.ambito h3{font-size:1.2rem;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid var(--marchio);align-self:flex-start}
.ambito ul{list-style:none;color:var(--inchiostro-2);font-size:1rem;line-height:1.5;display:flex;flex-direction:column;gap:4px}
.ambito .descrizione{margin-top:10px;font-size:.95rem;color:var(--inchiostro-2)}
.ambito > a{display:inline-block;margin-top:auto;padding-top:14px;font-weight:600;align-self:flex-start}
.ambito.inoltre{background:var(--superficie-2);box-shadow:none;border-color:transparent}
.ambito.inoltre h3{font-size:1rem;color:var(--etichetta);font-weight:600;margin-bottom:12px;border-bottom:0;padding-bottom:0}
.ambito.inoltre p{font-size:1rem;color:var(--inchiostro-2)}
.ambito.inoltre p + p{margin-top:10px}
.ambito.inoltre a{font-weight:600}
.mappa-home .ambito.inoltre{grid-column:1 / -1;display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(0,1fr);gap:8px 32px;align-items:start;padding:18px 24px 20px}
.mappa-home .ambito.inoltre h3{grid-row:1 / 3;margin:0;padding-top:2px}
.mappa-home .ambito.inoltre .voce{margin:0}
.mappa-home .ambito.inoltre .tutti{grid-column:2 / -1;margin:2px 0 0}
@media (max-width:959px){.mappa-home .ambito.inoltre{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mappa-home .ambito.inoltre h3{grid-row:auto;grid-column:1 / -1}.mappa-home .ambito.inoltre .tutti{grid-column:1 / -1}}
@media (max-width:599px){.mappa-home .ambito.inoltre{display:block;padding:16px}.mappa-home .ambito.inoltre .voce + .voce{margin-top:10px}.mappa-home .ambito.inoltre .tutti{margin-top:10px}}
.mappa-home{grid-template-columns:repeat(6,minmax(0,1fr))}
.mappa-home .ambito{grid-column:span 2}
.mappa-home .ambito:nth-child(1),.mappa-home .ambito:nth-child(2){grid-column:span 3}
.mappa-home .ambito:nth-child(1) h3,.mappa-home .ambito:nth-child(2) h3{font-size:clamp(1.3rem,1.1rem + .7vw,1.55rem)}
/* /servizi/: sei famiglie in 3×2; le due infrastrutturali (cloud, backup) con un filetto d'accento, stessa misura */
.mappa-sei .ambito:nth-child(-n+2){border-top:3px solid var(--marchio)}
.perimetro-nota{margin-top:18px;padding:12px 16px;background:var(--superficie-2);border-radius:var(--raggio-s);font-size:.9rem;line-height:1.55;color:var(--attenuato);max-width:none}
@media (max-width:959px){
  .mappa,.mappa-home{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mappa-home .ambito,.mappa-home .ambito:nth-child(1),.mappa-home .ambito:nth-child(2){grid-column:span 1}
}
@media (max-width:599px){.mappa,.mappa-home{grid-template-columns:1fr;gap:10px}}

/* fasi: righe editoriali (titolo a sinistra, testo a destra) */
.fasi{list-style:none;border-top:1px solid var(--riga-forte)}
.fasi li{display:grid;grid-template-columns:8.5rem 1fr;gap:4px 20px;padding:14px 0;border-bottom:1px solid var(--riga)}
.fasi h3{font-size:1rem;grid-row:1 / 3;padding-top:2px}
.fasi p{font-size:.95rem;color:var(--inchiostro-2)}
.fasi .ricevete{font-size:.9rem;color:var(--attenuato);margin-top:4px}
.fasi .ricevete b{color:var(--inchiostro-2);font-weight:600}
@media (max-width:479px){.fasi li{grid-template-columns:1fr;padding:10px 0;gap:2px}.fasi h3{grid-row:auto}
  .fasi li p{display:inline}.fasi .ricevete{margin-top:0}.fasi .ricevete::before{content:" "}}
/* nota laterale (chi siamo): card di testo */
.nota-laterale{padding:20px 22px 22px;font-size:.9rem;line-height:1.55;color:var(--inchiostro-2)}
.nota-laterale h3{font-size:1rem;margin:0}
.nota-laterale dl{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.nota-laterale dt{font-weight:600;color:var(--inchiostro)}
.nota-laterale dd{color:var(--inchiostro-2)}
.nota-laterale .fine{margin-top:14px;font-size:.85rem;color:var(--attenuato)}
@media (min-width:960px){.nota-laterale{margin-top:30px}}
@media (max-width:959px){.nota-laterale{margin-top:4px}}

/* grande riga tipografica (variazione editoriale, non un banner) */
.riga-grande{margin-top:clamp(20px,4vw,40px);padding:clamp(22px,4vw,44px) 0 0}
.riga-grande p:first-child{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.4rem);font-weight:700;letter-spacing:-.018em;line-height:1.2;max-width:24ch;text-wrap:balance}
.riga-grande .seguito{margin-top:14px;font-size:1.0625rem;color:var(--inchiostro-2);max-width:var(--misura)}

/* esempio di sintesi di verifica: documento in card, testata su superficie grigia */
.report{max-width:640px;box-shadow:var(--ombra-m);overflow:hidden}
.report-testata{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px 12px;background:var(--superficie-2);border-bottom:1px solid var(--riga)}
.report-titolo{font-weight:600}
.report-meta{font-size:.85rem;color:var(--attenuato);margin-top:2px}
.esempio{display:inline-block;flex:none;font:400 .75rem var(--mono);letter-spacing:.02em;color:var(--ottone);border:1px solid var(--ottone);border-radius:var(--raggio-xs);padding:3px 8px;white-space:nowrap}
.report table{font-size:.95rem}
.report th[scope="rowgroup"]{padding:12px 20px 4px;font-size:.85rem;font-weight:600;color:var(--etichetta);border-top:1px solid var(--riga)}
.report tbody:first-of-type th[scope="rowgroup"]{border-top:0}
.report th[scope="row"]{font-weight:400;color:var(--inchiostro-2);padding:6px 12px 6px 20px;width:46%}
.report td{padding:6px 12px 6px 0;vertical-align:top}
.report td.valore{font-family:var(--mono);font-size:.875rem;color:var(--inchiostro)}
.report td.st{padding-right:20px;text-align:right;white-space:nowrap}
.report tbody tr:last-child th,.report tbody tr:last-child td{padding-bottom:12px}
.stato{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600}
.stato .segno{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border:1.5px solid currentColor;border-radius:50%;font:600 .7rem var(--mono);line-height:1}
.st-ok{color:var(--ok)}.st-attenzione{color:var(--avviso)}.st-critico{color:var(--critico)}
.st-dato{font-size:.85rem;color:var(--attenuato)}
.report figcaption{padding:12px 20px 16px;font-size:.875rem;line-height:1.5;color:var(--attenuato);border-top:1px solid var(--riga)}
.priorita{padding-left:1.3em;color:var(--inchiostro-2);font-size:.95rem;display:flex;flex-direction:column;gap:6px}
@media (max-width:479px){
  .report-testata{flex-direction:column;align-items:flex-start;gap:8px}
  .esempio{white-space:normal}
  .report tr{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:6px 16px;border-bottom:1px solid var(--riga)}
  .report th[scope="row"]{grid-column:1 / -1;width:auto;padding:0}
  .report th[scope="rowgroup"]{padding:10px 0 2px}
  .report td,.report td.st{padding:0}
  .report tbody tr:last-child th,.report tbody tr:last-child td{padding-bottom:0}
}

/* confronto: righe editoriali (default) oppure card affiancate (.schede) */
.confronto{border-top:2px solid var(--inchiostro)}
.confronto > div{padding:16px 0;border-bottom:1px solid var(--riga)}
.confronto dt{font-weight:600;font-size:1.0625rem}
.confronto dd{margin-top:8px;color:var(--inchiostro-2);font-size:1rem}
.confronto.schede{border-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.confronto.schede > div{padding:20px 22px}
/* situazioni (home): tre contenitori, ciascuno con due situazioni (coppie formate via CSS, nessun raggruppamento nuovo) */
.situazioni-griglia{display:grid;grid-template-columns:1fr;grid-template-areas:"testa" "righe" "fornitore";row-gap:24px}
.situazioni-griglia .testa{grid-area:testa;max-width:var(--misura)}
.situazioni-griglia .righe{grid-area:righe}
.situazioni-griglia .fornitore{grid-area:fornitore;max-width:74ch}
.situazioni-griglia .confronto{border-top:0;display:grid;grid-template-columns:1fr;gap:0}
.situazioni-griglia .confronto > div{display:block;padding:18px 22px;box-shadow:none}
.situazioni-griglia .confronto dd{grid-column:auto;margin-top:8px;font-size:1rem}
.situazioni-griglia .confronto > div:nth-child(odd){border-bottom-left-radius:0;border-bottom-right-radius:0}
.situazioni-griglia .confronto > div:nth-child(even){border-top-left-radius:0;border-top-right-radius:0;border-top:0;background:var(--superficie);margin-bottom:14px}
.situazioni-griglia .confronto > div:last-child{margin-bottom:0}
@media (min-width:900px){
  .situazioni-griglia .confronto{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;grid-auto-flow:column;column-gap:16px}
  .situazioni-griglia .confronto > div:nth-child(even){margin-bottom:0}
}
.fornitore h3{margin-bottom:8px}
.fornitore p{font-size:.95rem;color:var(--inchiostro-2)}

/* certificazioni come documenti: tabella su superficie bianca, citazione dello scopo */
.documenti{font-size:.95rem;border-top:2px solid var(--ottone);background:var(--superficie)}
.documenti th,.documenti td{padding:10px 14px;border-bottom:1px solid var(--riga);vertical-align:top}
.documenti thead th{font-size:.8rem;color:var(--etichetta);font-weight:600}
.documenti tbody th{font-weight:600}
.documenti .sub{display:block;font-size:.85rem;color:var(--attenuato);font-weight:400}
.documenti .mono{font-size:.875rem;white-space:nowrap}
@media (max-width:699px){
  .documenti thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .documenti tr{display:block;padding:12px 14px;border-bottom:1px solid var(--riga)}
  .documenti th,.documenti td{display:block;border:0;padding:2px 0}
  .documenti td.ente{display:none}
  .documenti td::before{content:attr(data-label) ": ";color:var(--etichetta);font-size:.8rem}
}
.documento{margin-top:28px;padding:16px 20px;border-left:3px solid var(--ottone);background:var(--superficie);border-radius:var(--raggio-s);box-shadow:var(--ombra-s);max-width:74ch}
.documento q{quotes:"\00ab" "\00bb";display:block;font-size:1.0625rem;line-height:1.55}
.documento .fonte{display:block;margin-top:10px;font-size:.85rem;color:var(--attenuato)}
@media (max-width:699px){.documento{margin-top:20px;padding:12px 16px}.documento q{font-size:1rem}}

/* settori (indice in home): card leggere 2+2; avviso editoriale in card con filetto d'accento */
.indice-settori{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.indice-settori li{padding:18px 20px;font-size:1rem;color:var(--inchiostro-2)}
.indice-settori a{font-weight:600}
@media (max-width:599px){.indice-settori{grid-template-columns:1fr;gap:12px}}
.avviso-riga{margin-top:36px;padding:18px 22px;border-left:4px solid var(--ottone)}
.avviso-riga .etichetta{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ottone);margin-bottom:4px}
.avviso-riga .titolo{font-weight:600}
.avviso-riga p + p{margin-top:6px;font-size:.95rem;color:var(--inchiostro-2)}
.avviso-riga a.freccia{display:inline-block;margin-top:8px;font-weight:600}
.avviso-riga.critico{border-left-color:var(--critico)}
.avviso-riga.critico .etichetta{color:var(--critico)}
.avviso-riga.critico .titolo{font-size:1.125rem}
.avviso-riga.critico p + p{font-size:1rem;color:var(--inchiostro)}

/* modulo: card con campi su fondo grigio chiaro */
.modulo-v2{padding:22px 24px 24px}
.modulo-v2 h2{font-size:1.25rem;margin-bottom:4px}
.modulo-v2 h3{margin-bottom:4px}
.form{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:.9rem;font-weight:600;color:var(--inchiostro-2)}
.field input,.field textarea,.field select{font:inherit;color:var(--inchiostro);background:var(--carta);border:1px solid var(--riga-forte);
  border-radius:var(--raggio-s);padding:10px 12px;min-height:44px;width:100%;min-width:0}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--fuoco);outline-offset:1px;border-color:var(--accento);background:var(--superficie)}
.form button{width:100%}
.form-req{font-size:.85rem;color:var(--attenuato)}
.privacy{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--inchiostro-2)}
.privacy input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--accento)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-msg{font-size:.95rem;margin-top:4px}
.form-msg.ok{color:var(--ok);font-weight:600}
.form-msg.err{color:var(--critico);font-weight:600}
@media (max-width:520px){.frow{grid-template-columns:1fr}}
.contatti-dati,.recapiti{padding:22px 24px 8px;align-self:start}
.contatti-dati .scheda,.recapiti .scheda{border-top:0}
.recapiti .scheda dd .sub{display:block}
@media (max-width:399px){.recapiti .scheda > div{grid-template-columns:minmax(5.5rem,30%) 1fr}}
.gia-clienti{margin-top:22px;font-size:.95rem;color:var(--inchiostro-2)}

/* piè di pagina: superficie bianca con filetto */
.pie{background:var(--superficie);border-top:1px solid var(--riga);margin-top:0;padding:36px 0 28px;font-size:.9rem}
.pie .colonne{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.pie h3{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--etichetta);margin-bottom:10px}
.pie ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.pie a{color:var(--inchiostro-2);text-decoration:none}
.pie a:hover{color:var(--accento);text-decoration:underline}
.pie .marca p{color:var(--inchiostro-2);max-width:34ch;margin-top:10px}
.pie-legale{margin-top:28px;padding-top:16px;border-top:1px solid var(--riga);display:flex;flex-wrap:wrap;gap:6px 24px;font-size:.85rem;color:var(--attenuato)}
.pie-legale a{color:var(--attenuato);text-decoration:underline}
.aiuti{margin-top:12px;font-size:.8rem;line-height:1.5;color:var(--attenuato);max-width:92ch}
@media (max-width:767px){
  .pie{padding:28px 0 22px}
  .pie .colonne{grid-template-columns:1fr 1fr;gap:18px 22px;grid-template-areas:"marca marca" "servizi azienda" "servizi clienti"}
  .pie .marca{grid-area:marca}
  .pie nav:nth-of-type(1){grid-area:servizi}
  .pie nav:nth-of-type(2){grid-area:azienda}
  .pie nav:nth-of-type(3){grid-area:clienti}
  .pie-legale{margin-top:20px;padding-top:12px;gap:4px 18px}
}
@media (max-width:359px){.pie .colonne{grid-template-columns:1fr;grid-template-areas:"marca" "servizi" "azienda" "clienti"}}

/* banner consenso (markup, testi, pulsanti e logica invariati: solo veste) */
.cban{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--superficie);border-top:1px solid var(--riga);box-shadow:0 -6px 24px -12px rgba(30,37,40,.25)}
.cban[hidden]{display:none}
.cban-in{max-width:1200px;margin:0 auto;padding:10px clamp(16px,4vw,48px) 11px;display:flex;gap:8px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cban-txt{font-size:.8125rem;line-height:1.45;color:var(--inchiostro-2);max-width:80ch}
.cban-txt b{color:var(--inchiostro)}
.cban-btn{display:flex;gap:8px;flex-shrink:0}
.btn-ghost{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--riga-forte);border-radius:var(--raggio-s);background:transparent;color:var(--inchiostro);font:600 .9rem var(--sans);cursor:pointer}
.btn-ghost:hover{border-color:var(--accento);color:var(--accento-forte)}
.cban-btn .btn-primario{min-height:40px;padding:6px 14px;font-size:.9rem}
@media (max-width:600px){
  .cban-in{padding:8px 14px 10px;gap:6px}
  .cban-txt{font-size:.75rem;line-height:1.35;max-width:none}
  .cban-btn{width:100%}
  .cban-btn button,.cban-btn .btn-primario,.cban-btn .btn-ghost{flex:1;min-height:44px}
}

/* ---------- 5. HOME ---------- */
/* 1b. VOUCHER IN EVIDENZA — componente temporaneo (fase 16): rimuovere questo blocco CSS insieme alla <section class="evidenza-voucher"> della home */
.evidenza-voucher{padding:clamp(24px,3.5vw,40px) 0 0}
.evidenza-voucher + .sezione{padding-top:clamp(36px,4.5vw,56px)}
.evidenza{background:var(--superficie);border:1px solid var(--riga);border-left:4px solid var(--ottone);border-radius:var(--raggio);
  box-shadow:var(--ombra-m);padding:clamp(20px,2.6vw,30px) clamp(18px,3vw,32px) clamp(18px,2.4vw,26px)}
.evidenza .etichetta{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ottone);margin-bottom:8px}
.evidenza h2{font-size:clamp(1.35rem,1.15rem + .9vw,1.75rem)}
.evidenza .sommario{margin-top:8px;font-size:1.0625rem;color:var(--inchiostro-2)}
.evidenza .sommario .ident{display:block;margin-top:2px;font-size:.875rem;color:var(--attenuato)}
.evidenza .dati-chiave{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  background:var(--carta);border:1px solid var(--riga);border-radius:var(--raggio-s)}
.evidenza .dati-chiave li{padding:12px 16px;border-left:1px solid var(--riga);display:flex;flex-direction:column;gap:1px;min-width:0}
.evidenza .dati-chiave li:first-child{border-left:0}
.evidenza .dati-chiave strong{font-size:clamp(1.45rem,1.2rem + .8vw,1.8rem);font-weight:720;letter-spacing:-.02em;line-height:1.15;color:var(--inchiostro)}
.evidenza .dati-chiave span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--etichetta)}
.evidenza .dati-chiave small{font-size:.8rem;line-height:1.35;color:var(--attenuato)}
.evidenza .azioni{margin-top:18px;gap:10px 22px}
.evidenza .azioni a.freccia{font-weight:600}
.evidenza .nota{margin-top:12px;max-width:none;font-size:.85rem}
@media (max-width:959px){
  .evidenza .dati-chiave{grid-template-columns:repeat(2,minmax(0,1fr))}
  .evidenza .dati-chiave li:nth-child(2n+1){border-left:0}
  .evidenza .dati-chiave li:nth-child(n+3){border-top:1px solid var(--riga)}
}
@media (max-width:599px){
  .evidenza-voucher{padding-top:18px}
  .evidenza{padding:18px 16px 16px}
  .evidenza .sommario{font-size:1rem}
  .evidenza .dati-chiave{margin-top:14px}
  .evidenza .dati-chiave li{padding:10px 12px}
  .evidenza .azioni{margin-top:14px}
  .evidenza .azioni .btn-primario{width:100%}
}
.apertura{padding:clamp(44px,6.5vw,80px) 0 clamp(40px,5.5vw,64px)}
.apertura h1{max-width:22ch}
.apertura .sommario{margin-top:18px}
.apertura .nota{margin-top:14px}
.apertura .c5{padding:22px 24px 8px;align-self:start}
.apertura .scheda{border-top:0}
@media (max-width:599px){
  .apertura{padding:26px 0 28px}
  .apertura h1{font-size:1.85rem;line-height:1.14;letter-spacing:-.018em;max-width:none}
  .apertura .sommario{font-size:1.0625rem;margin-top:12px}
}
@media (max-width:374px){.apertura h1{font-size:1.7rem;line-height:1.16}}

/* ---------- 6. PAGINE INTERNE ---------- */
.crumb{font-size:.875rem;color:var(--etichetta);margin-bottom:14px}
.crumb a{color:var(--etichetta)}
.crumb a:hover{color:var(--accento)}
.testata-pagina{padding:clamp(32px,5vw,56px) 0 clamp(28px,4vw,44px)}
.testata-pagina h1{max-width:24ch}
.testata-pagina .sommario{margin-top:16px}
.testata-pagina .nota{margin-top:14px}
.testata-pagina .nota + .nota{margin-top:6px}
.testata-pagina .kicker{margin-bottom:8px}
.testata-pagina .azioni{margin-top:22px}
.recapiti-rapidi{display:none;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:18px;font-size:.95rem;color:var(--inchiostro-2)}
.sezione-testa .recapiti-rapidi{margin-top:16px}
.recapiti-rapidi a:not(.btn-secondario){font-weight:600}
@media (max-width:959px){.recapiti-rapidi{display:flex}}
@media (max-width:599px){.testata-pagina{padding:22px 0 24px}.testata-pagina h1{font-size:1.85rem;line-height:1.14;letter-spacing:-.018em;max-width:none}}
/* scheda orizzontale: poche voci in card affiancate (chi siamo, settori, landing, cifre del bando) */
.scheda-orizzontale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.scheda-orizzontale > div{padding:18px 20px}
.scheda-orizzontale dt{font-size:.875rem;color:var(--etichetta)}
.scheda-orizzontale dd{font-size:1.0625rem;color:var(--inchiostro);line-height:1.4;margin-top:2px}
.scheda-orizzontale dd .sub{display:block;font-size:.875rem;color:var(--attenuato)}
.scheda-orizzontale dd .mono{font-size:.85em;white-space:normal;overflow-wrap:anywhere}
.scheda-orizzontale.cifre dd{font-size:clamp(1.25rem,1rem + .9vw,1.6rem);line-height:1.2;color:var(--accento-forte)}
@media (max-width:767px){.scheda-orizzontale{grid-template-columns:1fr 1fr;gap:12px}}
@media (max-width:379px){.scheda-orizzontale{grid-template-columns:1fr}}
/* righe editoriali generiche: titolo + testo, separate da filetti (nessuna cornice) */
.righe{border-top:2px solid var(--inchiostro)}
.righe > div{display:grid;grid-template-columns:minmax(10rem,30%) 1fr;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--riga)}
.righe dt,.righe h3{font-weight:600;font-size:1.0625rem;line-height:1.35}
.righe dd,.righe p{color:var(--inchiostro-2);font-size:1rem}
.righe dd{grid-column:2}
.righe dd + dd{margin-top:2px}
.righe dd.rimedio{color:var(--inchiostro);margin-top:6px}
.righe dt .sub{display:block;font-weight:400;font-size:.875rem;color:var(--attenuato)}
.righe dd a,.righe dt a{font-weight:600}
.righe.strette > div{grid-template-columns:minmax(8rem,22%) 1fr}
@media (max-width:599px){.righe > div,.righe.strette > div{grid-template-columns:1fr;gap:4px 0;padding:12px 0}.righe dd{grid-column:auto}}
/* linea del tempo: card contenitore, anno a sinistra */
.linea-tempo{list-style:none;padding:8px 24px}
.linea-tempo li{display:grid;grid-template-columns:7rem 1fr;gap:4px 24px;padding:14px 0;border-bottom:1px solid var(--riga)}
.linea-tempo li:last-child{border-bottom:0}
.linea-tempo .anno{font-family:var(--mono);font-size:.95rem;color:var(--inchiostro-2);padding-top:3px;font-variant-numeric:tabular-nums}
.linea-tempo h3{font-size:1.0625rem}
.linea-tempo p{color:var(--inchiostro-2);font-size:1rem;margin-top:4px}
@media (max-width:479px){.linea-tempo li{grid-template-columns:1fr;gap:2px 0}}
/* regole numerate: numeri normali, non decorativi */
.regole{list-style:none;counter-reset:regola;border-top:2px solid var(--inchiostro)}
.regole li{counter-increment:regola;display:grid;grid-template-columns:2.5rem 1fr;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--riga)}
.regole li::before{content:counter(regola) ".";font-weight:600;color:var(--etichetta);grid-row:1 / 3;padding-top:2px}
.regole h3{font-size:1.0625rem}
.regole p{color:var(--inchiostro-2);font-size:.95rem;margin-top:4px}
/* tabella tecnica generica: resta una tabella, su superficie bianca */
.tec{font-size:.95rem;border-top:2px solid var(--inchiostro);background:var(--superficie)}
.tec.ottone{border-top-color:var(--ottone)}
.tec th,.tec td{padding:10px 14px;border-bottom:1px solid var(--riga);vertical-align:top}
.tec thead th{font-size:.8rem;color:var(--etichetta);font-weight:600}
.tec tbody th{font-weight:600;color:var(--inchiostro)}
.tec td{color:var(--inchiostro-2)}
.tec .mono{font-size:.875rem;white-space:nowrap}
.tec .sub{display:block;font-size:.85rem;color:var(--attenuato);font-weight:400}
.tec ul{list-style:none;display:flex;flex-direction:column;gap:3px}
.tec .num{white-space:nowrap}
.tec caption.visibile{text-align:left;font-weight:600;padding:8px 0 10px;color:var(--inchiostro);caption-side:top}
.tec caption.visibile .mono{font-weight:400;color:var(--etichetta);margin-right:8px}
.tec + .tec{margin-top:24px}
@media (max-width:699px){
  .tec thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tec tr{display:block;padding:12px 14px;border-bottom:1px solid var(--riga)}
  .tec th,.tec td{display:block;border:0;padding:2px 0}
  .tec td::before{content:attr(data-label) ": ";color:var(--etichetta);font-size:.8rem}
  .tec td.senza::before{content:none}
  .tec .mono{white-space:normal;overflow-wrap:anywhere}
  .tec tbody th{font-size:1rem;padding:0 0 4px}
  .tec td{padding:3px 0;font-size:.925rem}
  .documenti tbody th{font-size:1.0625rem;padding:0 0 6px;line-height:1.3}
  .documenti tbody th .sub{margin-top:2px}
  .documenti td{padding:3px 0;font-size:.95rem}
  .documenti td .mono{white-space:normal;overflow-wrap:anywhere}
  .righe.strette dd,.righe dd{font-size:.95rem}
}
/* impronte SHA-256 e metadati dei download */
.impronte{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:baseline;margin-top:10px}
.impronte dt{font-weight:600;font-size:.9rem;white-space:nowrap}
.impronte dd{font-family:var(--mono);font-size:.8rem;color:var(--inchiostro-2);overflow-wrap:anywhere;line-height:1.5}
@media (max-width:599px){.impronte{grid-template-columns:1fr;gap:2px}.impronte dt{margin-top:8px}.impronte dd{font-size:.75rem}}
code.cmd{background:var(--superficie-2);border:1px solid var(--riga);padding:1px 6px;border-radius:var(--raggio-xs);font-size:.85em}
/* blocchi settore (indice settori): testa a sinistra, corpo a destra, filetti; non un catalogo di card */
.blocco-settore{display:grid;grid-template-columns:5fr 7fr;column-gap:48px;row-gap:16px;padding:clamp(24px,4vw,40px) 0;border-top:1px solid var(--riga-forte)}
.blocco-settore:first-of-type{border-top:2px solid var(--inchiostro)}
.blocco-settore .bs-testa h2{margin:8px 0 10px}
.blocco-settore .bs-testa .kicker{margin-bottom:0}
.blocco-settore .bs-testa .sommario{font-size:1.0625rem}
.blocco-settore .bs-corpo{display:flex;flex-direction:column;gap:18px}
.blocco-settore .bs-corpo h3{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--etichetta);margin-bottom:8px}
.blocco-settore .bs-corpo p{color:var(--inchiostro-2);font-size:1rem}
.blocco-settore ul{list-style:none;display:flex;flex-direction:column;gap:6px;color:var(--inchiostro-2);font-size:1rem}
.blocco-settore ul li{padding-left:1.1em;text-indent:-1.1em}
.blocco-settore ul li::before{content:"\2013  ";color:var(--etichetta)}
.blocco-settore .bs-corpo > a{font-weight:600;align-self:flex-start}
.blocco-settore.origine .bs-testa{border-left:3px solid var(--marchio);padding-left:18px}
@media (max-width:899px){.blocco-settore{grid-template-columns:1fr;row-gap:12px}}
/* chiusura di pagina: una sola, su superficie bianca */
.chiusura{padding:clamp(32px,5vw,52px) 0 clamp(24px,4vw,40px)}
.chiusura h2{margin-bottom:10px}
.chiusura .sommario{max-width:60ch}

/* ---------- 7. PRESA IN CARICO E PRESIDIO (home): tre livelli su pannelli, nessun diagramma ---------- */
.presidio{margin-top:4px}
.presidio .livello{padding:22px 24px 24px}
.livello-etichetta{display:flex;align-items:baseline;gap:12px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accento);margin:0 0 14px;line-height:1.3}
.livello-etichetta .n{font-family:var(--sans);font-weight:400;color:var(--attenuato);font-size:.72rem;letter-spacing:0}
.giunzione{width:1px;height:22px;background:var(--riga-forte);margin:0 0 0 30px}
.ambiente{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;font-weight:600;
  font-size:clamp(1.2rem,1rem + .9vw,1.5rem);line-height:1.3;letter-spacing:-.005em;text-wrap:balance}
.ambiente li{display:inline-flex;align-items:center}
.ambiente li + li::before{content:"";display:inline-block;width:1px;height:.8em;background:var(--riga-forte);margin:0 .55em}
.livello-nota{margin-top:12px;font-size:.9rem;line-height:1.55;color:var(--attenuato);max-width:58ch}
.ambiti{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:40px;row-gap:0}
.ambiti > div{grid-column:span 2;border-top:1px solid var(--riga);padding:14px 0 22px}
.ambiti > div:nth-child(4),.ambiti > div:nth-child(5){grid-column:span 3}
.ambiti dt{font-weight:600;font-size:1.0625rem;margin-bottom:6px}
.ambiti dd{font-size:1rem;line-height:1.5;color:var(--inchiostro-2)}
.ambiti .responsabilita{grid-column:1 / -1;background:var(--superficie-2);border-top:0;border-radius:var(--raggio-s);padding:18px 20px;margin-top:8px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:40px;row-gap:0}
.ambiti .responsabilita dt{font-size:clamp(1.25rem,1.05rem + .7vw,1.5rem);grid-row:1 / 3;margin:0;line-height:1.2}
.ambiti .responsabilita dd{font-size:1.0625rem;color:var(--inchiostro)}
.ambiti .responsabilita dd.seguito{color:var(--inchiostro-2);font-size:.95rem;margin-top:8px}
.percorso{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;counter-reset:fase}
.percorso li{border-top:2px solid var(--marchio);padding-top:12px}
.percorso li::before{counter-increment:fase;content:counter(fase,decimal-leading-zero);display:block;font-family:var(--mono);font-size:.85rem;color:var(--attenuato);margin-bottom:8px}
.percorso h4,.percorso h3{font-size:1rem;margin:0 0 6px;line-height:1.3}
.percorso p{font-size:.9rem;line-height:1.5;color:var(--inchiostro-2)}
.percorso .ricevete{margin-top:6px;color:var(--attenuato)}
.percorso .ricevete b{color:var(--inchiostro-2);font-weight:600}
@media (max-width:959px){
  .ambiti{column-gap:32px}
  .ambiti > div,.ambiti > div:nth-child(4){grid-column:span 3}
  .ambiti > div:nth-child(5){grid-column:span 6}
  .percorso{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}
  .ambiti .responsabilita{grid-template-columns:1fr;row-gap:6px}
  .ambiti .responsabilita dt{grid-row:auto;margin-bottom:4px}
}
@media (max-width:699px){
  .presidio .livello{padding:14px 16px 16px}
  .giunzione{height:14px;margin-left:20px}
  .ambiente{font-size:1.125rem;gap:4px 0}
  .ambiente li + li::before{margin:0 .45em}
  .livello-etichetta{margin-bottom:10px}
  .ambiti > div,.ambiti > div:nth-child(4),.ambiti > div:nth-child(5){grid-column:span 6;padding:8px 0 10px}
  .ambiti .responsabilita{padding:12px 14px}
  .livello-nota{margin-top:8px}
  .percorso{grid-template-columns:1fr;row-gap:10px}
  .percorso li{padding-top:10px}
}
@media (max-width:479px){
  .ambiti dt{display:inline;margin:0 .35em 0 0}
  .ambiti dd{display:inline}
  .ambiti .responsabilita{display:block}
  .ambiti .responsabilita dt{display:block;margin:0 0 4px;font-size:1.25rem}
  .ambiti .responsabilita dd,.ambiti .responsabilita dd.seguito{display:block;margin-top:6px}
  .percorso li::before{display:inline;margin:0 .5em 0 0}
  .percorso h4,.percorso h3{display:inline}
  .percorso p{display:inline}
  .percorso h4::after,.percorso h3::after{content:"";display:block;height:4px}
  .percorso .ricevete{margin:0}
  .percorso .ricevete::before{content:" "}
}

/* ---------- 8. VERTICALI SERVIZI E SETTORI ---------- */
/* domande frequenti: una card per domanda, richiudibile, «+ / –» in CSS, nessuno script */
.domande{max-width:78ch;display:flex;flex-direction:column;gap:8px}
.domande summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:baseline;padding:12px 16px;font-weight:600;line-height:1.35;min-height:44px}
.domande summary::-webkit-details-marker{display:none}
.domande summary::before{content:"+";font-family:var(--mono);color:var(--accento);flex:none;width:1rem}
.domande details[open] summary::before{content:"\2013"}
.domande details:hover{border-color:var(--riga-forte)}
.domande details[open]{border-color:var(--riga-forte)}
.domande details > p{padding:0 16px 14px calc(16px + 1.75rem);color:var(--inchiostro-2);font-size:.95rem;line-height:1.55}
/* rimando ai servizi collegati: un rigo, non tre card */
.collegati{margin-top:20px;font-size:.9rem;color:var(--attenuato);max-width:74ch}
.collegati a{font-weight:600}
/* elenco a due colonne (sistemi, rischi, segnali): righe, nessuna cornice */
.elenco-due{list-style:none;columns:2;column-gap:40px;max-width:960px;border-top:2px solid var(--inchiostro);padding-top:4px}
.elenco-due li{break-inside:avoid;padding:8px 0;border-bottom:1px solid var(--riga);color:var(--inchiostro-2);font-size:1rem;line-height:1.5}
@media (max-width:699px){.elenco-due{columns:1}}
/* esempio di configurazione (cloud): una card con tre celle e una base */
.schema-esempio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;overflow:hidden}
.schema-esempio .se-cella{padding:18px 20px 20px;border-left:1px solid var(--riga)}
.schema-esempio .se-cella:first-child{border-left:0}
.schema-esempio .se-centro{background:var(--accento-tinta)}
.schema-esempio h3{font-size:1rem;margin-bottom:8px}
.schema-esempio h3 .sub{display:block;font-weight:400;font-size:.85rem;color:var(--attenuato)}
.schema-esempio ul{list-style:none;display:flex;flex-direction:column;gap:5px;font-size:.925rem;color:var(--inchiostro-2)}
.schema-esempio ul li{padding-left:1.1em;text-indent:-1.1em}
.schema-esempio ul li::before{content:"\2013  ";color:var(--etichetta)}
.schema-esempio .se-base{grid-column:1 / -1;border-top:1px solid var(--riga);background:var(--superficie-2);padding:12px 20px 14px;font-size:.925rem;color:var(--inchiostro-2)}
@media (max-width:699px){
  .schema-esempio{grid-template-columns:1fr}
  .schema-esempio .se-cella{border-left:0;border-top:1px solid var(--riga);padding:14px 16px}
  .schema-esempio .se-cella:first-child{border-top:0}
}
/* catena (centralino): una sola superficie con quattro scomparti, non quattro card uguali */
.catena{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.catena li{padding:18px 22px 20px}
.catena li + li{border-left:1px solid var(--riga)}
.catena h3{font-size:1rem;margin-bottom:6px}
.catena p{font-size:.925rem;line-height:1.5;color:var(--inchiostro-2)}
@media (max-width:959px){
  .catena{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catena li:nth-child(n+3){border-top:1px solid var(--riga)}
  .catena li:nth-child(3){border-left:0}
}
@media (max-width:599px){
  .catena{display:block}
  .catena li{padding:14px 16px}
  .catena li + li{border-left:0;border-top:1px solid var(--riga)}
}
/* blocchi richiudibili (certificazioni, bando): card */
.dettaglio{margin-top:28px;padding:6px 20px 14px}
.dettaglio summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:baseline;font-weight:600;font-size:1.125rem;line-height:1.3;min-height:44px;padding:12px 0 6px}
.dettaglio summary::-webkit-details-marker{display:none}
.dettaglio summary::before{content:"+";font-family:var(--mono);color:var(--accento);width:1rem;flex:none;font-weight:400}
.dettaglio[open] summary::before{content:"\2013"}
.dettaglio > :not(summary){margin-top:10px}
@media (max-width:699px){.dettaglio{padding:4px 14px 12px}}

/* ---------- 9. PAGINE SPECIALI: documenti legali, politica, bando, 404 ---------- */
.articolo{max-width:var(--misura)}
.articolo h2{margin-top:clamp(28px,4vw,44px);padding-top:14px;border-top:1px solid var(--riga);display:flex;gap:14px;align-items:baseline}
.articolo h2 .n{font-family:var(--mono);font-weight:400;font-size:.85em;color:var(--etichetta);flex:none;min-width:1.6em}
.articolo h3{margin-top:22px;font-size:1.0625rem}
.articolo p,.articolo li{color:var(--inchiostro-2)}
.articolo p{margin-top:.8em}
.articolo h2 + p,.articolo h3 + p{margin-top:.6em}
.articolo ul{list-style:none;margin-top:.6em;display:flex;flex-direction:column;gap:6px}
.articolo ul li{padding-left:1.1em;text-indent:-1.1em}
.articolo ul li::before{content:"\2013  ";color:var(--etichetta)}
.articolo li b,.articolo p b{color:var(--inchiostro)}
.articolo .tec{margin-top:14px;font-size:.925rem}
.articolo .tec th,.articolo .tec td{padding:8px 14px}
.articolo .scheda{margin-top:12px;max-width:40ch}
.articolo .avviso-riga{margin-top:14px;max-width:none}
.articolo .avviso-riga p{margin-top:0}
.articolo .documento{margin-top:14px}
.articolo .documento q{font-size:1rem}
.articolo .nota{margin-top:10px}
.documento-testata{display:inline-flex;flex-wrap:wrap;gap:6px 22px;margin-top:16px;padding:10px 14px;background:var(--superficie-2);border-radius:var(--raggio-s);font-size:.9rem;color:var(--attenuato)}
.documento-testata b{color:var(--inchiostro-2);font-weight:600}
/* bando: linea del tempo con date, riga «oggi» su tinta, fonti in righe */
.linea-tempo.date .anno{font-size:.9rem;white-space:nowrap}
.linea-tempo.date li{grid-template-columns:9.5rem 1fr}
.linea-tempo li.oggi{background:var(--accento-tinta);border-radius:var(--raggio-s);margin:0 -12px;padding:14px 12px}
.linea-tempo .oggi .anno::after{content:" · oggi";color:var(--accento);font-family:var(--sans);font-weight:600}
@media (max-width:479px){.linea-tempo.date li{grid-template-columns:1fr}.linea-tempo li.oggi{margin:0 -8px;padding:12px 8px}}
.fonti{list-style:none;border-top:2px solid var(--inchiostro);max-width:82ch}
.fonti li{display:grid;grid-template-columns:minmax(9rem,26%) 1fr;gap:4px 20px;padding:12px 0;border-bottom:1px solid var(--riga);font-size:1rem}
.fonti .tipo{font-size:.85rem;color:var(--etichetta);padding-top:2px}
.fonti .sub{display:block;font-size:.875rem;color:var(--attenuato)}
.fonti a{font-weight:600}
@media (max-width:599px){.fonti li{grid-template-columns:1fr;gap:2px 0}}
.stato-fonti{margin-top:16px;font-size:.85rem;color:var(--attenuato)}
/* bando: i due blocchi «prima della domanda» e i tre ruoli in card; tabelle, righe e fonti restano documentali */
.card.blocco{padding:22px 24px 24px}
.card.blocco h3{margin-bottom:12px}
#prima-della-domanda .confronto.schede dt{color:var(--accento-forte)}
@media (max-width:599px){.card.blocco{padding:18px 16px 18px}}
/* 404: pagina minima, elenco dei percorsi in una sola superficie */
.pagina-404 .testata-pagina{padding-bottom:12px}
.percorsi{list-style:none;max-width:40ch;overflow:hidden}
.percorsi li + li{border-top:1px solid var(--riga)}
.percorsi a{display:block;padding:12px 18px;font-weight:600;text-decoration:none}
.percorsi a:hover{background:var(--superficie-2);text-decoration:underline}
.percorsi .sub{display:block;font-weight:400;font-size:.875rem;color:var(--attenuato)}

/* ---------- 10. NOTE NUMERATE (richiamo al perimetro delle certificazioni) ---------- */
/* richiamo: numero piccolo (stessa misura assoluta del numero che apre la nota: .7rem, non in proporzione al titolo),
   davvero in apice, cliccabile, nessuno sfondo né cerchio; line-height 0 non altera l'interlinea del titolo */
.nota-rif{font-size:.7rem;line-height:0;vertical-align:super;margin-left:.2em;font-weight:700;letter-spacing:0}
.nota-rif a{color:var(--accento);text-decoration:none;padding:0 .1em}
.nota-rif a:hover{text-decoration:underline}
.nota-rif a:focus-visible{outline:2px solid var(--marchio);outline-offset:2px;border-radius:2px}
/* destinazione: numero d'apertura coerente, margine per l'intestazione fissa, evidenza quando raggiunta */
.perimetro-nota{scroll-margin-top:calc(var(--testata-h) + 20px)}
.perimetro-nota > sup{font-size:.7rem;line-height:0;vertical-align:super;font-weight:700;color:var(--accento);margin-right:.3em}
.perimetro-nota:target{outline:2px solid var(--marchio);outline-offset:2px}

/* ---------- 11. MOBILE: una card per riga, con meno aria fra un oggetto e l'altro ---------- */
@media (max-width:699px){
  .sezione{padding:28px 0}
  .sezione-testa{margin-bottom:12px}
  .griglia{row-gap:16px}
  .azioni{margin-top:18px;gap:10px 16px}
  .form{gap:12px}
  .frow{gap:12px}
  .chiusura{padding:30px 0 26px}
  .riga-grande{margin-top:18px;padding-top:18px}
  .situazioni-griglia{row-gap:18px}
  .avviso-riga{margin-top:24px}
}
@media (max-width:599px){
  .ambito{padding:16px 16px 16px}
  .ambito > a{padding-top:10px}
  .ambito h3{margin-bottom:6px;padding-bottom:6px}
  .card,.apertura .c5,.modulo-v2,.contatti-dati,.recapiti{padding:18px 16px 14px}
  .modulo-v2{padding-bottom:18px}
  .confronto.schede{gap:12px}
  .confronto.schede > div,.situazioni-griglia .confronto > div{padding:14px 16px}
  .situazioni-griglia .confronto > div:nth-child(even){margin-bottom:12px}
  .indice-settori li{padding:14px 16px}
  .scheda-orizzontale > div{padding:14px 16px}
  .linea-tempo{padding:4px 16px}
  .linea-tempo li{padding:12px 0}
  .domande summary{padding:10px 14px}
  .domande details > p{padding:0 14px 12px calc(14px + 1.75rem)}
  .nota-laterale{padding:16px 16px 18px}
  .perimetro-nota{margin-top:12px;padding:10px 12px}
  .report-testata{padding:12px 16px 10px}
  .report figcaption{padding:10px 16px 12px}
}

/* ---------- 12. MOVIMENTO E STAMPA ---------- */
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}
@media print{
  .skip,.menu,.cban,.nav-principale{display:none}
  .testata-sito{position:static;box-shadow:none}
  body{background:#fff;color:#000}
  a{color:inherit;text-decoration:none}
  .sezione{padding:18px 0;break-inside:avoid}
  .card,.ambito,.report,.documento,.avviso-riga{box-shadow:none;border-color:#999}
}

/* variante a tre passi (landing voucher): tre colonne, poi due, poi una alle soglie del componente */
.percorso.tre{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:959px){.percorso.tre{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:699px){.percorso.tre{grid-template-columns:1fr}}
