/* Pagina SERP: solo variabili e font del sito */
.serp-hero{background:radial-gradient(ellipse at 78% 40%,#17325466,transparent 55%),var(--navy);padding:56px 0 80px;overflow:hidden}
.serp-hero-grid{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
.serp-crumbs{font-size:12px;color:#a9b3c3}.serp-crumbs a:hover{color:var(--gold-light)}
.serp-logo{width:min(320px,80%);height:auto;margin:22px 0 18px;filter:drop-shadow(0 12px 30px #0006)}
.serp-hero h1{font-size:clamp(36px,4.4vw,62px);font-weight:500;letter-spacing:-.05em}
.serp-lead{color:#b8c2d2;font-size:17px;line-height:1.7;margin:22px 0 30px!important;max-width:560px}
.serp-demo{min-width:0}.serp-note{font-family:var(--mono);font-size:10px;color:#8fa0b6;text-align:right;margin-top:12px!important}
.serp-app{display:flex;background:#fbfcff;color:var(--ink);border-radius:12px;overflow:hidden;box-shadow:0 35px 70px #0005;border:1px solid #4c5c733f}
.serp-side{flex:0 0 46px;background:#152239;display:flex;flex-direction:column;align-items:center;gap:16px;padding:18px 0}
.serp-side b{color:#fff;font-size:20px;margin-bottom:6px}.serp-side i{width:18px;height:18px;border-radius:5px;background:#ffffff1a}.serp-side i.on{background:var(--gold)}
.serp-main{flex:1;min-width:0;padding:14px 16px 16px}
.serp-top{display:flex;align-items:center;gap:10px;font-size:11px;border-bottom:1px solid #e7ebf2;padding-bottom:10px}.serp-top span{color:var(--muted)}.serp-top em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:9px;color:#6b7a8f;background:#f1f4f9;border-radius:4px;padding:3px 6px}
.serp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.serp-kpis div{border:1px solid #e4e9f0;border-radius:7px;padding:9px;background:#fff;min-width:0}.serp-kpis small{display:block;font-size:9px;color:#627085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.serp-kpis strong{display:block;font-size:24px;font-weight:600;letter-spacing:-.04em}.serp-kpis i{display:block;height:3px;border-radius:3px;background:var(--gold);width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1) .3s}
.serp-demo.is-in .serp-kpis div:nth-child(1) i{width:72%}.serp-demo.is-in .serp-kpis div:nth-child(2) i{width:40%;background:#c8a96b}.serp-demo.is-in .serp-kpis div:nth-child(3) i{width:86%;background:#699b8d}
.serp-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.serp-charts figure{margin:0;border:1px solid #e4e9f0;border-radius:7px;padding:8px;background:#fff}
.serp-charts figcaption{font-size:9px;color:#627085;margin-bottom:4px}.serp-charts svg{width:100%;height:auto;display:block}
.serp-bars rect{fill:var(--gold);transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.4s + var(--i)*.08s)}
.serp-demo.is-in .serp-bars rect{transform:scaleY(1)}
.serp-stroke{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s ease .5s}
.serp-area{fill:#397fbe1f;opacity:0;transition:opacity 1s ease 1.6s}.serp-demo.is-in .serp-stroke{stroke-dashoffset:0}.serp-demo.is-in .serp-area{opacity:1}
.serp-flow{list-style:none;display:flex;gap:4px;padding:0;margin:10px 0 0;counter-reset:f}
.serp-flow li{flex:1;position:relative;text-align:center;font-size:9px;font-weight:600;padding:7px 2px;border-radius:5px;background:#eef3f9;color:#486681;min-width:0}
.serp-flow li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.serp-demo.is-in .serp-flow li{animation:serp-step 6s infinite;animation-delay:calc(var(--n)*1.2s)}
.serp-flow li:nth-child(1){--n:0}.serp-flow li:nth-child(2){--n:1}.serp-flow li:nth-child(3){--n:2}.serp-flow li:nth-child(4){--n:3}.serp-flow li:nth-child(5){--n:4}
@keyframes serp-step{0%,22%{background:var(--blue);color:#fff;box-shadow:0 4px 12px #0b3e6c40}23%,100%{background:#eef3f9;color:#486681;box-shadow:none}}
.serp-table{margin-top:10px;border:1px solid #e4e9f0;border-radius:7px;background:#fff;padding:4px 10px}
.serp-row{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:8px;align-items:center;font-size:10px;padding:7px 0;border-top:1px solid #eff2f6;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;transition-delay:calc(1s + var(--i,0)*.18s)}
.serp-row.serp-head{border:0;color:#738094;font-size:9px}.serp-demo.is-in .serp-row{opacity:1;transform:none}
.serp-row b{font-weight:600}.serp-row small{display:block;font-size:8px;color:#748095}.serp-row em{font-style:normal;justify-self:start;font-size:8px;color:#486681;background:#edf3fa;border-radius:3px;padding:2px 5px}
.serp-row>i{display:block;height:4px;border-radius:3px;background:linear-gradient(to right,var(--blue) var(--p),#eaf0f7 var(--p))}.serp-head>i{background:none}
.serp-two{display:grid;grid-template-columns:1fr;gap:28px}.serp-two h2,.serp-mods-section h2,.serp-how h2,.serp-why h2{font-size:clamp(28px,3vw,44px);font-weight:600}
.serp-two .eyebrow,.serp-faq .eyebrow{margin-bottom:16px}.serp-what p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75}.serp-what p+p{margin-top:16px}
.serp-mods-section{background:var(--paper);border-block:1px solid #edf0f4}
.serp-mods{display:grid;grid-template-columns:1fr;gap:14px}
.serp-mod{background:#fff;border:1px solid #e1e6ed;border-radius:10px;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s}.serp-mod:hover{transform:translateY(-4px);border-color:#b8c4d6;box-shadow:0 8px 25px #13264310}
.serp-mod-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#edf2f8;color:var(--blue);margin-bottom:18px}.serp-mod-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.serp-mod h3{font-size:18px;font-weight:600}.serp-mod p{font-size:14px;color:var(--muted);margin-top:8px!important;line-height:1.6}
.serp-how{background:radial-gradient(ellipse at 20% 80%,#16346066,transparent 60%),var(--navy)}
.serp-timeline{list-style:none;padding:0;margin:0;display:grid;gap:16px;position:relative}
.serp-timeline li{position:relative;padding:22px;border:1px solid #9aaecb26;border-radius:10px;background:#172438}
.serp-step-n{font-family:var(--mono);font-size:11px;color:var(--gold-light);letter-spacing:.1em}.serp-timeline h3{font-size:18px;font-weight:600;margin:8px 0}.serp-timeline p{color:#a9b3c3;font-size:14px;line-height:1.6}
.serp-compare{display:grid;grid-template-columns:1fr;gap:16px}.serp-compare>div{border:1px solid var(--line);border-radius:12px;padding:26px}
.serp-compare h3{font-size:20px;font-weight:600;margin-bottom:14px}.serp-compare ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--muted);font-size:15px}
.serp-compare li:before{content:'–';margin-right:10px;color:#9aa6b6}.serp-compare-us{background:var(--navy);color:#fff;border-color:var(--navy)!important}.serp-compare-us ul{color:#cfd8e4}.serp-compare-us li:before{content:'↗';color:var(--gold-light)}
.serp-faq-list details{border-bottom:1px solid var(--line);padding:16px 0}.serp-faq-list summary{cursor:pointer;font-weight:600;font-size:17px;color:var(--ink)}.serp-faq-list p{color:var(--muted);margin-top:10px!important;line-height:1.65}
.serp-cta{text-align:center;background:radial-gradient(ellipse at 50% 0%,#17325488,transparent 60%),var(--navy)}.serp-cta-inner{display:flex;flex-direction:column;align-items:center;gap:18px}.serp-cta h2{font-size:clamp(28px,3vw,44px);font-weight:500;max-width:760px}.serp-cta p{color:#b8c2d2;max-width:560px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-in{opacity:1;transform:none}
.serp-mods .reveal:nth-child(2n){transition-delay:.08s}.serp-timeline .reveal:nth-child(n){transition-delay:calc(var(--d,0)*1s)}
@media(min-width:700px){.serp-mods{grid-template-columns:repeat(2,1fr)}.serp-compare{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.serp-hero{padding:72px 0 100px}.serp-hero-grid{grid-template-columns:.9fr 1.1fr;gap:56px}.serp-two{grid-template-columns:.9fr 1.1fr;gap:72px}.serp-mods{grid-template-columns:repeat(4,1fr)}.serp-timeline{grid-template-columns:repeat(5,1fr)}.serp-timeline:before{content:'';position:absolute;left:0;right:0;top:-14px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent)}.serp-app{transform:perspective(1800px) rotateY(-4deg)}}
@media(max-width:480px){.serp-kpis strong{font-size:19px}.serp-flow li{font-size:7.5px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.serp-demo *{transition:none!important;animation:none!important}.serp-bars rect{transform:none}.serp-stroke{stroke-dashoffset:0}.serp-area{opacity:1}.serp-row{opacity:1;transform:none}}
/* Flusso reparto → SERP → direzione */
.serp-net{background:linear-gradient(180deg,#f4f7fc,#fff)}
.serp-net-map{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(50px,.6fr) minmax(0,1fr) minmax(50px,.6fr) minmax(0,.9fr);align-items:center;padding:20px 0 96px}
.serp-net-src{display:grid;gap:14px}
.serp-tab{display:flex;align-items:center;gap:12px;background:#152239;color:#fff;border-radius:14px;padding:12px 14px;border:6px solid #23324d;box-shadow:0 14px 30px #15223926;opacity:0;transform:translateX(-18px);transition:.6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*.1s)}
.serp-tab:nth-child(2){--i:1}.serp-tab:nth-child(3){--i:2}.serp-tab:nth-child(4){--i:3}
.serp-tab-ic,.serp-dir-ic{flex:0 0 34px;height:34px;border-radius:9px;background:#ffffff14;display:grid;place-items:center}
.serp-tab-ic svg,.serp-dir-ic svg{width:19px;height:19px;fill:none;stroke:var(--gold-light);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.serp-tab-t{display:flex;flex-direction:column;min-width:0;flex:1}.serp-tab-t b{font-size:14px;font-weight:600;line-height:1.25}.serp-tab-t small{font-family:var(--mono);font-size:10px;color:#8fa0b6;text-transform:uppercase;letter-spacing:.08em}
.serp-tab-dot{width:8px;height:8px;border-radius:50%;background:#3ccf8e;box-shadow:0 0 0 0 #3ccf8e88}
.serp-lane{position:relative;height:3px;background:repeating-linear-gradient(90deg,#9fb2cc 0 6px,transparent 6px 12px);margin:0 6px}
.serp-lane:after{content:"";position:absolute;right:-4px;top:-5px;border:6.5px solid transparent;border-left:8px solid #9fb2cc;border-right:0}
.serp-lane i{position:absolute;top:-4px;left:0;width:11px;height:11px;border-radius:3px;background:var(--gold);box-shadow:0 0 10px var(--gold);opacity:0}
.serp-lane-b i{background:#2f6fe4;box-shadow:0 0 10px #2f6fe4}
.serp-node{background:#fff;border:1px solid #d9e1ee;border-radius:20px;padding:22px 18px;text-align:center;box-shadow:0 24px 50px #1522391f;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transform:scale(.92);transition:.7s cubic-bezier(.2,.7,.2,1) .3s}
.serp-node small{font-family:var(--mono);font-size:10px;color:#6a7a90;text-transform:uppercase;letter-spacing:.08em}
.serp-node-erp{position:relative}.serp-node-erp img{width:100%;max-width:200px;height:auto}
.serp-node-erp:before{content:"";position:absolute;inset:-8px;border-radius:26px;border:2px solid #2f6fe455;opacity:0}
.serp-node-dir{background:#152239;color:#fff;border-color:#152239;transition-delay:.5s}.serp-node-dir b{font-size:18px;font-weight:600}.serp-node-dir small{color:#8fa0b6}.serp-dir-ic{flex-basis:auto;width:44px;height:44px}
.serp-back{position:absolute;left:8%;right:9%;bottom:18px;height:56px;border:3px dashed #c9a46a99;border-top:0;border-radius:0 0 20px 20px;opacity:0;transition:opacity .6s .8s}
.serp-back:before,.serp-back:after{content:"";position:absolute;top:-10px;width:3px;height:10px}
.serp-back:before{left:-3px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #c9a46a;width:0;height:0;top:-12px;margin-left:-6.5px}
.serp-back-line{position:absolute;inset:auto 0 -3px 0;height:3px}
.serp-back-line i{position:absolute;top:-4px;right:0;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.serp-back-t{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);background:#fff;padding:2px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a6a35;white-space:nowrap;border-radius:20px;border:1px solid #c9a46a66}
.serp-net-map.is-in .serp-tab{opacity:1;transform:none}.serp-net-map.is-in .serp-node{opacity:1;transform:none}.serp-net-map.is-in .serp-back{opacity:1}
.serp-net-map.is-in .serp-lane i{animation:serpPkt 2.4s linear infinite}
.serp-net-map.is-in .serp-lane i:nth-child(2){animation-delay:.6s}.serp-net-map.is-in .serp-lane i:nth-child(3){animation-delay:1.2s}.serp-net-map.is-in .serp-lane i:nth-child(4){animation-delay:1.8s}
.serp-net-map.is-in .serp-lane-b i{animation-duration:2s;animation-delay:calc(var(--k,0)*.66s + .4s)}.serp-lane-b i:nth-child(2){--k:1}.serp-lane-b i:nth-child(3){--k:2}
.serp-net-map.is-in .serp-back-line i{animation:serpBack 4.5s linear infinite}.serp-net-map.is-in .serp-back-line i:nth-child(2){animation-delay:1.5s}.serp-net-map.is-in .serp-back-line i:nth-child(3){animation-delay:3s}
.serp-net-map.is-in .serp-tab-dot{animation:serpPing 2.4s ease-out infinite}.serp-net-map.is-in .serp-node-erp:before{animation:serpPulse 2.4s ease-out infinite}
@keyframes serpPkt{0%{left:0;opacity:0}12%{opacity:1}85%{opacity:1}100%{left:calc(100% - 11px);opacity:0}}
@keyframes serpBack{0%{right:0;opacity:0}8%{opacity:1}90%{opacity:1}100%{right:calc(100% - 11px);opacity:0}}
@keyframes serpPing{0%{box-shadow:0 0 0 0 #3ccf8e88}70%,100%{box-shadow:0 0 0 8px #3ccf8e00}}
@keyframes serpPulse{0%{opacity:.9;transform:scale(.97)}100%{opacity:0;transform:scale(1.08)}}
@media(max-width:860px){
.serp-net-map{grid-template-columns:1fr;padding:0 0 0 34px;justify-items:stretch}
.serp-net-src{grid-template-columns:1fr 1fr;gap:10px}.serp-tab{padding:10px;border-width:4px;gap:8px}.serp-tab-t b{font-size:13px}.serp-tab-ic{flex-basis:28px;height:28px}
.serp-lane{width:3px;height:56px;margin:6px auto;background:repeating-linear-gradient(180deg,#9fb2cc 0 6px,transparent 6px 12px)}
.serp-lane:after{right:-5px;top:auto;bottom:-6px;border:6.5px solid transparent;border-top:8px solid #9fb2cc;border-bottom:0}
.serp-lane i{left:-4px;top:0}
.serp-net-core,.serp-net-dir{justify-self:center;width:min(280px,100%)}
.serp-back{left:8px;right:auto;top:40px;bottom:60px;width:22px;height:auto;border:3px dashed #c9a46a99;border-right:0;border-radius:18px 0 0 18px}
.serp-back:before{left:auto;right:-8px;top:-9px;margin:0;border:7px solid transparent;border-left:9px solid #c9a46a;border-right:0}
.serp-back-line{inset:0 auto 0 -3px;width:3px;height:auto}.serp-back-line i{left:-4px;right:auto;top:auto;bottom:0}
.serp-back-t{left:-14px;bottom:50%;transform:translate(-50%,50%) rotate(-90deg);font-size:10px}
.serp-net-map.is-in .serp-lane i{animation-name:serpPktV}.serp-net-map.is-in .serp-back-line i{animation-name:serpBackV}
@keyframes serpPktV{0%{top:0;opacity:0}12%,85%{opacity:1}100%{top:calc(100% - 11px);opacity:0}}
@keyframes serpBackV{0%{bottom:0;opacity:0}8%,90%{opacity:1}100%{bottom:calc(100% - 11px);opacity:0}}
}
@media(max-width:420px){.serp-net-src{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.serp-tab,.serp-node,.serp-back{opacity:1!important;transform:none!important;transition:none!important}.serp-net-map .serp-lane i,.serp-net-map .serp-back-line i,.serp-tab-dot,.serp-node-erp:before{animation:none!important}.serp-lane i:first-child{opacity:1;left:45%}.serp-back-line i:first-child{right:50%}}
