body{margin:0;background:#0B1A33}
a{color:#F7842A}a:hover{color:#FFB27A}
.dm{--s:1;--bg:#0B1A33;--s1:#10223F;--s2:#132849;--s3:#172E52;--b1:#23406A;--b2:#2F4E7C;--or:#F7842A;--or2:#FFB27A;--t1:#F5F7FB;--t2:#C3CEE0;--t3:#93A3BE;font-family:'Poppins',system-ui,sans-serif;color:var(--t2);background:var(--bg);overflow-x:clip;position:relative}
.dm *{box-sizing:border-box}
.dm h1,.dm h2,.dm h3{color:var(--t1);letter-spacing:-0.035em;line-height:1.04;margin:0;font-weight:600}
.dm p{margin:0;line-height:1.6}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px;position:relative}
.sec-z{position:relative;z-index:1}
.halo{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(247,132,42,.2),rgba(247,132,42,0) 65%);pointer-events:none}
.label{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--or);display:inline-flex;align-items:center;gap:10px}
.label::before{content:"";width:28px;height:1px;background:var(--or)}
.h2{font-size:clamp(40px,5.4vw,76px)}
.a{color:var(--or)}
/* words that form from zero: parent carries --p, --cnt, --sp */
.split .w{display:inline-block;--lw:clamp(0, calc(var(--p,1) * var(--sp,1) * (var(--cnt,10) + 2) - var(--i)), 1);opacity:var(--lw);transform:translateY(calc((1 - var(--lw)) * .5em)) scale(calc(.96 + var(--lw) * .04));filter:blur(calc((1 - var(--lw)) * 8px))}
.rv{--q:clamp(0, calc(var(--p,1) * 1.4 - .2), 1);opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 60px))}
/* fade that starts at --st within a pinned section */
.pf{--q:clamp(0, calc((var(--p,1) - var(--st,0)) * var(--sl,12)), 1);opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 40px))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background .25s,border-color .25s,box-shadow .25s}
.btn-or{background:var(--or);color:#0B1A33;box-shadow:0 10px 30px -10px rgba(247,132,42,.6)}
.btn-or:hover{background:#FF9442;color:#0B1A33;box-shadow:0 14px 40px -10px rgba(247,132,42,.85)}
.btn-gh{background:rgba(255,255,255,.04);color:var(--t1);border-color:var(--b2)}
.btn-gh:hover{border-color:var(--or);color:var(--t1)}
.btn-dk{background:#0B1A33;color:#F5F7FB}
.btn-dk:hover{background:#172E52;color:#F5F7FB}
/* BACKGROUND FX */
.bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.plan{position:absolute;left:50%;top:50%;width:1500px;max-width:none;transform:translate(-50%,-50%) rotate(calc(-10deg + var(--g,0) * 22deg)) scale(calc(1 + var(--g,0) * .55));opacity:.12}
.plan path{fill:none;stroke-width:2;stroke-dasharray:100px 100px;stroke-dashoffset:calc((1 - clamp(0, calc(var(--g,0) * 2.4 + .2 - var(--d,0)), 1)) * 100px)}
.plan .lamp{opacity:clamp(0, calc((var(--g,0) - var(--t,0)) * 12), 1)}
.fx{position:absolute;color:var(--or);opacity:.12;transform:translateY(calc(var(--g,0) * var(--sp,-600px))) rotate(calc(var(--g,0) * var(--rt,40deg)))}
.fx.w{color:#C3CEE0;opacity:.08}
.fx svg{display:block;animation:fl 7s ease-in-out infinite}
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.wifi{animation:wf 2.8s ease-out infinite}
@keyframes wf{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
/* NAV */
.nav{position:sticky;top:0;z-index:40;background:rgba(11,26,51,.72);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.06)}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#F7842A,#FFB27A);transform-origin:left;transform:scaleX(var(--g,0))}
.nav-in{max-width:1240px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-word{font-weight:600;letter-spacing:.28em;color:var(--or);font-size:17px}
.nav-links{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.nav-links a{color:var(--t2);text-decoration:none;font-size:14px;padding:10px 11px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.nav-links a:hover{color:var(--t1);background:rgba(255,255,255,.05)}
.nav .btn{min-height:44px;padding:0 20px;font-size:14px;margin-left:6px}
/* HERO */
.hero{position:relative;z-index:1;min-height:960px;display:flex;align-items:center;justify-content:center;text-align:center}
.hero-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:60px 24px 140px;transform:scale(calc(1 - var(--p,0) * .16)) translateY(calc(var(--p,0) * -140px));opacity:calc(1 - var(--p,0) * 1.3);filter:blur(calc(var(--p,0) * 12px))}
.lg-house{fill:none;stroke:#F7842A;stroke-width:9;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:330;stroke-dashoffset:330;animation:draw calc(2.2s*var(--s)) cubic-bezier(.65,0,.35,1) calc(.3s*var(--s)) forwards}
.lg-d{fill:#FFFFFF;transform-box:fill-box;transform-origin:center;transform:scale(0);opacity:0;animation:pop calc(.8s*var(--s)) cubic-bezier(.34,1.56,.64,1) calc(2.45s*var(--s)) forwards}
.lg-glow{opacity:0;animation:glow calc(2.4s*var(--s)) ease-out calc(2.5s*var(--s)) forwards}
.word{display:flex;gap:.18em;font-size:clamp(34px,4.6vw,62px);font-weight:600;color:var(--or);letter-spacing:.06em;margin-top:26px}
.word span{display:inline-block;opacity:0;transform:translateY(50px);animation:rise calc(.7s*var(--s)) cubic-bezier(.2,.8,.2,1) calc((3.1s + var(--i)*.13s)*var(--s)) forwards}
.claim{font-family:'JetBrains Mono',monospace;font-size:13.5px;text-transform:uppercase;color:var(--t2);margin-top:14px;opacity:0;letter-spacing:.9em;animation:squeeze calc(1s*var(--s)) cubic-bezier(.2,.8,.2,1) calc(4.1s*var(--s)) forwards}
.hero-h{font-size:clamp(48px,7.4vw,104px);max-width:1080px;margin-top:40px !important;opacity:0;transform:translateY(30px);filter:blur(10px);animation:riseb calc(1s*var(--s)) cubic-bezier(.2,.8,.2,1) calc(4.7s*var(--s)) forwards}
.hero-p{font-size:clamp(17px,1.5vw,20px);max-width:720px;margin-top:26px !important;opacity:0;transform:translateY(20px);animation:rise calc(.8s*var(--s)) ease-out calc(5.2s*var(--s)) forwards}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:40px;opacity:0;transform:translateY(20px);animation:rise calc(.8s*var(--s)) ease-out calc(5.55s*var(--s)) forwards}
.scroll-ind{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.3em;color:var(--t3);opacity:0;animation:fadein 1s ease calc(6.1s*var(--s)) forwards;z-index:2}
.mouse{width:24px;height:38px;border:1.5px solid var(--b2);border-radius:14px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--or);animation:wheel 1.8s ease-in-out infinite}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{transform:scale(1);opacity:1}}
@keyframes glow{0%{opacity:0}35%{opacity:1}100%{opacity:.55}}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes riseb{to{opacity:1;transform:none;filter:blur(0)}}
@keyframes squeeze{to{opacity:1;letter-spacing:.14em}}
@keyframes fadein{to{opacity:1}}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
/* PINNED */
.pinwrap{position:relative;z-index:1}
.pin{position:sticky;top:72px;min-height:720px;display:flex;align-items:center}
.pin > .wrap{width:100%}
.man-text{font-size:clamp(34px,4.5vw,66px);font-weight:500;letter-spacing:-0.03em;line-height:1.14;color:var(--t1);max-width:1140px}
/* DOMOTICA */
.dgrid{display:flex;flex-wrap:wrap;gap:40px;align-items:center;width:100%}
.dleft{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:22px}
.dright{flex:1.5 1 560px;min-width:0;position:relative}
.dstage{--O:clamp(0, calc((var(--p,1) - .005) * 14), 1);--O2:clamp(0, calc((var(--p,1) - .03) * 14), 1);--F:clamp(0, calc((var(--p,1) - .05) * 14), 1);--L:clamp(0, calc((var(--p,1) - .07) * 10), 1);--C:clamp(0, calc((var(--p,1) - .16) * 9), 1);--T:clamp(0, calc((var(--p,1) - .3) * 9), 1);--H:clamp(0, calc((var(--p,1) - .44) * 9), 1);--E:clamp(0, calc((var(--p,1) - .58) * 9), 1);--S:clamp(0, calc((var(--p,1) - .72) * 9), 1);--A:clamp(0, calc((var(--p,1) - .86) * 9), 1)}
.house{width:100%;height:auto;display:block;overflow:visible;transform:perspective(1600px) rotateY(calc((.5 - var(--p,1)) * 10deg)) scale(calc(.88 + var(--O) * .12))}
.drw{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100px 100px}
.steps-box{position:relative;min-height:200px}
.dstep{position:absolute;inset:0;--l:calc(var(--p,1) * 7 - var(--i));opacity:clamp(0, min(calc(var(--l) * 6), calc((1 - var(--l)) * 6 + var(--last,0) * 30)), 1);transform:translateY(calc((.5 - clamp(0, var(--l), 1)) * 50px));filter:blur(calc((1 - clamp(0, min(calc(var(--l) * 6), calc((1 - var(--l)) * 6 + var(--last,0) * 30)), 1)) * 6px));display:flex;flex-direction:column;gap:12px}
.dstep .k{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--or);letter-spacing:.12em}
.dstep h3{font-size:clamp(28px,2.8vw,40px)}
.dstep p{font-size:16.5px;max-width:440px}
.rail{display:flex;gap:6px}
.rail span{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;position:relative}
.rail span::after{content:"";position:absolute;inset:0;background:var(--or);transform-origin:left;transform:scaleX(clamp(0, calc(var(--p,1) * 7 - var(--i)), 1))}
.phone{position:absolute;right:-6px;bottom:-30px;width:196px;border-radius:30px;background:#0B1A33;border:1px solid var(--b2);padding:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);opacity:var(--A);transform:translate(calc((1 - var(--A)) * 180px), calc((1 - var(--A)) * 60px)) rotate(calc((1 - var(--A)) * 14deg))}
.phone .nt{width:60px;height:6px;border-radius:6px;background:#23406A;margin:0 auto 12px}
.prow{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--t1);padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);margin-top:5px}
.tg{width:34px;height:20px;border-radius:999px;background:#2F4E7C;position:relative;display:block}
.tg::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#C3CEE0}
.tg.on{background:var(--or)}
.tg.on::after{left:17px;background:#fff}
.vw{display:flex;gap:3px;align-items:center;justify-content:center;height:26px;margin-top:8px}
.vw i{display:block;width:3px;border-radius:2px;background:var(--or);animation:wv 1s ease-in-out infinite}
@keyframes wv{0%,100%{height:4px}50%{height:22px}}
/* house micro-animations */
.flick{animation:flick 4s ease-in-out infinite}
@keyframes flick{0%,100%{fill-opacity:1}50%{fill-opacity:.7}}
.flowl{stroke-dasharray:5 8;animation:flow 1.1s linear infinite}
.flowl2{stroke-dasharray:3 9;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-26}}
.spinf{transform-box:fill-box;transform-origin:center;animation:spin .9s linear infinite}
.spins{transform-box:fill-box;transform-origin:center;animation:spin 2.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.robot{animation:robo 9s ease-in-out infinite alternate}
@keyframes robo{0%{transform:translateX(0)}100%{transform:translateX(150px)}}
.drop{animation:drop 1s linear infinite}
@keyframes drop{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(70px);opacity:0}}
.heatw{animation:heat 2.4s ease-in-out infinite}
@keyframes heat{0%{transform:translateY(8px);opacity:0}40%{opacity:1}100%{transform:translateY(-26px);opacity:0}}
.blink{animation:blk 1.4s ease-in-out infinite}
@keyframes blk{50%{opacity:.2}}
.camL{transform-box:view-box;transform-origin:64px 176px;animation:swL 5s ease-in-out infinite}
@keyframes swL{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(16deg)}}
.camR{transform-box:view-box;transform-origin:736px 352px;animation:swR 5s ease-in-out infinite}
@keyframes swR{0%,100%{transform:rotate(14deg)}50%{transform:rotate(-16deg)}}
.ping{transform-box:fill-box;transform-origin:center;animation:ping 2.2s ease-out infinite}
@keyframes ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.rays{transform-box:fill-box;transform-origin:center;animation:spin 30s linear infinite}
/* REALIZZAZIONI */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:44px}
.shot{--q:clamp(0, calc((var(--p,1) - .26 - var(--i) * .13) * 6), 1);border-radius:26px;overflow:hidden;border:1px solid var(--b1);background:var(--s1);display:flex;flex-direction:column;opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 320px)) rotate(calc((1 - var(--q)) * var(--rot,0deg))) scale(calc(.86 + var(--q) * .14))}
.shot-img{position:relative;aspect-ratio:4/3;overflow:hidden;clip-path:inset(calc((1 - var(--q)) * 60%) calc((1 - var(--q)) * 22%) 0 calc((1 - var(--q)) * 22%) round 20px)}
.shot-img svg{width:100%;height:100%;display:block;transform:scale(calc(1.5 - var(--q) * .5))}
.pxA{transform:translateY(calc((1 - var(--q,1)) * 140px))}
.pxB{transform:translateY(calc((1 - var(--q,1)) * -90px))}
.pxC{transform:translateX(calc((1 - var(--q,1)) * 110px))}
.pxD{transform:translateX(calc((1 - var(--q,1)) * -110px))}
.chip{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t1);background:rgba(11,26,51,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--b2);padding:7px 11px;border-radius:999px;--cq:clamp(0, calc((var(--q) - .8) * 5), 1);opacity:var(--cq);transform:translateY(calc((1 - var(--cq)) * 16px))}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--or);display:block;box-shadow:0 0 10px var(--or)}
.shot-b{padding:16px 18px 20px;display:flex;flex-direction:column;gap:4px}
.shot-b h3{font-size:19px;letter-spacing:-0.02em}
.shot-b p{font-size:13px;color:var(--t3)}
/* SOFTWARE */
.stack{display:flex;flex-direction:column;gap:56px;padding-bottom:140px;margin-top:80px}
.card{position:sticky;top:calc(92px + var(--k) * 20px);min-height:540px;border-radius:32px;border:1px solid var(--b1);padding:56px;display:flex;flex-wrap:wrap;gap:48px;align-items:center;box-shadow:0 -30px 60px -30px rgba(0,0,0,.65);overflow:hidden;transform-origin:top center;transform:scale(calc(1 - var(--c,0) * .06));filter:brightness(calc(1 - var(--c,0) * .45))}
.card-l{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.card-l > *{--cq:clamp(0, calc(var(--p,1) * 1.6 - var(--j,0) * .12), 1);opacity:var(--cq);transform:translateY(calc((1 - var(--cq)) * 40px))}
.card-r{flex:1 1 440px;min-width:0;display:flex;justify-content:center;perspective:1200px}
.card h3{font-size:clamp(32px,3.4vw,48px)}
.card .tag{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--or);padding:8px 14px;border:1px solid rgba(247,132,42,.35);border-radius:999px}
.card p{font-size:17px;max-width:480px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{font-size:13px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--b2);color:var(--t1)}
.card-light{background:#FFF6EE;border-color:#F3DCC6}
.card-light h3{color:#0B1A33}
.card-light p{color:#3A4A66}
.card-light .tag{color:#B4500A;border-color:rgba(180,80,10,.35)}
.ill{width:100%;max-width:520px;border-radius:22px;background:#0B1A33;border:1px solid var(--b2);box-shadow:0 30px 70px -20px rgba(0,0,0,.6);overflow:hidden;--iq:clamp(0, calc(var(--p,1) * 1.3 - .1), 1);transform:rotateX(calc((1 - var(--iq)) * 30deg)) rotateY(calc((1 - var(--iq)) * -18deg)) translateY(calc((1 - var(--iq)) * 80px));opacity:var(--iq)}
.ill-bar{display:flex;gap:6px;padding:14px 16px;border-bottom:1px solid var(--b1);align-items:center}
.ill-bar i{width:10px;height:10px;border-radius:50%;background:#2F4E7C;display:block}
.ill-bar span{margin-left:10px;font-size:11.5px;color:var(--t3)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}
.kpi{background:var(--s2);border:1px solid var(--b1);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.kpi small{font-size:11px;color:var(--t3);font-family:'JetBrains Mono',monospace;letter-spacing:.06em}
.sk{height:10px;border-radius:6px;background:linear-gradient(90deg,#23406A,#2F4E7C);display:block}
.chart{display:flex;align-items:flex-end;gap:10px;height:170px;padding:0 18px 18px}
.bar{flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#F7842A,rgba(247,132,42,.25));transform-origin:bottom;transform:scaleY(calc(.04 + clamp(0, calc(var(--p,1) * 1.6 - .2 - var(--i,0) * .08), 1) * .96))}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-weight:500;color:var(--t3);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:14px 18px;border-bottom:1px solid var(--b1)}
.tbl td{padding:14px 18px;border-bottom:1px solid rgba(35,64,106,.6);color:var(--t1)}
.tbl tr.r{--rq:clamp(0, calc(var(--p,1) * 2 - .3 - var(--i) * .15), 1);opacity:var(--rq);transform:translateX(calc((1 - var(--rq)) * 40px))}
.st{font-size:11.5px;padding:4px 10px;border-radius:999px;display:inline-block}
.st-ok{background:rgba(94,234,212,.12);color:#7EEAD8}
.st-wip{background:rgba(247,132,42,.14);color:#FFB27A}
.st-new{background:rgba(147,197,253,.14);color:#A9CBFF}
.inbox{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:330px}
.chs{border-right:1px solid var(--b1);padding:12px;display:flex;flex-direction:column;gap:4px}
.ch{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--t2);padding:9px 10px;border-radius:10px}
.ch.on{background:var(--s3);color:var(--t1)}
.ch b{font-weight:500;font-size:11px;background:var(--or);color:#0B1A33;border-radius:999px;padding:1px 7px}
.msgs{padding:14px;display:flex;flex-direction:column;gap:10px}
.msg{background:var(--s2);border:1px solid var(--b1);border-radius:14px;padding:10px 12px;font-size:12.5px;color:var(--t1);--mq:clamp(0, calc(var(--p,1) * 2 - .3 - var(--i) * .2), 1);opacity:var(--mq);transform:translateY(calc((1 - var(--mq)) * 30px))}
.msg small{display:block;color:var(--t3);font-size:10.5px;margin-bottom:4px;font-family:'JetBrains Mono',monospace;letter-spacing:.05em}
.wave{display:flex;gap:3px;align-items:center;height:22px;margin-top:6px}
.wave i{display:block;width:3px;border-radius:2px;background:var(--or);animation:wv 1s ease-in-out infinite}
.ai{border-color:rgba(247,132,42,.55);background:linear-gradient(180deg,rgba(247,132,42,.12),rgba(247,132,42,.03))}
.dash-flow{stroke-dasharray:6 7;animation:flow 1.6s linear infinite}
/* SECTORS + spotlight */
.sec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:64px}
.sec{--q:clamp(0, calc(var(--p,1) * 1.8 - .1 - var(--i) * .1), 1);position:relative;overflow:hidden;background:var(--s1);border:1px solid var(--b1);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:16px;min-height:260px;opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 90px)) scale(calc(.92 + var(--q) * .08));transition:border-color .35s,box-shadow .35s}
.sec::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(247,132,42,.18),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}
.sec:hover::before{opacity:1}
.sec:hover{border-color:var(--or);box-shadow:0 24px 50px -20px rgba(247,132,42,.35)}
.sec > *{position:relative}
.sec h3{font-size:21px;letter-spacing:-0.02em;line-height:1.2}
.sec p{font-size:14.5px}
.ico{width:48px;height:48px;border-radius:14px;background:rgba(247,132,42,.1);display:flex;align-items:center;justify-content:center;color:var(--or)}
.sec-or{background:var(--or);border-color:var(--or)}
.sec-or h3{color:#0B1A33}
.sec-or p{color:#2A1A08}
/* AI CORE */
.core-letters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:44px}
.cl{--q:clamp(0, calc((var(--p,1) - .3 - var(--i) * .1) * 6), 1);background:rgba(16,34,63,calc(var(--q) * .95));border:1px solid rgba(47,78,124,var(--q));border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:10px;min-height:290px}
.cl .big{font-size:120px;font-weight:700;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--or);letter-spacing:-0.05em;opacity:var(--q);transform:translate(calc((1 - var(--q)) * var(--x)), calc((1 - var(--q)) * var(--y))) rotate(calc((1 - var(--q)) * var(--r))) scale(calc(1.9 - var(--q) * .9));filter:blur(calc((1 - var(--q)) * 14px));transform-origin:left top}
.cl .tx{opacity:clamp(0, calc(var(--q) * 2 - 1), 1);display:flex;flex-direction:column;gap:8px}
.cl h3{font-size:22px}
.cl p{font-size:14.5px}
.acro{clip-path:inset(0 calc((1 - clamp(0, calc((var(--p,1) - .78) * 7), 1)) * 100%) 0 0)}
.core-split{display:flex;flex-wrap:wrap;gap:56px;align-items:center;width:100%}
.schema{flex:1 1 440px;min-width:0;display:flex;justify-content:center}
.schema-box{position:relative;width:100%;max-width:500px;aspect-ratio:1/1;--q0:clamp(0, calc((var(--p,1) - .08) * 8), 1);--q1:clamp(0, calc((var(--p,1) - .14) * 4), 1);--q2:clamp(0, calc((var(--p,1) - .2) * 4), 1)}
.spoke{stroke-dasharray:100px 100px;stroke-dashoffset:calc((1 - var(--q1)) * 100px)}
.rdraw{stroke-dasharray:100px 100px;stroke-dashoffset:calc((1 - var(--q2)) * 100px)}
.ring1{transform-origin:240px 240px;animation:spin 40s linear infinite}
.ring2{transform-origin:240px 240px;animation:spin 28s linear infinite reverse}
.pulse{transform-origin:240px 240px;animation:pls 2.6s ease-in-out infinite}
@keyframes pls{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.25);opacity:.12}}
.core-c{transform-origin:240px 240px;transform:scale(var(--q0));opacity:var(--q0)}
.node{--q:clamp(0, calc((var(--p,1) - .32 - var(--i) * .05) * 6), 1);position:absolute;transform:translate(-50%,-50%) translate(calc((1 - var(--q)) * var(--dx)), calc((1 - var(--q)) * var(--dy))) scale(calc(.3 + var(--q) * .7));opacity:var(--q);background:var(--s2);border:1px solid var(--b2);color:var(--t1);font-size:13px;padding:9px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.modes{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:16px}
.mode{--q:clamp(0, calc((var(--p,1) - .56 - var(--i) * .1) * 5), 1);display:flex;gap:18px;align-items:flex-start;background:var(--s1);border:1px solid var(--b1);border-radius:24px;padding:24px;opacity:var(--q);transform:translateX(calc((1 - var(--q)) * -120px))}
.mode .lt{flex:0 0 52px;height:52px;border-radius:14px;background:var(--or);color:#0B1A33;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center}
.mode h3{font-size:20px;margin-bottom:6px}
.mode p{font-size:15px}
/* NINETY */
.ninety-wrap{--n:90;--m:10}
.ninety-card{--q:clamp(0, calc((var(--p,1) - .2) * 7), 1);border-radius:36px;background:linear-gradient(160deg,#132849,#0F213F);border:1px solid var(--b2);padding:46px 56px;display:flex;flex-wrap:wrap;gap:48px;align-items:center;position:relative;overflow:hidden;width:100%;margin-top:40px;opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 160px)) scale(calc(.9 + var(--q) * .1))}
.n-l{flex:1 1 380px;min-width:0;position:relative}
.n-r{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:24px;position:relative}
.num{font-size:clamp(110px,13vw,190px);font-weight:700;letter-spacing:-0.06em;line-height:.9;color:var(--or);counter-reset:n var(--n);font-variant-numeric:tabular-nums;text-shadow:0 0 60px rgba(247,132,42,.35)}
.num::after{content:counter(n) "%"}
.brow{display:flex;flex-direction:column;gap:10px}
.brow-top{display:flex;justify-content:space-between;font-size:14px;color:var(--t2);font-family:'JetBrains Mono',monospace}
.track{height:18px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.fill{height:100%;border-radius:999px}
.fill-anim{width:calc(var(--m) * 1%);background:linear-gradient(90deg,#F7842A,#FFB27A)}
.mval{counter-reset:m var(--m);color:var(--or)}
.mval::after{content:counter(m) "%"}
/* METHOD */
.steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:80px}
.mline-base{position:absolute;left:29px;right:10%;top:28px;height:2px;background:var(--b1);opacity:clamp(0, calc(var(--p,1) * 20), 1)}
.mline{position:absolute;left:29px;right:10%;top:28px;height:2px;background:var(--or);transform-origin:left;transform:scaleX(clamp(0, calc(var(--p,1) * 1.25 - .08), 1));box-shadow:0 0 12px rgba(247,132,42,.6)}
.step{--q:clamp(0, calc((var(--p,1) * 1.25 - .08 - var(--i) * .25) * 8 + .5), 1);position:relative;display:flex;flex-direction:column;gap:14px}
.dot{width:58px;height:58px;border-radius:50%;border:2px solid rgba(247,132,42,clamp(.25, var(--q), 1));background:rgba(247,132,42,var(--q));color:#0B1A33;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:16px;position:relative;z-index:1;box-shadow:0 0 0 calc(var(--q) * 8px) rgba(247,132,42,.15);opacity:clamp(0, calc(var(--p,1) * 20 - var(--i) * 1.5), 1)}
.dot span{color:#F7842A;opacity:calc(.5 - var(--q) * .5)}
.dot b{position:absolute;font-weight:500;color:#0B1A33;opacity:var(--q)}
.step .txt{opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 30px));filter:blur(calc((1 - var(--q)) * 6px))}
.step h3{font-size:24px;margin-top:8px;margin-bottom:8px}
.step p{font-size:15px}
/* CLIENTS */
.soon{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:rgba(247,132,42,.12);color:var(--or2);border:1px solid rgba(247,132,42,.35);display:inline-flex;align-items:center;gap:8px}
.soon i{width:7px;height:7px;border-radius:50%;background:var(--or);display:block;animation:blk 1.6s ease-in-out infinite}
.t-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:64px}
.tcard{--q:clamp(0, calc(var(--p,1) * 1.7 - .1 - var(--i) * .15), 1);background:var(--s1);border:1px solid var(--b1);border-radius:28px;overflow:hidden;display:flex;flex-direction:column;opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 100px)) rotate(calc((1 - var(--q)) * var(--rot,0deg)))}
.t-photo{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,#132849 0 14px,#11254A 14px 28px);display:flex;align-items:center;justify-content:center}
.t-photo span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--t3);border:1px dashed var(--b2);padding:8px 12px;border-radius:999px;background:rgba(11,26,51,.6)}
.t-body{padding:26px;display:flex;flex-direction:column;gap:14px}
.qmark{font-size:56px;line-height:.6;color:var(--or);font-weight:700;height:26px}
.shim{height:11px;border-radius:6px;background:linear-gradient(90deg,#1B355C 0%,#2A4A78 50%,#1B355C 100%);background-size:200% 100%;animation:shim 2.2s linear infinite;display:block}
@keyframes shim{to{background-position:-200% 0}}
.who{display:flex;align-items:center;gap:12px;margin-top:8px}
.av{width:44px;height:44px;border-radius:50%;background:var(--s3);border:1px dashed var(--b2)}
.who b{display:block;color:var(--t1);font-weight:500;font-size:14.5px}
.who small{color:var(--t3);font-size:12.5px}
/* CLOSE */
.close{position:relative;z-index:1;padding:200px 0 0;text-align:center}
.close h2{font-size:clamp(52px,8vw,124px)}
.nl{max-width:880px;margin:110px auto 0;background:var(--s1);border:1px solid var(--b1);border-radius:30px;padding:36px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;text-align:left}
.nl-l{flex:1 1 300px;min-width:0}
.nl-f{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:10px}
.nl-row{display:flex;gap:10px;flex-wrap:wrap}
.inp{flex:1 1 200px;min-height:52px;border-radius:999px;border:1px solid var(--b2);background:#0B1A33;color:var(--t1);padding:0 20px;font-family:inherit;font-size:15px}
.inp:focus{outline:2px solid var(--or);outline-offset:1px}
.foot{text-align:center;padding:60px 0 50px;font-size:13.5px;color:var(--t3);border-top:1px solid rgba(255,255,255,.06);margin-top:120px}
/* MODAL */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.backdrop{position:absolute;inset:0;background:rgba(5,12,26,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0;cursor:pointer;animation:fadein .3s ease forwards}
.dialog{position:relative;width:100%;max-width:660px;max-height:92vh;overflow:auto;background:#10223F;border:1px solid var(--b2);border-radius:30px;padding:34px;animation:up .45s cubic-bezier(.2,.8,.2,1)}
@keyframes up{from{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:none}}
.x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--b2);background:transparent;color:var(--t1);cursor:pointer;display:flex;align-items:center;justify-content:center}
.x:hover{border-color:var(--or)}
.tp{min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--b2);background:transparent;color:var(--t2);font-family:inherit;font-size:13.5px;cursor:pointer}
.tp:hover{border-color:var(--or);color:var(--t1)}
.tp-on{background:var(--or);border-color:var(--or);color:#0B1A33;font-weight:500}
.tp-on:hover{color:#0B1A33}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.fld{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--t2)}
.fld input,.fld textarea{border-radius:14px;border:1px solid var(--b2);background:#0B1A33;color:var(--t1);padding:13px 15px;font-family:inherit;font-size:15px;min-height:48px}
.fld textarea{min-height:110px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--or);outline-offset:1px}
.full{grid-column:1 / -1}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--t2);margin-top:16px}
.consent input{width:20px;height:20px;accent-color:#F7842A;margin-top:1px}
.sent{text-align:center;padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:16px}
/* COOKIE */
.cookie{position:fixed;left:20px;bottom:20px;z-index:90;max-width:400px;background:rgba(16,34,63,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--b2);border-radius:24px;padding:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);animation:up .5s cubic-bezier(.2,.8,.2,1)}
.cookie p{font-size:13.5px}
.ck-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.ck-row .btn{min-height:46px;font-size:14.5px;padding:0 16px;background:#F5F7FB;color:#0B1A33}
.ck-row .btn:hover{background:#fff;color:#0B1A33}

/* THEME TOGGLE */
.dm *{transition:background-color .5s ease,border-color .5s ease,color .5s ease}
.theme{position:relative;width:80px;height:44px;border-radius:999px;border:1px solid var(--b2);background:var(--s2);cursor:pointer;margin-left:8px;padding:0 13px;display:inline-flex;align-items:center;justify-content:space-between}
.theme .knob{position:absolute;top:4px;left:4px;width:34px;height:34px;border-radius:50%;background:var(--or);box-shadow:0 4px 14px -4px rgba(247,132,42,.7);transition:transform .5s cubic-bezier(.5,1.6,.4,1)}
.theme svg{position:relative;z-index:1;display:block;transition:color .4s,transform .6s cubic-bezier(.2,.8,.2,1)}
.theme .mo{color:#0B1A33}
.theme .su{color:var(--t3);transform:rotate(-90deg) scale(.85)}
.light .theme .knob{transform:translateX(36px)}
.light .theme .mo{color:var(--t3);transform:rotate(40deg) scale(.85)}
.light .theme .su{color:#0B1A33;transform:none}
.theme:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.cbg1{background:#10223F}.cbg2{background:#132849}.cbg3{background:#172E52}
/* LIGHT THEME */
.dm.light{--bg:#FFFFFF;--s1:#F5F7FB;--s2:#EDF1F7;--s3:#E4EAF3;--b1:#DCE3EE;--b2:#C5D0E1;--t1:#0F1F3D;--t2:#3A4C6E;--t3:#5B6B86;--or2:#B4500A}
.light .ill,.light .phone,.light .chip,.light .shot-img,.light .card-light{--t1:#F5F7FB;--t2:#C3CEE0;--t3:#93A3BE;--s1:#10223F;--s2:#132849;--s3:#172E52;--b1:#23406A;--b2:#2F4E7C}
.light .label,.light .dstep .k,.light .card .tag,.light .soon{color:#B4500A}
.light .label::before{background:#B4500A}
.light .a{color:#E46F17}
.light .nav{background:rgba(255,255,255,.8);border-bottom-color:rgba(15,31,61,.08)}
.light .btn-gh{background:rgba(15,31,61,.03)}
.light .lg-d,.light .ld{fill:#0F1F3D}
.light .plan{opacity:.16}
.light .plan g[stroke="#C3CEE0"]{stroke:#0F1F3D}
.light .fx{opacity:.18}
.light .fx.w{color:#0F1F3D;opacity:.07}
.light .halo{background:radial-gradient(circle,rgba(247,132,42,.13),rgba(247,132,42,0) 65%)}
.light .rail span,.light .track{background:rgba(15,31,61,.08)}
.light .pill{background:rgba(15,31,61,.04)}
.light .card{box-shadow:0 -24px 50px -30px rgba(15,31,61,.28)}
.light .cbg1{background:#F5F7FB}.light .cbg2{background:#EDF1F7}.light .cbg3{background:#E4EAF3}
.light .card-light{background:#0F1F3D;border-color:#0F1F3D}
.light .card-light h3{color:#F5F7FB}
.light .card-light p{color:#C3CEE0}
.light .card-light .tag{color:#FFB27A;border-color:rgba(255,178,122,.4)}
.light .card-light .btn-dk{background:#F7842A;color:#0B1A33}
.light .ill{box-shadow:0 30px 60px -24px rgba(15,31,61,.4)}
.light .cl{background:rgba(245,247,251,var(--q));border-color:rgba(197,208,225,var(--q))}
.light .ninety-card{background:linear-gradient(160deg,#F5F7FB,#E9EFF7)}
.light .num{color:#E46F17;text-shadow:none}
.light .t-photo{background:repeating-linear-gradient(135deg,#EEF2F8 0 14px,#E5EBF4 14px 28px)}
.light .t-photo span{background:rgba(255,255,255,.75)}
.light .shim{background:linear-gradient(90deg,#E4EAF3 0%,#F7F9FC 50%,#E4EAF3 100%);background-size:200% 100%}
.light .inp,.light .fld input,.light .fld textarea{background:#F5F7FB}
.light .dialog{background:#FFFFFF;box-shadow:0 40px 80px -30px rgba(15,31,61,.35)}
.light .backdrop{background:rgba(15,31,61,.35)}
.light .cookie{background:rgba(255,255,255,.96);box-shadow:0 30px 60px -20px rgba(15,31,61,.3)}
.light .ck-row .btn{background:#0F1F3D;color:#F5F7FB}
.light .ck-row .btn:hover{background:#1B355C;color:#F5F7FB}
.light .foot{border-top-color:rgba(15,31,61,.08)}
.light .node{box-shadow:0 10px 24px -12px rgba(15,31,61,.25)}
.light .shot{box-shadow:0 24px 50px -28px rgba(15,31,61,.35)}
.light .sec:hover{box-shadow:0 24px 50px -22px rgba(247,132,42,.3)}
@media (max-width:980px){
  .sec-grid,.core-letters,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t-grid{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
  .mline,.mline-base{display:none}
  .card{padding:36px}
  .pinwrap{height:auto !important}
  .pin{position:relative;top:0;min-height:0;padding:110px 0}
  .steps-box{min-height:0;display:flex;flex-direction:column;gap:30px}
  .dstep{position:relative;inset:auto;opacity:1;transform:none;filter:none}
  .rail{display:none}
  .core-letters .cl{min-height:0}
}
@media (max-width:620px){
  .wrap{padding:0 16px}
  .nav-in{padding:10px 16px}
  .sec-grid,.core-letters,.steps,.fgrid,.gallery{grid-template-columns:minmax(0,1fr)}
  .card{padding:26px;border-radius:26px;min-height:0}
  .ninety-card{padding:30px}
  .inbox{grid-template-columns:minmax(0,1fr)}
  .chs{display:none}
  .kpis{gap:8px;padding:12px}
  .hero{min-height:820px}
  .phone{width:150px;right:0}
  .plan{width:1000px}
  .cookie{left:12px;right:12px;bottom:12px;max-width:none}
}
@media (prefers-reduced-motion: reduce){
  .dm *,.dm *::before,.dm *::after{animation:none !important;transition:none !important}
  .lg-house{stroke-dashoffset:0}
  .lg-d,.lg-glow,.word span,.hero-h,.hero-p,.hero-cta,.scroll-ind{opacity:1;transform:none;filter:none}
  .claim{opacity:1;letter-spacing:.14em}
}
/* ---- site additions ---- */
[hidden]{display:none !important}

html.light body{background:#FFFFFF}
body.no-scroll{overflow:hidden}
.sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0}
.tp[aria-checked="true"]{background:var(--or);border-color:var(--or);color:#0B1A33;font-weight:500}
.nl-msg:empty,.form-err:empty{display:none}
.nl-msg{font-size:14.5px;color:var(--t1)}
.nl-msg.err,.form-err{color:#FF8A7A;font-size:14px;margin-top:12px}
.light .nl-msg.err,.light .form-err{color:#C0392B}
.btn[disabled]{opacity:.6;cursor:progress}
.fld input:invalid:not(:placeholder-shown){border-color:#FF8A7A}
:focus-visible{outline:2px solid var(--or);outline-offset:2px}
@media (max-width:760px){.nav-links a{display:none}.nav .btn{padding:0 16px}}

/* ================= MOBILE LITE =================
   Su schermi fino a 900px il sito non usa più le animazioni legate allo scorrimento
   (pesanti per i telefoni): ogni blocco compare una volta con una dissolvenza,
   la casa si costruisce da sola quando entra nello schermo. */
body{overflow-x:hidden}
section[id]{scroll-margin-top:76px}
@property --hb{syntax:'<number>';inherits:true;initial-value:0}
.m-lite [data-sc]{--p:1 !important}
.m-lite .bgfx,.m-lite .nav::after,.m-lite .phone,.m-lite .scroll-ind{display:none !important}
.m-lite .nav,.m-lite .cookie,.m-lite .chip{-webkit-backdrop-filter:none;backdrop-filter:none}
.m-lite .nav{background:var(--bg);box-shadow:0 1px 0 var(--b1)}
.m-lite .nav-in{flex-wrap:nowrap;padding:10px 16px}
.m-lite .nav-links{flex-wrap:nowrap}
.m-lite .cookie{padding:14px 16px;border-radius:18px}
.m-lite .cookie p{font-size:12.5px;line-height:1.5}
.m-lite .cookie p:first-child{font-size:13.5px;margin-bottom:2px !important}
.m-lite .ck-row{margin-top:10px;gap:8px}
.m-lite .ck-row .btn{min-height:42px !important;font-size:13.5px !important;padding:0 10px !important}
.m-lite .split .w{filter:none;transform:none;opacity:1}
.m-lite .hero{min-height:100svh;min-height:100vh}
@supports (min-height:100svh){.m-lite .hero{min-height:100svh}}
.m-lite .hero-stage{transform:none;opacity:1;filter:none;padding:40px 4px 80px}
.m-lite .hero-h{filter:none}
.m-lite .pinwrap{height:auto !important}
.m-lite .pin{position:relative;top:0;min-height:0;padding:84px 0;display:block}
.m-lite .card{position:relative;top:0;transform:none;filter:none;min-height:0}
.m-lite .stack{gap:24px;padding-bottom:60px}
.m-lite .ill{transform:none;opacity:1}
.m-lite .cl{min-height:0}
.m-lite .cl .big{transform:none;filter:none;opacity:1}
.m-lite .cl .tx{opacity:1}
.m-lite .acro{clip-path:none;white-space:normal}
.m-lite .shot,.m-lite .sec,.m-lite .tcard,.m-lite .mode,.m-lite .node{transform:none}
.m-lite .shot{margin-top:0 !important}
.m-lite .shot-img{clip-path:none}
.m-lite .shot-img svg,.m-lite .pxA,.m-lite .pxB,.m-lite .pxC,.m-lite .pxD{transform:none}
.m-lite .ninety-card{transform:none;opacity:1;margin-top:28px}
.m-lite .house,.m-lite .house *{animation:none !important}
/* la casa si costruisce in 4 secondi quando appare */
.m-lite .dstage{--p:var(--hb)}
.m-lite .dstage.built{--hb:1;transition:--hb 4.2s cubic-bezier(.45,0,.25,1)}
.m-lite .house{transform:none}
/* comparsa dei blocchi */
.m-lite .rvl{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.m-lite .rvl.in{opacity:1;transform:none}
/* misure per telefoni piccoli (iPhone SE, 375px) */
@media (max-width:420px){
  .m-lite .hero-h{font-size:40px}
  .m-lite .word{font-size:30px;margin-top:18px}
  .m-lite .claim{font-size:10.5px;letter-spacing:.08em !important;text-align:center}
  .m-lite .hero-p{font-size:16px}
  .m-lite .hero-cta .btn{width:100%}
  .m-lite .h2{font-size:34px}
  .m-lite .man-text{font-size:28px}
  .m-lite .card h3{font-size:28px}
  .m-lite .dstep h3{font-size:24px}
  .m-lite .num{font-size:96px}
  .m-lite .cl .big{font-size:84px}
  .m-lite .close h2{font-size:46px}
  .m-lite .ninety-card{padding:24px;gap:28px}
  .m-lite .card{padding:22px;gap:26px}
  .m-lite .nl{padding:22px}
  .m-lite .dialog{padding:24px 18px;border-radius:24px;max-height:92vh}
  .m-lite .nav .btn{min-height:40px;padding:0 14px;font-size:13px}
  .m-lite .brand-word{font-size:14px;letter-spacing:.2em}
  .m-lite .brand svg{width:30px;height:30px}
  .m-lite .theme{width:72px;height:40px}
  .m-lite .theme .knob{width:30px;height:30px}
  .m-lite.light .theme .knob{transform:translateX(32px)}
  .m-lite .schema-box{max-width:340px;margin:0 auto}
  .m-lite .node{font-size:11px;padding:6px 10px}
  .m-lite .tbl{font-size:12px}
  .m-lite .tbl th,.m-lite .tbl td{padding:10px 10px}
}
@supports (max-height:100dvh){.m-lite .dialog{max-height:92dvh}}
@media (max-width:400px){.m-lite .brand-word{display:none}}
/* rifiniture mobile */
.m-lite .hero-stage{padding:32px 16px 72px}
.m-lite .dgrid{flex-direction:column;align-items:stretch;gap:22px}
.m-lite .dleft{display:contents}
.m-lite .dleft > .label{order:1}
.m-lite .dleft > .h2{order:2}
.m-lite .dright{order:3;flex:none;width:100%;margin:6px 0 10px}
.m-lite .dleft > .steps-box{order:4}
.m-lite .dleft > .pf{order:5}
.m-lite .acro{white-space:normal !important;font-size:12.5px !important;line-height:1.6}
.m-lite .schema-box{width:82%;max-width:340px;margin:0 auto}
.m-lite .node{white-space:nowrap}
.m-lite .nl-row{flex-direction:column;align-items:stretch}
.m-lite .nl-row .inp{flex:none;width:100%;min-width:0}
.m-lite .nl-row .btn{width:100%}
.m-lite .nl-f,.m-lite .nl-l{flex:1 1 100%}
.m-lite .node[style*="left: 84%"]{left:74% !important}
.m-lite .node[style*="left: 16%"]{left:26% !important}

/* pulsante newsletter nella barra (solo mobile) */
.nav-nl{display:inline-flex;gap:8px;margin-left:6px}
.nav .nav-nl{padding:0 18px}
@media (max-width:1180px){.nav-nl span{display:none}.nav .nav-nl{padding:0 13px}}
@media (max-width:900px){.nav-nl span{display:inline}}
.m-lite .nav-nl{display:inline-flex;min-height:40px;padding:0 13px;font-size:13px;gap:7px;margin-left:6px}
.m-lite .nav-links{gap:6px}
.m-lite .nav .btn{margin-left:0}
.nl-dialog{max-width:480px}
.nl-dialog .nl-row{flex-wrap:wrap}
@media (max-width:380px){.m-lite .nav-nl span{display:none}.m-lite .nav-nl{padding:0 11px}}
.nl-dialog .label{padding-right:52px}

/* torna su */
.totop{position:fixed;right:20px;bottom:20px;z-index:80;width:50px;height:50px;border-radius:50%;border:1px solid var(--b2);background:rgba(16,34,63,.9);color:var(--or);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 14px 30px -12px rgba(0,0,0,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s,background-color .5s}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop:hover{border-color:var(--or)}
.light .totop{background:rgba(255,255,255,.92);box-shadow:0 14px 30px -14px rgba(15,31,61,.35)}
.m-lite .totop{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(16,34,63,.94);right:14px;bottom:14px}
.m-lite.light .totop{background:rgba(255,255,255,.96)}
.m-lite #cookie:not([hidden]) ~ .totop{opacity:0;pointer-events:none}
/* dicono di noi · in arrivo */
.soon-wrap{padding:140px 0 20px}
.soon-box{position:relative;text-align:center;max-width:880px;margin:0 auto;padding:64px 32px 56px;border-radius:36px;border:1px dashed var(--b2);overflow:hidden}
.soon-box > *{position:relative}
.soon-box > .soon-glow{position:absolute;inset:-30% -10% auto;height:120%;background:radial-gradient(circle at 50% 20%,rgba(247,132,42,.16),transparent 55%);animation:sglow 6s ease-in-out infinite;pointer-events:none}
@keyframes sglow{50%{opacity:.45}}
.soon-q{font-size:150px;line-height:.75;height:74px;font-weight:700;color:transparent;-webkit-text-stroke:2px var(--or);opacity:.55;margin-bottom:10px}
.soon-p{max-width:600px;margin:22px auto 0;font-size:17px}
.soon-icons{display:flex;justify-content:center;margin-top:34px}
.soon-icons span{width:58px;height:58px;border-radius:50%;background:var(--s2);border:3px solid var(--bg);margin-left:-12px;display:flex;align-items:center;justify-content:center;color:var(--or);animation:bob 3.2s ease-in-out var(--d) infinite;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.soon-icons span:first-child{margin-left:0}
@keyframes bob{50%{transform:translateY(-8px)}}
/* footer */
.site-foot{border-top:1px solid var(--b1);margin-top:120px;padding:64px 0 0;text-align:left;position:relative}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.fcol{display:flex;flex-direction:column;gap:10px;font-size:14.5px;align-items:flex-start}
.fcol p{font-size:14.5px;color:var(--t3)}
.fcol h4{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin:0 0 6px;font-weight:400}
.fcol a,.flink{color:var(--t2);text-decoration:none;display:inline-flex;gap:10px;align-items:center;min-height:34px;font-size:14.5px}
.flink{background:none;border:0;padding:0;font-family:inherit;cursor:pointer;text-align:left}
.fcol a:hover,.flink:hover{color:var(--t1)}
.fcol a svg,.faddr svg{color:var(--or);flex:0 0 18px}
.faddr{display:flex;gap:10px;align-items:flex-start;color:var(--t3);line-height:1.55;padding-top:6px}
.socials{display:flex;gap:10px;margin-top:6px}
.fcol .socials a{width:44px;height:44px;min-height:44px;border-radius:50%;border:1px solid var(--b2);justify-content:center;color:var(--t1);transition:border-color .25s,color .25s,transform .25s}
.fcol .socials a svg{color:currentColor}
.fcol .socials a:hover{border-color:var(--or);color:var(--or);transform:translateY(-2px)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--b1);margin-top:48px;font-size:13px;color:var(--t3)}
@media (max-width:760px){.foot-grid{grid-template-columns:minmax(0,1fr);gap:34px}.soon-box{padding:48px 20px 40px;border-radius:28px}.soon-q{font-size:110px;height:56px}.site-foot{margin-top:80px}}
.site-foot .brand-word{display:inline !important}
.site-foot .brand svg{flex:0 0 34px;color:inherit}
.foot-bottom{padding-top:22px;padding-bottom:36px}
.foot-bottom.wrap{padding-left:32px;padding-right:32px}
@media (max-width:620px){.foot-bottom.wrap{padding-left:16px;padding-right:16px}}
.soon-q{font-family:Georgia,'Times New Roman',serif;color:var(--or);-webkit-text-stroke:0;opacity:.9;font-size:150px;font-weight:400}

/* ---------- Maistu ---------- */
.mx-lock{display:flex;align-items:center;gap:16px}
.mx-lock svg{flex:none}
.mx-name{font-size:26px;font-weight:600;letter-spacing:.3em;color:var(--t1);line-height:1}
.mx-motto{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-top:8px}
.mx-cta{display:flex;gap:12px;flex-wrap:wrap}
.mx-cta .btn{text-decoration:none}
/* tema chiaro */
.light .mx-motto{color:#B4500A}
/* mobile */
@media (max-width:620px){.mx-name{font-size:22px}.mx-motto{font-size:10px;letter-spacing:.12em}}
.mx-lock svg > rect:first-child{fill:#0B1A33}
.light .mx-lock svg > rect:first-child{fill:#0B1A33}

/* ================= JANA ================= */
.jsym{display:block;overflow:visible;flex:none}
.jsym .jo{fill:#F26B1D}.jsym .ji{fill:var(--ji,#FFFFFF)}.jsym .jc{fill:#F26B1D}
.jsym .jd{transform-box:fill-box;transform-origin:center}
.jsym.live .jd{animation:jbreath 2.8s ease-in-out infinite}
.jsym.live .jc{transform-box:fill-box;transform-origin:center;animation:jcore 2.8s ease-in-out infinite}
.jsym.talk .jd{animation:jtalk .9s ease-in-out infinite}
@keyframes jbreath{0%,100%{transform:scale(1);opacity:1}40%{transform:scale(.62);opacity:.55}}
@keyframes jtalk{0%,100%{transform:scale(1)}50%{transform:scale(.45)}}
@keyframes jcore{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
.light .jorb .jsym{--ji:#0F1F3D}
/* sezione */
.jsec{padding:150px 0 150px;overflow:hidden}
.jsec .halo{opacity:.7}
.jhead{display:flex;flex-direction:column;gap:22px;max-width:860px}
.jlead{font-size:19px;max-width:700px}
.jname{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.jstage{position:relative;margin-top:70px;display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center}
.jorb{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,rgba(242,107,29,.16),rgba(242,107,29,0) 68%);--q:clamp(0, calc(var(--p,1) * 1.6), 1);opacity:var(--q);transform:scale(calc(.7 + var(--q) * .3))}
.jring{position:absolute;inset:20px;border-radius:50%;border:1.5px solid rgba(242,107,29,.45);animation:jring 2.4s ease-out infinite}
@keyframes jring{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.jphones{display:flex;gap:22px;justify-content:center;align-items:flex-end}
.jp{--q:clamp(0, calc(var(--p,1) * 1.5 - var(--i) * .18), 1);opacity:var(--q);transform:translateY(calc((1 - var(--q)) * 90px)) rotate(calc((1 - var(--q)) * (var(--i) - 1) * 6deg));width:250px;min-height:470px;border-radius:34px;background:#0B1A33;border:1px solid var(--b2);box-shadow:0 40px 80px -30px rgba(0,0,0,.75);padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;color:#C3CEE0;font-size:12.5px;--t1:#F5F7FB;--t2:#C3CEE0;--t3:#93A3BE;--b1:#23406A;--b2:#2F4E7C}
.jp-mid{min-height:510px;margin-bottom:20px}
.jp-nt{width:70px;height:18px;border-radius:0 0 12px 12px;background:#050D1D;margin:-14px auto 2px}
.jp-h{display:flex;align-items:center;gap:10px;padding:2px 4px 8px;border-bottom:1px solid var(--b1)}
.jp-h b{display:block;color:var(--t1);font-size:14px}
.jp-h small{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--t3)}
.jp-h small i{width:6px;height:6px;border-radius:50%;background:#7EEAD8}
.jp-chat{display:flex;flex-direction:column;gap:8px;flex:1}
.jb{max-width:88%;padding:9px 12px;border-radius:16px;line-height:1.45}
.jb.me{align-self:flex-end;background:#F7842A;color:#0B1A33;border-bottom-right-radius:5px;font-weight:500}
.jb.ja{align-self:flex-start;background:#172E52;color:#F5F7FB;border-bottom-left-radius:5px}
.jacts{display:flex;flex-wrap:wrap;gap:5px}
.jacts span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.04em;padding:4px 8px;border-radius:999px;border:1px solid rgba(126,234,216,.4);color:#7EEAD8}
.jp-in{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--b2);border-radius:999px;padding:9px 12px;color:var(--t3);font-size:11.5px}
.jp-in i{width:22px;height:22px;border-radius:50%;background:#F7842A}
.jp-cap{font-size:9.5px;letter-spacing:.14em;color:var(--t3);padding:0 4px}
.jp-hi{color:var(--t1);font-weight:600;font-size:19px;padding:0 4px}
.jp-wx{display:flex;gap:12px;align-items:center;background:#10223F;border:1px solid var(--b1);border-radius:16px;padding:12px}
.jp-wx b{display:block;color:var(--t1);font-size:20px;line-height:1}
.jp-wx small{font-size:11px;color:var(--t3)}
.jp-kp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jp-kp > div{background:#10223F;border:1px solid var(--b1);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:4px}
.jp-kp small{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.1em;color:var(--t3)}
.jp-kp b{color:var(--t1);font-size:15px}
.kbar{height:4px;border-radius:4px;background:#23406A;position:relative;overflow:hidden}
.kbar::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--v));background:linear-gradient(90deg,#F7842A,#FFB27A)}
.jp-tip{display:flex;gap:10px;align-items:flex-start;background:rgba(242,107,29,.1);border:1px solid rgba(242,107,29,.4);border-radius:16px;padding:11px;line-height:1.45}
.jp-tip b{display:block;color:var(--t1);font-size:12px;margin-bottom:2px}
.jp-yn{display:flex;gap:8px}
.jp-yn span{flex:1;text-align:center;padding:9px 6px;border-radius:999px;border:1px solid var(--b2);color:var(--t1)}
.jp-yn .y{background:#F7842A;border-color:#F7842A;color:#0B1A33;font-weight:600}
.jp-voice{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:150px}
.jv{display:flex;gap:4px;align-items:center;height:60px}
.jv i{width:5px;height:100%;border-radius:4px;background:linear-gradient(#FFB27A,#F26B1D);animation:jv 1.1s ease-in-out infinite;transform-origin:center}
@keyframes jv{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.jp-voice p{color:var(--t1);font-size:15px;font-weight:500}
.jp-scene{display:flex;flex-direction:column;gap:6px}
.jp-scene div{display:flex;justify-content:space-between;background:#10223F;border:1px solid var(--b1);border-radius:12px;padding:9px 11px}
.jp-scene b{color:#FFB27A;font-weight:500}
.jp-chips{display:flex;flex-wrap:wrap;gap:6px}
.jp-chips span{padding:6px 10px;border-radius:999px;border:1px solid var(--b2);font-size:11px;color:var(--t1)}
.jp-chips .on{background:#F7842A;border-color:#F7842A;color:#0B1A33;font-weight:600}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:80px}
.jt{border-radius:24px;border:1px solid var(--b1);background:var(--s1);padding:28px}
.jt h3{font-size:20px;letter-spacing:-.015em;line-height:1.25;margin-bottom:10px}
.jt p{font-size:15.5px}
.jsay{margin-top:44px;display:flex;flex-direction:column;gap:14px}
.jsay .mono{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.jsay-l{display:flex;flex-wrap:wrap;gap:10px}
.jsay-l button{font-family:inherit;font-size:15px;color:var(--t1);background:rgba(255,255,255,.04);border:1px solid var(--b2);border-radius:999px;padding:11px 18px;cursor:pointer;transition:border-color .25s,background .25s}
.jsay-l button:hover{border-color:#F26B1D;background:rgba(242,107,29,.08)}
.jcta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.jcta .btn-or .jsym{--ji:#0B1A33}
.light .jt{background:#fff}
.light .jsay-l button{background:#fff}
.light .jorb{background:radial-gradient(circle,rgba(242,107,29,.14),rgba(242,107,29,0) 68%)}
@media (max-width:1100px){.jstage{grid-template-columns:1fr;justify-items:center}.jgrid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.jphones{overflow-x:auto;justify-content:flex-start;width:100%;padding:10px 4px 30px;scroll-snap-type:x mandatory}.jp{flex:none;scroll-snap-align:center}.jp-mid{margin-bottom:0}}
@media (max-width:620px){.jsec{padding:90px 0}.jstage{margin-top:40px}.jorb{width:200px;height:200px}.jorb .jsym{width:150px;height:150px}.jgrid{grid-template-columns:1fr;margin-top:40px}.jt{padding:22px}.jsay-l button{font-size:14px;padding:10px 14px}}
.m-lite .jorb,.m-lite .jp{opacity:1;transform:none}

/* linguette a destra */
.tabs{position:fixed;right:0;top:40%;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.tab{pointer-events:auto;display:flex;align-items:center;background:rgba(16,34,63,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--b2);border-right:0;border-radius:18px 0 0 18px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);padding:6px 0 6px 6px;transform:translateX(110%);transition:transform .7s cubic-bezier(.2,1.2,.3,1),box-shadow .3s;max-width:calc(100vw - 24px)}
.tabs.in .tab{transform:none}
.tabs.in .tab-m{transition-delay:.18s}
.tab-h{display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--t1);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;padding:4px 14px 4px 4px;min-height:44px;white-space:nowrap}
.tab-ic{width:40px;height:40px;border-radius:12px;background:#0B1A33;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.tab-ic .jsym{width:30px;height:30px}
.tab-m .tab-ic svg > rect:first-child{fill:#0B1A33}
.tab-b{overflow:hidden}
.tab-b p,.tab-b .tab-go{opacity:0;transition:opacity .25s ease}
.tab.open .tab-b p,.tab.open .tab-b .tab-go{opacity:1;transition:opacity .35s ease .2s}
.tab-b{display:flex;flex-direction:column;gap:8px;width:0;height:44px;padding:0;transition:width .5s cubic-bezier(.2,.8,.2,1),padding .5s}
.tab.open .tab-b{width:270px;height:auto;padding:6px 18px 8px 4px}
.tab-b p{font-size:13.5px;line-height:1.45;color:var(--t2);width:248px}
.tab-b b{color:var(--t1)}
.tab-go{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:13.5px;font-weight:600;color:#0B1A33;background:var(--or);border:0;border-radius:999px;padding:8px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.tab-go:hover{background:#FF9442;color:#0B1A33}
.tab.open{box-shadow:0 26px 60px -18px rgba(0,0,0,.8)}
.light .tab{background:rgba(255,255,255,.96);box-shadow:0 20px 50px -24px rgba(15,31,61,.35)}
.jdemo-on .tabs,.jdemo-on .jfab{opacity:0;pointer-events:none}
@media (max-width:620px){.tabs{top:auto;bottom:150px}.tab-h{padding:2px 4px 2px 2px}.tab-s{display:none}.tab-ic{width:38px;height:38px}.tab.open .tab-b{width:min(250px,calc(100vw - 110px))}.tab-b p{width:auto}}
.m-lite .tab{-webkit-backdrop-filter:none;backdrop-filter:none}
@media (prefers-reduced-motion: reduce){.tab,.tab-b{transition:none}}

/* pulsante Prova Jana */
.jfab{position:fixed;right:20px;bottom:20px;z-index:82;display:inline-flex;align-items:center;gap:10px;padding:8px 20px 8px 8px;border:0;border-radius:28px 28px 8px 28px;background:linear-gradient(135deg,#F7842A,#F26B1D);color:#0B1A33;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 16px 36px -12px rgba(242,107,29,.75);opacity:0;transform:translateY(20px) scale(.9);transition:opacity .4s ease,transform .5s cubic-bezier(.2,1.3,.3,1),box-shadow .25s}
.jfab.in{opacity:1;transform:none}
.jfab:hover{box-shadow:0 20px 44px -12px rgba(242,107,29,.95)}
.jfab::after{content:"";position:absolute;right:16px;bottom:-7px;border:8px solid transparent;border-top-color:#F26B1D;border-bottom:0;transform:skewX(-30deg)}
.jfab-ic{width:40px;height:40px;border-radius:50%;background:#0B1A33;display:flex;align-items:center;justify-content:center}
.jfab-ic .jsym{width:30px;height:30px}
.jfab .jsym .jd{animation:jbreath 2.8s ease-in-out infinite}
.totop{bottom:92px !important}
.m-lite .totop{bottom:84px !important}
.m-lite #cookie:not([hidden]) ~ .jfab{opacity:0;pointer-events:none}
@media (max-width:620px){.jfab{right:14px;bottom:14px;font-size:14px;padding:6px 16px 6px 6px}.jfab-ic{width:36px;height:36px}}

/* finestra di prova */
@property --jl-soggiorno{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-cucina{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-camera{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-bagno{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-studio{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-tecnico{syntax:'<number>';inherits:true;initial-value:0}
@property --jl-giardino{syntax:'<number>';inherits:true;initial-value:0}
@property --jsh-soggiorno{syntax:'<number>';inherits:true;initial-value:0}
@property --jsh-cucina{syntax:'<number>';inherits:true;initial-value:0}
@property --jsh-camera{syntax:'<number>';inherits:true;initial-value:0}
@property --jsh-bagno{syntax:'<number>';inherits:true;initial-value:0}
@property --jsh-studio{syntax:'<number>';inherits:true;initial-value:0}
@property --jC{syntax:'<number>';inherits:true;initial-value:0}
@property --jH{syntax:'<number>';inherits:true;initial-value:0}
@property --jE{syntax:'<number>';inherits:true;initial-value:0}
@property --jS{syntax:'<number>';inherits:true;initial-value:0}
@property --jA{syntax:'<number>';inherits:true;initial-value:0}
@property --jN{syntax:'<number>';inherits:true;initial-value:0}
@property --jsun{syntax:'<number>';inherits:true;initial-value:1}
@property --jrain{syntax:'<number>';inherits:true;initial-value:0}
@property --jcloud{syntax:'<number>';inherits:true;initial-value:0}
.jhouse{width:100%;height:auto;display:block;overflow:visible;transition:--jl-soggiorno .9s,--jl-cucina .9s,--jl-camera .9s,--jl-bagno .9s,--jl-studio .9s,--jl-tecnico .9s,--jl-giardino .9s,--jsh-soggiorno 1.6s,--jsh-cucina 1.6s,--jsh-camera 1.6s,--jsh-bagno 1.6s,--jsh-studio 1.6s,--jC 1s,--jH 1s,--jE 1s,--jS 1s,--jA .6s,--jN 2s,--jsun 2s,--jrain 1.5s,--jcloud 2s}
.jrainl{stroke-dasharray:6 22;animation:jrain .7s linear infinite}
@keyframes jrain{to{stroke-dashoffset:-28}}
.jdemo{position:fixed;inset:0;z-index:120;background:rgba(5,12,26,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;padding:20px;opacity:0;transition:opacity .35s ease}
.jdemo.in{opacity:1}
.jdemo > *{max-width:1400px;width:100%;margin:0 auto}
.jd-top{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 14px}
.jd-id{display:flex;align-items:center;gap:12px}
.jd-id b{display:block;color:#F5F7FB;font-size:20px;font-weight:600}
.jd-id span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#93A3BE}
.jd-x{width:46px;height:46px;border-radius:50%;border:1px solid #2F4E7C;background:#10223F;color:#F5F7FB;display:flex;align-items:center;justify-content:center;cursor:pointer}
.jd-x:hover{border-color:#F7842A}
.jd-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;transform:translateY(24px) scale(.98);transition:transform .5s cubic-bezier(.2,.9,.3,1)}
.jdemo.in .jd-body{transform:none}
.jd-home,.jd-chat{min-height:0;min-width:0;border-radius:28px;background:#0B1A33;border:1px solid #23406A;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.jd-home{display:flex;flex-direction:column;gap:14px;padding:20px;overflow:auto}
.jd-house{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.jd-house svg{max-height:100%;max-width:100%}
.jd-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.jd-card{background:#10223F;border:1px solid #23406A;border-radius:16px;padding:11px 12px;display:flex;flex-direction:column;gap:3px;min-width:0;transition:border-color .4s,box-shadow .4s}
.jd-card small{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#93A3BE;text-transform:uppercase}
.jd-card b{color:#F5F7FB;font-size:18px;font-weight:600;white-space:nowrap}
.jd-card span{font-size:12px;color:#C3CEE0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jd-card.flash{border-color:#F26B1D;box-shadow:0 0 0 3px rgba(242,107,29,.18)}
.jd-rooms{display:flex;flex-wrap:wrap;gap:8px}
.jd-rooms button{font-family:inherit;font-size:13px;color:#C3CEE0;background:transparent;border:1px solid #2F4E7C;border-radius:999px;padding:7px 12px 7px 10px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.jd-rooms button i{width:9px;height:9px;border-radius:50%;background:#2F4E7C;transition:background .4s,box-shadow .4s}
.jd-rooms button[aria-pressed="true"]{color:#F5F7FB;border-color:rgba(255,211,168,.6)}
.jd-rooms button[aria-pressed="true"] i{background:#FFD3A8;box-shadow:0 0 10px #FFD3A8}
.jd-chat{display:flex;flex-direction:column;padding:18px;gap:12px}
.jd-log{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 4px 8px;scroll-behavior:smooth}
.jd-m{max-width:86%;padding:11px 15px;border-radius:20px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;animation:jdm .35s cubic-bezier(.2,.8,.2,1)}
@keyframes jdm{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jd-m.me{align-self:flex-end;background:#F7842A;color:#0B1A33;border-bottom-right-radius:6px}
.jd-m.ja{align-self:flex-start;background:#172E52;color:#F5F7FB;border-bottom-left-radius:6px}
.jd-m.sys{align-self:center;background:transparent;border:1px dashed #2F4E7C;color:#93A3BE;font-size:13px;text-align:center}
.jd-acts{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}
.jd-acts span{font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 9px;border-radius:999px;border:1px solid rgba(126,234,216,.45);color:#7EEAD8;animation:jdm .35s ease}
.jd-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;border-radius:20px;background:#172E52}
.jd-typing i{width:7px;height:7px;border-radius:50%;background:#93A3BE;animation:jty 1.2s ease-in-out infinite}
.jd-typing i:nth-child(2){animation-delay:.15s}.jd-typing i:nth-child(3){animation-delay:.3s}
@keyframes jty{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-3px)}}
.jd-sug{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.jd-sug::-webkit-scrollbar{display:none}
.jd-sug button{flex:none;font-family:inherit;font-size:13px;color:#F5F7FB;background:rgba(255,255,255,.04);border:1px solid #2F4E7C;border-radius:999px;padding:8px 13px;cursor:pointer;white-space:nowrap}
.jd-sug button:hover{border-color:#F26B1D}
.jd-form{display:flex;gap:10px;align-items:center;border:1px solid #2F4E7C;border-radius:999px;padding:6px 6px 6px 18px;background:#10223F}
.jd-form:focus-within{border-color:#F7842A}
.jd-form input{flex:1;min-width:0;background:none;border:0;outline:0;color:#F5F7FB;font-family:inherit;font-size:16px;min-height:40px}
.jd-form input::placeholder{color:#7F90AE}
.jd-send{width:44px;height:44px;border-radius:50%;border:0;background:#F7842A;color:#0B1A33;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.jd-send:disabled{opacity:.45;cursor:default}
.jd-disc{font-size:11.5px;line-height:1.5;color:#7F90AE;margin:0}
.jd-disc a{color:#FFB27A}
.jd-ds{display:none}
#jd-left{color:#C3CEE0}
body.jdemo-lock{overflow:hidden}
@media (max-width:980px){.jdemo{padding:10px}.jd-top{padding:2px 4px 8px}.jd-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px}.jd-home{padding:12px;gap:10px;overflow:visible}.jd-house{max-height:23vh}.jd-house svg{max-height:23vh}.jd-hud{grid-template-columns:repeat(4,1fr);gap:6px}.jd-card{padding:7px 8px;border-radius:12px}.jd-card b{font-size:13.5px;white-space:normal;line-height:1.15}.jd-card span{display:none}.jd-card small{font-size:8px}.jd-rooms{display:none}.jd-chat{padding:12px;border-radius:22px}.jd-m{font-size:14.5px}.jd-disc{font-size:10.5px}.jd-dl{display:none}.jd-ds{display:inline}.jd-sug button{font-size:12.5px;padding:7px 11px}.jd-form{padding:4px 4px 4px 14px}.jd-send{width:40px;height:40px}}
@media (max-width:420px){.jd-id .jsym{width:32px;height:32px}.jd-id b{font-size:17px}.jd-id span{font-size:9.5px}.jd-x{width:40px;height:40px}}
@media (prefers-reduced-motion: reduce){.jsym .jd,.jsym .jc,.jring,.jv i,.jrainl,.jfab .jsym .jd{animation:none}.jdemo,.jd-body,.jhouse{transition:none}}
/* ===== 5/11/2026: prezzi della domotica, strutture esistenti (B2B), installatori partner ===== */
.inst-bar{position:relative;z-index:41;background:#F7842A;color:#0B1A33;text-align:center;padding:10px 20px;font-size:14.5px;line-height:1.4}
.inst-bar a{color:#0B1A33;font-weight:600;margin-left:6px}
.inst-bar a:hover{color:#0B1A33;text-decoration-thickness:2px}
.inst-bar a:focus-visible{outline:3px solid #0B1A33;outline-offset:2px}
.prz,.str,.inst{padding:140px 0 20px}
.prz-in,.inst-in{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.inst-in{align-items:flex-start}
.prz-l,.inst-l{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px}
.prz-p,.str-p,.inst-p{font-size:18px;max-width:60ch}
.prz-pts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prz-pts div,.inst-pts li{background:var(--s1);border:1px solid var(--b1);border-radius:20px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:14.5px}
.prz-pts strong,.inst-pts strong{color:var(--t1);font-size:15.5px}
.prz-card{flex:1 1 420px;min-width:0;position:relative;background:var(--s2);border:1px solid var(--or);border-radius:28px;padding:36px 32px;display:flex;flex-direction:column;gap:18px}
.prz-tag{position:absolute;top:-13px;left:32px;background:#F7842A;color:#0B1A33;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.prz-n{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:15px}
.prz-n b{font-size:56px;font-weight:600;letter-spacing:-.035em;color:var(--t1)}
.prz-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.prz-card li{position:relative;padding-left:18px}
.prz-card li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;background:var(--or)}
.prz-card li strong{color:var(--t1)}
.prz-note{background:var(--bg);border:1px solid var(--b2);border-radius:16px;padding:14px 16px;font-size:14px}
.prz-note strong{color:var(--t1)}
.prz-small,.inst-small{font-size:13px;color:var(--t3)}
.str-head{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between}
.str-head > div{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:22px}
.str-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.str-c{background:var(--s1);border:1px solid var(--b1);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:10px}
.str-c.str-forte{background:var(--s2);border-color:var(--or)}
.str-c .mono{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}
.str-c h3{font-size:21px;letter-spacing:-.02em}
.str-c p{font-size:15px}
.str-c em{margin-top:auto;font-style:normal;font-size:13.5px;color:var(--or2)}
.str-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.str-steps li{background:var(--s1);border:1px solid var(--b1);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.str-steps .mono{font-size:12px;color:var(--or)}
.str-steps strong{color:var(--t1);font-size:17px}
.str-note{margin-top:24px !important;font-size:14.5px;color:var(--t3);max-width:84ch}
.inst-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.inst-form{flex:1 1 500px;min-width:0;background:var(--s1);border:1px solid var(--b1);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:6px}
.inst-form h3{font-size:22px;letter-spacing:-.02em}
.inst-form .fgrid{margin-top:16px}
.inst-form .fld input,.inst-form .fld textarea,.inst-form .fld select{border-radius:14px;border:1px solid var(--b2);background:var(--bg);color:var(--t1);padding:12px 14px;font-family:inherit;font-size:15px;min-height:48px}
.inst-form .fld select:focus{outline:2px solid var(--or);outline-offset:1px}
.inst-lav{border:0;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.inst-lav legend{font-size:13px;color:var(--t2);margin-bottom:10px;padding:0}
.inst-lav label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--b2);font-size:14px;cursor:pointer}
.inst-lav input{width:16px;height:16px;accent-color:#F7842A;margin:0}
.inst-form .btn{width:100%;margin-top:16px}
.inst-ok{margin-top:12px;padding:14px 16px;border-radius:16px;background:var(--s2);border:1px solid var(--or);color:var(--t1);font-size:15px}
.light .prz-tag,.light .inst-bar{color:#0B1A33}
@media (max-width:980px){.str-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.str-steps{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.prz,.str,.inst{padding-top:100px}.str-grid,.prz-pts{grid-template-columns:minmax(0,1fr)}.prz-card,.inst-form{padding:28px 20px}.prz-n b{font-size:46px}.inst-form .fgrid{grid-template-columns:minmax(0,1fr)}}
@media print{.inst-bar{display:none}}
.tab-ic.tab-ic-i{background:#F7842A}
.tabs.in .tab-i{transition-delay:.36s}
