/* =====================================================================
   PAGINE DEI SERVIZI "IN MOVIMENTO" (13/10) — caricato per ultimo.
   Stesso linguaggio della home: blu notte, Barlow corsivo dritto per i titoli,
   etichette blu spaziate, pillole blu. Solo transform/opacity (fluido anche su iPhone).
   ===================================================================== */
.mo-wrap{width:min(1400px,100% - 10vw);margin-inline:auto} /* allineato al testo dell'apertura (5vw) */
/* comparsa */
.mo-r{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ex),transform 1.1s var(--ex)}
.mo-r.in{opacity:1;transform:none}
/* titoli: le righe salgono dalla loro linea (come "Бързата работа") */
.mo-h,.mo-end-t{font-family:var(--d);font-weight:800;font-style:italic;text-transform:uppercase;line-height:.9;letter-spacing:.002em;color:#F3F4F6;margin:16px 0 5vh}
.mo-h{font-size:clamp(46px,6vw,112px)}
.mo-h .a,.mo-end-t .a{color:var(--hl)}
.mo-l{display:block;overflow:hidden;padding:.06em .14em .02em 0;margin-top:-.06em}
.mo-l > span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ex)}
.mo-r.mo-h,.mo-r.mo-end-t{opacity:1;transform:none}
.mo-r.in .mo-l > span{transform:none}
.mo-r.in .mo-l + .mo-l > span{transition-delay:.12s}


/* ---------- pagina corta: "In breve" + "Come si parte" ---------- */
.pk{position:relative;padding:clamp(56px,9vh,100px) 0;background:var(--bg)}
.pk-go{background:linear-gradient(var(--bg),#101A30);padding-bottom:clamp(48px,8vh,90px)}
.pk-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:end;gap:2vw 5vw;margin-bottom:clamp(28px,5vh,52px)}
.pk-head .mo-h{margin-bottom:0}
.pk-intro{max-width:470px;margin:0 0 .4em}
.pk .mo-h{font-size:clamp(42px,5vw,92px)}
.pk-pts{display:grid;gap:14px}
.pk-nota{margin-top:18px;font-size:13.5px;color:var(--mut)}
/* i tre punti (scelta B "Righe", senza immagini né numeri): rombo blu | titolo | testo, la linea si accende di blu */
.pk-pts{display:block;border-bottom:1px solid var(--line)}
.pk-pt{position:relative;display:grid;grid-template-columns:16px minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,52px);padding:clamp(26px,4vh,42px) 0;border-top:1px solid var(--line)}
.pk-pt::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--acc),var(--hl));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ex) .15s}
.pk-pt.in::before{transform:none}
.pk-pt::after{content:"";position:absolute;inset:0 -2vw;z-index:-1;border-radius:18px;background:radial-gradient(60% 140% at 12% 50%,rgba(30,79,224,.16),transparent 70%);opacity:0;transition:opacity .45s}
.pk-pt:hover::after{opacity:1}
.pk-dot{width:14px;height:14px;border-radius:3px;box-shadow:inset 0 0 0 2px var(--hl);transform:rotate(45deg) scale(.3);opacity:0;transition:transform .7s var(--ex) .35s,opacity .4s .35s,background .4s .6s}
.pk-pt.in .pk-dot{transform:rotate(45deg);opacity:1;background:var(--hl)}
.pk-pt:hover .pk-dot{box-shadow:inset 0 0 0 2px var(--hl),0 0 0 6px rgba(91,131,255,.18)}
.pk-pt h3{font-family:var(--d);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(30px,3vw,54px);line-height:.92;color:#fff;transition:transform .5s var(--ex)}
.pk-pt:hover h3{transform:translateX(6px)}
.pk-pt p{font-size:clamp(15.5px,1.1vw,18.5px);line-height:1.6;color:var(--tx);max-width:520px}
.pk-pts{isolation:isolate}
/* tre passi + chiamata finale nella stessa sezione */
.pk-go .mo-track{margin-top:4vh}
.pk-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:3vh 5vw;margin-top:clamp(56px,10vh,110px);padding:clamp(28px,4vw,56px);border-radius:28px;background:radial-gradient(80% 120% at 85% 20%,rgba(30,79,224,.35),transparent 70%),#121B31;box-shadow:inset 0 0 0 1px rgba(91,131,255,.22)}
.pk-cta .mo-end-t{font-size:clamp(52px,6vw,108px);margin:0}
.pk-cta .mo-end-t.mo-r{transform:rotate(-7deg);transform-origin:left bottom}
.pk-cta .cs-p{max-width:420px}
.pk-cta .acts{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.pk-altri{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:clamp(28px,5vh,48px)}
.pk-altri .cs-lab{margin-right:8px}
.pk-altri a{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font-family:var(--d);font-weight:700;font-style:italic;text-transform:uppercase;font-size:18px;letter-spacing:.02em;color:var(--ink);transition:background .3s,box-shadow .3s}
.pk-altri a span{color:var(--hl);transition:transform .3s}
.pk-altri a:hover{background:rgba(30,79,224,.16);box-shadow:inset 0 0 0 1px var(--hl)}
.pk-altri a:hover span{transform:translateX(4px)}
@media (max-width:900px){
  .pk-head{grid-template-columns:1fr}
  .pk-pt{grid-template-columns:12px minmax(0,1fr);grid-template-areas:"n t" ". d";align-items:center;gap:10px 16px;padding:24px 0}
  .pk-dot{grid-area:n;width:11px;height:11px}
  .pk-pt h3{grid-area:t;font-size:clamp(28px,8vw,40px)}
  .pk-pt p{grid-area:d}
  .pk-cta{grid-template-columns:1fr}
}
@media (max-width:540px){
  .pk-cta{padding:26px 22px;border-radius:22px}
  .pk-cta .acts{flex-direction:column;align-items:stretch}
  .pk-cta .acts a{text-align:center}
  .pk-altri a{font-size:16px;padding:10px 15px}
}

/* ---------- tre passi: la linea si riempie scorrendo ---------- */
.mo-track{position:relative;padding-top:38px}
.mo-rail,.mo-fill{position:absolute;left:0;right:0;top:9px;height:3px;border-radius:3px;background:var(--line)}
.mo-fill{background:linear-gradient(90deg,var(--acc),var(--hl));transform:scaleX(0);transform-origin:left;will-change:transform}
.mo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,48px)}
.mo-step{position:relative;opacity:.38;transition:opacity .6s}
.mo-step > :not(.mo-dot){transform:translateY(16px);transition:transform .8s var(--ex)}
.mo-step.on{opacity:1}
.mo-step.on > :not(.mo-dot){transform:none}
.mo-dot{position:absolute;left:0;top:-38px;width:21px;height:21px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 3px var(--line);transition:box-shadow .4s,background .4s}
.mo-step.on .mo-dot{background:var(--hl);box-shadow:0 0 0 6px rgba(91,131,255,.18)}
.mo-step .mo-k{display:block;margin-top:6px}
.mo-step h3{font-family:var(--d);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(26px,2.3vw,40px);line-height:.95;color:#fff;margin:10px 0 10px}
.mo-step p{font-size:clamp(15px,1.05vw,18px);line-height:1.6;color:var(--tx)}

/* ---------- apertura senza immagini: parole, scie di velocità e la S che si disegna ---------- */
.sh-vis.mo-hero{overflow:hidden;background:radial-gradient(60% 70% at 62% 48%,rgba(30,79,224,.32),transparent 70%),#0B1222}
.mo-hw{position:absolute;left:0;white-space:nowrap;z-index:1}
.mo-hw span{display:inline-block;font-family:var(--d);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(90px,12vw,230px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(91,131,255,.35);animation:moMq 60s linear infinite}
.mo-hw.w1{top:6%}.mo-hw.w2{bottom:4%}
.mo-hw.w2 span{animation-direction:reverse;-webkit-text-stroke-color:rgba(255,255,255,.12)}
@keyframes moMq{to{transform:translateX(-33.333%)}}
.mo-streaks{position:absolute;inset:0;z-index:1}
.mo-streaks i{position:absolute;left:0;top:var(--y);width:var(--w);height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(91,131,255,.9),#fff);opacity:.75;transform:translateX(-110%);animation:moStreak var(--t) cubic-bezier(.5,0,.4,1) var(--dl) infinite}
@keyframes moStreak{to{transform:translateX(330%)}}
.mo-hero-s{position:absolute;z-index:1;left:56%;top:50%;width:min(52vh,40vw);height:auto;aspect-ratio:1;translate:-50% -50%;color:#fff;animation:moFloat 6s ease-in-out infinite}
.mo-hero-s path{stroke-dasharray:1;stroke-dashoffset:1;animation:moDraw 1.8s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(.4s + var(--i) * .1s)}
@keyframes moDraw{to{stroke-dashoffset:0}}
@keyframes moFloat{50%{transform:translateY(-14px)}}

/* ---------- footer come la home: SCIANDRA a contorno che scorre ---------- */
footer.ft{position:relative;z-index:2;overflow:hidden;background:#0B0F1A;color:#9EA3AE;padding:clamp(52px,7vw,88px) 0 0;border-top:1px solid var(--line)}
.ft::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(125% 125% at 50% 10%,rgba(11,15,26,0) 50%,rgba(30,79,224,.28) 100%)}
.ft-in{position:relative;z-index:2;width:min(1400px,100% - 10vw);margin:0 auto}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:42px}
.ft-brand{display:flex;align-items:center;gap:13px;color:#fff;margin-bottom:16px}
.ft-brand svg{width:42px;height:42px;flex:none;color:#fff}
.ft-brand b{display:block;font-family:var(--d);font-weight:700;text-transform:uppercase;font-size:24px;letter-spacing:.02em;line-height:1}
.ft-brand small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#9EA3AE;margin-top:5px}
.ft-about{font-size:14.5px;line-height:1.55;max-width:32ch}
.ft-about b{color:#fff;font-weight:600}
.ft-h{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.ft-h::before{content:"";width:19px;height:10px;background:var(--acc);transform:skewX(-24deg);border-radius:1px}
.ft-list,.ft-contact{list-style:none;display:flex;flex-direction:column;gap:9px}
.ft-list a{color:#9EA3AE;font-size:15px;transition:color .25s}
.ft-list a:hover{color:#fff}
.ft-contact{gap:13px}
.ft-contact li{display:flex;align-items:center;gap:11px;font-size:15px}
.ft-contact svg{width:17px;height:17px;flex:none;stroke:var(--hl);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ft-contact a,.ft-contact span{color:#9EA3AE}
.ft-contact a:hover{color:#fff}
.ft-bar{border-top:1px solid var(--line);padding:22px 0;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:space-between}
.ft-meta,.ft-top{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ft-top{color:#fff}.ft-top:hover{color:var(--hl)}
.ft-legal{border-top:1px solid var(--line);padding:19px 0 29px;display:flex;flex-wrap:wrap;gap:13px 32px;justify-content:space-between}
.ft-links{display:flex;flex-wrap:wrap;gap:19px}
.ft-links a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#C9CDD6}
.ft-links a:hover{color:#fff}
.ft-disc{font-size:12px;line-height:1.5;max-width:62ch;color:#7D8494}
.ft-big{position:relative;z-index:1;height:clamp(110px,22vw,320px);margin-top:-8px}
.ft-big svg{width:100%;height:100%;display:block;overflow:visible;user-select:none}
.ft-big text{font-family:var(--d);font-weight:800;font-size:112px;letter-spacing:.01em;text-transform:uppercase;fill:transparent;stroke-width:.6;paint-order:stroke;stroke-linejoin:round}
.ft-big .big-base{stroke:rgba(246,248,252,.16)}
.ft-big .big-draw{stroke:var(--acc);stroke-dasharray:800 400;stroke-dashoffset:0}
.ft-big.is-in .big-draw{animation:bigFlow 14s linear infinite}
@keyframes bigFlow{to{stroke-dashoffset:-1200}}

/* dentro lo zoom della home: apertura, barra, pulsante e "altri servizi" li gestisce la home */
.in-zoom .pk-altri{display:none}

@media (max-width:900px){
  .mo-steps{grid-template-columns:1fr;gap:34px;padding-left:40px}
  .mo-track{padding-top:0}
  .mo-rail,.mo-fill{left:9px;right:auto;top:0;bottom:0;width:3px;height:auto}
  .mo-fill{transform:scaleY(0);transform-origin:top}
  .mo-dot{left:-40px;top:6px}
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px 24px}
}
@media (max-width:640px){.ft-grid{grid-template-columns:1fr}.ft-big text{stroke-width:.9}}
@media (max-width:540px){.mo-wrap,.ft-in{width:calc(100% - 44px)}}
@media (prefers-reduced-motion:reduce){
  .mo-r,.mo-l > span,.mo-step,.mo-step > *{transition:none!important;opacity:1!important;transform:none!important}
  .mo-hw span,.mo-streaks i,.mo-hero-s{animation:none!important}
  .mo-hero-s path{stroke-dashoffset:0}
}

/* 19/10 — contenuti dimostrativi segnati come tali; "← Tutti i servizi" facile da toccare sul telefono */
.mock .mt .ex{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.1);color:#B9C3D9;font:700 9px/1.2 var(--f);letter-spacing:.14em;text-transform:uppercase;vertical-align:2px}
.top .back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}

/* 19/10 — leggibilità: testo almeno 12 px e link del footer comodi da toccare */
.ft-h,.ft-meta,.ft-top,.ft-links a{font-size:12px!important}
.ft-brand small{font-size:12px!important;letter-spacing:.1em!important}
.mock .ok,.mock span,.mock .mt .ex{font-size:12px!important}
.ft-list,.ft-contact{gap:0!important}
.ft-list a,.ft-contact a,.ft-links a,.ft-top{display:inline-flex;align-items:center;min-height:32px}
@media (pointer:coarse){.ft-list a,.ft-contact a,.ft-links a,.ft-top{min-height:44px}}
@media (max-width:760px){.sh .cs-lab,.cs-lab,.chips i,.sh .acts a,.cs-btn{font-size:12px!important}}
