/* ============================================================
   PAGE — Chi siamo
   Racconto editoriale: persone, tecnologia, AI.
   Solo token del design system. Nessuna immagine raster.
   ============================================================ */

/* ─────────────────────────────────────────────
   1. HERO — apertura editoriale, allineata a sinistra
   ───────────────────────────────────────────── */
.ab-hero{
  text-align:left;
  padding:clamp(140px,15vw,208px) 0 clamp(72px,9vw,116px);
  overflow:clip;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(120% 70% at 18% 30%, rgba(92,243,164,.05), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg) 62%, var(--bg-2) 100%);
}
.ab-hero .eyebrow{justify-content:flex-start}
/* Un canvas è un elemento replaced: con il solo inset:0 resta 300x150. */
.ab-hero .page-gl{width:100%;height:100%}
.ab-hero-wrap{position:relative;z-index:2}

.ab-hero h1{
  font-size:clamp(2.7rem,6.4vw,5.4rem);
  line-height:.94;
  letter-spacing:-.048em;
  margin:22px 0 28px;
  max-width:17ch;
}
.ab-hero .ab-lead{
  color:var(--text-dim);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.68;
  max-width:64ch;
  margin:0;
  text-wrap:pretty;
}
.ab-hero .ab-actions{justify-content:flex-start;margin-top:36px}
.ab-hero .ab-checks{justify-content:flex-start;margin-top:34px;gap:12px 30px}
.ab-hero .fs-check{color:var(--text-dim);font-size:.88rem}

/* Il marcatore d'anno: dato reale, trattato come elemento tipografico */
.ab-year{
  position:absolute;
  z-index:1;
  top:clamp(70px,11vw,150px);
  right:clamp(10px,2.4vw,44px);
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(9rem,19vw,17rem);
  line-height:.78;
  letter-spacing:-.06em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.13);
  pointer-events:none;
  user-select:none;
  -webkit-mask-image:linear-gradient(200deg,#000 6%,rgba(0,0,0,.25) 62%,transparent 92%);
  mask-image:linear-gradient(200deg,#000 6%,rgba(0,0,0,.25) 62%,transparent 92%);
}

/* ─────────────────────────────────────────────
   2. ORIGINE — testata sticky + corpo editoriale
   ───────────────────────────────────────────── */
.ab-origin{
  background:var(--bg-2);
  border-bottom:1px solid var(--line);
  overflow:clip;
}
.ab-origin-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  gap:clamp(30px,4.6vw,72px);
  align-items:start;
}
.ab-origin-head{position:sticky;top:120px}
.ab-origin h2{
  font-size:clamp(1.85rem,3.1vw,2.65rem);
  letter-spacing:-.042em;
  line-height:1.04;
  margin:20px 0 0;
  max-width:16ch;
}

/* Asse temporale: solo i due estremi che la pagina dichiara */
.ab-axis{margin-top:clamp(30px,3.4vw,46px)}
.ab-axis-p{
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  column-gap:18px;
  row-gap:3px;
}
.ab-axis-p::before{
  content:"";
  grid-column:1;grid-row:1;
  align-self:center;
  width:11px;height:11px;border-radius:50%;
  border:1px solid var(--line-2);
  background:var(--bg-2);
}
.ab-axis-p:last-child::before{
  border-color:var(--green);
  background:rgba(92,243,164,.2);
  box-shadow:0 0 16px rgba(92,243,164,.45);
}
.ab-axis-y{
  grid-column:2;grid-row:1;
  font-family:var(--font-display);font-weight:600;
  font-size:1.34rem;letter-spacing:-.045em;color:var(--text);
}
.ab-axis-l{
  grid-column:2;grid-row:2;
  font-size:.82rem;color:var(--text-faint);letter-spacing:-.004em;
}
.ab-axis-line{
  position:relative;
  width:1px;height:58px;
  margin:6px 0 6px 5px;
  background:linear-gradient(180deg,var(--line-2),rgba(92,243,164,.55));
  overflow:visible;
}
.ab-axis-line span{
  position:absolute;left:-2px;top:0;
  width:5px;height:5px;border-radius:50%;
  background:var(--green);box-shadow:0 0 10px var(--green);
  animation:abDrop 3.6s var(--ease-io) infinite;
}
@keyframes abDrop{
  0%{transform:translateY(0);opacity:0}
  18%{opacity:1}
  82%{opacity:1}
  100%{transform:translateY(52px);opacity:0}
}

.ab-origin-body p{
  color:var(--text-dim);
  font-size:clamp(1rem,1.15vw,1.09rem);
  line-height:1.74;
  max-width:62ch;
  margin:0 0 24px;
  text-wrap:pretty;
}
.ab-origin-body p strong{color:var(--text);font-weight:600}
/* Attacco: il primo paragrafo entra più forte degli altri */
.ab-origin-body .ab-drop{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(1.18rem,1.9vw,1.52rem);
  line-height:1.42;
  letter-spacing:-.028em;
  color:var(--text);
  max-width:38ch;
  margin-bottom:30px;
  text-wrap:pretty;
}
.ab-quote{
  margin:clamp(28px,3vw,40px) 0 0;
  padding:2px 0 2px clamp(20px,2.4vw,32px);
  border-left:1px solid rgba(92,243,164,.45);
}
.ab-quote blockquote{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.15rem,2.1vw,1.62rem);
  letter-spacing:-.035em;line-height:1.32;
  color:var(--text);
  text-wrap:balance;
}
.ab-quote figcaption{
  margin-top:14px;
  font-size:.82rem;letter-spacing:.02em;color:var(--text-faint);
}

/* ─────────────────────────────────────────────
   3. METODO — binario a quattro fasi
   ───────────────────────────────────────────── */
.ab-method{background:var(--bg);border-top:0}
.ab-rail{
  position:relative;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:12px;
}
.ab-rail::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--green),rgba(92,243,164,.28) 42%,var(--line) 78%,transparent);
}
.ab-step{
  padding:54px 28px 4px;
  background:none;
  border:0;
  border-radius:0;
  transform:none !important;
}
.ab-step + .ab-step{border-left:1px solid var(--line)}
.ab-step::after{display:none}
.ab-step::before{
  content:"";position:absolute;inset:0 -1px;pointer-events:none;
  background:linear-gradient(180deg,rgba(92,243,164,.07),transparent 66%);
  opacity:0;transition:opacity .5s var(--ease);
}
.ab-step:hover::before{opacity:1}
.ab-step .step-n{
  display:block;
  color:var(--text-faint);
  font-family:var(--font-ui);
  font-size:.7rem;font-weight:550;letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 12px;
}
.ab-step .step-n::before{
  position:absolute;top:-20px;left:28px;
  width:40px;height:40px;border-radius:12px;
  background:var(--bg);
  border:1px solid var(--line-2);
  color:var(--green);
  font-family:var(--font-display);font-size:.92rem;font-weight:600;
  transition:border-color .4s,box-shadow .4s;
}
.ab-step:hover .step-n::before{
  border-color:rgba(92,243,164,.55);
  box-shadow:0 0 22px -6px rgba(92,243,164,.65);
}
.ab-step h4,.ab-step h3{font-size:1.16rem;margin-bottom:10px;letter-spacing:-.025em}
.ab-step p{font-size:.89rem;line-height:1.6;color:var(--text-dim)}

/* ─────────────────────────────────────────────
   4. SERVIZI — indice editoriale, non griglia di box
   ───────────────────────────────────────────── */
.ab-services{background:var(--bg-2)}
.ab-services::before,.ab-numbers::before{opacity:.16}
.ab-svc-list{
  display:block;
  counter-reset:svc;
  border-top:1px solid var(--line);
}
.ab-svc{
  display:grid;
  grid-template-columns:auto 52px minmax(0,1fr);
  align-items:center;
  gap:clamp(16px,2.4vw,30px);
  padding:clamp(22px,2.6vw,32px) 6px;
  background:none;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  transition:transform .45s var(--ease),background .45s var(--ease);
}
.ab-svc::before{
  counter-increment:svc;
  content:"0" counter(svc);
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.1rem,1.7vw,1.4rem);
  letter-spacing:-.04em;
  color:var(--text-faint);
  font-variant-numeric:tabular-nums;
  transition:color .4s;
}
.ab-svc:hover{
  transform:translateX(8px);
  background:linear-gradient(90deg,rgba(92,243,164,.055),transparent 62%);
}
.ab-svc:hover::before{color:var(--green)}
.ab-svc .dc-ic{
  width:52px;height:52px;border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  color:var(--text-dim);
  transition:color .4s,border-color .4s,background .4s;
}
.ab-svc:hover .dc-ic{
  color:var(--green);
  border-color:rgba(92,243,164,.4);
  background:rgba(92,243,164,.09);
}
.ab-svc-body{display:block;min-width:0}
.ab-svc h4,.ab-svc h3{
  font-size:clamp(1.22rem,2.3vw,1.85rem);
  letter-spacing:-.04em;
  margin-bottom:7px;
}
.ab-svc p{
  font-size:.95rem;line-height:1.6;color:var(--text-dim);
  max-width:66ch;margin:0;
}
.ab-svc-go{
  color:var(--green);font-weight:550;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
}
.ab-svc-go i{transition:transform .35s var(--ease)}
.ab-svc:hover .ab-svc-go i{transform:translateX(4px)}
.ab-svc:focus-visible{outline:2px solid var(--green);outline-offset:-4px}

/* ─────────────────────────────────────────────
   5. PERSONE / MACCHINA — il momento CLAUDIO
   ───────────────────────────────────────────── */
.ab-duo{
  position:relative;overflow:clip;
  background:
    radial-gradient(70% 60% at 76% 66%, rgba(142,123,255,.10), transparent 66%),
    radial-gradient(46% 44% at 18% 62%, rgba(92,243,164,.05), transparent 70%),
    var(--bg);
}
/* La rete di nodi vive dietro la colonna macchina: densa, non diluita */
.ab-gl{
  position:absolute;z-index:0;pointer-events:none;
  top:18%;right:-6%;left:auto;bottom:auto;
  width:min(1020px,74%);height:66%;
  opacity:0;transition:opacity 1.8s var(--ease);
  -webkit-mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 8%,transparent 74%);
  mask-image:radial-gradient(ellipse 58% 58% at 50% 50%,#000 8%,transparent 74%);
}
.ab-gl.ready{opacity:1}
.ab-duo .bg-dots{opacity:.26}

.ab-duo-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);
  gap:clamp(22px,3.2vw,46px);
  align-items:stretch;
}
.ab-duo-grid::before{
  content:"";position:absolute;top:6%;bottom:6%;left:50%;width:1px;
  background:linear-gradient(180deg,transparent,var(--line-2) 24%,rgba(142,123,255,.4) 52%,var(--line-2) 76%,transparent);
}
.ab-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.ab-col-label{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;
  font-family:var(--font-ui);
  font-size:.72rem;font-weight:550;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text);
  margin:0 0 4px;
}
.ab-col-label i{color:var(--green);font-size:1rem;transform:translateY(2px)}
.ab-col-label.v i{color:var(--violet)}
.ab-col-label em{
  font-style:normal;text-transform:none;letter-spacing:-.005em;
  font-size:.84rem;font-weight:400;color:var(--text-faint);
}

.ab-card{padding:clamp(24px,2.4vw,32px)}
.ab-card:hover{transform:translateY(-4px);border-color:rgba(92,243,164,.32)}
.ab-card .pn-ic{background:rgba(92,243,164,.12);color:var(--green)}
.ab-card h4,.ab-card h3{font-size:1.14rem;letter-spacing:-.028em;margin-bottom:9px}
.ab-card p{font-size:.93rem;line-height:1.62}

.ab-card-ai{
  flex:1;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(142,123,255,.10),rgba(142,123,255,.02) 58%,rgba(255,255,255,.012));
  border-color:rgba(142,123,255,.3);
}
.ab-card-ai:hover{border-color:rgba(142,123,255,.6)}
.ab-card-ai::after{
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),
             rgba(142,123,255,.6),transparent 62%);
}
.ab-card-ai h4,.ab-card-ai h3{font-size:clamp(1.25rem,2vw,1.62rem);letter-spacing:-.04em;margin-bottom:12px}
.ab-card-ai p{font-size:1rem;color:var(--text-dim);max-width:44ch}

/* Orb: la firma visiva dell'AI interna */
.ab-orb{
  position:relative;width:112px;height:112px;margin-bottom:26px;
  display:grid;place-items:center;
}
.ab-orb-r{
  position:absolute;border-radius:50%;
  border:1px solid rgba(142,123,255,.45);
}
.ab-orb-r.r1{inset:0;animation:abSpin 14s linear infinite}
.ab-orb-r.r2{inset:16px;border-color:rgba(92,243,164,.38);animation:abSpin 9s linear infinite reverse}
.ab-orb-r.r1::after,.ab-orb-r.r2::after{
  content:"";position:absolute;top:-3px;left:50%;
  width:6px;height:6px;border-radius:50%;
  background:var(--violet);box-shadow:0 0 12px var(--violet);
}
.ab-orb-r.r2::after{background:var(--green);box-shadow:0 0 12px var(--green)}
.ab-orb-c{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;font-size:1.3rem;
  color:#fff;
  background:linear-gradient(150deg,rgba(142,123,255,.9),rgba(90,69,214,.75));
  box-shadow:0 10px 30px -10px rgba(142,123,255,.9);
}
@keyframes abSpin{to{transform:rotate(360deg)}}

/* Battito: presenza della macchina, senza testo dentro la grafica */
.ab-pulse{
  display:flex;align-items:flex-end;gap:clamp(10px,2vw,20px);
  height:118px;padding-top:28px;
  border-top:1px solid rgba(142,123,255,.18);
  margin-top:auto;
}
.ab-card-ai{justify-content:flex-start}
.ab-pulse span{
  flex:0 0 3px;border-radius:2px;
  background:linear-gradient(180deg,rgba(142,123,255,.9),rgba(142,123,255,.1));
  animation:abBeat 2.6s var(--ease-io) infinite;
  height:30%;
}
.ab-pulse span:nth-child(2n){background:linear-gradient(180deg,rgba(92,243,164,.75),rgba(92,243,164,.08))}
.ab-pulse span:nth-child(1){animation-delay:-.1s}
.ab-pulse span:nth-child(2){animation-delay:-.4s}
.ab-pulse span:nth-child(3){animation-delay:-.7s}
.ab-pulse span:nth-child(4){animation-delay:-1s}
.ab-pulse span:nth-child(5){animation-delay:-1.3s}
.ab-pulse span:nth-child(6){animation-delay:-1.6s}
.ab-pulse span:nth-child(7){animation-delay:-1.9s}
.ab-pulse span:nth-child(8){animation-delay:-2.2s}
.ab-pulse span:nth-child(9){animation-delay:-2.5s}
.ab-pulse span:nth-child(10){animation-delay:-2.8s}
.ab-pulse span:nth-child(11){animation-delay:-3.1s}
.ab-pulse span:nth-child(12){animation-delay:-3.4s}
@keyframes abBeat{
  0%,100%{height:22%;opacity:.55}
  50%{height:100%;opacity:1}
}

/* ─────────────────────────────────────────────
   6. NUMERI — i dati come materia tipografica
   ───────────────────────────────────────────── */
.ab-numbers{background:var(--bg-2)}
.ab-nums{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.ab-num{position:relative;padding:clamp(28px,3vw,42px) clamp(18px,2vw,28px) 8px}
.ab-num + .ab-num{border-left:1px solid var(--line)}
.ab-num::before{
  content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
  background:var(--green);
  transform:scaleX(0);transform-origin:left;
  transition:transform .8s var(--ease);
}
.ab-num:hover::before{transform:scaleX(1)}
.ab-n{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.5rem,5vw,4.2rem);
  letter-spacing:-.055em;line-height:.9;
  font-variant-numeric:tabular-nums;
  color:var(--text);
  margin-bottom:16px;
  white-space:nowrap;
}
.ab-nu{font-size:.36em;color:var(--text-dim);letter-spacing:-.02em}
.ab-num p{font-size:.86rem;line-height:1.55;color:var(--text-faint);max-width:24ch;margin:0}

/* ─────────────────────────────────────────────
   7. PERCHÉ — tre righe da documento, non tre box
   ───────────────────────────────────────────── */
.ab-why{background:var(--bg)}
.ab-reasons{display:flex;flex-direction:column}
.ab-reason{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(18px,3vw,42px);
  padding:clamp(24px,2.6vw,34px) 6px;
  background:none;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  transform:none !important;
  transition:background .45s var(--ease);
}
.ab-reason:last-child{border-bottom:1px solid var(--line)}
.ab-reason::after{display:none}
.ab-reason:hover{background:linear-gradient(90deg,rgba(92,243,164,.05),transparent 58%)}
.ab-reason-n{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.5rem,2.8vw,2.3rem);
  letter-spacing:-.05em;
  color:var(--text-faint);
  font-variant-numeric:tabular-nums;
  transition:color .4s;
}
.ab-reason:hover .ab-reason-n{color:var(--green)}
.ab-reason-b{min-width:0}
.ab-reason h4,.ab-reason h3{font-size:clamp(1.1rem,1.9vw,1.48rem);letter-spacing:-.035em;margin-bottom:8px}
.ab-reason p{font-size:.95rem;line-height:1.62;color:var(--text-dim);max-width:72ch;margin:0}
.ab-reason .pn-ic{
  margin:0;width:50px;height:50px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  color:var(--text-dim);
  transition:color .4s,border-color .4s;
}
.ab-reason:hover .pn-ic{color:var(--green);border-color:rgba(92,243,164,.35)}

/* ─────────────────────────────────────────────
   8. CHIUSURA
   ───────────────────────────────────────────── */
.ab-close{background:var(--bg-2);border-top:1px solid var(--line)}
.ab-close .claudio-box{
  max-width:820px;margin:0 auto;
  padding:clamp(34px,4.6vw,64px) clamp(24px,4vw,56px);
  background:
    radial-gradient(90% 120% at 50% -10%, rgba(92,243,164,.10), transparent 62%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  border:1px solid var(--line-2);
  border-radius:var(--r-lg,26px);
}
.ab-close::before{opacity:.3}
.ab-close .claudio-box{display:block;text-align:center}
.ab-close .claudio-box .eyebrow{justify-content:center}
.ab-close .claudio-box h2{font-size:clamp(1.9rem,3.8vw,3.1rem);margin:18px 0 18px}
.ab-close .claudio-box p{
  color:var(--text-dim);font-size:1.04rem;line-height:1.65;
  max-width:56ch;margin:0 auto 34px;text-wrap:pretty;
}
.ab-close .hero-actions{justify-content:center}

/* ─────────────────────────────────────────────
   9. RESPONSIVE
   ───────────────────────────────────────────── */
@media(max-width:1100px){
  .ab-year{font-size:clamp(8rem,20vw,14rem)}
  .ab-hero h1{max-width:14ch}
}
@media(max-width:980px){
  .ab-hero{padding:150px 0 84px}
  .ab-year{opacity:.65}

  .ab-origin-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .ab-origin-head{position:static}
  .ab-axis{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:0 16px;margin-top:30px}
  .ab-axis-line{
    width:auto;height:1px;min-width:48px;margin:0;
    background:linear-gradient(90deg,var(--line-2),rgba(92,243,164,.55));
  }
  .ab-axis-line span{animation:none;left:auto;right:-2px;top:-2px}

  .ab-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-step{padding:50px 22px 22px}
  .ab-step:nth-child(3){border-left:0}
  .ab-step:nth-child(n+3){border-top:1px solid var(--line)}
  .ab-step:nth-child(n+3) .step-n::before{top:-20px}

  .ab-duo-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .ab-duo-grid::before{display:none}
  .ab-gl{
    -webkit-mask-image:radial-gradient(ellipse 90% 46% at 50% 74%,#000 4%,transparent 74%);
    mask-image:radial-gradient(ellipse 90% 46% at 50% 74%,#000 4%,transparent 74%);
  }

  .ab-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-num:nth-child(3){border-left:0}
  .ab-num:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:640px){
  .ab-hero{padding:126px 0 66px}
  .ab-hero h1{font-size:clamp(2.35rem,9.4vw,3.1rem);max-width:100%;letter-spacing:-.04em}
  .ab-hero .ab-lead{font-size:1rem}
  .ab-hero .ab-actions{flex-direction:column;align-items:stretch}
  .ab-hero .ab-actions .btn{justify-content:center;width:100%}
  .ab-hero .ab-checks{gap:10px 0;flex-direction:column;align-items:flex-start}
  .ab-year{display:none}

  .ab-origin-body .ab-drop{font-size:1.14rem;max-width:100%}
  .ab-axis{grid-template-columns:1fr;justify-items:start;gap:0}
  .ab-axis-line{width:1px;height:34px;min-width:0;margin:6px 0 6px 5px;
    background:linear-gradient(180deg,var(--line-2),rgba(92,243,164,.55))}
  .ab-axis-line span{display:none}

  .ab-rail{grid-template-columns:minmax(0,1fr)}
  .ab-step{padding:46px 0 24px;border-left:0 !important}
  .ab-step + .ab-step{border-top:1px solid var(--line)}
  .ab-step .step-n::before{left:0;top:-20px;width:36px;height:36px}
  .ab-step::before{inset:0}

  .ab-svc{grid-template-columns:auto minmax(0,1fr);gap:14px 16px;padding:22px 0;align-items:start}
  .ab-svc::before{padding-top:.2em}
  .ab-svc .dc-ic{display:none}
  .ab-svc:hover{transform:none}
  .ab-svc h4,.ab-svc h3{font-size:1.2rem}
  .ab-svc p{font-size:.92rem}

  .ab-card{padding:24px 20px}
  .ab-orb{width:78px;height:78px;margin-bottom:18px}
  .ab-orb-c{width:38px;height:38px;font-size:1.15rem}
  .ab-pulse{height:34px;padding-top:20px;gap:4px}
  .ab-gl{opacity:.55}

  .ab-nums{grid-template-columns:minmax(0,1fr)}
  .ab-num{padding:24px 0 6px;border-left:0 !important}
  .ab-num + .ab-num{border-top:1px solid var(--line)}
  .ab-n{font-size:clamp(2.4rem,13vw,3.2rem);margin-bottom:10px}
  .ab-num p{max-width:100%}

  .ab-reason{grid-template-columns:auto minmax(0,1fr);gap:14px 16px;padding:24px 0;align-items:start}
  .ab-reason-n{padding-top:.1em}
  .ab-reason .pn-ic{display:none}
  .ab-reason h4,.ab-reason h3{font-size:1.1rem}
}

/* ─────────────────────────────────────────────
   10. MOVIMENTO RIDOTTO
   ───────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .ab-orb-r,.ab-pulse span,.ab-axis-line span{animation:none !important}
  .ab-pulse span{height:60%}
  .ab-axis-line span{opacity:1}
  .ab-num::before{transform:scaleX(1)}
}
@media(hover:none){
  .ab-svc:hover,.ab-reason:hover{transform:none;background:none}
}
