
/* Sito chiaro: bianco, inchiostro e giallo. Un solo tema, niente scuro. */
:root{
  --bg:#ffffff; --soft:#fffaec; --ink:#14120b; --muted:#5f5a49; --line:#ebe6d6;
  --accent:#ffb400; --accent-d:#e09b00; --accent-fg:#1a1200; --tint:#fff1c2; --good:#0f8a52; --bad:#b4372b;
  --display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif; --body:'Instrument Sans','Segoe UI',system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body)}
.w{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5.4vw,3.8rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0} a{color:inherit}
.btn{display:inline-block;padding:.85rem 1.4rem;border-radius:10px;font:600 1rem var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--accent);color:var(--accent-fg);box-shadow:0 8px 20px -10px var(--accent-d)}
.btn-main:hover{background:var(--accent-d)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.topbar{background:var(--accent);color:var(--accent-fg);font-size:.9rem;text-align:center;padding:.5rem 16px;font-weight:500}
.topbar b{font-weight:700}
header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;backdrop-filter:blur(6px)}
.nav{display:flex;align-items:center;gap:1.4rem;min-height:66px;flex-wrap:wrap}
.logo{font:800 1.4rem var(--display);text-decoration:none;display:flex;align-items:center;gap:.5rem}
.logo i{font-style:normal;background:var(--accent);color:var(--accent-fg);border-radius:8px;padding:.05rem .5rem}
.nav ul{display:flex;gap:1.3rem;list-style:none;margin:0 auto 0 1rem;padding:0;font-size:.95rem;font-weight:500;flex-wrap:wrap}
.nav ul a{text-decoration:none;color:var(--muted);padding:.4rem 0;border-bottom:2px solid transparent;transition:color .15s}
.nav ul a:hover{color:var(--ink)}
.nav ul a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.nav .lang{font-size:.82rem;font-weight:700;text-decoration:none;border:1.5px solid var(--line);border-radius:99px;padding:.25rem .65rem;color:var(--muted)}
.nav .lang:hover{border-color:var(--ink);color:var(--ink)}
.nav .acc{font-size:.95rem;font-weight:500;text-decoration:none}
@keyframes up{from{transform:translateY(16px)}to{transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes ping{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.4);opacity:0}}
@keyframes dash{to{stroke-dashoffset:-48}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rise{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.18s}.d3{animation-delay:.3s}.d4{animation-delay:.42s}
.float{animation:floaty 5s ease-in-out infinite}.float.b{animation-delay:-1.6s}.float.c{animation-delay:-3.2s}
.ping{transform-origin:center;transform-box:fill-box;animation:ping 2s ease-out infinite}
.flow{stroke-dasharray:8 8;animation:dash 1.2s linear infinite}
.hero{padding-block:3.6rem 3rem;background:linear-gradient(180deg,var(--soft),var(--bg))}
.hero.small{padding-block:3rem 2.4rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center}
.lead{font-size:1.18rem;color:var(--muted);margin:1.2rem 0 1.8rem;max-width:36rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.ticks{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.6rem;font-size:.92rem;color:var(--muted)}
.ticks span::before{content:"✓ ";color:var(--good);font-weight:700}
.art{width:100%;height:auto;display:block}
.hl{background:linear-gradient(transparent 62%,var(--accent) 62%);padding:0 .1em}
.strip{border-block:1px solid var(--line);background:var(--bg);overflow:hidden;padding-block:1rem}
.strip .track{display:flex;gap:3rem;width:max-content;animation:marquee 32s linear infinite;font:700 1.05rem var(--display);color:var(--muted)}
.strip span::before{content:"✦ ";color:var(--accent)}
section{padding-block:4rem}
.alt{background:var(--soft)}
.head{max-width:42rem;margin-bottom:2.2rem}
.head p{color:var(--muted);margin-top:.8rem;font-size:1.05rem}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:1.8rem;display:flex;flex-direction:column;gap:1rem;position:relative;transition:transform .2s,box-shadow .2s}
.plan:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(20,18,11,.4)}
.plan.top{border:2px solid var(--ink);background:linear-gradient(180deg,var(--tint),#fff 38%)}
.plan .badge{position:absolute;top:-.8rem;left:1.8rem;background:var(--ink);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:.2rem .8rem}
.plan .first{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.plan .price{font:800 3.2rem var(--display);font-variant-numeric:tabular-nums;line-height:1}
.plan .price small{font:500 .95rem var(--body);color:var(--muted)}
.plan .then{font-size:.95rem;background:var(--soft);border-radius:10px;padding:.55rem .8rem}
.plan.top .then{background:#fff}
.plan .then b{font-variant-numeric:tabular-nums}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.95rem}
.plan li::before{content:"✓";color:var(--good);font-weight:700;margin-right:.55rem}
.plan .btn{margin-top:auto;text-align:center}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.feat div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem;display:grid;gap:.5rem;align-content:start;transition:transform .2s,border-color .2s}
.feat div:hover{transform:translateY(-4px);border-color:var(--accent)}
.feat p{color:var(--muted);font-size:.95rem}
.ico{width:46px;height:46px;border-radius:12px;background:var(--tint);display:grid;place-items:center}
.ico svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.k{font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.steps{display:grid;gap:1rem}
.steps div{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.2rem}
.steps b{display:block;font-family:var(--display);font-size:1.15rem}
.steps span{color:var(--muted);font-size:.95rem}
.calc{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:1.8rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:2.4rem;align-items:center}
.seg{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.8rem}
.seg button{padding:.55rem 1rem;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:600 .92rem var(--body);cursor:pointer;transition:background .15s}
.seg button:hover{background:var(--tint)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.bars{display:grid;gap:1rem}
.bar{display:grid;gap:.35rem}
.bar .t{display:flex;justify-content:space-between;font-size:.92rem;gap:1rem}
.bar .t b{font-variant-numeric:tabular-nums}
.trk{height:32px;background:var(--soft);border-radius:8px;overflow:hidden}
.fill{height:100%;border-radius:8px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.them .fill{background:#c9c3ad}.us .fill{background:var(--accent)}
.save{font:800 1.6rem var(--display);margin-top:1.4rem}
.note{font-size:.8rem;color:var(--muted);margin-top:.3rem}
.tw{overflow-x:auto;border:1.5px solid var(--line);border-radius:18px;background:#fff}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem}
th,td{padding:.9rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
th{font:700 .95rem var(--display);background:var(--soft)}
tr:last-child td{border:0}
tr.us td{background:var(--tint);font-weight:600}
.y{color:var(--good);font-weight:700}.n{color:var(--bad);font-weight:700}
.cloud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.cloud div{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.4rem;display:grid;gap:.4rem;align-content:start;transition:transform .2s}
.cloud div:hover{transform:translateY(-5px)}
.cloud .p{font:800 2rem var(--display);font-variant-numeric:tabular-nums}
.cloud .p small{font:500 .85rem var(--body);color:var(--muted)}
.cloud .s{font-size:.9rem;color:var(--muted)}
.bars2{display:grid;gap:5px;margin-top:.6rem}
.bars2 i{display:block;height:7px;border-radius:4px;background:var(--accent);transform-origin:left;animation:grow .9s cubic-bezier(.2,.7,.2,1) both}
details{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:1rem 1.3rem;transition:border-color .15s}
details[open]{border-color:var(--accent)}
details+details{margin-top:.7rem}
summary{cursor:pointer;font:700 1.08rem var(--display)}
details p{margin-top:.7rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.cards a{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.5rem;text-decoration:none;display:grid;gap:.5rem;align-content:start;transition:transform .2s,border-color .2s}
.cards a:hover{border-color:var(--ink);transform:translateY(-4px)}
.cards p{color:var(--muted);font-size:.95rem}
.cards .go{font-weight:600;font-size:.92rem}
.final{text-align:center;background:var(--tint)}
.final .head{margin-inline:auto}
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.contact div{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.5rem;display:grid;gap:.5rem;align-content:start}
.contact p{color:var(--muted);font-size:.95rem}
footer{border-top:1px solid var(--line);padding-block:2.4rem;font-size:.88rem;color:var(--muted);background:var(--soft)}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.fg b{display:block;color:var(--ink);margin-bottom:.5rem}
.fg a{display:block;text-decoration:none;padding:.15rem 0}
.mock{font-size:.78rem;margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1rem}
@media(max-width:900px){
  .hero-grid,.split,.calc{grid-template-columns:1fr}
  .plans,.feat,.cards,.contact{grid-template-columns:1fr}
  .cloud{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fg{grid-template-columns:1fr 1fr}
  .nav ul{order:5;width:100%;margin:0;gap:1rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}
  .nav .acc{margin-left:auto}
}
@media(max-width:480px){.cloud{grid-template-columns:1fr}.hero{padding-block:2.2rem}section{padding-block:3rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.nav>ul>li{position:relative}
.nav .dd>a::after{content:" ▾";font-size:.7em}
.nav .sub{display:none;position:absolute;left:-12px;top:100%;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:.5rem;min-width:220px;list-style:none;margin:0;box-shadow:0 20px 40px -24px rgba(20,18,11,.4);flex-direction:column;gap:0;z-index:9}
.nav .dd:hover .sub,.nav .dd:focus-within .sub{display:flex}
.nav .sub a{display:block;padding:.55rem .8rem;border-radius:8px;border:0;color:var(--ink)}
.nav .sub a:hover{background:var(--tint)}
.nav .dd.on>a{color:var(--ink);border-bottom-color:var(--accent)}
.nav .lang{font-size:.82rem;font-weight:700;text-decoration:none;border:1.5px solid var(--line);border-radius:99px;padding:.25rem .65rem;color:var(--muted)}
.nav .lang:hover{border-color:var(--ink);color:var(--ink)}
.chip{display:inline-block;font-size:.72rem;font-weight:700;border-radius:99px;padding:.1rem .5rem;margin-left:.3rem;white-space:nowrap}
.chip.soon{background:var(--tint);color:#7a5600;border:1px solid #f0d27a}
.nd{color:var(--muted);font-style:italic}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.stats div{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.3rem}
.stats b{display:block;font:800 2.1rem var(--display);line-height:1;font-variant-numeric:tabular-nums;margin-bottom:.4rem}
.stats div>span{color:var(--muted);font-size:.92rem}
.stats b .px{font:inherit;color:inherit}
.prose{max-width:46rem}
.prose p+p{margin-top:1rem}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.box{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:1.5rem;display:grid;gap:.6rem;align-content:start}
.box ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.95rem;display:grid;gap:.35rem}
.box p{color:var(--muted);font-size:.95rem}
.dash{position:relative;display:grid;grid-template-columns:150px 1fr;background:#fff;border:2.5px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 26px 50px -30px rgba(20,18,11,.5);font-size:.82rem}
.dash .side{background:var(--ink);color:#fff;padding:1rem .8rem;display:grid;gap:.15rem;align-content:start}
.dash .side b{font:800 1rem var(--display);margin-bottom:.6rem;color:var(--accent)}
.dash .side span{padding:.35rem .5rem;border-radius:6px;color:#d9d4c2}
.dash .side span.on{background:#ffffff1f;color:#fff}
.dash .main{padding:1.6rem 1rem 1rem;display:grid;gap:.6rem;align-content:start}
.dash .row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:var(--soft)}
.dash .row small{color:var(--muted);display:block}
.dash .ok{background:#d9f3e4;color:#0b5c36;border-radius:99px;padding:.1rem .5rem;font-weight:700;white-space:nowrap}
.dash .btnx{background:var(--accent);color:var(--accent-fg);border-radius:6px;padding:.2rem .55rem;font-weight:700;white-space:nowrap}
.dash .ex{position:absolute;top:8px;right:10px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.legend{font-size:.85rem;color:var(--muted);margin:0 0 1rem}
.tw table.tech td:first-child{font-weight:600;white-space:nowrap}
.tw table.tech td{vertical-align:top;font-size:.9rem;min-width:150px}
.nav .vat{font:700 .8rem var(--body);background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:.25rem .65rem;color:var(--muted);cursor:pointer}
.nav .vat:hover{border-color:var(--ink);color:var(--ink)}
.nav .vat[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.fg{grid-template-columns:2fr repeat(4,1fr)}
.fld{display:grid;gap:.3rem;font-size:.9rem;font-weight:600;margin-top:.8rem}
.fld input{font:600 1rem var(--body);padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:10px;width:100%;max-width:14rem}
.ub{display:grid;grid-template-columns:repeat(90,1fr);gap:2px;margin:.6rem 0}
.ub i{display:block;height:34px;border-radius:2px}
.stat{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.8rem}
.stat-h{display:flex;justify-content:space-between;align-items:center}
.stat-h .ok{background:#d9f3e4;color:#0b5c36;border-radius:99px;padding:.1rem .6rem;font-weight:700;font-size:.85rem}
.stat-f{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.banner-ex{background:var(--tint);border:1.5px solid #f0d27a;border-radius:12px;padding:.8rem 1rem;margin-bottom:1.4rem;font-size:.95rem}
.trk.skel{background:repeating-linear-gradient(90deg,var(--soft) 0 12px,#fff 12px 24px);border:1.5px dashed var(--line)}
.topbar{padding:.45rem 0;text-align:left}
.tb{display:flex;justify-content:space-between;align-items:center;gap:.6rem 1rem;flex-wrap:wrap}
.tb .tools{display:flex;gap:.5rem;align-items:center}
.topbar .vat,.topbar .lang{font:700 .78rem var(--body);background:transparent;border:1.5px solid rgba(26,18,0,.55);border-radius:99px;padding:.15rem .6rem;color:var(--accent-fg);cursor:pointer;text-decoration:none}
.topbar .vat:hover,.topbar .lang:hover{background:rgba(26,18,0,.1)}
.topbar .vat[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.nav{gap:1rem}
.nav ul.menu{margin:0 auto 0 .5rem;gap:1.1rem}
.mn,.burger{display:none}
@media(max-width:900px){
 .nav{gap:.6rem}
 .burger{display:inline-block;font:700 .9rem var(--body);border:1.5px solid var(--line);border-radius:10px;padding:.45rem .8rem;cursor:pointer;margin-left:auto}
 .nav .acc,.nav>.btn-main{display:none}
 .tb .tb-long{display:none}
 header .nav ul.menu{display:none;order:9;width:100%;flex-direction:column;overflow:visible;flex-wrap:nowrap;gap:0;margin:0;padding:.2rem 0 .8rem}
 .mn:checked ~ ul.menu{display:flex}
 header .nav ul.menu>li{width:100%;border-top:1px solid var(--line);flex:none}
 header .nav ul.menu a{display:block;padding:.7rem 0}
 header .nav ul.menu .sub{display:flex;position:static;border:0;box-shadow:none;padding:0 0 .4rem 1rem;flex-direction:column;min-width:0;background:none;gap:0}
 header .nav ul.menu .sub a{padding:.4rem 0;color:var(--muted)}
 header .nav .dd>a::after{content:""}
}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}.ub{grid-template-columns:repeat(45,1fr)}.ub i:nth-child(-n+45){display:none}}
.faqsearch{max-width:46rem;margin-bottom:1rem}
.faqsearch input{width:100%;font:500 1.05rem var(--body);padding:.9rem 1.1rem;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
.faqsearch input:focus{outline:3px solid var(--accent);border-color:var(--ink)}
.chipcats{display:flex;gap:.5rem;flex-wrap:wrap}
.chipcat{font:600 .88rem var(--body);text-decoration:none;border:1.5px solid var(--line);border-radius:99px;padding:.35rem .85rem;background:#fff;color:var(--ink);transition:background .15s}
.chipcat:hover{background:var(--tint);border-color:var(--accent)}
.faqcat{padding-block:2rem}
.faqcat .w>details{max-width:58rem}
.sideart{max-width:440px;justify-self:center;width:100%}
.faqw{display:grid;grid-template-columns:.75fr 1.25fr;gap:2.4rem;align-items:start}
.faqart{position:sticky;top:90px}
.stepsw{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}
.stepsart{max-width:460px;justify-self:center;width:100%}
section{padding-block:2.8rem}
.hero{padding-block:2.4rem 1.8rem}
.hero.small{padding-block:2rem 1.4rem}
.head{margin-bottom:1.5rem}
.lead{margin:1rem 0 1.4rem}
.final{padding-block:3rem}
@media(max-width:900px){.faqw,.stepsw{grid-template-columns:1fr}.faqart{display:none}.stepsart{max-width:340px}section{padding-block:2.2rem}}
@media(max-width:900px){.stats,.two{grid-template-columns:1fr 1fr}.dash{grid-template-columns:1fr}.dash .side{display:none}
 .nav .sub{display:flex;position:static;border:0;box-shadow:none;padding:0;flex-direction:row;background:none;min-width:0;gap:1rem}
 .nav .dd>a::after{content:""}.nav>ul>li{flex:none}.nav .sub a{padding:.4rem 0;white-space:nowrap}}
@media(max-width:480px){.stats,.two{grid-template-columns:1fr}}
