@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--ink:#16203A;--muted:#55627D;--line:#DCE4F2;--tint:#E8EFFA;--accent:#1F4E9C;--deep:#163A75;--bg:#fff;--high:#C0392B;--med:#B7791F;--low:#2563EB;--ok:#1E8449;--r-sm:8px;--r:12px;--r-card:16px;--r-panel:20px;--wrap:1120px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid rgba(31,78,156,.45);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.brand img{width:30px;height:30px}
.top nav{display:flex;gap:22px;margin-left:auto}
.top nav a{color:var(--muted);text-decoration:none;font-weight:700;font-size:15px}
.top nav a:hover{color:var(--ink)}
.top .lang{color:var(--muted);text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.04em;border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin-left:12px}
.top .lang:hover{color:var(--ink);border-color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--r);font:inherit;font-weight:800;font-size:16px;text-decoration:none;border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--deep);border-color:var(--deep)}
.btn.ghost{background:#fff;color:var(--accent)}
.btn.ghost:hover{background:var(--tint)}
.btn.sm{padding:8px 16px;font-size:14px}
.btn:disabled{opacity:.55;cursor:default}
@media (max-width:820px){.top nav{display:none}.top .btn.ghost{display:none}.top .btn{margin-left:auto}.top nav + .lang{margin-left:auto}}

/* hero */
.hero{background:linear-gradient(180deg,var(--tint) 0,#fff 100%);padding:72px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
h1{font-size:clamp(34px,5vw,54px);line-height:1.08;letter-spacing:-.03em;font-weight:900;margin:0 0 20px}
.lead{font-size:20px;color:var(--muted);max-width:34em;margin:0 0 28px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.reassure{margin:18px 0 0;font-size:14px;color:var(--muted)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero{padding:44px 0}}

/* report preview: the hero's one memorable element */
.report{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:0 20px 40px -28px rgba(31,78,156,.55);padding:22px;position:relative}
.report .bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);font-weight:700}
.report .sample{background:#FFF4C2;color:#5C4700;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}
.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.counts div{background:var(--tint);border-radius:var(--r);padding:10px 8px;text-align:center}
.counts b{display:block;font-size:26px;line-height:1.1}
.counts span{font-size:12px;color:var(--muted);font-weight:700}
.counts .m b{color:var(--med)}.counts .l b{color:var(--low)}.counts .h b{color:var(--high)}
.finding{border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px}
.finding .t{display:flex;gap:10px;align-items:flex-start;font-weight:800;font-size:15.5px;line-height:1.3}
.badge{flex:none;border-radius:6px;color:#fff;font-size:12px;font-weight:800;padding:3px 9px;margin-top:1px}
.badge.med{background:var(--med)}.badge.low{background:var(--low)}.badge.high{background:var(--high)}
.finding .cv{font-size:12.5px;color:var(--muted);margin:8px 0 6px;font-weight:600;word-break:break-all}
.finding p{margin:6px 0 0;font-size:14.5px}
.finding p b{font-weight:800}

/* sections */
section{padding:84px 0}
section.alt{background:var(--tint)}
h2{font-size:clamp(28px,3.6vw,38px);line-height:1.15;letter-spacing:-.02em;font-weight:900;margin:0 0 14px;max-width:20em}
.sub{color:var(--muted);font-size:18px;max-width:38em;margin:0 0 40px}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}section{padding:56px 0}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px 22px 20px}
.card h3{margin:0 0 8px;font-size:19px;font-weight:800;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.card ul{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:14.5px}
.tabs{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:4px;margin-bottom:26px}
.tabs button{font:inherit;font-weight:800;font-size:15px;border:0;background:transparent;color:var(--muted);padding:8px 18px;border-radius:9px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--accent);color:#fff}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;margin-bottom:14px}
.step h3{margin:0 0 6px;font-size:19px}.step p{margin:0;color:var(--muted);font-size:15.5px}

/* plans */
.plan{display:flex;flex-direction:column}
.plan .price{font-size:38px;font-weight:900;letter-spacing:-.02em;margin:10px 0 2px}
.plan .price small{font-size:15px;font-weight:700;color:var(--muted)}
.plan ul{flex:1;margin:14px 0 20px;padding:0;list-style:none;color:var(--ink);font-size:15px}
.plan li{padding:6px 0 6px 26px;position:relative}
.plan li::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:7px;border-left:3px solid var(--ok);border-bottom:3px solid var(--ok);transform:rotate(-45deg)}
.plan.hot{border:2px solid var(--accent);box-shadow:0 20px 40px -28px rgba(31,78,156,.55)}
.plan{position:relative}
.plan .tag{position:absolute;top:-13px;left:20px;background:var(--tint);color:var(--deep);font-size:13px;font-weight:800;border-radius:999px;padding:3px 12px;margin-bottom:6px}
.note{font-size:14px;color:var(--muted);margin-top:22px;max-width:46em}

/* faq */
details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;margin-bottom:10px}
summary{cursor:pointer;font-weight:800;padding:16px 20px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;color:var(--accent);line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:0;padding:0 20px 18px;color:var(--muted);font-size:16px;max-width:52em}

.final{background:var(--deep);color:#fff;text-align:center}
.final h2{margin:0 auto 12px;max-width:18em}
.final p{color:#C9D8F2;margin:0 auto 26px;max-width:36em}
.final .btn{background:#fff;color:var(--deep);border-color:#fff}
.final .btn:hover{background:var(--tint)}
footer{padding:40px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
footer .wrap{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}
footer .wrap>div:last-child{text-align:right;max-width:44em}
@media (max-width:700px){footer .wrap>div:last-child{text-align:left}}
footer a{color:var(--muted)}
footer .brand{font-size:18px}

/* tool page */
.tool{max-width:680px;margin:0 auto;padding:48px 20px 80px}
.tool h1{font-size:34px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:26px;box-shadow:0 20px 40px -32px rgba(31,78,156,.5)}
.warn{background:#FFF4C2;color:#5C4700;border-radius:var(--r);padding:12px 16px;font-size:14px;margin-bottom:22px}
.tool label.f{display:block;font-weight:800;font-size:15px;margin-bottom:8px}
.tool input[type=url]{width:100%;padding:13px 14px;font:inherit;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink)}
.tool input[type=url]:focus{border-color:var(--accent);outline:2px solid rgba(31,78,156,.35)}
.tool label.confirm{display:flex;gap:10px;align-items:flex-start;margin:16px 0 20px;font-size:15px;color:var(--muted)}
.tool label.confirm input{accent-color:var(--accent);margin-top:5px;width:18px;height:18px}
#status{margin-top:18px;font-size:15px;font-weight:700;min-height:1.5em}
#result{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tool .small{font-size:13px;color:var(--muted);line-height:1.55;margin:20px 0 0}

/* pagine legali */
.doc{max-width:760px;margin:0 auto;padding:48px 20px 72px}
.doc h1{font-size:36px;margin-bottom:12px}
.doc h2{font-size:22px;margin:34px 0 10px}
.doc p,.doc li{font-size:16.5px}
.doc ul{padding-left:22px}
.doc table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}
.doc th,.doc td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px 10px 0}
.doc th{font-weight:800}
.doc .warn{display:inline-block}
.doc .lead{font-size:19px;color:var(--muted);margin:0 0 6px}
.doc h3{font-size:18px;margin:22px 0 8px}
.doc code{background:var(--tint);padding:1px 6px;border-radius:6px;font-size:.92em;overflow-wrap:anywhere}
.doc pre{background:#0f1b33;color:#e6edf7;padding:16px 18px;border-radius:var(--r);overflow-x:auto;font-size:13.5px;line-height:1.55}
.doc pre code{background:none;padding:0;color:inherit;font-size:inherit;overflow-wrap:normal}
.doc details{border-bottom:1px solid var(--line);padding:12px 0}
.doc details summary{cursor:pointer;font-weight:800}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
.try{margin-top:40px;padding:24px 26px;border-radius:var(--r-panel);background:var(--tint)}
.try h2{margin-top:0}
.reads{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reads a.card{text-decoration:none;color:inherit;display:block}
.reads a.card:hover{border-color:var(--accent)}
@media (max-width:820px){.reads{grid-template-columns:1fr}}
