:root{
  /* Tema CHIARO: sfondo bianco, testo scuro. Contrasti verificati AA (il sito
     passa il proprio stesso scan 100/100). I colori "chiari" del vecchio tema
     scuro (es. #fca5a5) sono stati sostituiti con varianti scure leggibili. */
  --bg:#ffffff; --panel:#f5f7fc; --panel2:#eef2fb; --ink:#131a2e; --muted:#4a5678;
  --brand:#2f57d6; --brand2:#6d3fe0; --ok:#137a3a; --warn:#a15c00; --bad:#c0362c; --line:#d5deee;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
     background:linear-gradient(180deg,#ffffff,#f3f6fc);color:var(--ink);line-height:1.55}
a{color:var(--brand)}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
header{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;letter-spacing:.2px}
.logo span{color:var(--brand)}
.headright{display:flex;align-items:center;gap:14px}
.pill{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.langsw{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.langsw button{background:transparent;color:var(--muted);border:0;padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer}
.langsw button.on{background:var(--brand);color:#fff}
.hero{padding:48px 0 24px;text-align:center}
.badge{display:inline-block;background:#fde2e2;color:#b42318;border:1px solid #f3b4b4;
       border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;margin-bottom:18px}
h1{font-size:40px;line-height:1.12;margin:.2em 0;font-weight:800;letter-spacing:-.5px}
h1 .grad{background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{font-size:18px;color:var(--muted);max-width:680px;margin:14px auto 0}
.scanbox{margin:30px auto 0;max-width:640px;background:var(--panel);border:1px solid var(--line);
         border-radius:16px;padding:18px;box-shadow:0 18px 50px rgba(23,43,94,.10)}
.row{display:flex;gap:10px}
input[type=url],input[type=email]{flex:1;background:var(--panel2);border:1px solid var(--line);color:var(--ink);
       border-radius:10px;padding:14px 16px;font-size:16px;outline:none}
input:focus{border-color:var(--brand)}
button.cta,#go,#leadgo{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;border:0;border-radius:10px;
        padding:14px 20px;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap}
button:disabled{opacity:.6;cursor:wait}
.hint{color:var(--muted);font-size:13px;margin-top:10px}
.trust{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-top:26px}
.trust b{color:var(--ink)}
section{padding:34px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
#results{display:none;margin-top:26px}
.scoreline{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.gauge{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
       font-size:30px;font-weight:800;position:relative}
.gauge small{position:absolute;bottom:20px;font-size:11px;font-weight:600;color:var(--muted)}
.counts{display:flex;gap:12px;flex-wrap:wrap}
.chip{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}
.chip.c{color:#b42318} .chip.s{color:#8a6100} .chip.m{color:#1d4ed8}
.finding{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px;background:var(--panel2)}
.finding h4{margin:0 0 6px;font-size:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sev{font-size:11px;font-weight:800;text-transform:uppercase;border-radius:6px;padding:3px 7px}
.sev.critical{background:#fde2e2;color:#b42318}
.sev.serious{background:#fef3d6;color:#8a6100}
.sev.moderate{background:#e3edff;color:#1d4ed8}
.finding .crit{color:var(--muted);font-size:12px}
.finding p{margin:8px 0}
.fix{border-left:3px solid var(--ok);padding-left:12px;color:#0a7a3f;font-size:14px}
.ex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#556;
    background:#f4f6fb;border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:8px;overflow:auto}
.notcov{margin-top:18px;border:1px dashed var(--line);border-radius:12px;padding:16px;color:var(--muted);font-size:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* confronto "fix vero vs overlay finto" (elemento differenziante) */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.compare .card b{font-size:15px;display:block;margin-bottom:6px}
.compare .card ul{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:14px}
.compare .card li{margin:7px 0}
.compare-bad{border-color:#f3b4b4;background:#fff6f6}
.compare-good{border-color:#a7e0ba;background:#f2fbf5}
.price{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column}
.price.feat{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
.price h3{margin:.1em 0}
.amt{font-size:30px;font-weight:800;margin:8px 0}
.amt small{font-size:14px;color:var(--muted);font-weight:600}
.price ul{padding-left:18px;margin:12px 0;color:var(--muted);font-size:14px}
.price li{margin:6px 0}
.price .tag{font-size:12px;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
details{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:12px;background:var(--panel)}
summary{cursor:pointer;font-weight:700}
details p{color:var(--muted)}
.lead{margin-top:18px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px}
footer{border-top:1px solid var(--line);margin-top:30px;padding:26px 0;color:var(--muted);font-size:13px}
.disclaimer{background:#fff7e6;border:1px solid #f0d9a0;border-radius:12px;
            padding:14px 16px;color:#7a5c00;font-size:13px;margin-top:18px}
h2{font-size:26px;margin:0 0 6px}
.lede{color:var(--muted);margin:0 0 18px}
/* accessibilità del nostro stesso sito: skip-link, label nascoste, focus visibile */
.visually-hidden{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:8px;top:-60px;background:var(--brand);color:#fff;padding:10px 16px;border-radius:10px;z-index:20;font-weight:700;transition:top .15s}
.skip:focus{top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9ec1ff;outline-offset:2px}
/* sezione "come funziona" */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.step .num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;font-weight:800;margin-bottom:10px}
.step h4{margin:.2em 0}
.step p{color:var(--muted);font-size:14px;margin:6px 0 0}
/* barra di fiducia (fatti, non testimonianze inventate) */
.trustbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:22px;color:var(--muted);font-size:13px}
.trustbar .lbl{font-weight:700;color:var(--ink)}
.trustbar .b{border:1px solid var(--line);border-radius:999px;padding:6px 12px}
/* CTA finale */
.finalcta{text-align:center;background:linear-gradient(180deg,rgba(91,140,255,.08),rgba(123,107,255,.05));border:1px solid var(--line);border-radius:18px;padding:34px}
.finalcta h2{margin:0 0 16px}
/* prezzo di lancio (offerta introduttiva REALE, non finta) */
.oldprice{color:var(--muted);text-decoration:line-through;font-size:18px;font-weight:600;margin-right:8px}
.launchbadge{display:inline-block;background:#dcf5e3;color:#0a7a3f;border:1px solid #a7e0ba;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;margin-left:8px;vertical-align:middle}
.launchnote{color:#0a7a3f;font-size:12px;margin-top:2px;font-weight:600}
.promobanner{background:linear-gradient(90deg,#e6f7ec,#eaf0ff);border:1px solid #a7e0ba;border-radius:12px;padding:12px 16px;text-align:center;color:#0a5c2f;font-weight:600;margin:0 0 18px}
.promobanner b{color:#08491f;letter-spacing:.5px}
/* sezione Sprint (alto-ticket, done-with-you) */
.sprint{background:linear-gradient(180deg,rgba(123,107,255,.10),rgba(91,140,255,.05));border:1px solid var(--brand);border-radius:18px;padding:28px}
.sprint .top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.sprint .tag{color:var(--brand);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.5px}
.sprint h2{margin:.2em 0}
.price-wrap{text-align:right;min-width:200px}
.sprintsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.sprintstep{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px;color:var(--muted)}
.sprintstep b{color:var(--ink);display:block;margin-bottom:4px}
/* pagina privacy / prose */
.prose{max-width:760px}
.prose h2{margin-top:26px;font-size:20px}
.prose p{color:var(--muted)}
.prose ul{color:var(--muted);padding-left:20px}
.prose li{margin:6px 0}
.prose b{color:var(--ink)}
/* generatore report: documento "bianco" (stampabile in PDF) */
.reportdoc{background:#fff;color:#1a2233;border-radius:12px;margin:24px 0;font-size:14px;line-height:1.6;overflow:hidden}
.reportdoc:empty{display:none}
.reportdoc h1{color:#0b1020;font-size:26px;margin:0 0 10px}
.reportdoc h2{color:#0b1020;font-size:19px;margin:26px 20px 8px;border-bottom:2px solid #e6ebf5;padding-bottom:6px}
.reportdoc h3{color:#111;font-size:15px;margin:.6em 0 .2em}
.reportdoc p{margin:8px 20px}
.reportdoc ul{margin:8px 20px}
.reportdoc .hint{color:#667;font-size:12px}
.reportdoc .crit{color:#667;font-size:12px}
.reportdoc .disclaimer{background:#fff7e6;border:1px solid #f0d9a0;color:#7a5c00;margin:16px 20px}
.r-cover{background:linear-gradient(135deg,#0b1020,#1a2a5a);color:#fff;padding:28px 24px}
.r-brand{font-weight:800;font-size:18px;margin-bottom:10px}
.r-brand span{color:#7b9cff}
.r-cover h1{color:#fff;margin:0 0 12px}
.r-meta{color:#cdd8f5;font-size:13px;margin:0}
.r-score{display:flex;gap:16px;align-items:center;margin-top:18px;color:#fff;flex-wrap:wrap}
.r-score-num{font-size:44px;font-weight:800;line-height:1}
.r-score-num small{font-size:16px;color:#cdd8f5}
.band-good{color:#22c55e}.band-fair{color:#a3e635}.band-poor{color:#f59e0b}.band-critical{color:#f87171}
.r-finding{border:1px solid #e6ebf5;border-radius:10px;padding:12px 14px;margin:10px 20px;background:#fbfcff}
.reportdoc .sev{font-size:10px;font-weight:800;text-transform:uppercase;border-radius:5px;padding:2px 6px}
.reportdoc .sev.critical{background:#fde2e2;color:#b42318}
.reportdoc .sev.serious{background:#fef3d6;color:#8a6100}
.reportdoc .sev.moderate{background:#e3edff;color:#1d4ed8}
.reportdoc .fix{color:#0a7a3f}
.reportdoc .ex{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:#556;background:#f4f6fb;border:1px solid #e6ebf5;border-radius:6px;padding:8px;margin:8px 0;overflow:auto}
.r-checklist{list-style:none;padding:0 20px;margin:8px 0}
.r-checklist li{margin:7px 0}
.statement{border:1px solid #d7e0f0;border-radius:10px;padding:4px 16px;margin:8px 20px;background:#f7f9ff}
@media (max-width:760px){h1{font-size:30px}.grid3,.steps,.compare{grid-template-columns:1fr}.row{flex-direction:column}
  .sprintsteps{grid-template-columns:1fr 1fr}.price-wrap{text-align:left}}
@media print{body{background:#fff;color:#000}header,.hero .badge,.scanbox,#pricing,#sprintsection,#faq,footer .links,.noprint{display:none}
  .card,.finding,.price{border-color:#ccc}.fix{color:#0a0}}
