
:root{--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
/* [TEMI] palette HotiKey: primario azzurro, accento verde — chiaro e scuro, contrasti WCAG AA */
:root,[data-theme="light"]{color-scheme:light;--bg:#f6f9fc;--s1:#eef3f9;--s2:#ffffff;--s3:#e6eef7;--bd:#d6e0ec;--bd2:#bccbdd;--tx:#0f2238;--tx2:#36506d;--tx3:#536a87;
 --acc:#1765c7;--acc-h:#114f9e;--on-acc:#ffffff;--accd:rgba(23,101,199,.10);--gr:#157a4f;--grd:rgba(21,122,79,.10);--err:#b42318;--errd:rgba(180,35,24,.08);--hdr:rgba(246,249,252,.92);--shadow:0 18px 48px rgba(15,34,56,.12)}
[data-theme="dark"]{color-scheme:dark;--bg:#0b1220;--s1:#0f192b;--s2:#142036;--s3:#1b2a45;--bd:#24365a;--bd2:#33507d;--tx:#e9eff8;--tx2:#b9c6da;--tx3:#93a6c2;
 --acc:#5aa3ff;--acc-h:#82baff;--on-acc:#071224;--accd:rgba(90,163,255,.14);--gr:#3ccf8e;--grd:rgba(60,207,142,.14);--err:#ff8a80;--errd:rgba(255,138,128,.10);--hdr:rgba(11,18,32,.9);--shadow:0 24px 60px rgba(0,0,0,.5)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:var(--acc)}a:hover{color:var(--acc-h)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:var(--on-acc);padding:10px 16px;border-radius:8px;z-index:100}.skip:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
header{position:sticky;top:0;z-index:50;background:var(--hdr);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
.hd{display:flex;align-items:center;gap:20px;height:70px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx)}.logo b{font-family:var(--serif);font-size:22px;font-weight:600}
nav.main{margin-left:12px}nav.main>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
nav.main a,nav.main button{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:8px;font:500 15px var(--sans);color:var(--tx2);text-decoration:none;background:none;border:0;cursor:pointer}
nav.main a:hover,nav.main button:hover,nav.main .open>button{color:var(--tx);background:var(--s3)}nav.main a[aria-current]{color:var(--tx);font-weight:600}
.has-dd{position:relative}.dd{position:absolute;top:calc(100% + 10px);left:-140px;width:640px;background:var(--s2);border:1px solid var(--bd);border-radius:16px;padding:12px;box-shadow:var(--shadow);display:none}
.has-dd.open .dd{display:block}.dd ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.dd li a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;white-space:normal}.dd li a:hover{background:var(--s3)}
.dd-ic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--accd);color:var(--acc);flex-shrink:0}
.dd strong{display:block;font-size:15px;color:var(--tx)}.dd small{display:block;font-size:13px;color:var(--tx3);line-height:1.4;font-weight:400}
.dd em,.badge{font-style:normal;font-size:11px;font-weight:700;color:var(--on-acc);background:var(--acc);padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:2px}
.dd .all{grid-column:1/-1}.dd .all a{color:var(--acc);font-weight:600}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:16px}.hd-r .btn{white-space:nowrap}.login{color:var(--tx2);text-decoration:none;font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:12px;font-weight:700;font-size:15.5px;text-decoration:none;border:1px solid transparent;min-height:46px}
.btn-p{background:var(--acc);color:var(--on-acc)}.btn-p:hover{background:var(--acc-h);color:var(--on-acc)}.btn-s{border-color:var(--bd2);color:var(--tx)}.btn-s:hover{background:var(--s3);color:var(--tx)}.full{width:100%}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--bd2);color:var(--tx);border-radius:10px;width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
h1,h2{font-family:var(--serif);font-weight:600;color:var(--tx);margin:0}h1{font-size:clamp(36px,5vw,58px);line-height:1.08}h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15}
.lead{font-size:18px;color:var(--tx2);max-width:620px;margin:0}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-top:80px;padding-bottom:72px}.hero-t{display:flex;flex-direction:column;gap:24px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}.trust{display:flex;gap:22px;flex-wrap:wrap;color:var(--tx2);font-size:14.5px}.trust span{display:inline-flex;align-items:center;gap:8px}
.phones{position:relative;height:520px}.phones img{position:absolute;width:230px;border-radius:30px;border:6px solid var(--s3);box-shadow:var(--shadow)}.phones .p1{left:6%;top:0}.phones .p2{right:6%;top:70px}
.facts{background:var(--s1);border-block:1px solid var(--bd)}.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-block:34px}
.facts strong{display:block;color:var(--tx);font-size:16px;margin-bottom:4px}.facts span{color:var(--tx3);font-size:14.5px;line-height:1.55}
section.s{padding:96px 0;border-top:1px solid var(--bd)}section.alt{background:var(--s1)}.sh{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}.sh.c{align-items:center;text-align:center}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:18px;background:var(--s2);border:1px solid var(--bd);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--bd2);transform:translateY(-2px)}.card.wide{grid-column:span 2}.card-top{display:flex;justify-content:space-between;align-items:center}
.ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--accd);color:var(--acc)}.card-t{font-size:21px;font-weight:700;color:var(--tx)}.card-d{font-size:15.5px;color:var(--tx2)}.more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--acc)}
.two{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.steps li{display:flex;gap:20px;padding:22px 24px;border-radius:16px;background:var(--s2);border:1px solid var(--bd)}.num{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--acc);width:28px;flex-shrink:0;line-height:1.2}
.steps strong{display:block;font-size:18px;color:var(--tx)}.steps li span span{color:var(--tx2);font-size:15.5px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:32px;border-radius:20px;background:var(--s2);border:1px solid var(--bd)}.plan.hi{border:2px solid var(--acc)}
.tag{position:absolute;top:-13px;left:32px;font-size:12px;font-weight:700;color:var(--on-acc);background:var(--acc);padding:4px 12px;border-radius:20px}.pn{display:block;font-size:20px;color:var(--tx)}.pc{color:var(--tx3);font-size:14.5px}
.price b{font-family:var(--serif);font-size:46px;font-weight:600;color:var(--tx)}.price span{color:var(--tx3);font-size:15px;margin-left:6px}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.plan li{display:flex;gap:10px;color:var(--tx2);font-size:15px}.plan .btn{margin-top:auto}
.note{text-align:center;color:var(--tx3);font-size:15px;margin:28px 0 0}
.faq details{border-bottom:1px solid var(--bd);padding:20px 4px}.faq{border-top:1px solid var(--bd)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:18px;font-weight:600;color:var(--tx)}
.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex-shrink:0;color:var(--tx3);transition:transform .2s}.faq details[open] summary svg{transform:rotate(180deg)}.faq p{margin:12px 0 0;color:var(--tx2);max-width:820px}
.band{background:var(--s2);border:1px solid var(--bd);border-radius:24px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:40px}.band-r{display:flex;flex-direction:column;gap:12px;align-items:flex-start;flex-shrink:0}
footer{border-top:1px solid var(--bd);background:var(--s1)}.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding:56px 0 32px}.ft h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx);margin:0 0 12px}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.ft a{color:var(--tx3);text-decoration:none;font-size:14.5px}.ft a:hover{color:var(--tx)}.ft p{color:var(--tx3);font-size:14.5px;max-width:340px;margin:10px 0 0}
.fb{border-top:1px solid var(--bd);padding:18px 0 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--tx3);font-size:13px}
@media (max-width:1024px){.hero{grid-template-columns:1fr;padding-top:56px}.phones{height:440px;max-width:520px;margin:0 auto;width:100%}.phones img{width:195px}.facts .wrap{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.card.wide{grid-column:span 1}.two{grid-template-columns:1fr}.plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}.band{flex-direction:column;align-items:flex-start;padding:40px}.ft{grid-template-columns:1fr 1fr}}
@media (max-width:860px){nav.main,.hd-r .login{display:none}.burger{display:inline-flex}.hd-r{margin-left:0}
 header.menu-open nav.main{display:block;position:absolute;top:70px;left:0;right:0;background:var(--s1);border-bottom:1px solid var(--bd);padding:12px 16px 20px;max-height:calc(100vh - 70px);overflow:auto;margin:0}
 header.menu-open nav.main>ul{flex-direction:column}header.menu-open nav.main a,header.menu-open nav.main button{width:100%;justify-content:space-between;font-size:17px;padding:14px 12px}
 .dd{position:static;width:auto;box-shadow:none;border:0;background:transparent;padding:0 0 0 8px}.dd ul{grid-template-columns:1fr}.mobile-login{display:block!important}}
@media (max-width:600px){.wrap{padding:0 18px}.hd-r .btn{padding:9px 12px;font-size:13.5px;white-space:nowrap;min-height:42px}section.s{padding:64px 0}.cards,.facts .wrap{grid-template-columns:1fr}.phones{height:380px}.phones img{width:165px;border-radius:24px}.band{padding:28px}.ft{grid-template-columns:1fr 1fr}.ft>div:first-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ── logo reale ── */
.logo img{height:38px;width:auto}
/* ── pagine interne ── */
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--tx3)}.crumb a{color:var(--tx3);text-decoration:none}.crumb a:hover{color:var(--tx)}
.ph{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:start;padding-top:48px;padding-bottom:72px}.ph-t{display:flex;flex-direction:column;gap:22px}
.brief{padding:26px;border-radius:18px;background:var(--s2);border:1px solid var(--bd);display:flex;flex-direction:column;gap:12px}.brief p{margin:0;color:var(--tx2)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats div{padding:14px;border-radius:12px;background:var(--s3)}.stats b{display:block;font-family:var(--serif);font-size:26px;font-weight:600;color:var(--tx)}.stats span{font-size:13.5px;color:var(--tx3)}
.ps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pr{display:grid;grid-template-rows:auto auto;border-radius:18px;border:1px solid var(--bd);overflow:hidden;background:var(--s2)}
.pr .p{padding:20px 24px;background:var(--s3);color:var(--tx2);font-size:15px}.pr .p b{display:block;color:var(--tx3);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.pr .r{padding:20px 24px;font-size:15.5px;color:var(--tx)}.pr .r b{display:block;color:var(--acc);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feat{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:16px;background:var(--s2);border:1px solid var(--bd)}.feat h3{margin:0;font-size:18px;color:var(--tx)}.feat p{margin:0;font-size:15px;color:var(--tx2)}
.shot{border-radius:20px;border:1px solid var(--bd2);overflow:hidden;background:var(--s2)}
.prose{max-width:780px;color:var(--tx2);font-size:17px}.prose h2{margin:40px 0 12px}.prose p{margin:0 0 16px}
.soon{display:inline-block;font-size:13px;font-weight:700;color:var(--on-acc);background:var(--acc);padding:4px 12px;border-radius:20px}
/* ── form ── */
.fwrap{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:start;padding-top:40px;padding-bottom:96px}
.form{padding:32px;border-radius:20px;background:var(--s2);border:1px solid var(--bd);display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}.f.full{grid-column:1/-1}
.f label{font-size:14px;font-weight:600;color:var(--tx)}.f label .req{color:var(--acc)}
.f input,.f select,.f textarea{width:100%;font:16px var(--sans);color:var(--tx);background:var(--bg);border:1px solid var(--bd2);border-radius:10px;padding:12px 14px;min-height:48px}
.f textarea{min-height:130px;resize:vertical}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px var(--accd)}
.f .err{display:none;font-size:13.5px;color:var(--err)}.f.bad .err{display:block}.f.bad input,.f.bad select,.f.bad textarea{border-color:var(--err)}
.chk{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--tx2)}.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--acc);flex-shrink:0}
.chk.bad{color:var(--err)}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fmsg{grid-column:1/-1;display:none;padding:14px 16px;border-radius:12px;font-size:15px}.fmsg.ko{display:block;background:var(--errd);border:1px solid var(--err);color:var(--err)}
.done{padding:40px 32px;border-radius:20px;background:var(--s2);border:1px solid var(--gr);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.done h2{font-size:28px}
.side{display:flex;flex-direction:column;gap:16px}.side .brief a{color:var(--acc)}
@media (max-width:1024px){.ph,.fwrap{grid-template-columns:1fr}.ps{grid-template-columns:1fr}.feats{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.feats,.form{grid-template-columns:1fr}.form{padding:22px}.stats{grid-template-columns:1fr 1fr}}

.done[hidden],[hidden]{display:none!important}
@media (max-width:860px){header.menu-open nav.main .dd li a{justify-content:flex-start;font-size:15px}header.menu-open nav.main .dd .all a{justify-content:space-between}}
@media (max-width:600px){.phones{height:400px}.phones .p1{left:2%}.phones .p2{right:2%;top:40px}}

.side .brief a.btn{color:var(--on-acc)}

/* [MOBILE 02/10] margini laterali garantiti su ogni contenitore */
@media (max-width:600px){.wrap{padding-left:20px!important;padding-right:20px!important}}
.cards.cards3{grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.cards.cards3{grid-template-columns:1fr 1fr}}@media (max-width:600px){.cards.cards3{grid-template-columns:1fr}}

/* [TEMI] logo e pulsante tema */
.logo-d{display:none}[data-theme="dark"] .logo-l{display:none}[data-theme="dark"] .logo-d{display:block}
.ft .logo-l,.ft .logo-d{height:38px;width:auto}
.theme-t{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--bd2);background:transparent;color:var(--tx);cursor:pointer}
.theme-t:hover{background:var(--s3)}.theme-t .i-sun{display:none}[data-theme="dark"] .theme-t .i-sun{display:block}[data-theme="dark"] .theme-t .i-moon{display:none}
.feat a{color:var(--acc);font-weight:600;text-decoration:none}
a.feat:hover{border-color:var(--acc)}
.phones img{border-color:var(--s3)}
@media (max-width:600px){.theme-t{width:40px;height:40px}.hd{gap:10px}}

/* [LOGO ANDROID 03/10] il logo non si restringe mai: prima, su schermi stretti (molti Android 360px), la barra lo comprimeva in larghezza e restava alto 38px → schiacciato */
.logo{flex-shrink:0}.logo img{max-width:none;width:auto;height:38px;object-fit:contain}
@media (max-width:600px){.logo img{height:30px}}
@media (max-width:400px){.hd{gap:8px}.hd-r{gap:8px}.hd-r .btn{padding:8px 10px;font-size:12.5px}.theme-t,.burger{width:38px;height:38px}}
@media (max-width:350px){.hd-r .btn{display:none}}
@media (max-width:400px){.hide-s{display:none}.wrap.hd{padding-left:14px!important;padding-right:14px!important}}
/* [LOGO ANDROID v3 03/10] Correzione definitiva.
   Cause su Android: (1) Chrome/Samsung ingrandiscono i testi (font boosting e dimensione caratteri di sistema):
   il pulsante diventava più largo e la barra comprimeva il logo; (2) il CSS vecchio restava in cache.
   Ora: testi non ingranditi dal browser, logo con misure fisse e "object-fit:contain" (anche se compresso
   non si deforma mai), il pulsante si stringe lui al posto del logo. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.logo{flex:0 0 auto;min-width:max-content}
.logo img{flex:0 0 auto;width:131px!important;height:38px!important;max-width:none!important;object-fit:contain;object-position:left center}
.hd-r{min-width:0;flex:0 1 auto}
.hd-r .btn{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:600px){.logo img{width:110px!important;height:32px!important}}
@media (max-width:400px){.logo img{width:96px!important;height:28px!important}.hd-r .btn{padding:8px 10px;font-size:12.5px}.theme-t,.burger{width:36px;height:36px;flex:0 0 auto}}
@media (max-width:340px){.logo img{width:86px!important;height:25px!important}}

/* [COOKIE 03/10] banner del consenso: Rifiuta e Accetta con la stessa evidenza (linee guida Garante) */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:720px;margin:0 auto;background:var(--s2);border:1px solid var(--bd2);border-radius:18px;box-shadow:var(--shadow);padding:20px 22px;display:none}
.ck.on{display:block}.ck h2{font-family:var(--sans);font-size:17px;margin:0 0 6px;color:var(--tx)}.ck p{margin:0 0 14px;font-size:14.5px;color:var(--tx2)}
.ck-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:9px;border:0;background:transparent;color:var(--tx3);cursor:pointer;font-size:20px}
.ck-b{display:flex;gap:10px;flex-wrap:wrap}.ck-b .btn{flex:1 1 140px;min-height:44px;border:1px solid var(--bd2);cursor:pointer;font-family:var(--sans)}
.ck-b .ck-s{background:var(--s3);color:var(--tx)}.ck-p{display:none;margin:4px 0 14px;border-top:1px solid var(--bd);padding-top:12px}.ck.pref .ck-p{display:block}
.ck-r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;color:var(--tx2)}.ck-r strong{color:var(--tx);display:block}
.ck-r input{width:22px;height:22px;accent-color:var(--acc);flex-shrink:0}
@media (max-width:600px){.ck{left:10px;right:10px;bottom:10px;padding:18px}}

/* Rifiuta e Accetta identici (stessa evidenza), Personalizza secondario */
.ck-b [data-a="no"]{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
.ck-b [data-a="no"]:hover{background:var(--acc-h)}
.ck-b [data-a="pref"]{order:-1;flex-basis:100%;min-height:40px;background:transparent}
@media (min-width:601px){.ck-b [data-a="pref"]{flex-basis:auto;order:0}}
