:root{
--accent:#FF6037;--accent-hover:#E5502A;
--accent-deep:#B83E18;--accent-tint:#FFE5DD;
--board:#351E1C;--secondary:#733635;--info:#A0C9CB;
--surface:#EFECE3;--bg:#F5F4F0;
--ink:#241512;--ink-soft:#6B5A55;
--on-dark:#F5F4F0;--on-dark-soft:#D9C9C5;
--on-accent:#3D1206;
--ok:#5E7857;--warn:#C98A2B;--err:#A83226;
--line:#DDDACF;--line-dark:#4A302C;
--r:20px;--maxw:1160px;
--d:'Plus Jakarta Sans',sans-serif;--b:'Inter',sans-serif;
--m:'IBM Plex Mono',monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}}
body{font-family:var(--b);background:var(--bg);color:var(--ink);
font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent-deep);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);
outline-offset:2px;border-radius:6px}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--d);font-weight:800;line-height:1.08;
letter-spacing:-.02em}
h1{font-size:clamp(38px,5.4vw,62px)}
h2{font-size:clamp(29px,3.6vw,42px)}
h3{font-size:21px;line-height:1.25}
h1 em,h2 em{font-style:italic;color:var(--accent-deep)}
.on-dark h1 em,.on-dark h2 em{color:var(--accent)}
.sec{padding:96px 0}
.sec-alt{background:var(--surface)}
.lead{font-size:19px;color:var(--ink-soft);max-width:62ch}
.kicker{display:inline-flex;align-items:center;gap:8px;
font-family:var(--m);font-size:12.5px;font-weight:500;
letter-spacing:.09em;color:var(--accent-deep);margin-bottom:18px}
.kicker::before{content:"";width:22px;height:2px;background:var(--accent)}
.hgroup{max-width:760px;margin-bottom:52px}
.hgroup .lead{margin-top:16px}

/* Chips pill mono */
.chip{display:inline-flex;align-items:center;gap:7px;
font-family:var(--m);font-size:12.5px;font-weight:500;
letter-spacing:.05em;padding:7px 15px;border-radius:999px;
border:1px solid var(--line);color:var(--ink-soft);background:transparent}
.chip b{font-weight:500;color:var(--accent-deep)}
.chip-dot::before{content:"";width:7px;height:7px;border-radius:50%;
background:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.on-dark .chip{border-color:var(--line-dark);color:var(--on-dark-soft)}
.on-dark .chip b{color:var(--accent)}

/* Header sticky blur */
.hdr{position:sticky;top:0;z-index:60;
background:color-mix(in srgb,var(--bg) 82%,transparent);
-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.brand:hover{text-decoration:none}
.ecl-lock{height:25px;width:auto}
.ecl-era{fill:var(--secondary)}
.ecl-acc{fill:var(--accent)}
.ftr .ecl-era,.on-dark .ecl-era{fill:var(--on-dark)}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.navt{display:none}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);
border-radius:12px;cursor:pointer;position:relative;flex:none;
background:transparent}
.burger span{position:absolute;left:11px;right:11px;height:2px;
background:var(--ink);top:15px;border-radius:2px}
.burger span+span{top:24px}
.hdr-cta{margin-left:12px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--board);
color:var(--on-dark);padding:12px 18px;border-radius:0 0 12px 0}
.skip:focus{left:0}
.nav>a,.nav-drop>button{font-family:var(--b);font-weight:500;font-size:15px;
color:var(--ink);padding:9px 13px;border-radius:10px;background:none;
border:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.nav>a:hover,.nav-drop>button:hover{background:var(--surface);
text-decoration:none}
.nav>a[aria-current="page"]{color:var(--accent-deep)}
.caret{width:0;height:0;border-left:4.5px solid transparent;
border-right:4.5px solid transparent;border-top:5.5px solid currentColor;
opacity:.55}
.nav-drop{position:relative}
.nav-drop-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;
background:#FFFFFF;border:1px solid var(--line);border-radius:16px;
padding:8px;box-shadow:0 18px 44px rgba(36,21,18,.13);display:none}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{
display:block}
.nav-drop-menu a{display:block;padding:10px 12px;border-radius:10px;
color:var(--ink);font-size:15px}
.nav-drop-menu a:hover{background:var(--surface);text-decoration:none}
.nav-drop-menu small{display:block;font-size:12.5px;color:var(--ink-soft);
font-weight:400;margin-top:1px}
.lang{font-family:var(--m);font-size:12.5px;font-weight:500;
letter-spacing:.06em;color:var(--ink-soft);padding:8px 10px;
border-radius:10px}
.lang:hover{background:var(--surface);text-decoration:none}

/* Bottoni */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--b);
font-weight:600;font-size:15.5px;padding:13px 24px;border-radius:999px;
border:1px solid transparent;cursor:pointer}
.btn:hover{text-decoration:none}
.btn-acc{background:var(--accent);color:var(--on-accent)}
.btn-acc:hover{background:var(--accent-hover)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{background:var(--surface)}
.on-dark .btn-ghost{border-color:var(--line-dark);color:var(--on-dark)}
.on-dark .btn-ghost:hover{background:var(--secondary)}
.btn-arrow{font-family:var(--m)}

/* Board scuro */
.board{background:var(--board);color:var(--on-dark);
border-radius:calc(var(--r) + 8px)}
.board .lead{color:var(--on-dark-soft)}
.board h1,.board h2,.board h3{color:var(--on-dark)}
.board .kicker{color:var(--accent)}

/* Card + bento */
.card{background:#FFFFFF;border:1px solid var(--line);
border-radius:var(--r);padding:30px}
.card h3{margin-bottom:10px}
.card p{color:var(--ink-soft);font-size:15.5px}
.bento{display:grid;gap:16px}
.board .card{background:var(--secondary);border-color:transparent}
.board .card p{color:var(--on-dark-soft)}
.icon-sq{width:46px;height:46px;border-radius:14px;background:var(--accent-tint);
display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.icon-sq svg{width:23px;height:23px;stroke:var(--accent-deep);fill:none;
stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.board .icon-sq{background:rgba(255,96,55,.16)}
.board .icon-sq svg{stroke:var(--accent)}

/* Righe feature */
.frow{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--line);
align-items:baseline}
.frow:last-child{border-bottom:1px solid var(--line)}
.frow .fnum{font-family:var(--m);font-size:13px;font-weight:500;
color:var(--accent-deep);min-width:34px}
.frow p{color:var(--ink-soft);font-size:16px}
.frow b{display:block;color:var(--ink);font-weight:600;font-size:16.5px;
margin-bottom:2px;font-family:var(--b)}

/* Callout risultato */
.callout{background:var(--accent-tint);border-radius:var(--r);
padding:26px 30px;display:flex;gap:16px;align-items:baseline}
.callout .fnum{font-family:var(--m);font-size:12.5px;font-weight:500;
letter-spacing:.08em;color:var(--accent-deep);white-space:nowrap}
.callout p{font-size:17px;font-weight:500}

/* Stati */
.tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--m);
font-size:12px;font-weight:500;letter-spacing:.04em;padding:5px 12px;
border-radius:999px}
.tag::before{content:"";width:7px;height:7px;border-radius:50%}
.tag-ok{background:transparent;border:1px solid var(--line);
color:var(--ink)}
.tag-ok::before{background:var(--ok)}
.tag-warn{background:var(--warn);color:var(--ink)}
.tag-warn::before{background:var(--ink)}
.tag-err{background:var(--err);color:var(--on-dark)}
.tag-err::before{background:var(--on-dark)}
.tag-info{background:var(--info);color:var(--ink)}
.tag-info::before{background:var(--ink)}

/* Form */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:14px;
max-width:760px}
.cform .full{grid-column:1/-1}
.cform label{display:block;font-weight:600;font-size:14px;
margin-bottom:6px}
.cform input,.cform select,.cform textarea{width:100%;
font-family:var(--b);font-size:15.5px;color:var(--ink);
background:#FFFFFF;border:1px solid var(--line);border-radius:12px;
padding:12px 15px}
.cform textarea{min-height:150px;resize:vertical}
.cform input:focus-visible,.cform select:focus-visible,
.cform textarea:focus-visible{outline:3px solid var(--accent);
outline-offset:1px}
.cform .check{display:flex;gap:10px;align-items:flex-start;
font-size:14px;color:var(--ink-soft);font-weight:400}
.cform .check input{width:18px;height:18px;margin-top:2px;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{background:var(--accent-tint);border-radius:12px;
padding:14px 18px;font-size:15px}
.form-note-err{background:var(--err);color:var(--on-dark)}
@media(max-width:640px){.cform{grid-template-columns:1fr}}
/* Footer */
.ftr{background:var(--board);color:var(--on-dark-soft);margin-top:96px;
padding:64px 0 34px}
.ftr a{color:var(--on-dark)}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;
padding-bottom:44px;border-bottom:1px solid var(--line-dark)}
.ftr h4{font-family:var(--m);font-weight:500;font-size:12px;
letter-spacing:.12em;color:var(--accent);margin-bottom:16px}
.ftr li{list-style:none;margin-bottom:9px;font-size:15px}
.ftr-k{font-weight:600;color:var(--on-dark);font-size:13px}
.ftr-badges{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;
padding:30px 0;border-bottom:1px solid var(--line-dark)}
.badge{display:inline-flex;align-items:center;gap:12px;
font-family:var(--m);font-size:12px;letter-spacing:.06em;
color:var(--on-dark-soft)}
.badge:hover{text-decoration:none;color:var(--on-dark)}
.badge img{width:56px;height:56px}
.ftr-legal{padding-top:24px;font-family:var(--m);font-size:11.5px;
letter-spacing:.03em;line-height:1.9}
.ftr-legal a{color:var(--on-dark-soft);text-decoration:underline}
.ftr-legal p{margin-bottom:6px}

@media(max-width:900px){
.hdr-in{position:relative;gap:14px}
.burger{display:block}
.hdr-cta{margin-left:auto;padding:10px 16px;font-size:14.5px}
.nav{display:none;position:absolute;top:100%;left:-24px;right:-24px;
margin:0;flex-direction:column;align-items:stretch;gap:2px;
background:var(--bg);border-bottom:1px solid var(--line);
padding:12px 24px 20px;max-height:calc(100vh - 76px);overflow:auto}
.navt:checked ~ .nav{display:flex}
.nav>a{padding:12px 10px}
.nav-drop>button{display:none}
.nav-drop-menu{display:block;position:static;min-width:0;
background:transparent;border:0;box-shadow:none;padding:0}
.nav-drop-menu a{padding:12px 10px}
.nav-drop-menu small{display:none}
.nav .lang{align-self:flex-start;margin-top:6px}
.ftr-grid{grid-template-columns:1fr 1fr}
.sec{padding:64px 0}}
@media(max-width:560px){
.ftr-grid{grid-template-columns:1fr}}

.hero-board{padding:64px 56px;display:grid;
grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 26px}
.hm-card{background:#FFFFFF;border-radius:var(--r);padding:22px;
color:var(--ink);box-shadow:0 26px 60px rgba(20,10,8,.35)}
.hm-light{box-shadow:none;border:1px solid var(--line)}
.hm-head{display:flex;justify-content:space-between;align-items:baseline;
margin-bottom:10px}
.hm-head b{font-family:var(--d);font-weight:800;font-size:16px}
.hm-head span{font-family:var(--m);font-size:11.5px;color:var(--ink-soft)}
.hm-row{display:flex;justify-content:space-between;align-items:center;
gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.hm-id{display:block;font-family:var(--m);font-size:12.5px;font-weight:500;
color:var(--accent-deep)}
.hm-t{font-size:14.5px;font-weight:500}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
list-style:none;counter-reset:s}
.step{background:#FFFFFF;border:1px solid var(--line);
border-radius:var(--r);padding:24px 22px}
.step .fnum{display:block;font-family:var(--m);font-size:13px;
font-weight:500;color:var(--accent-deep);margin-bottom:14px}
.step b{display:block;font-family:var(--d);font-weight:800;font-size:17px;
letter-spacing:-.01em;margin-bottom:6px}
.step p{font-size:14px;color:var(--ink-soft)}
.card-link{display:block}
.card-link:hover{text-decoration:none;border-color:var(--accent)}
.card-link h3{color:var(--ink)}
.card-more{display:inline-flex;gap:8px;align-items:center;margin-top:16px;
font-weight:600;font-size:14.5px;color:var(--accent-deep)}
.ticks{list-style:none;margin-top:8px}
.ticks li{padding:11px 0 11px 30px;border-top:1px solid var(--line);
position:relative;font-size:15.5px;color:var(--ink-soft)}
.ticks li::before{content:"";position:absolute;left:2px;top:17px;width:14px;
height:8px;border-left:2.5px solid var(--secondary);
border-bottom:2.5px solid var(--secondary);transform:rotate(-45deg)}
.ticks-ext li::before{border-color:var(--accent)}
.card-ext{background:var(--accent-tint);border-color:transparent}
.card-ext p,.card-ext .ticks li{color:var(--ink)}
.card-ext .ticks li{border-top-color:rgba(184,62,24,.18)}
.pad-board{padding:64px 56px}
.cta-board{padding:72px 56px;text-align:center}
.cta-board .hgroup,.cta-board .lead{margin-left:auto;margin-right:auto}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;
align-items:start}
.pt-wrap{overflow-x:auto;background:#FFFFFF;border:1px solid var(--line);
border-radius:var(--r);padding:8px 6px}
.ptable{width:100%;min-width:680px;border-collapse:collapse;
font-size:15.5px}
.ptable th,.ptable td{padding:15px 18px;text-align:center;
border-top:1px solid var(--line)}
.ptable thead th{border-top:0;vertical-align:bottom}
.ptable thead b{display:block;font-family:var(--d);font-weight:800;
font-size:19px;letter-spacing:-.01em}
.ptable thead span{font-family:var(--m);font-size:13px;
color:var(--accent-deep)}
.ptable tbody th{text-align:left;font-weight:500;color:var(--ink);
font-size:15px}
.ptable td{color:var(--ink-soft)}
.ptable thead th:nth-child(3),.ptable tbody td:nth-child(3){
background:var(--accent-tint)}
.pt-ok{color:var(--accent-deep);font-weight:600;font-size:17px}
.pt-no{color:var(--line);font-size:17px}
.plat-note{margin-top:34px;text-align:center;font-size:15.5px;
color:var(--ink-soft)}
.plat-note a{font-weight:600}
.plat-note .btn-arrow{margin-left:6px}
@media(max-width:900px){
.hero-board{grid-template-columns:1fr;padding:44px 28px}
.grid-2,.grid-3,.steps{grid-template-columns:1fr}
.split{grid-template-columns:1fr}
.cta-board{padding:52px 28px}
.pad-board{padding:44px 24px}
.board{border-radius:var(--r)}}
@media(min-width:901px) and (max-width:1100px){
.steps{grid-template-columns:repeat(3,1fr)}
.grid-3{grid-template-columns:repeat(2,1fr)}}
