:root{
  --paper:#fbfaf7; --ink:#171717; --line:rgba(23,23,23,.10);
  --accent:#bfe7ea; --accent-strong:#8fd3d9;
  --red:#c33d2e; --green:#2f9e63; --amber:#d99a2b;
  --serif:"Instrument Serif", Georgia, serif;
  --sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pad:clamp(20px,4vw,64px); --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(calc(100% - var(--pad)*2),var(--max));margin:0 auto}
main>section{margin-top:clamp(48px,8vh,110px)}
main>section:first-child{margin-top:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;background:#151515;color:#fff;text-decoration:none;font-size:14px;font-weight:600;border:0;cursor:pointer;font-family:var(--sans);transition:transform .25s ease}
.btn:hover{transform:translateY(-1px)}
.btn.light{background:#fff;color:#151515}
.link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.75);text-decoration:none;font-size:14px;font-weight:600;transition:transform .25s ease}
.full-section{min-height:100svh;display:flex;align-items:center;padding:clamp(96px,12vh,150px) 0}

/* ===== TRANSIZIONI DI PAGINA ===== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .3s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:vtIn .45s cubic-bezier(.2,.8,.25,1) both}
@keyframes vtOut{to{opacity:0;transform:translateY(-16px) scale(.985)}}
@keyframes vtIn{from{opacity:0;transform:translateY(20px) scale(.99)}}
.curtain{position:fixed;inset:0;z-index:999;pointer-events:none;display:grid;place-items:center;background:var(--ink);transform:scaleY(0);transform-origin:bottom}
body.leaving .curtain{animation:curUp .4s cubic-bezier(.7,0,.3,1) forwards}
body.entering .curtain{transform:scaleY(1);animation:curDown .55s cubic-bezier(.7,0,.3,1) forwards}
@keyframes curUp{to{transform:scaleY(1)}}
@keyframes curDown{to{transform:scaleY(0)}}
.curtain:before{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:var(--accent-strong)}
.curtain b{font:italic 400 clamp(38px,6vw,84px)/1 var(--serif);color:var(--accent);opacity:0;transform:translateY(16px);transition:opacity .28s ease .16s,transform .28s ease .16s}
body.leaving .curtain b,body.entering .curtain b{opacity:1;transform:none}
body.js .stagger>*{opacity:0;transform:translateY(20px)}
body.loaded.js .stagger>*{animation:rise .7s cubic-bezier(.2,.8,.25,1) both}
body.loaded.js .stagger>*:nth-child(2){animation-delay:.09s}
body.loaded.js .stagger>*:nth-child(3){animation-delay:.18s}
body.loaded.js .stagger>*:nth-child(4){animation-delay:.27s}
body.loaded.js .stagger>*:nth-child(5){animation-delay:.36s}
@keyframes rise{to{opacity:1;transform:none}}

/* nav */
.nav{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;background:rgba(251,250,247,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,23,23,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{font-size:18px;font-weight:700;letter-spacing:-.04em;text-decoration:none}
.brand em{font:italic 400 17px var(--serif);color:#6d6a65}
.navlinks{display:flex;align-items:center;gap:26px;font-size:14px}
.navlinks a{text-decoration:none;color:#45423c;transition:color .2s}
.navlinks a:hover{color:#171717}
.navlinks a.act{color:#171717;font-weight:700}

/* hero */
.hero{min-height:100svh;padding:clamp(60px,9vh,120px) 0 clamp(46px,6vh,80px);display:flex;align-items:center}
.hero-grid{display:grid;gap:clamp(44px,7vh,84px);width:100%;justify-items:center}
.hero-copy{max-width:900px;margin:0 auto;text-align:center;display:grid;justify-items:center;gap:22px}
.hero h1{margin:0;font:400 clamp(56px,8.2vw,120px)/.88 var(--serif);letter-spacing:-.045em;max-width:1000px}
.lead{max-width:640px;font-size:clamp(16px,1.5vw,19px);line-height:1.62;color:#514f49}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.hero-scene{position:relative;width:min(980px,100%)}
.hero-scene:before{content:"";position:absolute;inset:-14% -12%;background:radial-gradient(46% 60% at 16% 30%,rgba(255,182,135,.24),transparent 60%),radial-gradient(42% 56% at 84% 66%,rgba(143,211,217,.28),transparent 60%);z-index:0;pointer-events:none}
.mac-wrap{position:absolute;left:50%;top:0;width:1060px;height:600px;transform:translateX(-50%);transform-origin:top center;z-index:1}
.desktop-chaos{width:100%;height:100%;border-radius:18px;background:#f4f3f0;border:1px solid rgba(0,0,0,.12);box-shadow:0 60px 120px -24px rgba(0,0,0,.38);overflow:hidden}
.mac-menubar{height:38px;background:rgba(30,30,32,.94);color:#e9e9eb;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:11px}
.mb-left,.mb-right{display:flex;align-items:center;gap:14px}
.mb-logo{width:13px;height:13px;border-radius:50%;background:#e9e9eb;opacity:.92}
.mb-item{opacity:.82;white-space:nowrap}
.mb-badge{background:#ff453a;color:#fff;border-radius:999px;font-size:10px;font-weight:700;padding:1px 6px;line-height:1.5}
.desktop-surface{position:relative;height:calc(100% - 38px);background:radial-gradient(circle at 84% 90%,rgba(191,231,234,.5),transparent 22%),radial-gradient(circle at 12% 10%,rgba(255,214,170,.35),transparent 24%),linear-gradient(180deg,#f6f5f2,#eeece6)}
.win{position:absolute;background:rgba(255,255,255,.97);border:1px solid rgba(0,0,0,.10);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.16);overflow:hidden}
.win-head{height:30px;background:#f6f5f2;border-bottom:1px solid #ebe9e4;display:flex;align-items:center;justify-content:space-between;padding:0 11px;font-size:11px;color:#726e67;white-space:nowrap;overflow:hidden}
.wh{display:flex;align-items:center;gap:7px;min-width:0}
.wh b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.head-dots{display:flex;gap:5px;flex:none}
.head-dots span{width:7px;height:7px;border-radius:50%;background:#e2dfd9;display:block}
.win-badge{min-width:17px;height:17px;border-radius:999px;background:#ff453a;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px;line-height:1;font-style:normal}
.win-body{padding:11px 13px;font-size:11px}
.email-win{left:18px;top:14px;width:300px;height:308px;transform:rotate(-1.2deg)}
.mail-row{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #f0efeb;font-size:10.5px}
.mail-row:last-child{border-bottom:none}
.mico{width:22px;height:22px;border-radius:7px;background:#efefec;position:relative}
.mail-row.unread .mico:after{content:"";position:absolute;right:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#3d8fd1;border:1.5px solid #fff}
.m-subject{font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-preview{color:#8f8b84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-time{font-size:9.5px;color:#b3afa8}
.whats-win{left:246px;top:128px;width:238px;height:272px;transform:rotate(1.8deg)}
.whats-win .win-head{background:#e7f5ec}
.chat-bubble{max-width:80%;padding:8px 11px;border-radius:13px;background:#ececea;font-size:10.5px;line-height:1.35;margin:7px 0}
.chat-bubble.me{margin-left:auto;background:#d9ecdf}
.wt{width:18px;height:18px;border-radius:5px;background:#2b579a;color:#fff;display:inline-grid;place-items:center;font-size:11px;font-weight:800;font-style:normal;flex:none}
.wt.xe{background:#217346}
.word-stack{left:452px;top:18px;width:312px;height:336px;transform:rotate(-1.6deg)}
.word-doc{position:absolute;left:14px;right:14px;height:150px;border-radius:11px;background:#fff;border:1px solid rgba(0,0,0,.09);box-shadow:0 12px 32px rgba(0,0,0,.10);padding:12px 14px}
.word-doc:before{content:"Preventivo";display:block;font-size:11px;font-weight:700;margin-bottom:2px}
.fname{display:flex;align-items:center;gap:5px;font-size:8.5px;color:#b0aca4;margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fname .wt{width:11px;height:11px;font-size:7px;border-radius:3px}
.word-doc .line{height:7px;border-radius:4px;background:#e9e7e2;margin:8px 0}
.word-doc .line.short{width:62%}
.word-doc.v1{top:92px;opacity:.5;transform:translateX(-14px)}
.word-doc.v2{top:56px;opacity:.72;transform:translateX(-5px)}
.word-doc.v3{top:20px}
.word-doc.v3 .fname{color:var(--red)}
.calls-win{left:740px;top:40px;width:244px;height:212px;transform:rotate(1.2deg)}
.call-item{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #f0efeb;font-size:10.5px}
.call-item:last-child{border-bottom:none}
.wico{width:22px;height:22px;border-radius:50%;background:#f1f1ee;display:grid;place-items:center;flex:none}
.wico svg{width:12px;height:12px;color:#8c877f}
.call-item.missed{color:var(--red)}
.call-item.missed .wico{background:#fdecea}
.call-item.missed .wico svg{color:var(--red)}
.call-meta{font-size:9.5px;color:#aaa59d;text-align:right}
.call-item.missed .call-meta{color:var(--red);font-weight:700}
.msgs-win{left:776px;top:262px;width:240px;height:194px;transform:rotate(-2deg)}
.msgs-win .chat-bubble{margin:6px 0;padding:7px 10px}
.typing{display:inline-flex;gap:3px;padding:4px 2px}
.typing i{width:5px;height:5px;border-radius:50%;background:#b7b3ab;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
.calendar-win{left:18px;top:322px;width:262px;height:210px;transform:rotate(1.4deg)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:9px}
.cal-grid span{min-height:24px;border-radius:7px;background:#f1f0ec;border:1px solid #ebe8e3;display:grid;place-items:center;font-size:10px;color:#817d77}
.cal-grid span.active{background:#dfecef;border-color:#cfe1e4;font-weight:700;color:#27404a}
.cal-grid span.ev1{background:#f6d9d3;border-color:#eecac2}
.cal-grid span.ev2{background:#d9e8f5;border-color:#c6dcf0}
.cal-grid span.ev3{background:#f7ecd2;border-color:#eedcb4}
.cal-grid span.ev4{background:#dcefe2;border-color:#c6e2d0}
.downloads-win{left:296px;top:352px;width:216px;height:180px;transform:rotate(-2.2deg)}
.file-row{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid #f0efeb;font-size:9.5px;color:#6f6b64}
.file-row:last-child{border-bottom:none}
.fico{width:20px;height:25px;border-radius:4px;background:#fdfcf9;border:1px solid #dedbd4;position:relative}
.fico:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #e7e4dd transparent transparent}
.file-row.pdf .fico:after{border-color:transparent #e8b6ac transparent transparent}
.voice-win{left:492px;top:392px;width:262px;height:148px;transform:rotate(2deg)}
.voice-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #f0efeb;font-size:10.5px}
.voice-row:last-child{border-bottom:none}
.vplay{width:22px;height:22px;border-radius:50%;background:#151515;position:relative;flex:none}
.vplay:after{content:"";position:absolute;left:8px;top:6px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff}
.v-name{font-weight:600;margin-bottom:4px}
.vwave{height:14px;background:repeating-linear-gradient(90deg,#dcd9d2 0 3px,transparent 3px 6px);border-radius:2px}
.v-time{font-size:9.5px;color:#aaa59d}
.notes-stack{position:absolute;inset:0;pointer-events:none}
.note-card{position:absolute;width:150px;min-height:92px;padding:14px 14px 18px;border-radius:2px;background:linear-gradient(180deg,#fdf09b,#f6e878);box-shadow:0 14px 26px rgba(0,0,0,.18),inset 0 -14px 18px -12px rgba(0,0,0,.14);font:italic 500 12.5px/1.45 var(--serif);color:#4a431a;z-index:6;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.note-card:after{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-style:solid;border-width:0 0 16px 16px;border-color:transparent transparent #d9c95e transparent}
.note-card.n1{left:404px;top:296px;transform:rotate(-6deg)}
.note-card.n2{left:168px;top:250px;transform:rotate(5deg)}
.note-card.n3{left:700px;top:462px;transform:rotate(-4deg)}
.note-card.n4{left:56px;top:462px;transform:rotate(7deg)}
.dock{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;gap:9px;align-items:center;padding:9px 13px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.09);border-radius:19px;box-shadow:0 14px 40px rgba(0,0,0,.16);backdrop-filter:blur(6px);z-index:5}
.dock i{width:33px;height:33px;border-radius:10px;position:relative;display:block;font-style:normal}
.dock i.f{background:linear-gradient(160deg,#8ec9f0,#2f7cc4)}
.dock i.m{background:linear-gradient(160deg,#f3a08f,#d94f36)}
.dock i.g{background:linear-gradient(160deg,#7fd7c4,#2aa876)}
.dock i.b{background:linear-gradient(160deg,#9fc3f5,#3e6fd8)}
.dock i.c{background:#fff;border:1px solid #e2dfd8}
.dock i.c:after{content:"10";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#333}
.dock i.y{background:linear-gradient(160deg,#ffe98a,#f0c445)}
.dock i.s{background:linear-gradient(160deg,#c9c9cf,#8e8e96)}
.dock i .bub{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:999px;background:#ff453a;color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.notif{position:absolute;z-index:9;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.07);border-radius:17px;box-shadow:0 18px 46px rgba(0,0,0,.16);transform:rotate(var(--r,0deg));animation:nIn .8s cubic-bezier(.2,.8,.25,1) both;animation-delay:var(--d,0s)}
@keyframes nIn{from{opacity:0;transform:translateY(-18px) rotate(var(--r,0deg)) scale(.95)}to{opacity:1;transform:translateY(0) rotate(var(--r,0deg)) scale(1)}}
.n-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none;position:relative}
.n-ico svg{width:19px;height:19px}
.n-ico.sm{width:24px;height:24px;border-radius:7px}
.n-ico.sm svg{width:13px;height:13px}
.t-wa{background:#22c15e}.t-ph{background:#ff3b30}.t-ml{background:#1a8cff}.t-vc{background:#1c1c1e}.t-pdf{background:#e2554a}.t-ok{background:var(--green)}.t-ink{background:#171717}.t-cl{background:#3e6fd8}.t-am{background:var(--amber)}
.t-cl svg{width:17px;height:17px}
.t-cl:after{content:"12";position:absolute;left:0;right:0;bottom:2px;font-size:8px;font-weight:800;color:#3e6fd8;background:#fff;border-radius:0 0 8px 8px;line-height:1.5}
.n-tx{display:grid;gap:2px;min-width:0}
.n-tx b{font-size:12px}
.n-tx small{font-size:11px;color:#75716b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.n-tm{font-size:10px;color:#b3afa8;align-self:flex-start;margin-top:2px;flex:none}
.notif.n1{left:-3%;top:-5%;--r:-2deg;--d:.2s}
.notif.n2{right:-2.5%;top:-2.5%;--r:2deg;--d:.45s}
.notif.n3{left:-5.5%;top:41%;--r:1.5deg;--d:.7s}
.notif.n4{right:-4.5%;top:44%;--r:-2deg;--d:.95s}
.notif.n5{left:5%;bottom:-4.5%;--r:1deg;--d:1.2s}
.notif.n6{right:7%;bottom:-6.5%;--r:-1.5deg;--d:1.45s}

/* quote */
.quote-wrap{max-width:1000px;margin:0 auto;text-align:center}
.big-quote{font:400 clamp(44px,5.8vw,84px)/1 var(--serif);letter-spacing:-.04em}
.quote-note{max-width:600px;margin:30px auto 0;font-size:17px;line-height:1.6;color:#6f6b65}

/* slider orizzontale */
.horizontal-section{position:relative;height:460vh;background:#fff}
.horizontal-sticky{position:sticky;top:72px;height:calc(100svh - 72px);overflow:hidden;display:grid;align-items:center;padding-top:19svh}
.h-title{position:absolute;top:5svh;left:var(--pad);right:var(--pad);text-align:center;z-index:4}
.h-title h2{margin:0;font:400 clamp(44px,5.4vw,80px)/.95 var(--serif);letter-spacing:-.04em}
.h-title p{max-width:640px;margin:16px auto 0;font-size:16px;line-height:1.6;color:#625e58}
.track{display:flex;gap:30px;width:max-content;padding-inline:8vw;will-change:transform}
.plate{--ms:.92;width:min(78vw,960px);height:min(72svh,660px);min-height:520px;flex:none;border-radius:38px;overflow:hidden;position:relative;padding:40px 44px 26px;display:grid;grid-template-rows:auto 1fr;gap:6px}
.plate h3{margin:0;max-width:640px;font:400 clamp(36px,4.2vw,58px)/.96 var(--serif);letter-spacing:-.04em}
.plate .pin{max-width:560px;margin:12px 0 0;font-size:16px;line-height:1.55;color:#55514b}
.p1{background:radial-gradient(circle at 78% 18%,rgba(228,220,255,.9),transparent 35%),linear-gradient(145deg,#ece6de,#d9d9e5)}
.p2{background:radial-gradient(circle at 80% 18%,rgba(255,220,159,.85),transparent 35%),linear-gradient(155deg,#d9e6ea,#f1dfc9)}
.p3{background:radial-gradient(circle at 76% 18%,rgba(178,208,244,.85),transparent 35%),linear-gradient(145deg,#efe8e0,#d8dfe7)}
.p4{background:radial-gradient(circle at 78% 22%,rgba(248,191,187,.7),transparent 35%),linear-gradient(145deg,#e5e0dc,#e7d5d5)}
.mock{position:relative;height:calc(380px*var(--ms))}
.mk-inner{position:absolute;left:50%;top:50%;width:640px;height:380px;transform:translate(-50%,-50%) scale(var(--ms))}
.pathsvg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.mw-h{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-bottom:1px solid #eee;background:#faf9f6;font-size:10.5px;color:#5c5852}
.mw-h b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.mdots{display:flex;gap:4px}
.mdots i{width:6px;height:6px;border-radius:50%;background:#e2dfd8}
.sticky{position:absolute;width:148px;padding:13px 13px 17px;border-radius:2px;background:linear-gradient(180deg,#fdf09b,#f6e878);box-shadow:0 14px 26px rgba(0,0,0,.16),inset 0 -14px 18px -12px rgba(0,0,0,.14);font:italic 500 12.5px/1.45 var(--serif);color:#4a431a;z-index:5;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%)}
.sticky:after{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-style:solid;border-width:0 0 15px 15px;border-color:transparent transparent #d9c95e transparent}
.sticky.wig{animation:wig 5.5s ease-in-out infinite}
@keyframes wig{0%,100%{transform:rotate(var(--wr,0deg))}50%{transform:rotate(var(--wr,0deg)) translateY(-4px)}}
.annot{position:absolute;font:italic 400 15px var(--serif);color:var(--red);border:2px solid rgba(195,61,46,.5);padding:10px 18px;line-height:1.15;z-index:6;text-align:center}
.an1{right:16px;bottom:14px;transform:rotate(-3deg);max-width:200px;border-radius:46% 54% 52% 48%/58% 46% 54% 42%}
.an2{right:14px;bottom:10px;transform:rotate(2deg);max-width:215px;border-radius:52% 48% 46% 54%/48% 56% 44% 52%}
.an3{right:14px;bottom:12px;transform:rotate(-2deg);max-width:230px;border-radius:48% 52% 55% 45%/55% 46% 54% 45%}
.an4{right:8px;bottom:-6px;transform:rotate(-2deg);max-width:225px;border-radius:52% 48% 46% 54%/55% 48% 52% 45%}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-6px) rotate(var(--rot,0deg))}}
.wwin{position:absolute;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.11);overflow:hidden;animation:floaty 7s ease-in-out infinite}
.ww-b{padding:12px 14px}
.ww-t{font-size:11.5px;font-weight:800;margin-bottom:2px}
.ww-m{display:block;font-size:8.5px;color:#b3afa8;margin-bottom:9px}
.ln{height:8px;border-radius:5px;background:#e9e7e2;margin:9px 0}
.ln.s{width:58%}
.ww-row{display:flex;justify-content:space-between;font-size:10px;color:#5c5852;padding:4px 0;border-bottom:1px dashed #f0efeb}
.ww-row b{font-weight:700;color:#3f3c37}
.ww-row.tot{border-bottom:none;border-top:2px solid #e9e7e2;margin-top:4px;padding-top:7px;font-weight:800;color:#171717}
.wp1{left:24px;top:96px;width:218px;--rot:-7deg}
.wp2{left:196px;top:56px;width:218px;--rot:2deg;animation-duration:8s;animation-delay:.8s}
.wp3{left:372px;top:84px;width:240px;--rot:-2deg;z-index:4;animation-duration:9s;animation-delay:.4s}
.wp3 .ww-t{color:var(--red)}
.rn{display:flex;align-items:center;gap:2px;margin-top:9px;background:#fbfaf7;border:1px solid #e6e3dd;border-radius:7px;padding:5px 8px;font-size:9px;color:#45423c;white-space:nowrap;overflow:hidden}
.caret{width:1.5px;height:11px;background:#171717;flex:none;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.savedlg{position:absolute;left:30px;bottom:18px;width:224px;background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:13px;box-shadow:0 16px 40px rgba(0,0,0,.12);padding:11px 13px;transform:rotate(-1deg);display:grid;gap:8px;z-index:5}
.dlg-t{font-size:10px;font-weight:600;color:#75716b}
.dlg-in{font-size:9px;color:#6d6a65;border:1px solid #e6e3dd;border-radius:8px;padding:6px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fbfaf7}
.dlg-btns{display:flex;gap:8px;justify-content:flex-end;font-size:10px;font-weight:600}
.dlg-btns i{font-style:normal;padding:5px 11px;border-radius:8px;background:#f0efec;color:#5c5852}
.dlg-btns i.pri{background:#171717;color:#fff}
.st1{right:30px;top:8px;--wr:5deg}
.st2{left:270px;bottom:8px;--wr:-4deg;z-index:6}
.pform{position:absolute;left:26px;top:30px;width:208px;background:#fbfaf5;border:1px solid rgba(0,0,0,.09);border-radius:10px;box-shadow:0 18px 44px rgba(0,0,0,.10);padding:14px 16px 16px;transform:rotate(-5deg);overflow:hidden;min-height:236px}
.pf-h{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pf-s{display:block;font-size:9px;color:#b3afa8;margin:3px 0 11px}
.pf-row{display:flex;justify-content:space-between;font-size:9.5px;color:#5c5852;padding:5px 0;border-bottom:1px dashed #e6e3dd}
.pf-row b{color:#3f3c37}
.pf-sign{margin-top:12px;border-top:1px dashed #cfcabf;padding-top:7px;position:relative}
.pf-sign svg{width:118px;height:22px;display:block}
.pf-sign i{font-style:normal;font-size:8.5px;color:#b3afa8}
.stamp{position:absolute;right:8px;bottom:40px;transform:rotate(-12deg);border:2px solid var(--green);color:var(--green);border-radius:8px;padding:3px 8px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.75)}
.scan{position:absolute;left:0;right:0;top:0;height:42px;background:linear-gradient(180deg,rgba(74,169,179,0),rgba(74,169,179,.30),rgba(74,169,179,0));animation:scanmv 2.8s ease-in-out infinite;pointer-events:none;z-index:3}
@keyframes scanmv{0%{transform:translateY(-48px)}55%,100%{transform:translateY(238px)}}
.pol2{position:absolute;width:112px;background:#fff;padding:7px 7px 5px;border-radius:4px;box-shadow:0 16px 36px rgba(0,0,0,.14);z-index:2;animation:floaty 8s ease-in-out infinite}
.pol2:before{content:"";position:absolute;left:50%;top:-9px;width:54px;height:16px;margin-left:-27px;background:rgba(255,244,189,.8);border:1px solid #eee19a;transform:rotate(-4deg)}
.pol2 i{display:block;font:italic 400 9.5px var(--serif);color:#75716b;padding-top:5px;text-align:center}
.pol-img{height:80px;border-radius:2px;position:relative;overflow:hidden}
.pi1{background:linear-gradient(165deg,#b9d3e2 0%,#d8cdb4 55%,#8f9d76 100%)}
.pi1:after{content:"";position:absolute;left:12px;bottom:8px;width:64px;height:30px;background:#6d7a5e;border-radius:3px;box-shadow:22px -8px 0 -6px #55624a}
.pi2{background:linear-gradient(165deg,#d8cdb4,#c4b49a 60%,#7a7160)}
.pi2:after{content:"";position:absolute;left:18px;bottom:10px;width:52px;height:26px;background:#5d6a52;border-radius:3px;transform:skewX(-8deg)}
.po1{left:248px;top:98px;--rot:4deg}
.po2{left:352px;top:168px;--rot:-6deg;animation-delay:1.2s}
.pchat{position:absolute;right:22px;top:24px;width:216px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.12);overflow:hidden;transform:rotate(2deg);z-index:3}
.pchat-h{display:flex;align-items:center;gap:9px;padding:9px 12px;background:#e9f7ee;border-bottom:1px solid #dcefe3}
.pchat-h b{display:block;font-size:11px}
.pchat-h small{font-size:9px;color:#7fae90}
.pchat-b{padding:10px 12px;display:grid;gap:7px}
.bub-img{background:#ececea;border-radius:13px;padding:5px;width:128px}
.bimg{display:block;height:62px;border-radius:9px;background:linear-gradient(165deg,#b9d3e2,#d8cdb4 60%,#8f9d76)}
.bub-img i{display:block;font-style:normal;font-size:9px;color:#75716b;padding:4px 2px 2px}
.bub{max-width:80%;background:#ececea;border-radius:12px;padding:7px 10px;font-size:10.5px;width:fit-content}
.bub.me{margin-left:auto;background:#d9ecdf}
.palert{display:flex;gap:7px;align-items:center;background:#fdecea;border:1px solid #f2c8bf;color:var(--red);border-radius:11px;padding:7px 10px;font-size:10.5px;font-weight:600}
.palert svg{width:13px;height:13px;flex:none}
.st3{left:30px;bottom:12px;--wr:-4deg}
.xw{position:absolute;left:24px;top:40px;width:272px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.11);overflow:hidden;transform:rotate(-2deg);z-index:2}
.xw-b{padding:10px;position:relative}
.xgrid{display:grid;grid-template-columns:40px 58px 74px 28px 52px;font-size:8.5px}
.xgrid span{height:19px;line-height:19px;padding:0 6px;border-bottom:1px solid #f3f2ee;color:#5c5852;white-space:nowrap;overflow:hidden}
.xgrid .xh{height:17px;line-height:17px;font-weight:700;color:#8a867f;background:#f3f2ee}
.xgrid .hl{background:#fff3bf;font-weight:700;animation:cflash 5s infinite}
@keyframes cflash{0%,9%{background:#d9ecd4}14%,100%{background:#fff3bf}}
.antsvg{position:absolute;overflow:visible;pointer-events:none}
.ants{fill:rgba(255,243,191,.15);stroke:#1e7145;stroke-width:2;stroke-dasharray:6 4;animation:dashm .9s linear infinite}
@keyframes dashm{to{stroke-dashoffset:-20}}
.cpath{stroke:rgba(23,23,23,.35);stroke-width:2;stroke-dasharray:2 6;fill:none}
.gw{position:absolute;right:18px;top:100px;width:238px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.11);overflow:hidden;transform:rotate(2deg);z-index:2}
.gw-b{padding:5px 14px 10px}
.frow{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0efeb;font-size:10.5px}
.frow:last-child{border-bottom:none}
.frow span{color:#8a867f}
.frow em{font-style:normal;font-weight:600}
.gslot{display:flex;align-items:center;gap:7px}
.gval{opacity:0;animation:gshow 5s infinite;font-weight:800}
.gtag{font-style:normal;font-size:8.5px;font-weight:700;color:#fff;background:var(--red);border-radius:999px;padding:2px 7px;opacity:0;animation:gshow 5s infinite}
@keyframes gshow{0%,74%{opacity:0}82%,94%{opacity:1}100%{opacity:0}}
.pcur{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}
.kpill{position:absolute;background:#171717;color:#fff;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:7;opacity:0}
.kpill.c{left:212px;top:64px;animation:kpopA 5s infinite}
.kpill.v{left:448px;top:182px;animation:kpopB 5s infinite}
@keyframes kpopA{0%{opacity:0;transform:scale(.5)}6%,14%{opacity:1;transform:scale(1)}24%,100%{opacity:0;transform:scale(.5)}}
@keyframes kpopB{0%,76%{opacity:0;transform:scale(.5)}84%,94%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.5)}}
.st4{left:270px;bottom:6px;--wr:5deg;z-index:5}
.ell{stroke:rgba(23,23,23,.28);stroke-width:2;stroke-dasharray:5 9;animation:dashm2 26s linear infinite;fill:none}
@keyframes dashm2{to{stroke-dashoffset:-280}}
.arr{position:absolute;transform:translate(-50%,-50%) rotate(var(--ra));color:#6d6a65;z-index:2}
.arr svg{width:15px;height:15px;display:block}
.lnode{position:absolute;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.10);padding:9px 12px;display:grid;justify-items:center;gap:3px;z-index:3;min-width:84px;animation:npulse 9s ease-in-out infinite}
.lnode b{font-size:10.5px}
.lnode .dy{font:italic 400 9.5px var(--serif);color:#9a968e}
.nt{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff}
.nt svg{width:15px;height:15px}
.t-pn{background:#8e6fe0}.t-gr{background:var(--green)}
@keyframes npulse{0%,24%{box-shadow:0 12px 32px rgba(0,0,0,.10);transform:translate(-50%,-50%) scale(1)}7%{box-shadow:0 0 0 7px rgba(195,61,46,.14),0 12px 32px rgba(0,0,0,.16);transform:translate(-50%,-50%) scale(1.06)}}
.threadc{position:absolute;left:50%;top:190px;transform:translate(-50%,-50%);width:216px;background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.16);z-index:4;overflow:hidden}
.th-h{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #f0efeb;background:#faf9f6}
.th-h b{font-size:10.5px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-badge{font-size:8.5px;font-weight:800;color:#fff;background:var(--red);border-radius:999px;padding:2px 7px;flex:none}
.th-b{padding:6px 12px 9px}
.th-r{display:flex;gap:7px;align-items:center;padding:4px 0;font-size:9.5px;color:#45423c}
.th-r time{font:italic 400 9px var(--serif);color:#9a968e;width:26px;flex:none}
.th-r .nt{width:17px;height:17px;border-radius:5px;flex:none}
.th-r .nt svg{width:9px;height:9px}
.th-r em{font-style:normal;color:#75716b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-f{display:flex;gap:6px;align-items:center;padding:7px 12px;background:#fdecea;color:var(--red);font-size:9.5px;font-weight:700;border-top:1px solid #f2c8bf}
.th-f i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite;flex:none}
.h-progressline{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(0,0,0,.06);z-index:5}
.h-progressline span{display:block;height:100%;width:0;background:var(--ink)}
.h-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:italic 400 15px var(--serif);color:#8a867e;letter-spacing:.08em;z-index:5}
.h-hint{position:absolute;bottom:18px;right:var(--pad);font-size:12px;color:#8a867e;display:flex;gap:8px;align-items:center;z-index:5;transition:opacity .5s ease}
.h-hint:after{content:"→";font-size:14px;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.horizontal-section.started .h-hint{opacity:0}

/* AI */
.ai-section{background:#f1efe9}
.ai-head{max-width:900px;margin:0 auto clamp(30px,4vh,48px);text-align:center}
.ai-head h2{margin:0;font:400 clamp(42px,5.2vw,78px)/.95 var(--serif);letter-spacing:-.04em}
.ai-head p{max-width:720px;margin:18px auto 0;font-size:17px;line-height:1.62;color:#58544e}
.ai-stage{display:grid;grid-template-columns:1fr 250px 1fr;gap:26px;align-items:stretch}
.ai-panel{min-height:490px;border-radius:32px;position:relative;overflow:hidden;padding:26px}
.ai-in{background:radial-gradient(circle at 20% 15%,rgba(255,192,153,.6),transparent 30%),linear-gradient(150deg,#e9dfd8,#dbe4e8)}
.ai-out{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.icard{position:absolute;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:15px;box-shadow:0 16px 40px rgba(0,0,0,.12);padding:12px 14px;transition:transform .9s cubic-bezier(.55,0,.2,1),opacity .9s ease;will-change:transform}
.ic-tx{min-width:0}
.ic-tx b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.ic-tx small{display:block;font-size:10.5px;color:#8a867f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.itile{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}
.itile svg{width:18px;height:18px}
.udot{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:999px;background:#ff3b30;color:#fff;font-size:10.5px;font-weight:700;line-height:20px;text-align:center;padding:0 5px;font-style:normal;box-shadow:0 0 0 3px rgba(255,255,255,.92)}
.c-mail{left:5%;top:6%;width:74%;transform:rotate(-2deg);z-index:2}
.c-wa{right:4%;top:29%;width:66%;transform:rotate(2.5deg);z-index:3}
.c-pdf{left:9%;top:52%;width:64%;transform:rotate(-1.5deg);z-index:2}
.c-voice{right:6%;bottom:5%;width:68%;transform:rotate(2deg);z-index:3}
.ichip{position:absolute;font-size:10.5px;font-weight:600;padding:5px 10px;border-radius:999px;z-index:4;box-shadow:0 8px 20px rgba(0,0,0,.10);transition:opacity .6s ease}
.ch1{right:5%;top:3.5%;background:#fdecea;color:var(--red);border:1px solid #f2c8bf}
.ch2{left:2%;top:39%;background:#fdf3e2;color:#b97f19;border:1px solid #efd9ae;transform:rotate(-4deg)}
.ch3{left:3%;bottom:13%;background:#f0efec;color:#6d6a65;border:1px solid #e2dfd8;transform:rotate(3deg)}
.ai-in.fly .c-mail{transform:rotate(0) translate(74px,56px) scale(.7);opacity:.15}
.ai-in.fly .c-wa{transform:rotate(0) translate(64px,10px) scale(.72);opacity:.15}
.ai-in.fly .c-pdf{transform:rotate(0) translate(80px,-30px) scale(.7);opacity:.15}
.ai-in.fly .c-voice{transform:rotate(0) translate(70px,-66px) scale(.72);opacity:.15}
.ai-in.fly .ichip{opacity:.12}
.ai-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative}
.flowline{position:absolute;top:calc(50% - 20px);height:2px;width:26px;background:repeating-linear-gradient(90deg,rgba(18,69,74,.35) 0 5px,transparent 5px 10px)}
.flowline.l{left:-26px}.flowline.r{right:-26px}
.flowdot{position:absolute;top:calc(50% - 23px);width:6px;height:6px;border-radius:50%;background:#4aa9b3;box-shadow:0 0 0 3px rgba(121,201,209,.28)}
.flowdot.l{left:-26px;animation:dashR 1.3s linear infinite}
.flowdot.r{right:-26px;animation:dashL 1.3s linear infinite .55s}
@keyframes dashR{from{transform:translateX(0);opacity:0}25%{opacity:1}to{transform:translateX(26px);opacity:0}}
@keyframes dashL{from{transform:translateX(0);opacity:0}25%{opacity:1}to{transform:translateX(-26px);opacity:0}}
.proc{position:relative;width:200px;height:200px;display:grid;place-items:center}
.pring{position:absolute;inset:0;transform:rotate(-90deg)}
.prbg{fill:none;stroke:rgba(23,23,23,.08);stroke-width:6}
.prfg{fill:none;stroke:#4aa9b3;stroke-width:6;stroke-linecap:round;stroke-dasharray:578;stroke-dashoffset:578;transition:stroke-dashoffset 1.3s cubic-bezier(.4,0,.2,1)}
.orbit{position:absolute;border-radius:50%;border:1.5px dashed rgba(18,69,74,.22)}
.o1{inset:-14px;animation:spin 12s linear infinite}
.o2{inset:-28px;border-color:rgba(18,69,74,.13);animation:spinrev 18s linear infinite}
.core{width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e7f6f8,#bfe7ea);display:grid;place-items:center;font-size:15px;font-weight:700;color:#25454a;box-shadow:0 14px 40px rgba(143,211,217,.4);transition:background .5s ease,color .5s ease;text-align:center;padding:0 10px}
.proc.done .core{background:radial-gradient(circle at 30% 30%,#e3f6ec,#b8e6cd);color:#1d6b52}
.ai-status{min-height:20px;font-size:12.5px;color:#4c6b70;text-align:center;max-width:230px;transition:color .4s ease}
.ai-status.ok{color:#2e7d5b;font-weight:700}
.ai-steps{display:grid;grid-template-columns:auto auto;gap:7px 18px;justify-content:center}
.ai-steps span{display:flex;align-items:center;gap:7px;font-size:12px;color:#a09c94;transition:color .3s ease}
.sdot{width:15px;height:15px;border-radius:50%;border:1.5px dashed #c6c2ba;position:relative;flex:none;transition:all .3s ease}
.ai-steps span.on{color:#2e7d5b;font-weight:600}
.ai-steps span.on .sdot{border:none;background:var(--green)}
.ai-steps span.on .sdot:after{content:"";position:absolute;left:4.5px;top:2.5px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ao-h{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.ao-h b{display:block;font:400 32px/1 var(--serif);letter-spacing:-.02em}
.ao-h small{display:block;font-size:11.5px;color:#8a867f;margin-top:3px}
.rrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0efeb;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.rrow.show{opacity:1;transform:none}
.rt{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none}
.rt svg{width:16px;height:16px}
.rrow>div{flex:1;min-width:0}
.rrow small{display:block;font-size:10px;color:#a09c94;margin-bottom:2px}
.rrow b{font-size:13px}
.rok{width:16px;height:16px;color:var(--green);opacity:0;transform:scale(.5);transition:all .4s ease .25s;flex:none}
.rrow.show .rok{opacity:1;transform:none}
.fchips{display:flex;gap:6px;flex-wrap:wrap}
.fchips span{font-size:9.5px;background:#f3f2ee;border:1px solid #e6e3dd;border-radius:7px;padding:4px 7px;color:#5c5852}
.prip{background:#fdf3e2;color:#b97f19;border-radius:999px;padding:3px 11px;font-size:11px;display:inline-block}
.aobadges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;opacity:0;transform:translateY(8px);transition:opacity .5s ease .1s,transform .5s ease .1s}
.aobadges.show{opacity:1;transform:none}
.aobadges span{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:600;color:#2e7d5b;background:#e9f6ef;border:1px solid #cde8da;border-radius:999px;padding:6px 11px}
.aobadges svg{width:12px;height:12px}
.aof{margin-top:10px;font-size:11px;color:#8a867f;display:flex;gap:7px;align-items:center}
.aof:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;flex:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ascolto */
.method-scene{min-height:100svh;background:radial-gradient(70% 58% at 16% 16%,rgba(252,174,128,.88),transparent 55%),radial-gradient(68% 60% at 80% 16%,rgba(249,221,165,.80),transparent 48%),linear-gradient(180deg,#da8a7b,#c8bbc5 48%,#7e9db4 68%,#2a568a);display:flex;align-items:center}
.method-inner{width:min(calc(100% - var(--pad)*2),var(--max));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.method-copy{color:#fff;max-width:540px}
.method-copy h2{margin:0;font:400 clamp(56px,7vw,98px)/.9 var(--serif);letter-spacing:-.045em}
.method-copy p{margin:24px 0 0;font-size:17.5px;line-height:1.62;color:rgba(255,255,255,.88)}
.listen-board{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.6);border-radius:28px;box-shadow:0 34px 90px rgba(0,0,0,.20);padding:20px 22px;display:grid;gap:14px;min-height:500px;backdrop-filter:blur(6px)}
.lb-head{display:flex;align-items:center;gap:12px;font-size:12.5px}
.lb-head .dots{display:flex;gap:5px}
.lb-head .dots i{width:8px;height:8px;border-radius:50%;background:#e2dfd8}
.lb-head b{flex:1;font-weight:600;color:#3f3c37}
.lb-head .live{font-size:10.5px;color:var(--green);display:flex;gap:6px;align-items:center;font-weight:600}
.lb-head .live i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
.lb-body{display:grid;gap:14px;transition:opacity .45s ease}
.lb-body.fade{opacity:0}
.lb-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:18px}
.lb-chat{display:flex;flex-direction:column;gap:10px;min-height:236px;justify-content:flex-end}
.lb-row{display:flex;gap:8px;align-items:flex-end;animation:bIn .45s cubic-bezier(.2,.9,.3,1.2) both}
.lb-row.out{opacity:0;transform:translateY(-6px);transition:all .3s ease}
.lb-row.me{flex-direction:row-reverse}
@keyframes bIn{from{opacity:0;transform:translateY(8px) scale(.96)}}
.lb-who{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800;color:#fff;flex:none}
.lb-bub{max-width:92%;border-radius:14px;padding:9px 12px;font-size:12px;line-height:1.45}
.lb-row.them .lb-who{background:var(--amber)}
.lb-row.them .lb-bub{background:#f1efe9;border-radius:14px 14px 14px 4px}
.lb-row.me .lb-who{background:#171717}
.lb-row.me .lb-bub{background:#dff3f5;border:1px solid #c3e2e5;border-radius:14px 14px 4px 14px}
.tdots{display:inline-flex;gap:4px;padding:3px 0}
.tdots i{width:6px;height:6px;border-radius:50%;background:#b7b3ab;animation:blink 1.1s infinite}
.tdots i:nth-child(2){animation-delay:.18s}
.tdots i:nth-child(3){animation-delay:.36s}
.lb-cols{display:grid;gap:12px;align-content:start}
.lb-col{border:1px dashed #e2dfd8;border-radius:16px;padding:12px 14px;min-height:96px}
.lb-col.keepc{background:rgba(47,158,99,.06);border-color:rgba(47,158,99,.35)}
.lb-col.changec{background:rgba(217,154,43,.06);border-color:rgba(217,154,43,.4)}
.lb-col h5{margin:0 0 4px;font-size:12px;font-weight:700;display:flex;gap:7px;align-items:center;color:#3f3c37}
.cdot{width:8px;height:8px;border-radius:50%;flex:none}
.cdot.g{background:var(--green)}.cdot.a{background:var(--amber)}
.lchip{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:7px 11px;font-size:11.5px;margin-top:7px;box-shadow:0 6px 16px rgba(0,0,0,.06);animation:cPop .45s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes cPop{from{opacity:0;transform:scale(.7)}}
.lchip svg{width:13px;height:13px;flex:none}
.keepc .lchip svg{color:var(--green)}
.changec .lchip svg{color:var(--amber)}
.lb-plan{background:linear-gradient(150deg,#14352c,#1d6b52);color:#eafff5;border-radius:18px;padding:16px 18px;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .5s ease,transform .5s ease}
.lb-plan.show{opacity:1;transform:none}
.lb-plan h5{margin:0 0 10px;font:400 20px var(--serif);letter-spacing:-.02em;color:#fff;display:flex;align-items:center;gap:9px}
.lb-plan h5 span{font:400 11px var(--sans);background:rgba(255,255,255,.16);border-radius:999px;padding:3px 10px;letter-spacing:.04em}
.planrow{display:flex;gap:9px;align-items:flex-start;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:12.5px;line-height:1.45}
.planrow:last-of-type{border-bottom:none}
.planrow svg{width:14px;height:14px;flex:none;margin-top:2px;color:#8fe6bb}
.planrow b{color:#fff}
.lb-plan .pf{margin-top:11px;font:italic 400 13px var(--serif);color:#bfe9d4}

/* dashboard glass */
.build{background:#fff}
.ai-head.build-head{margin-bottom:36px}
.dashboard-stage{width:100%;border-radius:42px;overflow:hidden;padding:clamp(18px,3vw,38px);position:relative;background:radial-gradient(60% 70% at 82% 8%,rgba(255,205,160,.8),transparent 55%),radial-gradient(55% 65% at 10% 90%,rgba(150,214,220,.85),transparent 55%),linear-gradient(150deg,#f7e8d8,#e9f2f2 55%,#ece6f4);box-shadow:0 30px 80px rgba(23,23,23,.12)}
.dashboard-shell{position:relative;z-index:1;border-radius:28px;background:rgba(255,255,255,.55);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 60px rgba(23,23,23,.12);display:grid;grid-template-columns:186px 1fr;overflow:hidden}
.dash-sidebar{border-right:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.35);padding:20px 12px;display:flex;flex-direction:column;gap:2px}
.dash-logo{font-weight:800;letter-spacing:.12em;font-size:12px;margin:2px 8px 16px}
.dnav{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:12px;color:#6d6a65;font-size:13px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--sans);transition:background .2s ease,color .2s ease}
.dnav svg{width:17px;height:17px;flex:none}
.dnav:hover{background:rgba(255,255,255,.55)}
.dnav.active{background:rgba(255,255,255,.92);color:#171717;font-weight:600;box-shadow:0 4px 14px rgba(23,23,23,.08)}
.dash-user{margin-top:auto;display:flex;gap:9px;align-items:center;padding:10px 8px 2px}
.dash-user .du{width:28px;height:28px;border-radius:9px;background:#171717;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
.dash-user b{display:block;font-size:11px}
.dash-user small{display:block;font-size:9.5px;color:#a09c94}
.dash-main{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.dash-top{display:flex;gap:12px;align-items:center}
.dsearch{flex:1;display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:9px 15px;font-size:12px;color:#a09c94}
.dsearch svg{width:14px;height:14px;color:#a09c94;flex:none}
.davatar{width:34px;height:34px;border-radius:50%;background:#171717;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.views{flex:1}
.view{display:none}
.view.active{display:grid;gap:13px;animation:vIn .35s ease}
@keyframes vIn{from{opacity:0;transform:translateY(8px)}}
.vhead{display:flex;align-items:center;justify-content:space-between}
.vhead b{font:400 27px var(--serif);letter-spacing:-.02em}
.vbtn{background:#171717;color:#fff;border-radius:999px;padding:8px 14px;font-size:11.5px;font-weight:600}
.gcard{background:rgba(255,255,255,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 10px 30px rgba(23,23,23,.06)}
.ministats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ministats>div{padding:12px 15px}
.ministats b{display:block;font-size:19px;font-weight:700;margin-bottom:2px}
.ministats small{font-size:10.5px;color:#8a867f}
.bcard{padding:14px 16px}
.bc-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.bc-h b{font-size:12.5px}
.bc-h small{font-size:10.5px;color:#8a867f}
.bars{display:flex;align-items:flex-end;gap:9px;height:88px}
.bars i{flex:1;height:var(--h);background:linear-gradient(180deg,#9adbe0,#4aa9b3);border-radius:8px 8px 4px 4px;transform:scaleY(0);transform-origin:bottom}
.view.active .bars i{animation:grow .6s cubic-bezier(.2,.8,.3,1) forwards}
.bars i:nth-child(2){animation-delay:.06s}.bars i:nth-child(3){animation-delay:.12s}.bars i:nth-child(4){animation-delay:.18s}.bars i:nth-child(5){animation-delay:.24s}.bars i:nth-child(6){animation-delay:.3s}.bars i:nth-child(7){animation-delay:.36s}
@keyframes grow{to{transform:scaleY(1)}}
.bars-l{display:flex;gap:9px;margin-top:6px}
.bars-l span{flex:1;text-align:center;font-size:9.5px;color:#a09c94}
.ptable{padding:6px 16px}
.trow{display:grid;grid-template-columns:90px 1fr 90px 110px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:12.5px}
.trow:last-child{border-bottom:none}
.trow.th{font-size:10px;color:#a09c94;font-weight:600}
.tnum{font-weight:600;color:#5c5852}
.pill{font-style:normal;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px}
.pill.g{background:#e6f5ec;color:var(--green)}
.pill.b{background:#e8f1fb;color:#3e6fd8}
.pill.n{background:#f0efec;color:#75716b}
.pill.a{background:#fdf3e2;color:#b97f19}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cl{display:flex;gap:11px;align-items:center;padding:13px;transition:transform .25s ease,box-shadow .25s ease}
.cl:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(23,23,23,.09)}
.cav{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800;flex:none}
.cl>div{flex:1;min-width:0}
.cl b{display:block;font-size:12.5px}
.cl small{font-size:10.5px;color:#a09c94;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feedcard{padding:12px 16px}
.feedcard h6{margin:0 0 6px;font-size:11px;color:#8a867f;font-weight:700}
.fr{display:flex;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:12px}
.fr:last-child{border-bottom:none}
.fr i{width:7px;height:7px;border-radius:50%;flex:none}
.fr small{margin-left:auto;color:#a09c94;font-size:10.5px;flex:none}
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kcol{background:rgba(255,255,255,.45);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:12px}
.kcol h6{margin:0 0 4px;font-size:11.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center;color:#5c5852}
.kcol h6 i{font-style:normal;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.06);border-radius:999px;font-size:10px;padding:2px 8px;color:#8a867f}
.kc{background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.95);border-left:3px solid var(--kc,#d99a2b);border-radius:12px;padding:10px 12px;margin-top:9px;box-shadow:0 6px 16px rgba(23,23,23,.05)}
.kc b{display:block;font-size:12px;margin-bottom:3px}
.kc small{font-size:10.5px;color:#a09c94}
.aisug{display:flex;gap:10px;align-items:center;background:linear-gradient(120deg,rgba(217,154,43,.14),rgba(255,255,255,.55));backdrop-filter:blur(10px);border:1px dashed rgba(217,154,43,.55);border-radius:16px;padding:10px 14px;font-size:12px}
.aisug svg{width:16px;height:16px;color:var(--amber);flex:none}
.aisug b{font-weight:700}
.sug-b{margin-left:auto;display:flex;gap:7px;flex:none}
.sug-b span{font-size:10.5px;font-weight:700;border-radius:999px;padding:6px 11px;background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.08)}
.sug-b span.pri{background:#171717;color:#fff;border-color:#171717}
.week{display:flex;gap:6px}
.wd2{flex:1;display:grid;justify-items:center;gap:4px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);border-radius:12px;padding:8px 4px;font-size:10px;color:#75716b}
.wd2 b{font-size:12px}
.dts{display:flex;gap:3px}
.dts i{width:4px;height:4px;border-radius:50%;background:#8fd3d9}
.wd2.today{background:#171717;color:#fff;border-color:#171717}
.aglist{padding:8px 16px}
.aslot{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px dashed rgba(0,0,0,.08);font-size:12.5px}
.aslot:last-child{border-bottom:none}
.aslot time{font-weight:700;color:#8a867f;font-size:11px}
.aev{border-radius:11px;padding:9px 13px;color:#fff;font-weight:600;font-size:12px}
.aev.g1{background:#3e6fd8}
.aev.g2{background:var(--amber)}
.aev.g3{background:var(--green)}
.aev.ghost{background:rgba(255,255,255,.6);border:1.5px dashed #cfcabf;color:#75716b}
.aiass{padding:18px;background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(255,255,255,.45));backdrop-filter:blur(12px)}
.aiass-h{display:flex;gap:11px;align-items:center;margin-bottom:13px}
.aiass-h b{display:block;font-size:13.5px}
.aiass-h small{display:block;font-size:10.5px;color:#a09c94}
.aiass p{margin:0 0 9px;font-size:12.5px;color:#45423c;display:flex;gap:9px;align-items:flex-start;line-height:1.5}
.aiass p svg{width:14px;height:14px;color:var(--amber);flex:none;margin-top:2px}
.iachips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.iachips span{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:600;background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.07);border-radius:999px;padding:6px 11px}
.aacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.aacts span{display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:8px 13px;font-size:11.5px;font-weight:600;transition:transform .2s ease}
.aacts svg{width:12px;height:12px;color:#3e6fd8}
.shim{height:10px;border-radius:6px;margin-top:12px;background:linear-gradient(90deg,rgba(0,0,0,.07) 25%,rgba(255,255,255,.7) 50%,rgba(0,0,0,.07) 75%);background-size:200% 100%;animation:shim 1.4s infinite}
@keyframes shim{to{background-position:-200% 0}}
.dphone{display:none;position:relative;z-index:1;place-items:center}
.ph-frame{width:min(372px,92vw);height:min(700px,76svh);min-height:520px;background:#101012;border-radius:52px;padding:11px;box-shadow:0 40px 90px rgba(0,0,0,.35)}
.ph-screen{height:100%;border-radius:42px;background:linear-gradient(165deg,#fdf6ec,#eef6f6 55%,#f4eef8);display:flex;flex-direction:column;overflow:hidden;position:relative}
.ph-notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:104px;height:24px;background:#101012;border-radius:14px;z-index:6}
.ph-head{padding:44px 16px 10px;display:flex;align-items:center;gap:10px}
.ph-head>div{flex:1;min-width:0}
.ph-head b{display:block;font-size:14.5px;letter-spacing:-.02em}
.ph-head small{display:block;font-size:10px;color:#8a867f;margin-top:2px}
.ph-av{width:30px;height:30px;border-radius:50%;background:#171717;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
.ph-views{flex:1;overflow-y:auto;padding:2px 14px 12px;scrollbar-width:none}
.ph-views::-webkit-scrollbar{display:none}
.ph-view{display:none}
.ph-view.active{display:grid;gap:10px;animation:vIn .3s ease}
.phc{background:rgba(255,255,255,.78);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:16px;padding:12px 13px;box-shadow:0 8px 22px rgba(23,23,23,.06)}
.phc>b{display:block;font-size:15px;font-weight:800}
.phc>small{display:block;font-size:10.5px;color:#8a867f;margin-top:2px}
.phrow{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:11.5px}
.phrow:last-child{border-bottom:none}
.phrow b{display:block;font-size:11.5px}
.phrow small{display:block;font-size:9.5px;color:#a09c94;margin-top:1px}
.phrow .pill{margin-left:auto;flex:none}
.phrow time{font-weight:800;font-size:10.5px;color:#8a867f;width:38px;flex:none}
.ph-tk{border-left:3px solid var(--kc,var(--amber))}
.ph-tabs{display:flex;border-top:1px solid rgba(0,0,0,.07);background:rgba(255,255,255,.8);backdrop-filter:blur(12px);padding:7px 6px calc(9px + env(safe-area-inset-bottom))}
.ph-tab{flex:1;display:grid;justify-items:center;gap:3px;font-size:9px;color:#8a867f;background:none;border:0;cursor:pointer;font-family:var(--sans)}
.ph-tab svg{width:19px;height:19px}
.ph-tab.active{color:#171717;font-weight:700}
.ph-chk{display:flex;gap:8px;align-items:center;font-size:11.5px}
.ph-chk svg{width:13px;height:13px;color:var(--green);flex:none}

/* evoluzione */
.mobile-chapter{background:#f0eee8}
.evo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.mobile-copy h2{margin:0;font:400 clamp(54px,6.6vw,92px)/.92 var(--serif);letter-spacing:-.04em}
.mobile-copy p{margin:24px 0 14px;max-width:520px;font-size:17.5px;line-height:1.6;color:#5e5a54}
.evo-note{font:italic 400 16px var(--serif);color:#7a766f;margin:0 0 20px;max-width:480px}
.evo-tags{display:flex;gap:9px;flex-wrap:wrap}
.evo-tags span{display:inline-flex;gap:7px;align-items:center;background:#fff;border:1px solid #e5e2da;border-radius:999px;padding:9px 14px;font-size:12.5px;font-weight:600}
.evo-tags svg{width:14px;height:14px;color:var(--green)}
.evo-scene{position:relative}
.evo-board{background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px 24px;display:grid;gap:14px;box-shadow:0 30px 80px rgba(23,23,23,.10)}
.evo-head{display:flex;align-items:center;gap:12px}
.evo-head>b{font:400 23px var(--serif);letter-spacing:-.02em}
#evoVer{font-size:11.5px;font-weight:700;background:#e9f6ef;color:#2e7d5b;border-radius:999px;padding:4px 11px}
#evoVer.bump{animation:popin .4s}
.evo-live{margin-left:auto;font-size:10.5px;color:#8a867f;display:flex;gap:6px;align-items:center}
.evo-live i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite}
.intmap{position:relative;height:196px}
.intmap svg.im{position:absolute;inset:0;width:100%;height:100%}
.iln{stroke:#b9d8da;stroke-width:1.5;stroke-dasharray:3 4;fill:none;vector-effect:non-scaling-stroke;transition:stroke .5s ease}
.intmap.zap .iln{stroke:var(--green)}
.icore{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;background:#171717;color:#fff;display:grid;place-items:center;text-align:center;font:400 15px/1.1 var(--serif);z-index:2;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.isat{position:absolute;transform:translate(-50%,-50%);display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:6px 11px;font-size:10.5px;font-weight:600;box-shadow:0 8px 22px rgba(0,0,0,.10);z-index:2;white-space:nowrap}
.sat-dot{width:8px;height:8px;border-radius:50%;flex:none}
.evo-grid-t{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.em{position:relative;border:1px solid #e8e5df;background:#fbfaf7;border-radius:16px;min-height:92px;display:grid;place-items:center;align-content:center;gap:7px;font-size:11px;font-weight:600;color:#45423c;transition:transform .3s ease;padding:10px 6px;text-align:center}
.emi{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff}
.emi svg{width:16px;height:16px}
.e-tl{background:#3e8ec4}.e-us{background:#8e6fe0}.e-cl{background:#3e6fd8}.e-pn{background:#b06fd8}.e-am{background:var(--amber)}.e-wa{background:#22c15e}.e-ink{background:#171717}
.em.slot{border:2px dashed #cfcabf;background:transparent;color:#a09c94;gap:5px}
.evo-plus{font:400 26px var(--serif);line-height:1}
.slot small{font-size:9.5px;font-weight:500}
.em.filled{border:1px solid rgba(0,0,0,.1);background:#fff;color:#171717;box-shadow:0 14px 34px rgba(0,0,0,.10);animation:popin .55s cubic-bezier(.2,.9,.3,1.25)}
.em.filled:after{content:"✓";position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
@keyframes popin{0%{transform:scale(.55);opacity:0}60%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
.cl-list{display:grid;gap:7px}
.cli{display:flex;gap:10px;align-items:baseline;background:#fbfaf7;border:1px solid #eceae5;border-radius:12px;padding:8px 13px;font-size:11.5px;animation:logIn .5s both}
.cli .cv{font-weight:800;color:#1d6b52;flex:none}
.cli small{color:#a09c94;flex:none;font-size:10px}
.cli em{font-style:normal;color:#45423c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cli.out{opacity:0;transform:translateY(-6px);transition:all .35s ease}
@keyframes logIn{from{opacity:0;transform:translateY(6px)}}
.efoot{display:flex;gap:8px;flex-wrap:wrap}
.efoot span{display:inline-flex;gap:6px;align-items:center;font-size:10.5px;font-weight:600;color:#2e7d5b;background:#e9f6ef;border:1px solid #cde8da;border-radius:999px;padding:6px 11px}
.evo-chip{position:absolute;display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:9px 13px;font-size:11.5px;font-weight:600;box-shadow:0 14px 36px rgba(0,0,0,.14);animation:bob 6s ease-in-out infinite;animation-delay:var(--bd,0s);z-index:3}
.evo-chip svg{width:14px;height:14px;color:var(--green)}
.evo-chip.ec1{left:-24px;top:14%;--r:-3deg}
.evo-chip.ec2{right:-16px;top:2%;--r:2deg;--bd:.8s}
.evo-chip.ec3{right:4%;bottom:-16px;--r:-2deg;--bd:1.6s}
@keyframes bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-8px) rotate(var(--r,0deg))}}

/* finale + footer */
.final{background:#111;color:#fff;min-height:100svh;display:grid;place-items:center;padding:110px var(--pad)}
.final-inner{max-width:1000px;text-align:center;display:grid;gap:28px;justify-items:center}
.final h2{margin:0;font:400 clamp(64px,8.6vw,124px)/.88 var(--serif);letter-spacing:-.04em}
.final p{max-width:620px;margin:0;font-size:18px;line-height:1.6;color:#c9c9c7}
.footer{background:#111;color:#bdbdbd;padding:34px 0;border-top:1px solid rgba(255,255,255,.08)}
.footer .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:12.5px}
.footer a{color:#e6e6e4;text-decoration:none}
.footer a:hover{color:#fff}
.footer .fnav{display:flex;gap:18px;flex-wrap:wrap}

/* pagine servizio + contatti */
.svc-hero{min-height:72svh;display:flex;align-items:center;position:relative;overflow:hidden;padding:90px 0 70px}
.svc-hero.s-preventivi{background:radial-gradient(60% 70% at 78% 12%,rgba(228,220,255,.8),transparent 50%),linear-gradient(160deg,#ece6de,#d9d9e5)}
.svc-hero.s-carta{background:radial-gradient(60% 70% at 80% 12%,rgba(255,220,159,.75),transparent 50%),linear-gradient(160deg,#d9e6ea,#f1dfc9)}
.svc-hero.s-integrazioni{background:radial-gradient(60% 70% at 76% 12%,rgba(178,208,244,.8),transparent 50%),linear-gradient(160deg,#efe8e0,#d8dfe7)}
.svc-hero.s-ai{background:radial-gradient(60% 70% at 78% 16%,rgba(248,191,187,.65),transparent 50%),linear-gradient(160deg,#e5e0dc,#e7d5d5)}
.svc-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:7%;align-items:center}
.svc-hero h1{margin:0;font:400 clamp(48px,6.4vw,92px)/.92 var(--serif);letter-spacing:-.045em}
.svc-hero .lead{margin-top:20px}
.backline{margin-bottom:26px}
.backline a{font:italic 400 15px var(--serif);color:#6d6a65;text-decoration:none}
.svc-mock{position:relative;height:300px}
.svc-mock .mk-inner{--ms:.72;position:absolute;left:50%;top:50%;width:640px;height:380px;transform:translate(-50%,-50%) scale(.72)}
.svc-sec{padding:clamp(60px,9vh,110px) 0}
.svc-sec.alt{background:#fff}
.h2{margin:0;font:400 clamp(38px,4.6vw,68px)/.96 var(--serif);letter-spacing:-.04em}
.h2 small{display:block;margin-top:14px;font:400 16.5px/1.6 var(--sans);color:#5c5852;max-width:640px;letter-spacing:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.step{background:#fbfaf7;border:1px solid #eceae5;border-radius:22px;padding:24px;position:relative;transition:transform .3s ease,box-shadow .3s ease}
.step:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(23,23,23,.08)}
.step b.sn{font:italic 400 44px var(--serif);color:#c9c5bd;display:block;line-height:1;margin-bottom:14px}
.step h3{margin:0 0 8px;font-size:16.5px;font-weight:700}
.step p{margin:0;font-size:13.5px;line-height:1.6;color:#5c5852}
.step .sico{position:absolute;top:22px;right:22px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff}
.step .sico svg{width:18px;height:18px}
.change-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:44px}
.chg{display:flex;gap:12px;align-items:flex-start;background:#fbfaf7;border:1px solid #eceae5;border-radius:18px;padding:16px 18px;font-size:14.5px;line-height:1.55}
.chg svg{width:17px;height:17px;color:var(--green);flex:none;margin-top:2px}
.chg b{display:block;margin-bottom:2px}
.chg small{color:#75716b;font-size:12.5px}
.numrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.numcard{background:#171717;color:#fff;border-radius:22px;padding:24px;text-align:center}
.numcard b{display:block;font:400 clamp(34px,3.6vw,50px)/1 var(--serif);letter-spacing:-.02em;color:var(--accent)}
.numcard small{display:block;margin-top:8px;font-size:12px;color:#bdbdbd;line-height:1.5}
.svc-cta{background:#111;color:#fff;border-radius:34px;padding:clamp(40px,6vw,72px);display:grid;justify-items:center;text-align:center;gap:18px}
.svc-cta h3{margin:0;font:400 clamp(36px,4.6vw,62px)/.95 var(--serif);letter-spacing:-.03em}
.svc-cta p{margin:0;max-width:560px;font-size:16px;line-height:1.6;color:#c9c9c7}
.others{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.others a{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#e6e6e4;text-decoration:none;font-size:13px;font-weight:600;transition:background .2s}
.others a:hover{background:rgba(255,255,255,.1)}
.others svg{width:13px;height:13px}
.svc-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:52px}
.svc-card{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(23,23,23,.10)}
.svc-card .scv{height:180px;position:relative;overflow:hidden}
.svc-card .scv .mk-inner{--ms:.44;transform:translate(-50%,-52%) scale(.44)}
.svc-card .sctx{padding:22px 24px 26px}
.svc-card h3{margin:0 0 8px;font:400 clamp(24px,2.4vw,32px)/1.05 var(--serif);letter-spacing:-.03em}
.svc-card p{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:#5c5852}
.svc-card .go{display:inline-flex;gap:7px;align-items:center;font-size:13px;font-weight:700}
.svc-card .go svg{width:14px;height:14px;transition:transform .25s}
.svc-card:hover .go svg{transform:translateX(4px)}
.contact-hero{min-height:64svh;display:flex;align-items:center;background:radial-gradient(60% 70% at 20% 10%,rgba(255,192,153,.5),transparent 50%),radial-gradient(55% 60% at 85% 20%,rgba(143,211,217,.45),transparent 50%),linear-gradient(165deg,#f6ece2,#e9f0f1);padding:90px 0 60px}
.contact-hero h1{margin:0;font:400 clamp(52px,7vw,100px)/.92 var(--serif);letter-spacing:-.045em}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start;margin-top:-40px;position:relative;z-index:2}
.cform{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(24px,3.4vw,40px);box-shadow:0 30px 80px rgba(23,23,23,.12);display:grid;gap:16px}
.cform h3{margin:0;font:400 30px var(--serif);letter-spacing:-.02em}
.fld{display:grid;gap:7px}
.fld label{font-size:12.5px;font-weight:700;color:#3f3c37}
.fld input,.fld select,.fld textarea{font:400 14.5px/1.5 var(--sans);color:#171717;background:#fbfaf7;border:1px solid #e2dfd8;border-radius:14px;padding:13px 15px;width:100%;outline:none;transition:border .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--accent-strong);box-shadow:0 0 0 4px rgba(143,211,217,.22)}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fsel{position:relative}
.fsel:after{content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#8a867f;pointer-events:none}
.fpriv{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#75716b;line-height:1.5}
.fpriv input{width:16px;height:16px;margin-top:2px;accent-color:#171717}
.fsent{display:none;text-align:center;padding:30px 10px}
.fsent.show{display:grid;gap:14px;justify-items:center}
.fsent .big{width:64px;height:64px;border-radius:50%;background:#e9f6ef;display:grid;place-items:center;color:var(--green)}
.fsent .big svg{width:30px;height:30px}
.fsent b{font:400 30px var(--serif)}
.fsent p{margin:0;color:#5c5852;font-size:14.5px;line-height:1.6;max-width:380px}
.cinfo{display:grid;gap:14px}
.cinfo-card{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:22px;padding:20px 22px;box-shadow:0 12px 34px rgba(23,23,23,.07)}
.cinfo-card h4{margin:0 0 8px;font-size:14px;font-weight:800;display:flex;gap:9px;align-items:center}
.cinfo-card h4 svg{width:16px;height:16px;color:var(--green)}
.cinfo-card p{margin:0;font-size:13.5px;line-height:1.6;color:#5c5852}
.faq{margin-top:26px;display:grid;gap:10px}
.faq details{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:16px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:700;font-size:13.5px;list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center}
.faq summary:after{content:"+";font:400 22px var(--serif);color:#8a867f;transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin:10px 0 0;font-size:13px;line-height:1.6;color:#5c5852}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spinrev{from{transform:rotate(360deg)}to{transform:rotate(0)}}

@media(max-width:1250px){.plate{--ms:.8}}
@media(max-width:1100px){.ai-stage{grid-template-columns:1fr;gap:20px}.flowline,.flowdot{display:none}.ai-panel{min-height:440px}.svc-hero .wrap{grid-template-columns:1fr;gap:44px}.svc-mock{height:260px}}
@media(max-width:980px){
  .method-inner,.evo-grid{grid-template-columns:1fr}
  .method-inner{gap:44px;padding:70px 0}
  .lb-grid{grid-template-columns:1fr}
  .lb-chat{min-height:0}
  .cgrid{grid-template-columns:repeat(2,1fr)}
  .kanban{grid-template-columns:1fr}
  .evo-chip{display:none}
  .steps{grid-template-columns:1fr}
  .svc-index-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .numrow{grid-template-columns:1fr}
  .change-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .dashboard-shell{display:none}
  .dphone{display:grid}
  .dashboard-stage{padding:10px;border-radius:34px}
}
@media(max-height:820px){.plate{--ms:.78}}
@media(max-height:700px){.plate{--ms:.64;min-height:460px}}
@media(max-width:640px){
  .navlinks{gap:16px}
  .hero{padding-top:40px}
  .hero h1{font-size:clamp(56px,15.5vw,78px)}
  .hero-scene{width:min(560px,108%)}
  .notif{padding:8px 11px 8px 8px}
  .notif .n-ico{width:30px;height:30px;border-radius:8px}
  .n-tx b{font-size:11px}.n-tx small{font-size:10px;max-width:140px}
  .notif.n3,.notif.n4{display:none}
  .h-title h2{font-size:clamp(44px,14vw,64px)}
  .plate{--ms:.5;width:92vw;padding:24px 20px 18px;border-radius:27px;min-height:470px;height:76svh}
  .plate h3{font-size:38px}
  .h-hint{display:none}
  .ai-head h2{font-size:clamp(44px,14vw,64px)}
  .ai-panel{min-height:410px;border-radius:26px;padding:18px}
  .ao-h b{font-size:26px}
  .evo-grid-t{grid-template-columns:repeat(4,1fr);gap:7px}
  .em{min-height:78px;font-size:9px;gap:5px}
  .emi{width:27px;height:27px;border-radius:8px}
  .emi svg{width:13px;height:13px}
  .intmap{height:170px}
  .isat{font-size:9px;padding:5px 8px}
  .icore{width:72px;height:72px;font-size:13px}
  .cli{font-size:10.5px}
  .mobile-copy h2{font-size:clamp(52px,15vw,70px)}
  .final h2{font-size:clamp(64px,17vw,88px)}
  .svc-hero h1{font-size:clamp(46px,13vw,72px)}
  .fld-row{grid-template-columns:1fr}
  .svc-mock{height:220px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .curtain{display:none}
  .stagger>*{opacity:1!important;transform:none!important;animation:none!important}
  .orbit,.flowdot,.notif,.evo-chip,.aof:before,.lb-head .live i,.h-hint:after,.shim,.wwin,.pol2,.sticky.wig,.lnode,.gval,.gtag,.kpill,.hl,.caret{animation:none}
  .caret{opacity:1}.gval,.gtag,.kpill{opacity:1}
  .scan{display:none}
  .icard,.rrow,.aobadges,.lchip,.lb-plan,.em,.cli{transition:none}
  .prfg{transition:none}
  .bars i{transform:none;animation:none}
  .horizontal-section{height:auto}
  .horizontal-sticky{position:static;height:auto;padding:80px 0}
  .h-title{position:static;margin-bottom:40px}
  .track{flex-wrap:wrap;width:auto;justify-content:center}
  .plate{width:min(92vw,860px);height:auto;min-height:480px}
  .h-progressline,.h-count,.h-hint{display:none}
}