/* Attestiamo, un prodotto di K Digital Solution: identità KDS (espresso, bordeaux, oro, champagne) */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/font/instrument-serif-latin.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/font/instrument-serif-italic-latin.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url("/font/hanken-grotesk-latin.woff2") format("woff2")}

:root{
  color-scheme:light;
  /* nomi storici delle variabili, valori KDS */
  --pagina:#F8F0E4;--foglio:#FFFFFF;--banco:#F2E4D0;--menta:#F4E6D2;
  --ink:#2A1018;--ink2:#5E4A4D;--verde:#6E1734;--verde-h:#2A1018;--salvia:#C6A15B;
  --riga:#E3D3BC;--bordo:#8A7670;
  --notte:#1B090F;--bosco:#2A1018;--chiaro:#F8F0E4;--tenue:#DCC6A4;--linea-s:rgba(242,228,208,.16);
  --warn:#7A4F00;--warn-bg:#F3E3C0;--err:#B42318;--err-bg:#F5E1DF;
  --ok:#2F6B3A;--ok-bg:#DCEBDD;
  --oro:#C6A15B;--oro-chiaro:#D9B97A;--oro-scuro:#7A5A22;--vino:#8F2948;--sabbia:#F2E4D0;
  --serif:"Instrument Serif","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --margine:clamp(16px,5vw,72px);
  --e:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--pagina);color:var(--ink);font:17px/1.58 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--verde);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink);text-decoration-thickness:2px}
h1,h2,h3,h4{margin:0;color:var(--ink);text-wrap:balance}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.015em}
h1{font-size:clamp(42px,5.6vw,72px);line-height:1.02}
h2{font-size:clamp(34px,4.2vw,54px);line-height:1.06}
h3{font:700 19px/1.3 var(--sans);letter-spacing:-.005em}
h4{font:700 16px/1.4 var(--sans)}
p{margin:0 0 16px}
.guida{font-size:19px;line-height:1.6;color:var(--ink2);max-width:36em;text-wrap:pretty}
h1+.guida,h2+.guida{margin-top:20px}
.piccolo{font-size:14px;line-height:1.5;color:var(--ink2)}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--margine)}
.testo>*{max-width:760px}
section{padding:clamp(64px,8vw,112px) 0}
.banco{background:var(--banco)}
.bianca{background:var(--foglio)}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:center}
@media(max-width:920px){.duo{grid-template-columns:minmax(0,1fr)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}
.salta{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--chiaro);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none}
.salta:focus{left:16px;color:var(--chiaro)}
.su-scuro :focus-visible,.pagina-t :focus-visible,.chiusura :focus-visible,footer :focus-visible,.hero :focus-visible{outline-color:var(--oro)}

/* Pulsanti: bordeaux su chiaro, oro su scuro, a pillola come in tutta la famiglia KDS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;font:600 16px/1.1 var(--sans);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;text-align:center}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-1{background:var(--verde);color:#fff}
.btn-1:hover{background:var(--ink);color:#fff}
.btn-2{background:transparent;color:var(--verde);border-color:var(--verde)}
.btn-2:hover{background:var(--verde);color:#fff}
.btn-sm{min-height:42px;padding:8px 18px;font-size:15px}
.btn-grande{min-height:56px;padding:14px 28px;font-size:17px}
.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.azioni{display:flex;flex-wrap:wrap;gap:12px}
.su-scuro .btn-1,.pagina-t .btn-1,.chiusura .btn-1,.hero .btn-1{background:var(--oro);color:var(--notte)}
.su-scuro .btn-1:hover,.pagina-t .btn-1:hover,.chiusura .btn-1:hover,.hero .btn-1:hover{background:var(--oro-chiaro);color:var(--notte)}
.su-scuro .btn-2,.pagina-t .btn-2,.chiusura .btn-2,.hero .btn-2{border-color:var(--sabbia);color:var(--sabbia);background:transparent}
.su-scuro .btn-2:hover,.pagina-t .btn-2:hover,.chiusura .btn-2:hover,.hero .btn-2:hover{background:var(--sabbia);color:var(--ink)}

/* Testata */
.testata{position:sticky;top:0;z-index:50;background:rgba(248,240,228,.94);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--riga)}
.testata .wrap{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-height:44px}
.logo:hover{color:var(--ink)}
.logo img{width:34px;height:34px;flex:none}
.logo b{font:400 26px/1 var(--serif);letter-spacing:-.01em;white-space:nowrap}
.testata nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-weight:500;font-size:15.5px}
.testata nav a{color:var(--ink);text-decoration:none;min-height:44px;display:flex;align-items:center;position:relative}
.testata nav a:hover{color:var(--verde)}
.testata nav a[aria-current=page]{color:var(--verde)}
.testata nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--verde);border-radius:2px}
.testata nav .btn{margin-left:4px;color:#fff;min-height:42px}
.testata nav .btn::after{display:none}
.testata nav .btn:hover{color:#fff}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--bordo);background:transparent;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.menu-btn svg{width:20px;height:20px}
@media(max-width:980px){
  .menu-btn{display:flex}
  .testata nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--margine) 22px;background:var(--pagina);border-bottom:1px solid var(--riga)}
  .testata nav.apri{display:flex}
  .testata nav a{border-bottom:1px solid var(--riga);font-size:17px}
  .testata nav a[aria-current=page]::after{display:none}
  .testata nav .btn{margin:14px 0 0;min-height:50px;border-bottom:0}
}

/* Hero della home: il fascicolo vivo su fondo espresso con la matrice dei requisiti */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--bosco);color:var(--chiaro);padding:clamp(44px,6vw,92px) 0 clamp(52px,7vw,104px)}
.matrice{position:absolute;top:0;right:0;z-index:-1;width:1440px;height:900px;max-width:none;pointer-events:none}
@media(max-width:700px){.matrice{display:none}}
.matrice .p{fill:rgba(198,161,91,.16);stroke:none}
.matrice .s{fill:rgba(143,41,72,.38);stroke:none}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(36px,5vw,72px);align-items:center}
.hero .wrap>*{min-width:0}
@media(max-width:1020px){.hero .wrap{grid-template-columns:minmax(0,1fr)}}
.per-chi{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--sabbia);margin:0}
.per-chi i{width:8px;height:8px;border-radius:50%;background:var(--oro)}
.hero h1{color:#fff;margin:18px 0 22px;max-width:15ch;font-size:clamp(42px,4.8vw,64px)}
.hero .guida{color:var(--sabbia);max-width:32em}
.regola{margin:20px 0 0;font-weight:600;color:#fff;display:flex;gap:12px;align-items:flex-start;max-width:32em}
.regola::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--sabbia) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E1734' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.hero .azioni{margin-top:30px}
.canone{margin-top:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding-top:18px;border-top:1px solid rgba(242,228,208,.24);max-width:34em}
.canone b{font:400 38px/1 var(--serif);color:#fff}
.canone span{color:var(--sabbia);font-size:15.5px}
@media(max-width:420px){.hero .azioni .btn{flex:1 1 100%}}

/* La scena: un fascicolo d'esempio che si aggiorna mentre lo usi */
.scena{position:relative;margin:0;background:var(--pagina);border-radius:22px;padding:12px;box-shadow:0 40px 80px -36px rgba(20,5,10,.85);color:var(--ink)}
.scena-barra{display:flex;align-items:center;gap:10px;color:var(--ink2);font-size:13px;font-weight:600;padding:2px 6px 10px}
.scena-barra .punti{display:flex;gap:6px}
.scena-barra .punti i{width:9px;height:9px;border-radius:50%;background:var(--riga);display:block}
.scena-barra .eti{margin-left:auto}
.scena-corpo{background:var(--foglio);border:1px solid var(--riga);border-radius:14px;overflow:hidden}
.fv-reqs{padding:6px 18px 4px;border-bottom:1px solid var(--riga)}
.fv-req{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:12px 0;border:0;margin:0;min-width:0}
.fv-req+.fv-req{border-top:1px solid var(--riga)}
.fv-req legend{float:left;padding:0;font-size:14.5px;line-height:1.35}
.fv-req legend b{display:block;font-size:12.5px;font-weight:700;color:var(--ink2);letter-spacing:.01em}
.segmenti{display:inline-flex;background:var(--pagina);border:1px solid var(--riga);border-radius:999px;padding:3px;gap:2px}
.segmenti label{position:relative;cursor:pointer}
.segmenti input{position:absolute;opacity:0;width:1px;height:1px}
.segmenti span{display:block;padding:6px 11px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap;transition:background-color .2s,color .2s}
.segmenti label:hover span{color:var(--ink)}
.segmenti input:checked+span{background:var(--ink);color:#fff}
.segmenti input[value=si]:checked+span{background:var(--ok);color:#fff}
.segmenti input[value=parziale]:checked+span{background:var(--warn-bg);color:var(--warn)}
.segmenti input[value=no]:checked+span{background:var(--err);color:#fff}
.segmenti input:focus-visible+span{outline:2px solid var(--ink);outline-offset:1px}
@media(max-width:520px){.fv-req{grid-template-columns:minmax(0,1fr)}.segmenti{justify-self:start}}
.fv-doc{padding:18px 22px 16px;background:linear-gradient(var(--foglio),var(--foglio)) padding-box}
.fv-doc .int{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;font-weight:600;color:var(--ink2);padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--riga)}
.fv-doc h3{font:400 23px/1.15 var(--serif);margin-bottom:10px}
.fv-doc p{font-size:14.5px;line-height:1.6;margin:0 0 8px;color:var(--ink)}
.fv-doc p .rif-req{margin-left:4px}
.fv-doc p.cambiato{animation:evidenzia 1.6s var(--e)}
@keyframes evidenzia{0%{background:#F6DFA4;box-shadow:0 0 0 6px #F6DFA4}100%{background:transparent;box-shadow:0 0 0 6px transparent}}
.fv-stato{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 18px;border-top:1px solid var(--riga);background:var(--pagina);font-size:13.5px}
.fv-stato .misura-fv{display:flex;align-items:center;gap:10px;color:var(--ink2);font-weight:600}
.fv-stato .misura-fv .barra{width:110px;margin:0}
.scena-nota{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink2);font-size:13px;padding:10px 6px 2px}
.scena-nota button{background:transparent;border:1.5px solid var(--bordo);color:var(--ink);border-radius:999px;min-height:34px;padding:0 14px;font:600 13px var(--sans);cursor:pointer}
.scena-nota button:hover{border-color:var(--ink)}

/* Stati e barre: verde attuato, ambra in parte, rosso non attuato, bordeaux chiaro pronto */
.stato{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap;padding:4px 11px;border-radius:999px;line-height:1.3}
.stato svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.st-ok{color:#fff;background:var(--ok)}
.st-pronto{color:var(--verde);background:var(--menta)}
.st-da{color:var(--ink2);border:1px dashed var(--bordo)}
.st-warn{color:var(--warn);background:var(--warn-bg)}
.st-rivedere{color:var(--err);background:var(--err-bg)}
.barra{height:6px;border-radius:999px;background:var(--banco);overflow:hidden;margin:6px 0 14px}
.barra i{display:block;height:100%;background:var(--verde);border-radius:inherit;transition:width .5s var(--e)}
.eti{font-size:12.5px;font-weight:600;color:var(--verde);background:var(--menta);padding:2px 10px;border-radius:999px}
mark{background:#F6E7C6;color:var(--ink);padding:1px 3px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:inset 0 -1.5px 0 var(--oro)}
.rif-req{font:600 12px var(--sans);color:var(--oro-scuro);white-space:nowrap}

/* Calendario ACN */
.calendario{background:var(--foglio);border-bottom:1px solid var(--riga)}
.calendario .wrap{padding-top:40px;padding-bottom:36px}
.cal-t{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.cal-t h2{font:700 17px/1.3 var(--sans);letter-spacing:0}
.cal-t p{margin:0;font-size:14px;color:var(--ink2)}
.linea{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.linea::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:var(--riga)}
.linea li{position:relative;padding:28px 24px 0 0}
.linea li::before{content:"";position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--foglio);border:2px solid var(--oro-scuro)}
.linea li.ora::before{background:var(--verde);border-color:var(--verde);box-shadow:0 0 0 5px rgba(110,23,52,.14)}
.linea .q{display:block;font:700 16px/1.3 var(--sans);margin-bottom:6px}
.linea li.ora .q{color:var(--verde)}
.linea p{margin:0;font-size:15px;line-height:1.5;color:var(--ink2)}
.cal-fonte{margin:24px 0 0;font-size:13.5px;color:var(--ink2)}
@media(max-width:900px){
  .linea{grid-template-columns:1fr;gap:26px;padding-left:28px}
  .linea::before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .linea li{padding:0}
  .linea li::before{left:-28px;top:3px}
}

/* Intestazioni di sezione */
.intro{display:grid;gap:18px 64px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;margin-bottom:clamp(32px,5vw,56px)}
.intro p{color:var(--ink2);font-size:18px;max-width:34em;margin:0}
@media(max-width:900px){.intro{grid-template-columns:1fr}}

/* Numeri */
.fatti{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink)}
.fatto{padding:26px 26px 0 0}
.fatto+.fatto{padding-left:26px;border-left:1px solid var(--riga)}
.fatto b{display:block;font:400 clamp(48px,5vw,64px)/1 var(--serif);letter-spacing:-.02em;margin-bottom:12px;font-variant-numeric:lining-nums tabular-nums}
.fatto p{margin:0 0 10px;font-size:15.5px;color:var(--ink2)}
.fatto small{font-size:13px;font-weight:600;color:var(--oro-scuro)}
@media(max-width:900px){.fatti{grid-template-columns:1fr 1fr}.fatto:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:520px){.fatti{grid-template-columns:1fr}.fatto,.fatto+.fatto{padding:22px 0 0;border-left:0}}

/* Cosa trovi: tessere del fascicolo */
.tessere{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1060px){.tessere{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.tessere{grid-template-columns:minmax(0,1fr)}}
.tessera{background:var(--foglio);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px;min-height:210px;border-top:4px solid var(--verde)}
.tessera .rif{font-size:13px;font-weight:700;color:var(--oro-scuro)}
.tessera h3{font:400 27px/1.08 var(--serif);letter-spacing:-.01em}
.tessera p{margin:0;font-size:15.5px;color:var(--ink2)}
.tessera a{margin-top:auto;font-weight:600;font-size:15px}
.tessera.grande{grid-column:span 2;grid-row:span 2;background:var(--pagina);border-top-color:var(--oro)}
.tessera.grande h3{font-size:clamp(32px,3.2vw,42px)}
@media(max-width:580px){.tessera.grande{grid-column:auto;grid-row:auto}}
.tessera.larga{grid-column:span 2}
@media(max-width:580px){.tessera.larga{grid-column:auto}}
.tessera.ia{background:var(--bosco);border-top-color:var(--oro);color:var(--sabbia)}
.tessera.ia h3{color:#fff}
.tessera.ia p{color:var(--sabbia)}
.tessera.ia .rif{color:var(--oro)}
.tessera.ia a{color:var(--oro-chiaro)}
.mini-doc{margin-top:auto;background:var(--foglio);border:1px solid var(--riga);border-radius:12px;padding:16px 18px;display:grid;gap:8px}
.mini-doc .r{display:flex;align-items:center;gap:10px;font-size:14.5px;padding:6px 0;border-bottom:1px solid var(--riga)}
.mini-doc .r:last-child{border-bottom:0}
.mini-doc .r .stato{margin-left:auto}

/* Banda scura con l'assistente */
.banda{background:var(--bosco);color:var(--sabbia);border-radius:24px;padding:clamp(28px,4vw,56px);display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;position:relative;overflow:hidden;isolation:isolate}
.banda::after{content:"";position:absolute;right:-70px;top:-50px;width:300px;height:440px;border-left:3px solid var(--oro);border-radius:50%;transform:rotate(18deg);opacity:.85;pointer-events:none;z-index:-1}
.banda h2{color:#fff}
.banda p{color:var(--sabbia)}
.banda .lista li{color:var(--sabbia)}
.banda .ok{background:var(--oro)}
.banda .ok::after{border-color:var(--notte)}
@media(max-width:900px){.banda{grid-template-columns:minmax(0,1fr)}.banda::after{display:none}}
.citaz-card{background:var(--pagina);color:var(--ink);border-radius:18px;padding:12px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.citaz-card .dentro{background:var(--foglio);border:1px solid var(--riga);border-radius:12px;padding:6px 18px}
.prop{padding:14px 0;border-bottom:1px solid var(--riga)}
.prop:last-child{border-bottom:0}
.prop .t{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14.5px}
.prop .t b{font-weight:700}
.prop blockquote{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--oro);background:var(--pagina);border-radius:0 8px 8px 0;font:400 17px/1.4 var(--serif)}
.prop blockquote small{display:block;font:500 12.5px/1.4 var(--sans);color:var(--ink2);margin-top:4px}

/* Passi (sequenza vera) */
.passi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:p;border-top:2px solid var(--ink)}
@media(max-width:860px){.passi{grid-template-columns:minmax(0,1fr)}}
.passi li{counter-increment:p;padding:24px 28px 8px 0;display:flex;flex-direction:column;gap:10px}
.passi li+li{padding-left:28px;border-left:1px solid var(--riga)}
@media(max-width:860px){.passi li,.passi li+li{padding:22px 0;border-left:0;border-bottom:1px solid var(--riga)}}
.passi li::before{content:counter(p);font:400 46px/1 var(--serif);color:var(--oro-scuro)}
.passi h3{font:400 29px/1.1 var(--serif);letter-spacing:-.01em}
.passi p{margin:0;color:var(--ink2);font-size:16px}

/* Per chi */
.colonne{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.colonne{grid-template-columns:minmax(0,1fr)}}
.colonne article{background:var(--foglio);border-radius:16px;padding:26px;border:1px solid var(--riga)}
.colonne h3{font:400 28px/1.1 var(--serif);margin-bottom:12px;letter-spacing:-.01em}
.colonne p{margin:0;color:var(--ink2);font-size:16px}

/* Liste con spunta */
.lista{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.lista li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.ok{width:20px;height:20px;flex:none;margin-top:2px;border-radius:50%;background:var(--verde);position:relative}
.ok::after{content:"";position:absolute;left:7px;top:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.poi{width:20px;height:20px;flex:none;margin-top:2px;border-radius:50%;border:1.5px dashed var(--bordo)}

/* Domande */
.domande{display:grid;gap:24px 72px;grid-template-columns:minmax(0,360px) minmax(0,1fr)}
@media(max-width:900px){.domande{grid-template-columns:minmax(0,1fr)}}
.faq{margin-top:0}
.faq details{border-top:1px solid var(--bordo)}
.faq details:last-child{border-bottom:1px solid var(--bordo)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;min-height:44px;font:400 24px/1.2 var(--serif);letter-spacing:-.005em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq .risp{padding:0 0 22px;color:var(--ink2);max-width:44em}
.faq .risp p:last-child{margin:0}

/* Chiusura */
.chiusura{background:var(--bosco);color:var(--sabbia);position:relative;overflow:hidden;isolation:isolate}
.chiusura .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.chiusura h2{color:#fff;max-width:18ch}
.chiusura p{margin:14px 0 0;max-width:46ch;color:var(--sabbia)}

/* Titolo delle pagine interne */
.pagina-t{position:relative;overflow:hidden;isolation:isolate;background:var(--bosco);color:var(--sabbia);padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,72px)}
.pagina-t h1{color:#fff;font-size:clamp(40px,5.2vw,64px);max-width:18ch}
.pagina-t .guida{color:var(--sabbia)}
.pagina-t .matrice{opacity:.9}
.briciole{font-size:14px;color:var(--tenue);margin-bottom:18px}
.briciole a{color:var(--sabbia)}

/* Finestre d'esempio */
.app{background:var(--pagina);border-radius:20px;padding:10px;box-shadow:0 30px 60px -34px rgba(42,16,24,.5);border:1px solid var(--riga)}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 10px;font-size:13.5px;color:var(--ink2)}
.app-top b{color:var(--ink);font-weight:700}
.app-body{background:var(--foglio);border:1px solid var(--riga);border-radius:12px;padding:6px 18px 12px}
.riga{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--riga);font-size:15px}
.riga:last-child{border-bottom:0}
.riga .stato{margin-left:auto}

/* Tre colonne con filo */
.ai-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.ai-g article{padding:24px 28px 0 0}
.ai-g article+article{padding-left:28px;border-left:1px solid var(--riga)}
.ai-g .quando{display:block;font-size:14px;font-weight:700;color:var(--oro-scuro);margin-bottom:10px}
.ai-g h3{font:400 28px/1.1 var(--serif);margin-bottom:10px}
.ai-g p{margin:0;color:var(--ink2);font-size:16px}
@media(max-width:900px){.ai-g{grid-template-columns:minmax(0,1fr)}.ai-g article,.ai-g article+article{padding:22px 0;border-left:0;border-bottom:1px solid var(--riga)}}
.limiti{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:2px solid var(--ink)}
@media(max-width:760px){.limiti{grid-template-columns:minmax(0,1fr)}}
.limiti>div{padding:22px 0;border-bottom:1px solid var(--riga)}
.limiti h3{font:400 27px/1.1 var(--serif);margin-bottom:8px}
.limiti p{margin:0;color:var(--ink2);font-size:16px}
.anteprima-tag{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--verde);background:var(--menta);padding:5px 12px 5px 10px;border-radius:999px;margin-bottom:22px}
.anteprima-tag i{width:7px;height:7px;border-radius:50%;background:var(--verde)}

/* Prezzi */
.piani{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
@media(max-width:1000px){.piani{grid-template-columns:minmax(0,1fr)}}
.piano{display:flex;flex-direction:column;gap:12px;background:var(--pagina);border:1px solid var(--riga);border-radius:20px;padding:clamp(24px,3vw,36px)}
.piano h2{font:400 32px/1.1 var(--serif)}
.piano .per{font-size:15px;color:var(--ink2);margin:0}
.cifra{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font:400 clamp(56px,6vw,72px)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.cifra span{font:400 15px var(--sans);letter-spacing:0;color:var(--ink2)}
.piano .lista{flex:1;align-content:start;margin:10px 0 18px}
.piano .lista li{font-size:15.5px}
.piano .btn{width:100%}
.piano.evid{background:var(--verde);border-color:var(--verde);color:#fff}
.piano.evid h2,.piano.evid .cifra{color:#fff}
.piano.evid .per,.piano.evid .cifra span,.piano.evid .lista li{color:var(--sabbia)}
.piano.evid .ok{background:var(--oro)}
.piano.evid .ok::after{border-color:var(--notte)}
.piano.evid .btn-1{background:var(--oro);color:var(--notte)}
.piano.evid .btn-1:hover{background:var(--oro-chiaro)}
.nota-prezzi{margin:22px 0 0;color:var(--ink2);font-size:15px}
.calcolo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:stretch;background:var(--foglio);border-radius:24px;padding:clamp(24px,4vw,48px);margin-top:28px;border:1px solid var(--riga)}
@media(max-width:860px){.calcolo{grid-template-columns:minmax(0,1fr)}}
.calcolo label{display:flex;justify-content:space-between;gap:16px;font-weight:700;margin-bottom:10px}
.calcolo label span{font-size:20px}
.calcolo input[type=range]{width:100%;accent-color:var(--verde);height:32px}
.calcolo .sub{color:var(--ink2);font-size:15px;margin:8px 0 0}
.calcolo .ris{background:var(--verde);color:#fff;border-radius:18px;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;justify-content:center;gap:6px}
.calcolo output{display:block;font:400 clamp(58px,7vw,88px)/.95 var(--serif);letter-spacing:-.02em;color:#fff}
.calcolo .ris .sub{color:var(--sabbia);margin:0}

/* Verifica dell'obbligo */
.quiz{background:var(--foglio);border:1px solid var(--riga);border-radius:20px;overflow:hidden;box-shadow:0 24px 50px -32px rgba(42,16,24,.35)}
.quiz-top{padding:24px 32px 0}
.q-av{display:flex;justify-content:space-between;font-size:14px;color:var(--ink2)}
.q-av b{color:var(--ink);font-weight:700}
.quiz-body{padding:24px 32px 32px}
.step{display:none;border:0;margin:0;padding:0;min-width:0}
.step.on{display:block}
.step h2{font-size:clamp(28px,3vw,36px);margin-bottom:8px}
.step .aiuto{color:var(--ink2);font-size:15.5px;margin-bottom:22px}
.scelte{display:grid;gap:10px}
.scelta{display:block;position:relative}
.scelta input{position:absolute;opacity:0;width:1px;height:1px}
.scelta span{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1.5px solid var(--riga);border-radius:14px;cursor:pointer;font-size:16px;background:var(--foglio);transition:background-color .15s,border-color .15s}
.scelta span::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;border:1.5px solid var(--bordo);transition:border-color .15s,box-shadow .15s,background-color .15s}
.scelta:hover span{background:var(--pagina);border-color:var(--bordo)}
.scelta input:checked+span{border-color:var(--verde);background:var(--menta)}
.scelta input:checked+span::before{border-color:var(--verde);background:var(--verde);box-shadow:inset 0 0 0 4px var(--menta)}
.scelta input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.quiz-nav{display:flex;justify-content:space-between;gap:12px;padding:16px 32px;border-top:1px solid var(--riga);background:var(--pagina)}
@media(max-width:560px){.quiz-top{padding:20px 20px 0}.quiz-body{padding:20px 20px 24px}.quiz-nav{padding:14px 20px}}
.verdetto{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:5px 13px;border-radius:999px;margin-bottom:16px}
.v-si{background:var(--err-bg);color:var(--err)}
.v-forse{background:var(--warn-bg);color:var(--warn)}
.v-fil{background:var(--banco);color:var(--ink)}
.v-no{background:var(--ok-bg);color:var(--ok)}
.esito h2{font-size:clamp(30px,3.2vw,40px);margin-bottom:14px}
.riquadro{margin:22px 0;padding:16px 20px;border-left:3px solid var(--oro);background:var(--pagina);border-radius:0 12px 12px 0;font-size:16px}
.avvertenza{font-size:14px;color:var(--ink2);margin-top:20px}

/* Guida agli incidenti */
.ore{list-style:none;margin:0;padding:0;position:relative}
.ore::before{content:"";position:absolute;left:31px;top:12px;bottom:12px;width:2px;background:var(--riga)}
.ore li{position:relative;padding:0 0 44px 96px}
.ore li:last-child{padding-bottom:0}
.ore .t{position:absolute;left:0;top:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--bosco);color:var(--oro-chiaro);font:600 13px/1.1 var(--sans)}
.ore .t b{display:block;font:400 26px/1 var(--serif);color:#fff}
.ore h3{margin:6px 0 8px;font:400 28px/1.1 var(--serif)}
.ore p{color:var(--ink2);margin:0 0 8px;max-width:64ch}
.ore .rif{font-size:13.5px;font-weight:600;color:var(--oro-scuro)}
@media(max-width:560px){.ore li{padding-left:84px}}
.gloss{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--ink);cursor:help;text-decoration:underline dotted var(--verde);text-decoration-thickness:1.5px;text-underline-offset:4px}
.pop{margin:0;inset:auto;position:fixed;left:50%;top:50%;translate:-50% -50%;max-width:min(440px,calc(100vw - 32px));padding:22px 24px;border:1px solid var(--riga);border-radius:16px;background:var(--foglio);color:var(--ink);box-shadow:0 30px 70px -20px rgba(42,16,24,.45);font-size:16px}
.pop::backdrop{background:rgba(27,9,15,.3)}
.pop h4{margin-bottom:6px}
.pop p{margin:0;color:var(--ink2)}
.riquadro-o{background:var(--foglio);border:1px solid var(--riga);border-radius:16px;padding:26px}
.riquadro-o.attivo{border-color:var(--verde);box-shadow:inset 0 3px 0 var(--verde)}
.riquadro-o h3{margin-bottom:12px}
.oggi-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
@media(max-width:860px){.oggi-g{grid-template-columns:minmax(0,1fr)}}
.domanda{background:var(--foglio);border:1px solid var(--riga);border-radius:16px;padding:26px}
.domanda .sez{font-size:14px;color:var(--ink2);margin-bottom:10px}
.domanda h3{font:400 26px/1.15 var(--serif);margin-bottom:10px}
.domanda p{color:var(--ink2);font-size:16px;margin:0}
.perche{display:flex;gap:10px;margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--pagina);font-size:14.5px;color:var(--ink2)}
.salvato{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ok);margin-top:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;padding:9px 14px;border:1.5px solid var(--riga);border-radius:999px;font-size:15px;color:var(--ink);text-decoration:none;background:var(--foglio)}
.chip:hover{border-color:var(--verde);color:var(--verde)}

/* Documenti */
.doc-pag{padding:clamp(40px,5vw,64px) 0 clamp(64px,8vw,104px);background:var(--banco)}
.doc-g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media(max-width:980px){.doc-g{grid-template-columns:minmax(0,1fr)}}
.documento{background:var(--foglio);border:1px solid var(--riga);border-radius:8px;box-shadow:0 1px 2px rgba(42,16,24,.05),0 30px 60px -32px rgba(42,16,24,.35);padding:72px 80px;font-family:var(--sans);color:var(--ink)}
@media(max-width:680px){.documento{padding:36px 22px}}
.documento .int{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 13px/1.4 var(--sans);color:var(--ink2);padding-bottom:16px;margin-bottom:34px;border-bottom:1px solid var(--riga)}
.documento h1{font:400 clamp(34px,4vw,46px)/1.08 var(--serif);margin-bottom:28px}
.documento h2{font:400 26px/1.2 var(--serif);margin:38px 0 12px;letter-spacing:0}
.documento h3{font:700 17px/1.35 var(--sans);margin:22px 0 8px}
.documento p,.documento li{font-size:16.5px;line-height:1.7}
.documento ul,.documento ol{padding-left:22px;margin:0 0 16px}
.documento table{font-size:14.5px}
.meta-doc{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 30px;padding:18px 22px;background:var(--pagina);border:1px solid var(--riga);border-radius:10px;font:15px/1.5 var(--sans)}
.meta-doc dt{color:var(--ink2)}
.meta-doc dd{margin:0}
.versioni{width:100%;border-collapse:collapse;font:14px/1.45 var(--sans);margin-top:12px}
.versioni th,.versioni td{text-align:left;padding:10px;border-bottom:1px solid var(--riga);vertical-align:top}
.versioni th{color:var(--ink2);font-weight:600}
@media(max-width:600px){.versioni th,.versioni td{padding:8px 6px}.versioni{font-size:13px}}
.lato{position:sticky;top:96px;display:grid;gap:14px}
.lato .riquadro-o{padding:22px}
.lato h3{font-size:17px;margin-bottom:8px}
.lato p{font-size:15px;color:var(--ink2);margin:0}

/* Pagine di testo: privacy, condizioni, fornitori, accordo */
.prosa{max-width:760px}
.prosa h2{font-size:clamp(28px,3vw,36px);margin:44px 0 12px}
.prosa h2:first-child{margin-top:0}
.prosa h3{margin:26px 0 8px}
.prosa p,.prosa li{color:var(--ink2)}
.prosa ul,.prosa ol{padding-left:22px;margin:0 0 16px}
.prosa li{margin-bottom:6px}
.prosa strong{color:var(--ink)}
.prosa .agg{font-size:14px;color:var(--ink2);margin-top:40px;padding-top:16px;border-top:1px solid var(--riga)}
.indice-p{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px;padding:0;list-style:none}
.tabella{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 24px}
.tabella th,.tabella td{text-align:left;vertical-align:top;padding:12px 12px 12px 0;border-bottom:1px solid var(--riga)}
.tabella th{font-weight:700;color:var(--ink);border-bottom:2px solid var(--ink)}
.tabella td{color:var(--ink2)}
.tabella td b{color:var(--ink)}
@media(max-width:700px){.tabella thead{display:none}.tabella,.tabella tbody,.tabella tr,.tabella td{display:block;width:100%}.tabella tr{padding:12px 0;border-bottom:1px solid var(--riga)}.tabella td{border:0;padding:3px 0}}

/* Piede */
footer{background:var(--bosco);color:var(--sabbia);padding:clamp(48px,6vw,72px) 0 40px;font-size:15px}
footer .fg{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px}
@media(max-width:900px){footer .fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .fg{grid-template-columns:minmax(0,1fr)}}
footer h4{font-size:15px;margin:0 0 14px;color:#fff}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer a{color:var(--sabbia);text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
footer .logo{flex-direction:column;align-items:flex-start;gap:12px;color:#fff;margin-bottom:12px}
footer .logo:hover{color:#fff}
footer .logo img{width:44px;height:44px}
.firma{font-size:14px;color:var(--tenue);margin:0 0 14px}
.firma a{color:#fff;text-decoration:underline}
.nota{margin:44px 0 0;padding-top:22px;border-top:1px solid var(--linea-s);font-size:13.5px;max-width:92ch;color:var(--tenue)}

/* griglia dei requisiti sui fondi scuri */
.hero,.pagina-t,.chiusura{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Crect x='4' y='4' width='22' height='22' rx='4' fill='none' stroke='%23F2E4D0' stroke-opacity='.09'/%3E%3C/svg%3E");background-position:right top}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}
@media print{
  .testata,footer,.chiusura,.no-stampa{display:none!important}
  body,.banco,.doc-pag{background:#fff}
  .pagina-t,section{padding:24px 0}
  .pagina-t{background:#fff}
  .pagina-t .matrice{display:none}
  .pagina-t h1,.pagina-t .guida{color:#000}
  .documento{box-shadow:none;border:0;padding:0}
}
