/* ============================================================
   Top 100 Aziende. Ispirato a una reference "pastello e viola
   acceso", in versione più tranquilla: apertura su un viola sfumato
   con il sigillo del badge, poi fasce lilla, azzurro chiaro e bianco,
   schede bianche con angoli da 25px, bottoni a pillola, titoli Sora
   pesanti in viola scuro.
   ============================================================ */
body.sopra{background:#FFFFFF}
#pg-top100{
  --notte:#2A0B63;          /* titoli e testo forte */
  --viola:#6D3BEB;          /* bottoni e accenti */
  --viola2:#9463F5;
  --uva:linear-gradient(135deg,#3E14A6 0%,#6D3BEB 55%,#A65EEA 100%);
  --lilla:#EFEBFF;          /* fondo pastello */
  --lilla2:#DCD3FF;
  --cielo:linear-gradient(180deg,#E9E2FF 0%,#E2F7F2 100%);
  --menta:#4FE3C1;
  --dim:#5E5873; --dim2:#8A84A0;
  --ombra:0 18px 50px rgba(42,11,99,.08);
  --rosso:#B42318;
  background:#fff; color:var(--notte);
  font-family:'Inter',-apple-system,sans-serif; line-height:1.6; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
}
#pg-top100 *{box-sizing:border-box}
#pg-top100 h1,#pg-top100 h2,#pg-top100 h3{font-family:'Sora',sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.05;margin:0;color:var(--notte)}
#pg-top100 p{margin:0}
#pg-top100 a{color:var(--viola)}

/* Bottoni */
#pg-top100 .tp-go{display:inline-block;font-family:'Sora',sans-serif;font-weight:700;font-size:15.5px;text-decoration:none;padding:16px 30px;border-radius:9999px;border:2px solid transparent;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s;background:var(--viola);color:#fff}
#pg-top100 .tp-go:hover{transform:translateY(-2px);background:#5B2BD6}
#pg-top100 .tp-go:disabled{opacity:.6;cursor:wait;transform:none}
#pg-top100 .tp-go-bianco{background:#fff;color:var(--notte)}
#pg-top100 .tp-go-bianco:hover{background:#fff;color:var(--viola)}
#pg-top100 .tp-go-filo{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
#pg-top100 .tp-go-filo:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* Apertura */
#pg-top100 .tp-hero{background:var(--uva);color:#fff;border-radius:0 0 48px 48px;overflow:hidden;position:relative}
#pg-top100 .tp-hero::after{content:'';position:absolute;inset:auto -10% -40% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(79,227,193,.28),transparent 65%);pointer-events:none}
#pg-top100 .tp-hero-in{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:150px 26px 96px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
#pg-top100 .tp-timbro{display:table;font-family:'Sora',sans-serif;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);padding:8px 14px;border-radius:9999px;margin-bottom:22px}
#pg-top100 .tp-hero h1{color:#fff;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.04em}
#pg-top100 .tp-sottotitolo{font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.25;letter-spacing:-.025em;color:#fff;margin-top:18px;max-width:30ch}
#pg-top100 .tp-lead{font-size:18px;color:rgba(255,255,255,.86);margin-top:22px;max-width:50ch;line-height:1.55}
#pg-top100 .tp-az{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
#pg-top100 .tp-prove{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
#pg-top100 .tp-prove li{font-family:'Sora',sans-serif;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:8px}
#pg-top100 .tp-prove li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--menta)}
#pg-top100 .tp-hero-sigillo{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
#pg-top100 .tp-etichetta{position:absolute;background:#fff;color:var(--notte);font-family:'Sora',sans-serif;font-weight:700;font-size:14px;padding:10px 16px;border-radius:9999px;box-shadow:0 12px 30px rgba(20,4,60,.25);white-space:nowrap}
#pg-top100 .tp-et-1{top:8%;left:0;transform:rotate(-6deg)}
#pg-top100 .tp-et-2{top:46%;right:-2%;transform:rotate(5deg)}
#pg-top100 .tp-et-3{bottom:6%;left:10%;transform:rotate(-3deg)}

/* Il sigillo */
#pg-top100 .tp-sigillo{display:block}
#pg-top100 .tp-sigillo-hero{width:min(360px,80vw);filter:drop-shadow(0 24px 40px rgba(20,4,60,.35))}
#pg-top100 .tp-sig-fondo{fill:#fff}
#pg-top100 .tp-sig-filo{fill:none;stroke:var(--viola);stroke-width:2;stroke-dasharray:3 6}
#pg-top100 .tp-sig-cuore{fill:var(--lilla)}
#pg-top100 .tp-sig-giro-t{font-family:'Sora',sans-serif;font-weight:800;font-size:14px;letter-spacing:1px;fill:var(--notte)}
#pg-top100 .tp-sig-top{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;letter-spacing:6px;fill:var(--viola)}
#pg-top100 .tp-sig-100{font-family:'Sora',sans-serif;font-weight:800;font-size:60px;letter-spacing:-3px;fill:var(--notte)}
#pg-top100 .tp-sig-anno{font-family:'Sora',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:1.6px;fill:var(--viola)}
#pg-top100 .tp-sig-giro{transform-origin:160px 160px;animation:tp-gira 40s linear infinite}
@keyframes tp-gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#pg-top100 .tp-sig-giro{animation:none}#pg-top100 .tp-go:hover{transform:none}}

/* Sezioni */
#pg-top100 .tp-sez{padding:96px max(26px,calc((100% - 1068px) / 2))}
#pg-top100 .tp-lilla{background:var(--lilla)}
#pg-top100 .tp-cielo{background:var(--cielo)}
#pg-top100 .tp-h2{font-size:clamp(30px,4vw,48px);margin-bottom:36px;letter-spacing:-.04em}
#pg-top100 .tp-testo{font-size:17.5px;color:var(--dim);line-height:1.6;max-width:58ch}
#pg-top100 .tp-sotto{margin:-20px 0 36px}

/* Chi può candidare */
#pg-top100 .tp-chi-carte{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#pg-top100 .tp-carta{background:#fff;border-radius:25px;padding:30px 28px;box-shadow:var(--ombra)}
#pg-top100 .tp-carta-tag,#pg-top100 .tp-livello-tag{display:inline-block;font-family:'Sora',sans-serif;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--viola);background:var(--lilla);padding:6px 12px;border-radius:9999px;margin-bottom:16px}
#pg-top100 .tp-carta h3{font-size:22px;margin-bottom:10px}
#pg-top100 .tp-carta p{font-size:16px;color:var(--dim)}

/* Come funziona */
#pg-top100 .tp-passi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:passo}
#pg-top100 .tp-passo{position:relative;background:var(--lilla);border-radius:25px;padding:24px 22px 26px;display:flex;flex-direction:column;gap:10px}
#pg-top100 .tp-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--notte);color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:18px;margin-bottom:6px}
#pg-top100 .tp-passo:last-child .tp-n{background:var(--viola)}
#pg-top100 .tp-passo h3{font-size:18.5px;letter-spacing:-.02em;line-height:1.15}
#pg-top100 .tp-passo p{font-size:15px;color:var(--dim);line-height:1.55}

/* Cosa si ottiene */
#pg-top100 .tp-livelli{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
#pg-top100 .tp-livello{background:#fff;border-radius:25px;padding:30px 28px;box-shadow:var(--ombra);display:flex;flex-direction:column;gap:10px}
#pg-top100 .tp-livello h3{font-size:23px;line-height:1.12}
#pg-top100 .tp-livello p{font-size:16px;color:var(--dim)}
#pg-top100 .tp-livello .tp-livello-tag{align-self:flex-start;margin-bottom:6px}
#pg-top100 .tp-sigillo-carta{width:120px;margin:0 0 6px -6px}
#pg-top100 .tp-sigillo-carta .tp-sig-fondo{fill:var(--lilla)}
#pg-top100 .tp-sigillo-carta .tp-sig-cuore{fill:#fff}
#pg-top100 .tp-livello-vetta{background:var(--notte);border-radius:25px 25px 25px 0}
#pg-top100 .tp-livello-vetta h3{color:#fff}
#pg-top100 .tp-livello-vetta p{color:rgba(255,255,255,.8)}
#pg-top100 .tp-livello-vetta .tp-livello-tag{background:var(--menta);color:var(--notte)}

/* Settori */
#pg-top100 .tp-settori{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
#pg-top100 .tp-settori .tp-h2{margin-bottom:18px}
#pg-top100 .tp-settori ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
#pg-top100 .tp-settori li{display:flex;align-items:center;gap:16px;background:#fff;border-radius:9999px;padding:14px 22px;font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;color:var(--notte);letter-spacing:-.015em}
#pg-top100 .tp-settori li span{font-weight:800;font-size:13px;color:var(--viola);letter-spacing:.04em}

/* Punti critici */
#pg-top100 .tp-critici{background:var(--cielo);border-radius:25px 25px 25px 0;padding:48px 44px;max-width:900px}
#pg-top100 .tp-critici .tp-h2{margin-bottom:16px}

/* Domande frequenti */
#pg-top100 .tp-faq{display:flex;flex-direction:column;gap:12px;max-width:880px}
#pg-top100 .tp-domanda{background:#fff;border-radius:25px;padding:0 26px;box-shadow:var(--ombra)}
#pg-top100 .tp-domanda summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0}
#pg-top100 .tp-domanda summary::-webkit-details-marker{display:none}
#pg-top100 .tp-domanda summary::after{content:'+';flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lilla);color:var(--viola);font-family:'Sora',sans-serif;font-weight:700;font-size:20px;transition:transform .2s}
#pg-top100 .tp-domanda[open] summary::after{transform:rotate(45deg)}
#pg-top100 .tp-domanda h3{font-size:18px;letter-spacing:-.02em;line-height:1.3}
#pg-top100 .tp-domanda p{font-size:16px;color:var(--dim);padding:0 0 24px;max-width:70ch}

/* Modulo */
#pg-top100 .tp-form-testa{max-width:760px;margin-bottom:32px}
#pg-top100 .tp-form-testa .tp-h2{margin-bottom:14px}
#pg-top100 .tp-form,#pg-top100 .tp-grazie{max-width:880px}
#pg-top100 .tp-blocco{border:0;margin:0 0 16px;padding:30px;background:#fff;border-radius:25px;min-width:0;box-shadow:var(--ombra)}
#pg-top100 .tp-blocco[hidden]{display:none}
#pg-top100 .tp-blocco legend{float:left;width:100%;padding:0;margin-bottom:18px;font-family:'Sora',sans-serif;font-weight:700;font-size:20px;letter-spacing:-.025em;color:var(--notte)}
#pg-top100 .tp-blocco legend + *{clear:both}
#pg-top100 .tp-nota{font-size:15px;color:var(--dim);margin-bottom:16px}
#pg-top100 .tp-anonimo{display:flex;gap:12px;align-items:flex-start;background:var(--lilla);border:2px solid transparent;border-radius:18px;padding:14px 16px;margin-bottom:18px;cursor:pointer;transition:border-color .2s}
#pg-top100 .tp-anonimo:has(input:checked){border-color:var(--notte)}
#pg-top100 .tp-anonimo input{margin-top:4px;accent-color:var(--notte)}
#pg-top100 .tp-anonimo span{display:flex;flex-direction:column;gap:2px;font-size:14.5px;color:var(--dim);line-height:1.45}
#pg-top100 .tp-anonimo b{font-family:'Sora',sans-serif;font-weight:700;font-size:15.5px;color:var(--notte)}
#pg-top100 .tp-campi{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
#pg-top100 .tp-campi label,#pg-top100 .tp-lungo{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--notte)}
#pg-top100 input:not([type=radio]):not([type=checkbox]),#pg-top100 select,#pg-top100 textarea{font:inherit;font-size:15.5px;font-weight:400;color:var(--notte);background:#fff;border:2px solid var(--lilla2);border-radius:18px;padding:12px 16px;width:100%;transition:border-color .2s}
#pg-top100 textarea{resize:vertical;min-height:120px;line-height:1.5}
#pg-top100 input:focus,#pg-top100 select:focus,#pg-top100 textarea:focus{outline:none;border-color:var(--viola)}
#pg-top100 .tp-scelte{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
#pg-top100 .tp-scelta{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--lilla2);border-radius:22px;padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s}
#pg-top100 .tp-scelta:has(input:checked){border-color:var(--notte);background:var(--lilla)}
#pg-top100 .tp-scelta input{margin-top:4px;accent-color:var(--notte)}
#pg-top100 .tp-scelta span{display:flex;flex-direction:column;font-size:14.5px;color:var(--dim);line-height:1.45}
#pg-top100 .tp-scelta b{font-family:'Sora',sans-serif;font-weight:700;font-size:16px;color:var(--notte)}
#pg-top100 .tp-pratiche{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
#pg-top100 .tp-check{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--lilla2);border-radius:9999px;padding:8px 16px;font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s}
#pg-top100 .tp-check:has(input:checked){border-color:var(--notte);background:var(--lilla);color:var(--notte)}
#pg-top100 .tp-check input{accent-color:var(--notte);margin:0}
#pg-top100 .tp-consenso{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--dim);margin:10px 0 22px;max-width:640px}
#pg-top100 .tp-consenso input{margin-top:4px;accent-color:var(--notte)}
#pg-top100 .tp-trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#pg-top100 .tp-errore{color:var(--rosso);font-size:15px;font-weight:500;margin-bottom:14px}
#pg-top100 .tp-grazie{background:#fff;border-radius:25px;padding:40px 36px;box-shadow:var(--ombra)}
#pg-top100 .tp-grazie h3{font-size:26px;margin-bottom:10px}
#pg-top100 .tp-grazie p{font-size:17px;color:var(--dim)}
#pg-top100 .tp-grazie:focus{outline:none}

@media (max-width:1040px){
  #pg-top100 .tp-passi{grid-template-columns:repeat(2,minmax(0,1fr))}
  #pg-top100 .tp-livelli{grid-template-columns:1fr}
}
@media (max-width:820px){
  #pg-top100 .tp-hero-in{grid-template-columns:1fr;padding-top:120px;padding-bottom:64px;gap:24px}
  #pg-top100 .tp-hero-sigillo{min-height:320px}
  #pg-top100 .tp-settori{grid-template-columns:1fr;gap:28px}
}
@media (max-width:760px){
  #pg-top100 .tp-sez{padding-top:64px;padding-bottom:64px}
  #pg-top100 .tp-chi-carte,#pg-top100 .tp-campi,#pg-top100 .tp-scelte{grid-template-columns:1fr}
  #pg-top100 .tp-blocco{padding:22px 18px}
  #pg-top100 .tp-critici{padding:32px 24px}
  #pg-top100 .tp-hero{border-radius:0 0 32px 32px}
}
@media (max-width:480px){
  #pg-top100 .tp-passi{grid-template-columns:1fr}
  #pg-top100 .tp-go{width:100%;text-align:center}
  #pg-top100 .tp-et-2{right:0}
  #pg-top100 .tp-etichetta{font-size:13px;padding:8px 13px}
}
