/* Visual animati del processo: SEO Strategy (templates/components/seo-svg.php) e Performance Marketing (perf-svg.php).
   Griglia di progetto 480×270: 1em = 10px a 480 di larghezza, poi scala col contenitore.
   Lo stato base è lo stato FINALE: con prefers-reduced-motion restano le schermate complete. */
.lv-set-solution .lv-l-pila__riga:has(.lv-vis) { --vis-col: 520px; }
@media (min-width: 1024px) {
	.lv-set-solution .lv-l-pila__riga:has(.lv-vis) { grid-template-columns: 2fr 1.5fr var(--vis-col); }
}
.lv-set-solution .lv-l-pila__quadro:has(.lv-vis) { background: #0a0a0a; border-color: rgba(255, 255, 255, .1); border-radius: 10px; }
.lv-set-solution .lv-l-pila__riga:hover .lv-l-pila__quadro .lv-vis :is(img, svg) { transform: none; }
.lv-set-solution .lv-l-pila__quadro .lv-vis :is(img, svg) { transition: none; }

.lv-vis { --e: var(--color-ember, #F92E07); --l: #BAFF2E; --t: 9s; position: absolute; inset: 0; container-type: inline-size; color: #fff; }
.lv-vis__in { position: absolute; inset: 0; overflow: hidden; font-size: calc(100cqw / 48); line-height: 1.25; }
.lv-vis *, .lv-vis *::before, .lv-vis *::after { box-sizing: border-box; }
.lv-vis p { margin: 0; padding: 0; }
.lv-vis b, .lv-vis em, .lv-vis i, .lv-vis s, .lv-vis u { font-style: normal; font-weight: 400; text-decoration: none; }
.lv-vis__m { font-family: "Space Mono", monospace; font-size: max(.8em, 10px); letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .7); white-space: nowrap; }
.lv-vis__m--e { color: var(--e); }
.lv-sk { display: block; height: .55em; border-radius: .3em; background: rgba(255, 255, 255, .1); margin-top: .5em; }
.lv-sk--d { background: rgba(255, 255, 255, .22); height: .5em; margin: 0 0 .5em; }
.lv-sk--w { height: .8em; background: rgba(255, 255, 255, .28); }
.lv-sk--g { background: rgba(255, 255, 255, .42); height: 1em; }
.lv-vc { display: inline-flex; align-items: center; gap: .6em; padding: .35em .9em; border: 1px solid rgba(255, 255, 255, .14); border-radius: 99em; font-size: .85em; color: rgba(255, 255, 255, .8); white-space: nowrap; }
.lv-vc--l { border-color: rgba(186, 255, 46, .4); color: var(--l); }
.lv-dot { width: .6em; height: .6em; border-radius: 50%; background: currentColor; animation: lv-pulse 2s ease-in-out infinite; }

/* ── animazioni condivise (ciclo --t, sfalsate da --d in secondi) ── */
.lv-in { animation: lv-in var(--t) cubic-bezier(.22, .61, .36, 1) calc(var(--d, 0) * 1s) infinite both; }
.lv-draw { stroke-dasharray: 1; stroke: rgba(255, 255, 255, .22); stroke-width: 1.2; animation: lv-draw var(--t) ease calc(var(--d, 0) * 1s) infinite both; }
.lv-hi { animation: lv-hi var(--t) ease calc(var(--d, 0) * 1s) infinite both; }
.lv-pkt { fill: #fff; }
@keyframes lv-in { 0% { opacity: 0; transform: translateY(.9em); } 7%, 86% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-.4em); } }
@keyframes lv-draw { 0% { stroke-dashoffset: 1; opacity: 1; } 28%, 86% { stroke-dashoffset: 0; opacity: 1; } 94%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes lv-hi { 0%, 4% { background: transparent; } 8%, 16% { background: rgba(249, 46, 7, .16); } 22%, 100% { background: transparent; } }
@keyframes lv-pulse { 50% { opacity: .35; } }
@keyframes lv-spin { to { transform: rotate(360deg); } }

/* ── 01 · SERP (Analisi & Input) ── */
.lv-vis--serp .lv-vis__in { padding: 1.3em 1.8em; display: flex; flex-direction: column; gap: .55em; }
.lv-vis__top { display: flex; align-items: center; gap: 1.4em; }
.lv-set-solution .lv-l-pila__quadro .lv-vis img { padding: 0; background: none; }
.lv-set-solution .lv-vis .lv-g { display: block; width: auto; height: 2.3em; flex: none; object-fit: contain; }
.lv-vis__pill { flex: 1; display: flex; align-items: center; height: 2.8em; padding: 0 1.4em; border: 1px solid rgba(255, 255, 255, .16); border-radius: 99em; background: rgba(255, 255, 255, .04); font-size: 1.15em; color: rgba(255, 255, 255, .9); }
.lv-type { display: inline-block; overflow: hidden; white-space: nowrap; width: var(--w); animation: lv-type var(--t) steps(20, end) infinite both; }
.lv-caret { width: 1px; height: 1.3em; margin-left: 1px; background: #fff; animation: lv-pulse .9s steps(1) infinite; }
@keyframes lv-type { 0% { width: 0; } 17%, 100% { width: var(--w); } }
.lv-ai { padding: .7em 1.1em; border: 1px solid rgba(138, 180, 248, .35); border-radius: .9em; background: linear-gradient(135deg, rgba(66, 133, 244, .12), rgba(234, 67, 53, .05)); }
.lv-ai__t { color: #8ab4f8; }
.lv-ai__f { display: flex; align-items: center; gap: .5em; margin-top: .7em; }
.lv-fav { width: 1.7em; height: 1.7em; flex: none; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.lv-fav--vuoto { display: grid; place-items: center; background: none; border: 1px dashed var(--e); color: var(--e); font-size: .85em; }
.lv-fav--e { background: var(--e); }
.lv-ai__f .lv-vis__m { margin-left: .4em; }
.lv-res { position: relative; display: flex; gap: 1em; align-items: flex-start; padding: .2em .6em .2em .5em; border-left: 2px solid transparent; }
.lv-res > span { flex: 1; }
.lv-res__t { display: block; height: .95em; border-radius: .3em; background: #8ab4f8; opacity: .8; margin-bottom: .45em; }
.lv-res--tu { border-left-color: var(--e); background: linear-gradient(90deg, rgba(249, 46, 7, .12), transparent); }
.lv-res--tu em { position: absolute; right: .6em; top: .3em; display: inline-flex; align-items: center; gap: .5em; padding: .3em .7em; border-radius: 99em; background: #fff; color: #000; animation: lv-in var(--t) ease 3.3s infinite both; }
.lv-res--tu em::before { content: ""; width: .5em; height: .5em; border-radius: 50%; background: #34A853; animation: lv-pulse 1.4s ease-in-out infinite; }
.lv-scan { position: absolute; left: 0; right: 0; height: 5em; top: -5em; background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .07) 70%, rgba(255, 255, 255, .22) 99%, transparent); animation: lv-scan var(--t) ease-in-out 2s infinite both; pointer-events: none; }
@keyframes lv-scan { 0% { top: -5em; opacity: 0; } 8% { opacity: 1; } 44%, 100% { top: 27em; opacity: 0; } }

/* ── 02 · Report audit (stile LEVos, lime) + 07 · Report mensile ── */
.lv-rep { position: absolute; inset: 1.4em 1.6em; padding: 1em 1.3em; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1em; background: #101010; display: flex; flex-direction: column; gap: .6em; }
.lv-rep__h { display: flex; justify-content: space-between; align-items: center; }
.lv-bar { height: .35em; border-radius: 1em; background: rgba(255, 255, 255, .08); overflow: hidden; }
.lv-bar span { display: block; height: 100%; background: var(--l); transform-origin: left; animation: lv-fill var(--t) ease .6s infinite both; }
@keyframes lv-fill { 0% { transform: scaleX(0); } 45%, 88% { transform: scaleX(1); } 96%, 100% { transform: scaleX(1); opacity: 0; } }
.lv-chk { display: flex; align-items: center; gap: 1em; padding: .4em .8em; border: 1px solid rgba(255, 255, 255, .07); border-radius: .6em; background: rgba(255, 255, 255, .025); font-size: 1em; }
.lv-chk__n { flex: 1; color: rgba(255, 255, 255, .88); }
.lv-cwv { display: flex; align-items: flex-end; gap: .25em; height: 1.2em; }
.lv-cwv i { width: .45em; height: calc(var(--h) * 100%); border-radius: .15em; background: var(--l); transform-origin: bottom; animation: lv-grow var(--t) ease 3s infinite both; }
.lv-st { position: relative; width: 1.7em; height: 1.7em; flex: none; }
.lv-st b { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 50%; font-size: .9em; }
.lv-st__w { border: 2px solid rgba(255, 255, 255, .14); border-top-color: #fff; animation: lv-spin .8s linear infinite, lv-pend var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-st__ok { background: var(--l); color: #000; font-weight: 700; animation: lv-ok var(--t) cubic-bezier(.3, 1.5, .5, 1) calc(var(--d) * 1s) infinite both; }
.lv-st--e .lv-st__ok { background: transparent; border: 1px solid var(--e); color: var(--e); }
@keyframes lv-pend { 0%, 6% { opacity: 1; } 8%, 90% { opacity: 0; } 96%, 100% { opacity: 1; } }
@keyframes lv-ok { 0%, 6% { opacity: 0; transform: scale(.4); } 10%, 88% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; } }
@keyframes lv-grow { 0% { transform: scaleY(0); opacity: 1; } 16%, 86% { transform: scaleY(1); opacity: 1; } 94%, 100% { transform: scaleY(1); opacity: 0; } }
.lv-grow { transform-origin: bottom; animation: lv-grow var(--t) cubic-bezier(.3, 1.2, .5, 1) calc(var(--d, 0) * 1s) infinite both; }

/* ── 03 · Pagina ↔ schema ── */
.lv-sch { position: absolute; inset: 1.6em 1.6em; display: grid; grid-template-columns: 1fr 4.4em 1fr; align-items: center; }
.lv-pg, .lv-code { height: 100%; overflow: hidden; padding: .8em 1em; border: 1px solid rgba(255, 255, 255, .1); border-radius: .9em; background: #101010; display: flex; flex-direction: column; gap: .5em; }
.lv-pg__u, .lv-code__u { padding-bottom: .5em; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.lv-pg__b { position: relative; padding: .3em .6em; border-radius: .5em; }
.lv-pg__b em { display: block; margin-bottom: .1em; color: var(--e); font-family: "Space Mono", monospace; font-size: .75em; letter-spacing: .08em; text-transform: uppercase; }
.lv-pg__b .lv-sk { margin-top: .35em; }
.lv-sch__fl { position: relative; height: 1px; margin: 0 -.1em; background: repeating-linear-gradient(90deg, var(--e) 0 .45em, transparent .45em .9em); background-size: .9em 1px; animation: lv-flow .7s linear infinite, lv-in var(--t) ease .8s infinite both; }
.lv-sch__fl::before, .lv-sch__fl::after { content: ""; position: absolute; top: -.25em; width: .55em; height: .55em; border-radius: 50%; background: var(--e); }
.lv-sch__fl::before { left: -.3em; } .lv-sch__fl::after { right: -.3em; }
@keyframes lv-flow { to { background-position: .9em 0; } }
.lv-code { font: .95em/1.6 "Space Mono", monospace; color: rgba(255, 255, 255, .6); gap: 0; }
.lv-code p { padding: 0 .4em; border-radius: .35em; white-space: nowrap; }
.lv-code p:nth-of-type(n+2):nth-of-type(-n+6) { margin-left: 1em; }
.lv-code s { color: rgba(255, 255, 255, .85); }
.lv-code u { color: #ff8a6b; }
.lv-code__u { margin-bottom: .4em; font-size: .8em; }

/* ── 04 · Cluster di contenuti (copertine del blog) ── */
.lv-set-solution .lv-vis .lv-cl__l { position: absolute; inset: 0; width: 100%; height: 100%; }
.lv-cl__p, .lv-cl__s { position: absolute; border: 1px solid rgba(255, 255, 255, .12); border-radius: .9em; background: #111; overflow: hidden; }
.lv-cl__p { left: 1.6em; top: 6em; width: 17.2em; height: 15em; padding: 0 0 .9em; display: flex; flex-direction: column; }
.lv-set-solution .lv-vis .lv-cl__p img { width: 100%; height: 9em; object-fit: cover; display: block; }
.lv-cl__p .lv-vis__m { margin: .8em 1em 0; }
.lv-cl__p b { margin: .2em 1em 0; font-size: 1.15em; line-height: 1.2; letter-spacing: -.02em; }
.lv-cl__p .lv-sk { margin-left: 1em; }
.lv-cl__s { left: 29.2em; width: 17.2em; height: 5.4em; display: flex; align-items: center; gap: .9em; padding: .5em; }
.lv-set-solution .lv-vis .lv-cl__s img { width: 7.2em; height: 4.4em; flex: none; border-radius: .5em; object-fit: cover; }
.lv-cl__s b { display: block; margin-top: .2em; font-size: 1em; line-height: 1.2; letter-spacing: -.01em; }
.lv-cl__p::after { content: ""; position: absolute; right: -.35em; top: 50%; width: .7em; height: .7em; border-radius: 50%; background: var(--e); transform: translateY(-50%); }

/* ── 05 · Ciclo di ottimizzazione continua ── */
.lv-cy { position: absolute; left: 1.6em; right: 1.6em; top: 1.5em; display: flex; align-items: center; gap: .9em; }
.lv-cy i { color: rgba(255, 255, 255, .3); font-size: 1.3em; }
.lv-cy__c { padding: .4em 1.1em; border: 1px solid rgba(255, 255, 255, .14); border-radius: 99em; font-size: .95em; color: rgba(255, 255, 255, .6); animation: lv-cyc 9s ease calc(var(--d) * 1s) infinite both; }
@keyframes lv-cyc { 0%, 30% { border-color: var(--e); color: #fff; background: rgba(249, 46, 7, .14); } 34%, 100% { border-color: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .6); background: transparent; } }
.lv-rf { position: absolute; left: 1.6em; right: 1.6em; top: 5.4em; bottom: 1.6em; display: grid; grid-template-columns: 1.25fr 1fr; gap: 1.2em; }
.lv-tk { display: flex; flex-direction: column; gap: .7em; justify-content: center; }
.lv-tk__r { display: flex; align-items: center; gap: .8em; padding: .7em .8em; border: 1px solid rgba(255, 255, 255, .09); border-radius: .7em; background: #101010; }
.lv-tk__cb { width: 1.5em; height: 1.5em; flex: none; display: grid; place-items: center; border: 1.5px solid rgba(255, 255, 255, .25); border-radius: .4em; position: relative; }
.lv-tk__cb b { font-size: .85em; font-weight: 700; color: #000; position: absolute; inset: -1.5px; display: grid; place-items: center; background: #fff; border-radius: .4em; animation: lv-ok var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-tk__n { flex: 1; font-size: .95em; line-height: 1.2; color: rgba(255, 255, 255, .85); }
.lv-tk__p { position: relative; width: 5.2em; height: 1.6em; flex: none; font-family: "Space Mono", monospace; font-size: .7em; letter-spacing: .04em; text-transform: uppercase; }
.lv-tk__p b { position: absolute; inset: 0; display: grid; place-items: center; border-radius: .5em; }
.lv-tk__w { background: rgba(249, 46, 7, .16); color: var(--e); animation: lv-pend var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-tk__d { background: rgba(255, 255, 255, .12); color: #fff; animation: lv-ok var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-set-solution .lv-vis .lv-ch { width: 100%; height: 100%; align-self: center; border: 1px solid rgba(255, 255, 255, .09); border-radius: .7em; background: #101010; padding: .8em; overflow: visible; }
.lv-ch__g { stroke: rgba(255, 255, 255, .07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.lv-ch__a { fill: rgba(249, 46, 7, .08); animation: lv-in var(--t) ease .6s infinite both; transform: none; }
.lv-ch__l { stroke: var(--e); stroke-width: 2; --d: .4; }
.lv-ch__d { fill: var(--e); animation: lv-in var(--t) ease 2.6s infinite both, lv-pulse 1.6s ease-in-out infinite; transform: none; }

/* ── 06 · Rete di relazioni (Link building & Digital PR) ── */
.lv-set-solution .lv-vis .lv-net { position: absolute; inset: 0; width: 100%; height: 100%; }
.lv-net__ln { stroke: rgba(255, 255, 255, .2); stroke-dasharray: 1; }
.lv-net__c { fill: #111; stroke: rgba(255, 255, 255, .13); }
.lv-net__f { fill: rgba(255, 255, 255, .22); }
.lv-net__s { fill: rgba(255, 255, 255, .12); }
.lv-net__e { fill: var(--e); }
.lv-net__t { fill: rgba(255, 255, 255, .55); font: 400 8px "Space Mono", monospace; letter-spacing: .08em; }
.lv-net__t--h { fill: #fff; font-size: 7.5px; }
.lv-net__u { fill: rgba(255, 255, 255, .7); font: 400 5.5px "Space Mono", monospace; }
.lv-net__wb { fill: #161616; stroke: rgba(255, 255, 255, .28); }
.lv-net__wl { stroke: rgba(255, 255, 255, .14); }
.lv-net__img { fill: rgba(255, 255, 255, .07); }
.lv-net__r { fill: none; stroke: var(--e); stroke-width: 1; transform-origin: 240px 135px; animation: lv-rip 3s ease-out infinite; }
.lv-net__r--2 { animation-delay: 1.5s; }
@keyframes lv-rip { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.45); opacity: 0; } }
.lv-net .lv-in { transform-box: fill-box; }
.lv-net .lv-pkt { fill: var(--e); }

/* ── 07 · Report mensile ── */
.lv-rep--r { gap: .9em; }
.lv-kp { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8em; }
.lv-kp__c { position: relative; padding: .7em .8em; border: 1px solid rgba(255, 255, 255, .08); border-radius: .7em; background: rgba(255, 255, 255, .03); }
.lv-kp__c .lv-vis__m { font-size: max(.68em, 9.5px); letter-spacing: .04em; }
.lv-set-solution .lv-vis .lv-kp__c svg { display: block; width: 100%; height: 3em; margin-top: .5em; overflow: visible; }
.lv-kp__c .lv-draw { stroke: var(--l); stroke-width: 2; }
.lv-kp__a { position: absolute; right: .7em; top: .55em; color: var(--l); font-size: 1.1em; }
.lv-lw { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1.25fr; gap: 1em; }
.lv-bars { display: flex; align-items: flex-end; gap: .55em; padding: .2em .3em 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.lv-bars i { flex: 1; height: calc(var(--h) * 100%); border-radius: .25em .25em 0 0; background: rgba(255, 255, 255, .2); }
.lv-bars .lv-grow--l { background: var(--l); }
.lv-nx { display: flex; flex-direction: column; gap: .5em; }
.lv-nx p { display: flex; gap: .8em; align-items: center; font-size: .95em; color: rgba(255, 255, 255, .85); }
.lv-nx em { color: var(--e); }

/* ════ Performance Marketing ════ */
@keyframes lv-pop { 0% { opacity: 0; transform: translate(-50%, -50%) scale(0); } 6%, 86% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 94%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(1); } }
.lv-pop { animation: lv-pop var(--t) cubic-bezier(.3, 1.6, .5, 1) calc(var(--d, 0) * 1s) infinite both; }

/* ── P1 · Discovery call + brief ── */
.lv-call, .lv-brief { position: absolute; top: 1.6em; bottom: 1.6em; padding: 1em 1.1em; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1em; background: #101010; display: flex; flex-direction: column; gap: .7em; }
.lv-call { left: 1.6em; width: 19.6em; }
.lv-brief { right: 1.6em; width: 20.4em; gap: .55em; }
.lv-call__fl { position: absolute; left: 21.2em; width: 5.2em; top: 13.5em; }
.lv-live { display: inline-flex; align-items: center; gap: .45em; font: .75em "Space Mono", monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--e); }
.lv-live i { width: .7em; height: .7em; border-radius: 50%; background: var(--e); animation: lv-pulse 1.2s ease-in-out infinite; }
.lv-call__t { flex: 1; display: flex; align-items: center; gap: 1em; padding: 0 1em; border: 1px solid rgba(255, 255, 255, .08); border-radius: .7em; background: #161616; animation: lv-talk 4s steps(1) infinite; }
.lv-call__t--lv { animation-delay: -2s; }
@keyframes lv-talk { 0% { border-color: rgba(255, 255, 255, .5); } 50% { border-color: rgba(255, 255, 255, .08); } }
.lv-call__a { width: 2.8em; height: 2.8em; flex: none; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .14); font-size: .95em; }
.lv-call__t--lv .lv-call__a { background: #fff; color: #000; }
.lv-wave { flex: 1; display: flex; align-items: center; gap: .3em; height: 2.4em; }
.lv-wave i { flex: 1; height: 100%; border-radius: 1em; background: rgba(255, 255, 255, .55); transform: scaleY(.12); animation: lv-wave 4s ease-in-out infinite; }
.lv-call__t--lv .lv-wave i { animation-delay: -2s; }
.lv-wave i:nth-child(3n+2) { animation-name: lv-wave2; } .lv-wave i:nth-child(3n) { animation-name: lv-wave3; }
@keyframes lv-wave { 0%, 50%, 100% { transform: scaleY(.12); } 8% { transform: scaleY(.7); } 16% { transform: scaleY(.3); } 26% { transform: scaleY(.9); } 36% { transform: scaleY(.4); } 44% { transform: scaleY(.6); } }
@keyframes lv-wave2 { 0%, 50%, 100% { transform: scaleY(.12); } 10% { transform: scaleY(.4); } 20% { transform: scaleY(1); } 30% { transform: scaleY(.5); } 40% { transform: scaleY(.8); } }
@keyframes lv-wave3 { 0%, 50%, 100% { transform: scaleY(.12); } 6% { transform: scaleY(.9); } 18% { transform: scaleY(.5); } 32% { transform: scaleY(.7); } 46% { transform: scaleY(.3); } }
.lv-brief__r { display: grid; grid-template-columns: 1fr 1.6em; grid-template-rows: auto auto; gap: .3em .6em; align-items: center; padding: .4em .6em; border: 1px solid rgba(255, 255, 255, .07); border-radius: .6em; }
.lv-brief__r .lv-vis__m { font-size: max(.72em, 10px); }
.lv-brief__l { grid-row: 2; grid-column: 1; display: block; width: 100%; height: .55em; border-radius: .3em; background: rgba(255, 255, 255, .45); transform-origin: left; animation: lv-fill var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-brief__c { grid-row: 1 / 3; grid-column: 2; width: 1.6em; height: 1.6em; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #000; font-size: .85em; animation: lv-ok var(--t) cubic-bezier(.3, 1.5, .5, 1) calc(var(--d) * 1s) infinite both; }
.lv-set-solution .lv-vis .lv-brief__ok { align-self: flex-start; border-color: transparent; background: #fff; color: #000; }

/* ── P2 · Mappa di posizionamento ── */
.lv-mk { position: absolute; inset: 1.6em; padding: 1em 1.2em; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1em; background: #101010; }
.lv-mk__p { position: absolute; left: 3.4em; right: 1.6em; top: 4.2em; bottom: 3em; }
.lv-mk__x, .lv-mk__y { position: absolute; background: rgba(255, 255, 255, .12); }
.lv-mk__x { left: 0; right: 0; top: 50%; height: 1px; } .lv-mk__y { top: 0; bottom: 0; left: 50%; width: 1px; }
.lv-mk__p::before { content: ""; position: absolute; inset: 0; border-left: 1px solid rgba(255, 255, 255, .25); border-bottom: 1px solid rgba(255, 255, 255, .25); }
.lv-mk__c { position: absolute; width: calc(var(--r) * 1.2); height: calc(var(--r) * 1.2); border-radius: 50%; background: rgba(255, 255, 255, .3); }
.lv-mk__z { position: absolute; left: 70%; top: 4%; width: 27%; height: 36%; display: flex; align-items: flex-end; justify-content: center; padding-bottom: .5em; border: 1px dashed var(--e); border-radius: .7em; background: rgba(249, 46, 7, .08); }
.lv-mk__z em { color: var(--e); font-size: .7em; }
.lv-mk__tu { position: absolute; width: 1.3em; height: 1.3em; margin: -.65em 0 0 -.65em; border-radius: 50%; background: var(--e); box-shadow: 0 0 0 .4em rgba(249, 46, 7, .2); left: 83%; top: 18%; animation: lv-tu var(--t) cubic-bezier(.65, 0, .35, 1) infinite both; }
@keyframes lv-tu { 0%, 36% { left: 46%; top: 70%; opacity: 0; } 40% { left: 46%; top: 70%; opacity: 1; } 56%, 88% { left: 83%; top: 18%; opacity: 1; } 96%, 100% { left: 83%; top: 18%; opacity: 0; } }
.lv-mk__s { position: absolute; top: 0; bottom: 0; width: 18%; left: -18%; background: linear-gradient(90deg, transparent, rgba(186, 255, 46, .12) 85%, rgba(186, 255, 46, .5)); animation: lv-sweep var(--t) ease-in-out .4s infinite both; pointer-events: none; }
@keyframes lv-sweep { 0% { left: -18%; opacity: 0; } 4% { opacity: 1; } 34% { left: 100%; opacity: 1; } 36%, 100% { left: 100%; opacity: 0; } }
.lv-mk__ax { position: absolute; font-size: .7em; }
.lv-mk__ax--x { right: 2.4em; bottom: 1.3em; }
.lv-mk__ax--y { left: 1.1em; top: 50%; transform: translate(-30%, 0) rotate(-90deg); transform-origin: center; }

/* ── P3 · Creatività → funnel → lead qualificate ── */
.lv-fn__can { position: absolute; left: 1.6em; top: 1.5em; display: flex; gap: .5em; }
.lv-fn__ch { display: flex; align-items: center; gap: .45em; padding: .3em .7em; border: 1px solid rgba(255, 255, 255, .14); border-radius: 99em; background: #111; font-size: .85em; color: rgba(255, 255, 255, .88); white-space: nowrap; }
.lv-fn__ch i { width: .7em; height: .7em; border-radius: 50%; flex: none; }
.lv-deck { position: absolute; left: 1.6em; top: 6.6em; width: 9.6em; height: 12em; }
.lv-ad { position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .18); border-radius: .7em; background: #111; transform-origin: 50% 100%; animation: lv-deck 8s cubic-bezier(.65, 0, .35, 1) infinite both; }
.lv-set-solution .lv-l-pila__quadro .lv-vis .lv-ad img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lv-ad__h { position: absolute; left: 0; right: 0; top: 0; display: flex; align-items: center; gap: .4em; padding: .45em .5em; background: linear-gradient(rgba(0, 0, 0, .7), transparent); font: .55em "Space Mono", monospace; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.lv-ad__h b { width: 1.6em; height: 1.6em; border-radius: 50%; background: #fff; }
.lv-ad__c { position: absolute; left: .5em; right: .5em; bottom: .5em; padding: .35em 0; border-radius: .35em; background: #fff; color: #000; font-size: .62em; text-align: center; }
@keyframes lv-deck {
	0%, 20% { transform: none; opacity: 1; z-index: 4; }
	25% { transform: translate(10em, 1em) scale(.3) rotate(-8deg); opacity: 0; z-index: 4; }
	26%, 45% { transform: translate(1.5em, -1.2em) scale(.84) rotate(9deg); opacity: .45; z-index: 1; }
	50%, 70% { transform: translate(1em, -.8em) scale(.89) rotate(6deg); opacity: .7; z-index: 2; }
	75%, 95% { transform: translate(.5em, -.4em) scale(.94) rotate(3deg); opacity: .9; z-index: 3; }
	100% { transform: none; opacity: 1; z-index: 4; }
}
.lv-set-solution .lv-vis .lv-fn { position: absolute; inset: 0; width: 100%; height: 100%; }
.lv-fn__b { stroke: rgba(255, 255, 255, .14); animation: lv-band 1.3s ease-in-out infinite; }
.lv-fn__b1 { fill: rgba(255, 255, 255, .04); }
.lv-fn__b2 { fill: rgba(255, 255, 255, .07); animation-delay: .35s; }
.lv-fn__b3 { fill: rgba(249, 46, 7, .14); stroke: rgba(249, 46, 7, .5); animation-delay: .7s; }
@keyframes lv-band { 50% { fill-opacity: .55; } }
.lv-fn__q { fill: var(--e); }
.lv-fn__no { fill: rgba(255, 255, 255, .4); }
.lv-fn__toast { position: absolute; left: 45.1em; top: 15em; /* em sul proprio corpo .7em: ≈ 316×105 px sulla griglia 480 */ padding: .2em .6em; border-radius: 99em; background: #fff; color: #000; font: .7em "Space Mono", monospace; letter-spacing: .04em; white-space: nowrap; animation: lv-toast 1.3s ease-out infinite; }
@keyframes lv-toast { 0% { opacity: 0; transform: translateY(.6em) scale(.8); } 20% { opacity: 1; transform: none; } 70% { opacity: 1; transform: translateY(-.8em); } 100% { opacity: 0; transform: translateY(-1.4em); } }
.lv-crm { position: absolute; left: 34.2em; right: 1.6em; top: 2.4em; bottom: 2.4em; padding: .8em .8em; border: 1px solid rgba(255, 255, 255, .1); border-radius: .9em; background: #101010; display: flex; flex-direction: column; gap: .5em; }
.lv-crm__v { flex: 1; min-height: 0; overflow: hidden; -webkit-mask-image: linear-gradient(transparent, #000 18%, #000 82%, transparent); mask-image: linear-gradient(transparent, #000 18%, #000 82%, transparent); }
.lv-crm__k { display: flex; flex-direction: column; gap: .5em; animation: lv-feed 5.2s linear infinite; }
@keyframes lv-feed { to { transform: translateY(calc(-50% - .25em)); } }
.lv-crm__r { display: flex; align-items: center; gap: .6em; padding: .45em .5em; border: 1px solid rgba(255, 255, 255, .07); border-radius: .6em; background: rgba(255, 255, 255, .025); }
.lv-crm__r .lv-fav { width: 1.6em; height: 1.6em; }
.lv-crm__r > span { flex: 1; min-width: 0; }
.lv-crm__s { display: block; height: .4em; border-radius: 1em; background: rgba(255, 255, 255, .08); overflow: hidden; }
.lv-crm__s i { display: block; height: 100%; width: calc(var(--h) * 100%); background: var(--e); }
.lv-set-solution .lv-vis .lv-crm__ok { flex: none; width: 1.3em; height: 1.3em; display: grid; place-items: center; border-radius: 50%; background: #fff; color: #000; font-size: .75em; }

@media (prefers-reduced-motion: reduce) {
	.lv-vis .lv-jr__p { display: none; }
	.lv-vis *, .lv-vis *::before, .lv-vis *::after { animation: none !important; }
	.lv-vis .lv-scan, .lv-vis .lv-net__r--2 { display: none; }
	.lv-vis .lv-draw { stroke-dashoffset: 0; }
	.lv-vis .lv-st__w, .lv-vis .lv-tk__w { opacity: 0; }
	.lv-vis .lv-wave i { transform: scaleY(.5); }
	.lv-vis .lv-fn circle, .lv-vis .lv-fn__toast { display: none; }
}

/* ── Perché scegliere Leviathan · card 1 (components/perche-svg.php, srv-perche.php) ──
   Finestra che affiora dall'angolo in basso a destra, come lo screenshot che sostituisce. 1em ≈ 1/32 della finestra. */
.lv-set-solution .lv-l-perche__card--1 .lv-l-perche__fondo--vis { width: 44%; height: 84%; }
@media (min-width: 1000px) {
	.lv-set-solution .lv-l-perche__card--1:has(.lv-l-perche__fondo--vis) .lv-l-perche__testo { max-width: 54%; }
}
@media (max-width: 999px) {
	.lv-set-solution .lv-l-perche__card--1 .lv-l-perche__fondo--vis { width: auto; height: 280px; }
}
.lv-l-perche__fondo--vis .lv-vis__in { font-size: max(calc(100cqw / 32), 7.5px); }
.lv-vis--perche .lv-rep { inset: 0; padding: 1.1em 1.3em; gap: .55em; overflow: hidden; border-right: 0; border-bottom: 0; border-radius: 1em 0 0 0; }
.lv-vis--perche .lv-tk__r { padding: .55em .7em; }
.lv-vis--perche .lv-tk__p { width: 7em; }
.lv-pq__f { display: flex; flex-wrap: wrap; align-items: center; gap: .6em; margin-top: auto; }
.lv-vis .lv-pq__why { text-transform: none; letter-spacing: 0; color: rgba(255, 255, 255, .4); }
.lv-vis .lv-pq__sub { display: block; margin-top: .3em; font-size: max(.66em, 9px); color: rgba(255, 255, 255, .45); }
.lv-pq__chi { display: flex; margin-right: .6em; }
.lv-vis .lv-pq__chi i { display: grid; place-items: center; width: 3.3em; height: 3.3em; margin-right: -.6em; border: 1px solid #101010; border-radius: 50%; background: #2a2a2a; font: .62em/1 "Space Mono", monospace; color: #fff; }
.lv-vis .lv-pq__chi .lv-pq__lv { background: #fff; color: #000; }
.lv-pq__hold { border-color: rgba(249, 46, 7, .35); }
.lv-pq__att { background: rgba(249, 46, 7, .16); color: var(--e); }
/* DX: wireframe con i perché */
.lv-pq__bar { display: flex; align-items: center; gap: .4em; padding-bottom: .6em; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.lv-pq__bar i { width: .6em; height: .6em; border-radius: 50%; background: rgba(255, 255, 255, .2); }
.lv-pq__bar .lv-sk { flex: 1; max-width: 14em; height: .9em; margin: 0 0 0 .8em; }
.lv-pq__wf { position: relative; flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1.4em 1.2fr 1fr; gap: .5em; }
.lv-pq__b { border: 1px solid rgba(255, 255, 255, .1); border-radius: .5em; background: rgba(255, 255, 255, .03); }
.lv-pq__b--nav { grid-column: 1 / -1; }
.lv-pq__b--hero { grid-column: 1 / -1; display: flex; flex-direction: column; justify-content: center; padding: .6em 1em; }
.lv-vis .lv-pq__b--hero .lv-sk { margin: .45em 0 0; }
.lv-pq__cta { display: block; width: 5em; height: 1.2em; margin-top: .6em; border-radius: 99em; background: #fff; }
.lv-pq__pin { position: absolute; display: flex; align-items: center; gap: .4em; }
.lv-vis .lv-pq__pin b { display: grid; place-items: center; width: 2em; height: 2em; border: 1px solid var(--e); border-radius: 50%; background: #101010; font: .75em/1 "Space Mono", monospace; color: var(--e); }
.lv-vis .lv-pq__pin .lv-vis__m { padding: .25em .5em; border: 1px solid rgba(255, 255, 255, .12); border-radius: .4em; background: #101010; font-size: max(.62em, 9px); }
.lv-pq__pin--3 { top: 0; right: .4em; }
.lv-pq__pin--1 { top: 34%; right: .6em; }
.lv-pq__pin--2 { bottom: .5em; left: .6em; }
.lv-vis--perche-dx .lv-pq__f .lv-brief__c { width: 1.5em; height: 1.5em; font-size: .75em; }
/* BI: tavola del brand system */
.lv-pq__bs { flex: 1; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: .6em; }
.lv-pq__t { display: flex; flex-direction: column; justify-content: space-between; min-height: 0; overflow: hidden; padding: .6em .8em; border: 1px solid rgba(255, 255, 255, .09); border-radius: .6em; background: rgba(255, 255, 255, .025); }
.lv-pq__mk { align-self: center; width: 5.4em; height: 5.4em; }
.lv-vis .lv-pq__mk .lv-draw { stroke: rgba(255, 255, 255, .7); stroke-width: 2; }
.lv-pq__sw { display: flex; gap: .35em; }
.lv-pq__sw i { flex: 1; height: 2.2em; border: 1px solid rgba(255, 255, 255, .14); border-radius: .35em; background: var(--c); transform-origin: bottom; animation: lv-grow var(--t) ease calc(var(--d) * 1s) infinite both; }
.lv-pq__aa { font-family: var(--font-titoli, inherit); font-size: 2.6em; line-height: 1; letter-spacing: -.05em; }
.lv-pq__gr { display: grid; grid-template-columns: repeat(6, 1fr); gap: .25em; height: 2.2em; }
.lv-pq__gr i { border: 1px solid rgba(255, 255, 255, .18); border-radius: .2em; transform-origin: bottom; animation: lv-grow var(--t) ease 2.4s infinite both; }
