/* ==========================================================================
   Automazioni (MT·AUT) — stili di pagina, prefisso .aut-
   Oggetti: la linea di lavorazione (hero), i cartellini prima/dopo, la macchina
   del calcolo (manopole e contatore a rulli), il mozzo delle integrazioni.
   Stato base = stato finale. Gli stati iniziali delle animazioni esistono solo
   sotto html.js-motion: per l'hero con una rete di sicurezza a 6 s, per gli altri
   oggetti solo con .aut-arm, che automazioni.js mette a ciò che all'avvio è fuori vista.
   ========================================================================== */

:root {
  --aut-groove: #07090B;               /* solco delle piste incise */
  --aut-hot: #FFF4DC;                  /* nucleo della scintilla */
  --aut-blu-glow: rgba(140, 192, 230, .85);
  --aut-sci-glow: rgba(224, 160, 80, .85);
  --aut-panel: linear-gradient(180deg, #252B2F 0%, #1A1F22 55%, #16191C 100%);
}

/* Viti ai quattro angoli dei pannelli */
.aut-screw {
  position: absolute;
  z-index: 3;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #E9EDF0, var(--acciaio) 55%, #2B3237);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .7), inset 0 0 0 .5px rgba(0, 0, 0, .45);
  pointer-events: none;
}
.aut-screw::after { content: ""; position: absolute; left: 1.5px; right: 1.5px; top: 50%; height: 1px; margin-top: -.5px; background: rgba(0, 0, 0, .6); transform: rotate(var(--rot, 35deg)); }
.aut-screw--tl { top: 9px; left: 9px; --rot: 35deg; }
.aut-screw--tr { top: 9px; right: 9px; --rot: -20deg; }
.aut-screw--bl { bottom: 9px; left: 9px; --rot: 70deg; }
.aut-screw--br { bottom: 9px; right: 9px; --rot: 10deg; }

.aut-line__code {
  font-family: var(--font-mono);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* Pallini di stato: fatto (blu tempra), serve una persona (scintilla), da fare (tratteggio) */
.aut-dot { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; }
.aut-dot.is-done { background: var(--blu); box-shadow: 0 0 0 3px rgba(140, 192, 230, .16), 0 0 10px var(--aut-blu-glow); }
.aut-dot.is-person { background: var(--scintilla); box-shadow: 0 0 0 3px rgba(224, 160, 80, .16), 0 0 10px var(--aut-sci-glow); }
.aut-dot.is-todo { border: 1px dashed var(--acciaio); }

/* ==========================================================================
   HERO · la linea di lavorazione
   ========================================================================== */
.aut-hero { padding-bottom: clamp(56px, 7vw, 104px); }
.aut-hero > .container { position: relative; z-index: 1; }
.aut-hero__atmo {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(46% 42% at 70% 70%, rgba(140, 192, 230, .07), transparent 70%),
    linear-gradient(var(--line) 1px, transparent 1px) -1px -1px / 48px 48px,
    linear-gradient(90deg, var(--line) 1px, transparent 1px) -1px -1px / 48px 48px;
  -webkit-mask: radial-gradient(64% 60% at 68% 66%, #000 25%, transparent 78%);
  mask: radial-gradient(64% 60% at 68% 66%, #000 25%, transparent 78%);
  opacity: .6;
}
.aut-hero__head { display: grid; gap: 22px; }
.aut-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.25fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
  margin-top: clamp(30px, 3.4vw, 48px);
}
.aut-hero__text { display: grid; gap: 22px; align-content: start; padding-top: 6px; }
.aut-hero__text .btn-row { margin-top: 4px; }
@media (max-width: 1079px) {
  .aut-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .aut-hero__text { max-width: 44rem; }
}

/* Il pannello */
.aut-line {
  --plate-h: 118px;
  --stem-h: 24px;
  --joint: 14px;
  --exit: 60px;
  --bed-pt: 26px;
  --bed-pb: 44px;
  --doc-w: 34px;
  --doc-h: 44px;
  position: relative;
  isolation: isolate;
  border-radius: var(--radius-l);
  padding: 18px 22px 0;
  color: var(--fg);
  background: var(--brushed), var(--aut-panel);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .09),
    inset 0 0 0 1px rgba(255, 255, 255, .035),
    0 1px 0 rgba(0, 0, 0, .6),
    0 44px 80px -40px rgba(0, 0, 0, .95),
    0 14px 26px -14px rgba(0, 0, 0, .6);
}
.aut-line::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .04) 38%, rgba(0, 0, 0, .35));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}
.aut-line__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 0 8px 14px; border-bottom: 1px solid var(--line); }

.aut-line__bed { position: relative; padding: var(--bed-pt) 0 var(--bed-pb); }
.aut-line__stations { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* Stazione: targa, gambo, giunto sulla pista */
.aut-st { position: relative; display: flex; flex-direction: column; align-items: center; }
.aut-st__plate {
  position: relative;
  width: calc(100% - 14px);
  height: var(--plate-h);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px 10px;
  border-radius: var(--radius);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(255, 255, 255, .07), transparent 60%),
    var(--brushed),
    linear-gradient(180deg, #2A3136 0%, #1D2226 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .1),
    inset 0 -1px 0 rgba(0, 0, 0, .5),
    0 1px 0 rgba(0, 0, 0, .6),
    0 16px 24px -14px rgba(0, 0, 0, .9);
}
.aut-st__plate::after {
  /* filo ambra quando serve una persona */
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 1px rgba(224, 160, 80, .7), 0 0 26px -6px rgba(224, 160, 80, .7);
  opacity: 0;
  transition: opacity var(--t-ui) var(--ease-out);
  pointer-events: none;
}
.aut-st.is-person .aut-st__plate::after { opacity: 1; }
.aut-st__ping {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  box-shadow: 0 0 0 1px rgba(224, 160, 80, .75), 0 0 30px -4px rgba(224, 160, 80, .6);
  opacity: 0;
  pointer-events: none;
}
.aut-st__icon { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--argento); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.aut-ic-bell { transform-origin: 50% 14%; }
.aut-st__name { font-family: var(--font-mono); font-size: .6rem; font-weight: 500; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; color: var(--fg-2); }
.aut-st__n { position: absolute; top: 8px; right: 10px; font-family: var(--font-mono); font-size: .54rem; letter-spacing: .1em; color: var(--fg-3); }

/* LED a due strati: si anima solo l'opacità */
.aut-led {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2A3136;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .05);
}
.aut-led i { position: absolute; inset: 0; border-radius: inherit; opacity: 0; transition: opacity 260ms var(--ease-out); }
.aut-led__b { background: var(--blu); box-shadow: 0 0 0 3px rgba(140, 192, 230, .16), 0 0 14px var(--aut-blu-glow); }
.aut-led__a { background: var(--scintilla); box-shadow: 0 0 0 3px rgba(224, 160, 80, .18), 0 0 14px var(--aut-sci-glow); }
.aut-st.is-done .aut-led__b { opacity: 1; }
.aut-st.is-wait .aut-led__a, .aut-st.is-person .aut-led__a { opacity: 1; }

/* Ingressi della prima stazione: email, modulo, foglio */
.aut-st__in { display: flex; gap: 5px; }
.aut-st__in i {
  position: relative;
  display: grid;
  place-items: center;
  width: 20px;
  height: 18px;
  border-radius: 4px;
  background: #121517;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .7), 0 1px 0 rgba(255, 255, 255, .05);
}
.aut-st__in svg { width: 12px; height: 12px; fill: none; stroke: var(--acciaio); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.aut-st__in i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--blu), 0 0 10px rgba(140, 192, 230, .55); opacity: 0; transition: opacity var(--t-ui) var(--ease-out); }
.aut-st__in i.is-on::after { opacity: 1; }
.aut-st__in i.is-on svg { stroke: var(--blu); }

/* Controlla: il pulsante di conferma e il cartellino «serve una persona» */
.aut-st__btn {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #E9EDF0, var(--acciaio) 60%, #3A4247);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .6), 0 0 0 2px #121517, 0 0 0 3px rgba(255, 255, 255, .06);
}
.aut-st__btn i { position: absolute; inset: -5px; border-radius: 50%; box-shadow: 0 0 0 1.5px var(--scintilla), 0 0 12px rgba(224, 160, 80, .6); opacity: 0; transition: opacity 200ms var(--ease-out); }
.aut-st.is-person .aut-st__btn i { opacity: 1; }
.js-motion .aut-st.is-person .aut-st__btn i { animation: aut-call 1.1s var(--ease-in-out) infinite; }
@keyframes aut-call { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.aut-st__tag {
  position: absolute;
  left: 50%;
  top: -12px;
  z-index: 3;
  width: max-content;
  max-width: calc(100% + 6px);
  padding: 3px 7px;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  color: var(--inchiostro);
  background: var(--scintilla);
  box-shadow: 0 6px 14px -6px rgba(224, 160, 80, .8);
  opacity: 0;
  transform: translate(-50%, 4px);
  transition: opacity 220ms var(--ease-out), transform 420ms var(--ease-clack);
}
.aut-st.is-person .aut-st__tag { opacity: 1; transform: translate(-50%, 0); }

/* Gambo (dalla stazione alla pista) e giunto */
.aut-st__stem { position: relative; flex: none; width: 2px; height: var(--stem-h); background: var(--aut-groove); box-shadow: 1px 0 0 rgba(255, 255, 255, .06); overflow: hidden; }
.aut-st__stem i { position: absolute; inset: 0; background: var(--blu); box-shadow: 0 0 8px var(--aut-blu-glow); opacity: .6; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 300ms var(--ease-out); }
.aut-st.is-link .aut-st__stem i, .aut-st.is-done .aut-st__stem i { transform: none; }
.aut-st__joint {
  position: relative;
  z-index: 2;
  flex: none;
  width: var(--joint);
  height: var(--joint);
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #3A4247, #15181A 70%);
  box-shadow: inset 0 0 0 1.5px var(--acciaio), 0 0 0 3px var(--aut-groove);
}
.aut-st__joint::after { content: ""; position: absolute; inset: 3.5px; border-radius: 50%; background: var(--blu); box-shadow: 0 0 10px var(--aut-blu-glow); opacity: 0; transition: opacity 260ms var(--ease-out); }
.aut-st.is-done .aut-st__joint::after { opacity: 1; }

/* La pista incisa: solco, labbro di luce, tratteggio «da fare», linea d'acciaio «fatto» */
.aut-rail {
  position: absolute;
  left: 10%;
  right: 10%;
  top: calc(var(--bed-pt) + var(--plate-h) + var(--stem-h) + var(--joint) / 2);
  height: 0;
}
.aut-rail__groove { position: absolute; z-index: 1; left: -22px; right: calc(-1 * var(--exit) - 8px); top: -4.5px; height: 9px; border-radius: 9px; background: var(--aut-groove); box-shadow: 0 1.5px 0 rgba(255, 255, 255, .08); }
.aut-rail__todo { position: absolute; z-index: 1; left: 0; right: calc(-1 * var(--exit)); top: -1px; height: 2px; background: repeating-linear-gradient(90deg, rgba(195, 202, 208, .5) 0 6px, transparent 6px 11px); transform-origin: 0 50%; }
.aut-rail__fill { position: absolute; z-index: 1; left: 0; right: 0; top: -1.5px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--acciaio), var(--alluminio) 50%, var(--acciaio)); box-shadow: 0 0 10px rgba(140, 192, 230, .35); transform-origin: 0 50%; }
.aut-rail__exit { position: absolute; z-index: 1; left: 100%; width: var(--exit); top: -1.5px; height: 3px; }
.aut-rail__exit i { position: absolute; inset: 0; border-radius: 3px; background: linear-gradient(90deg, var(--acciaio), var(--argento)); transform-origin: 0 50%; }
.aut-rail__exit::after { content: ""; position: absolute; right: -3px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-top: 2px solid var(--argento); border-right: 2px solid var(--argento); transform: rotate(45deg); }

/* La scintilla che precede il documento */
.aut-spark { position: absolute; z-index: 4; left: 0; top: 0; width: 0; height: 0; opacity: 0; pointer-events: none; }
.aut-spark i { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; border-radius: 50%; background: var(--aut-hot); box-shadow: 0 0 0 3px rgba(224, 160, 80, .35), 0 0 18px 5px rgba(224, 160, 80, .75); }
.aut-spark::before { content: ""; position: absolute; right: 2px; top: -1.5px; width: 38px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, transparent, rgba(224, 160, 80, .95)); }

/* Il documento stilizzato */
.aut-doc {
  position: absolute;
  z-index: 5;
  left: 100%;
  top: 0;
  width: var(--doc-w);
  height: var(--doc-h);
  transform: translate(calc(-50% + var(--exit) / 2), -50%);
  pointer-events: none;
}
/* L'ombra è un'ombra di riquadro su uno strato sotto il foglio: niente filtri su ciò che si muove */
.aut-doc__shade { position: absolute; inset: 0; border-radius: 3px; box-shadow: 0 7px 8px rgba(0, 0, 0, .6); }
.aut-doc__sheet {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 3px;
  background: linear-gradient(180deg, #F4F6F7, var(--alluminio-2));
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%);
}
.aut-doc::before { content: ""; position: absolute; z-index: 1; top: 0; right: 0; width: 9px; height: 9px; border-radius: 0 0 0 2px; background: linear-gradient(225deg, transparent 50%, #AEB6BC 50%); }
.aut-doc__lines { position: absolute; inset: 8px 6px 6px; }
.aut-doc.is-foglio .aut-doc__lines {
  background:
    linear-gradient(var(--acciaio) 0 0) 0 0 / 100% 3px no-repeat,
    repeating-linear-gradient(180deg, transparent 0 5px, rgba(122, 132, 139, .5) 5px 6px),
    repeating-linear-gradient(90deg, transparent 0 6px, rgba(122, 132, 139, .4) 6px 7px);
}
.aut-doc.is-email .aut-doc__lines {
  background:
    linear-gradient(34deg, transparent 47%, var(--acciaio) 47% 55%, transparent 55%) 0 0 / 50% 11px no-repeat,
    linear-gradient(-34deg, transparent 47%, var(--acciaio) 47% 55%, transparent 55%) 100% 0 / 50% 11px no-repeat,
    linear-gradient(rgba(122, 132, 139, .75) 0 0) 0 16px / 86% 2px no-repeat,
    linear-gradient(rgba(122, 132, 139, .75) 0 0) 0 21px / 64% 2px no-repeat,
    linear-gradient(rgba(122, 132, 139, .75) 0 0) 0 26px / 76% 2px no-repeat;
}
.aut-doc.is-modulo .aut-doc__lines {
  background:
    linear-gradient(var(--acciaio) 0 0) 0 0 / 58% 3px no-repeat,
    linear-gradient(rgba(122, 132, 139, .35) 0 0) 0 7px / 100% 6px no-repeat,
    linear-gradient(rgba(122, 132, 139, .35) 0 0) 0 16px / 100% 6px no-repeat,
    linear-gradient(rgba(122, 132, 139, .35) 0 0) 0 25px / 62% 6px no-repeat;
}
.aut-doc__scan { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--blu); box-shadow: 0 0 8px 1px var(--aut-blu-glow); opacity: 0; }
.aut-doc__tab { position: absolute; left: 4px; top: -5px; width: 14px; height: 6px; border-radius: 3px 3px 0 0; background: var(--acciaio); transform-origin: 50% 100%; }
.aut-doc__badge {
  position: absolute;
  z-index: 2;
  right: -7px;
  bottom: -7px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--blu) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.4 8.3l2.3 2.3 4.9-5.1' fill='none' stroke='%2315181A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 100% no-repeat;
  box-shadow: 0 0 0 2px #1A1F22, 0 0 12px var(--aut-blu-glow);
}
.aut-doc.is-person .aut-doc__badge {
  background: var(--scintilla) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 4v5' stroke='%2315181A' stroke-width='2' stroke-linecap='round'/><circle cx='8' cy='11.8' r='1.2' fill='%2315181A'/></svg>") center / 100% no-repeat;
  box-shadow: 0 0 0 2px #1A1F22, 0 0 12px var(--aut-sci-glow);
}

/* Il registro sotto il pannello */
.aut-log {
  margin: 0 -22px;
  padding: 14px 30px 20px;
  border-radius: 0 0 var(--radius-l) var(--radius-l);
  background: linear-gradient(180deg, #0B0D0F, #111417);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, .85), inset 0 3px 10px rgba(0, 0, 0, .6), 0 -1px 0 rgba(255, 255, 255, .05);
}
.aut-log__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px dashed rgba(195, 202, 208, .14); }
.aut-log__title { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-3); }
.aut-log__legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 16px; font-family: var(--font-mono); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3); }
.aut-key { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.aut-key::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; }
.aut-key.is-done::before { background: var(--blu); box-shadow: 0 0 6px var(--aut-blu-glow); }
.aut-key.is-person::before { background: var(--scintilla); box-shadow: 0 0 6px var(--aut-sci-glow); }
.aut-key.is-todo::before { width: 14px; height: 2px; border-radius: 0; background: repeating-linear-gradient(90deg, rgba(195, 202, 208, .6) 0 3px, transparent 3px 5px); }
.aut-log__list {
  list-style: none;
  display: grid;
  align-content: start;
  gap: 1px;
  margin-top: 10px;
  min-height: calc(6 * 1.62rem);
  font-family: var(--font-mono);
  font-size: .66rem;
  line-height: 1.5;
}
.aut-log__row { display: grid; grid-template-columns: 6.6em 8.6em minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 3px 0; }
.aut-log__t { color: var(--fg-3); white-space: nowrap; }
.aut-log__k { display: inline-flex; align-items: center; gap: 7px; color: var(--fg-2); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.aut-log__k::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%; background: var(--blu); box-shadow: 0 0 6px var(--aut-blu-glow); }
.aut-log__m { position: relative; min-width: 0; color: var(--cromo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* La tendina che scopre il messaggio a scatti: si muove in transform, il testo non si ridisegna */
.aut-log__cover { position: absolute; inset: 0; background: #0E1114; transform: scaleX(0); transform-origin: 100% 50%; pointer-events: none; }
.aut-log__row.is-person .aut-log__k::before { background: var(--scintilla); box-shadow: 0 0 6px var(--aut-sci-glow); }
.aut-log__row.is-person .aut-log__m { color: var(--scintilla); }

/* Tablet stretto: stazioni più basse */
@media (max-width: 899px) and (min-width: 700px) {
  .aut-line { --plate-h: 108px; --stem-h: 20px; }
  .aut-st__plate { gap: 6px; padding-inline: 6px; }
  .aut-st__icon { width: 26px; height: 26px; }
}

/* Telefono: la linea diventa verticale */
@media (max-width: 699px) {
  .aut-line {
    --row-h: 52px;
    --row-gap: 8px;
    --stem-h: 14px;
    --joint: 14px;
    --exit: 56px;
    --bed-pt: 20px;
    --bed-pb: 76px;
    --rail-x: 22px;
    --doc-w: 26px;
    --doc-h: 34px;
    padding: 16px 14px 0;
  }
  .aut-line__head { padding-inline: 4px; }
  .aut-line__stations { grid-template-columns: minmax(0, 1fr); row-gap: var(--row-gap); }
  .aut-st { flex-direction: row-reverse; justify-content: flex-end; align-items: center; height: var(--row-h); padding-left: calc(var(--rail-x) - var(--joint) / 2); }
  .aut-st__plate { flex: 1; width: auto; min-width: 0; height: 100%; flex-direction: row; justify-content: flex-start; gap: 11px; padding: 0 12px 0 30px; }
  .aut-led { top: 50%; left: 12px; margin-top: -4px; }
  .aut-st__icon { width: 24px; height: 24px; }
  .aut-st__name { margin-right: auto; }
  .aut-st__n { position: static; order: 9; }
  .aut-st__btn { position: relative; right: auto; bottom: auto; }
  .aut-st__tag { left: auto; right: 10px; top: -10px; max-width: none; transform: translateY(4px); }
  .aut-st.is-person .aut-st__tag { transform: none; }
  .aut-st__stem { width: var(--stem-h); height: 2px; box-shadow: 0 1px 0 rgba(255, 255, 255, .06); }
  .aut-st__stem i { transform-origin: 0 50%; transform: scaleX(0); }
  .aut-st.is-link .aut-st__stem i, .aut-st.is-done .aut-st__stem i { transform: none; }

  .aut-rail { left: var(--rail-x); right: auto; width: 0; height: auto; top: calc(var(--bed-pt) + var(--row-h) / 2); bottom: calc(var(--bed-pb) + var(--row-h) / 2); }
  .aut-rail__groove { left: -4.5px; right: auto; width: 9px; top: -22px; bottom: calc(-1 * var(--exit) - 8px); height: auto; box-shadow: 1.5px 0 0 rgba(255, 255, 255, .08); }
  .aut-rail__todo { left: -1px; right: auto; width: 2px; top: 0; bottom: calc(-1 * var(--exit)); height: auto; background: repeating-linear-gradient(180deg, rgba(195, 202, 208, .5) 0 6px, transparent 6px 11px); transform-origin: 50% 0; }
  .aut-rail__fill { left: -1.5px; right: auto; width: 3px; top: 0; bottom: 0; height: auto; background: linear-gradient(180deg, var(--acciaio), var(--alluminio) 50%, var(--acciaio)); transform-origin: 50% 0; }
  .aut-rail__exit { left: -1.5px; width: 3px; top: 100%; height: var(--exit); }
  .aut-rail__exit i { background: linear-gradient(180deg, var(--acciaio), var(--argento)); transform-origin: 50% 0; }
  .aut-rail__exit::after { right: auto; left: 50%; top: auto; bottom: -3px; margin: 0 0 0 -4px; transform: rotate(135deg); }
  .aut-spark::before { right: auto; left: -1.5px; top: auto; bottom: 2px; width: 3px; height: 34px; background: linear-gradient(180deg, transparent, rgba(224, 160, 80, .95)); }
  .aut-doc { left: 0; top: 100%; transform: translate(-50%, calc(-50% + var(--exit) / 2)); }
  .aut-doc__lines { inset: 7px 5px 5px; }
  .aut-doc__badge { width: 15px; height: 15px; right: -6px; bottom: -6px; }

  .aut-log { margin-inline: -14px; padding: 12px 18px 18px; }
  .aut-log__list { min-height: calc(6 * 2.6rem); font-size: .64rem; }
  .aut-log__row { grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 0; }
  .aut-log__m { grid-column: 1 / -1; white-space: normal; }
}

/* Stato iniziale dell'hero, solo con movimento e finché lo script non prende il comando
   (.is-live) o non chiede lo stato fermo (.is-static). Si spegne solo ciò che nello stato
   finale è acceso. Rete di sicurezza: se lo script non parte, dopo 6 s tutto torna com'è. */
.js-motion .aut-line:not(.is-live):not(.is-static) :is(.aut-log__row, .aut-doc, .aut-st.is-done .aut-led__b),
.js-motion .aut-line:not(.is-live):not(.is-static) .aut-st__in i.is-on::after,
.js-motion .aut-line:not(.is-live):not(.is-static) .aut-st.is-done .aut-st__joint::after {
  opacity: 0;
  animation: aut-failsafe-o .5s 6s forwards;
}
.js-motion .aut-line:not(.is-live):not(.is-static) :is(.aut-rail__fill, .aut-rail__exit i, .aut-rail__todo) {
  transform: scaleX(0);
  animation: aut-failsafe-t .5s 6s forwards;
}
.js-motion .aut-line:not(.is-live):not(.is-static) .aut-st__joint { transform: scale(0); animation: aut-failsafe-t .5s 6s forwards; }
.js-motion .aut-line:not(.is-live):not(.is-static) .aut-st.is-done .aut-st__stem i { transform: scaleY(0); animation: aut-failsafe-t .5s 6s forwards; }
@media (max-width: 699px) {
  .js-motion .aut-line:not(.is-live):not(.is-static) :is(.aut-rail__fill, .aut-rail__exit i, .aut-rail__todo) { transform: scaleY(0); }
  .js-motion .aut-line:not(.is-live):not(.is-static) .aut-st.is-done .aut-st__stem i { transform: scaleX(0); }
}
@keyframes aut-failsafe-o { to { opacity: 1; } }
@keyframes aut-failsafe-t { to { transform: none; } }

/* Luce del puntatore sul livello del core: un alone già disegnato che si sposta in transform
   (era un radiale 90% 70% fino al 60% nello sfondo, che si ridisegnava a ogni movimento) */
.aut-line > .light-spot, .aut-calc__machine > .light-spot { --spot-w: 1.08; --spot-h: .84; --spot-color: rgba(255, 255, 255, .06); }
.aut-line > .light-spot { --lx: .62; }

/* Quando lo script guida la linea, posizioni e trasformazioni sono sue */
.aut-line.is-live .aut-doc { left: 0; top: 0; transform: none; }
.aut-line.is-live .aut-st__stem i { transition-duration: 380ms; }
/* Strati stabili per tutto ciò che si muove o si accende mentre la linea gira: il giro
   si compone senza ridisegnare la pagina (regole 1 e 2 della fluidità) */
.aut-line.is-live :is(.aut-doc, .aut-spark, .aut-rail__fill, .aut-rail__exit i, .aut-st__tag, .aut-doc__scan, .aut-doc__badge, .aut-doc__tab) { will-change: transform, opacity; }
.aut-line.is-live :is(.aut-rail__todo, .aut-st__joint, .aut-st__stem i, .aut-st__btn, .aut-st__icon, .aut-log__cover) { will-change: transform; }
.aut-line.is-live :is(.aut-st__ping, .aut-led i, .aut-st__btn i, .aut-log__list, .aut-log__row),
.aut-line.is-live :is(.aut-st__plate, .aut-st__joint, .aut-st__in i)::after { will-change: opacity; }

/* ==========================================================================
   INTRO
   ========================================================================== */
.aut-intro { border-top: 1px solid var(--line); }
.aut-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); gap: clamp(18px, 4vw, 64px); align-items: start; }
.aut-intro__eyebrow { font-stretch: 100%; padding-top: .7em; }
.aut-intro__text {
  font-family: var(--font-display);
  font-stretch: 104%;
  font-weight: 500;
  font-size: clamp(1.3rem, 2.2vw, 1.95rem);
  line-height: 1.34;
  letter-spacing: -.01em;
  color: var(--fg-2);
  text-wrap: pretty;
}
@media (max-width: 760px) { .aut-intro__grid { grid-template-columns: minmax(0, 1fr); } .aut-intro__eyebrow { padding-top: 0; } }

/* ==========================================================================
   PRIMA E DOPO · i cartellini
   ========================================================================== */
.aut-weeksec .section-head { margin-bottom: clamp(44px, 5vw, 72px); }
.aut-week {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3.4vw, 48px);
  max-width: 1060px;
  margin: 0 auto;
  align-items: start;
}
.aut-card {
  position: relative;
  padding: 40px clamp(20px, 3vw, 36px) 26px;
  border-radius: 8px;
  color: var(--inchiostro);
  background:
    radial-gradient(120% 70% at 20% 0%, rgba(255, 255, 255, .9), transparent 60%),
    linear-gradient(180deg, #FBFBFA 0%, #EFF1F2 100%);
  box-shadow:
    inset 0 1px 0 #fff,
    0 1px 1px rgba(21, 24, 26, .12),
    0 2px 0 rgba(21, 24, 26, .04),
    0 28px 50px -30px rgba(21, 24, 26, .55);
}
.aut-card--before { transform: rotate(-1.2deg); }
.aut-card--after { transform: rotate(.8deg); margin-top: 34px; padding-bottom: 92px; }
.aut-card__hole {
  position: absolute;
  top: 13px;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border-radius: 50%;
  background: linear-gradient(180deg, #C4CACE, #DDE2E5);
  box-shadow: inset 0 2px 3px rgba(21, 24, 26, .35), 0 1px 0 #fff;
}
.aut-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--inchiostro); }
.aut-card__title { font-family: var(--font-display); font-stretch: 118%; font-weight: 780; font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1; letter-spacing: -.02em; }
.aut-card__sub { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fg-3); }
.aut-card__rows { list-style: none; }
.aut-card__rows li { position: relative; display: grid; grid-template-columns: 7.4rem minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 17px 0; border-bottom: 1px solid rgba(21, 24, 26, .12); }
.aut-card__rows li:last-child { border-bottom: 0; }
.aut-card__day { font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-3); }
.aut-card__txt { font-size: 1.02rem; line-height: 1.45; color: var(--fg-2); }
.aut-card--after .aut-card__txt { display: flex; align-items: flex-start; gap: 10px; color: var(--inchiostro); font-weight: 560; }
.aut-check { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: none; stroke: var(--blu-scuro); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.aut-card--before .aut-card__txt { position: relative; }
.aut-strike { background: linear-gradient(currentColor, currentColor) no-repeat 0 60% / 100% 1.5px; }
/* Durante la sequenza la barratura è fatta di barre (una per riga di testo) che si allungano */
.aut-bar { position: absolute; left: 0; top: 0; height: 1.5px; background: currentColor; transform-origin: 0 50%; pointer-events: none; }

/* Il timbro: inchiostro blu tempra, doppia cornice, grana dell'inchiostro */
.aut-stamp { position: absolute; right: clamp(18px, 3vw, 34px); bottom: 20px; transform: rotate(-7deg); pointer-events: none; }
/* l'ombra dell'impatto: un'ombra di riquadro già sfumata (era un riquadro con blur(10px)) */
.aut-stamp__shadow { position: absolute; inset: 18px 14px 12px; border-radius: 8px; background: rgba(21, 24, 26, .4); box-shadow: 0 0 20px 10px rgba(21, 24, 26, .4); opacity: 0; }
.aut-stamp__ink {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 5px;
  padding: 11px 18px 10px;
  border: 2.5px solid currentColor;
  border-radius: 6px;
  color: var(--blu-scuro);
  background: rgba(238, 241, 243, .55);
  /* grana dell'inchiostro: piastrella PNG già pronta e ripetibile (160 px, mostrata a 100: grana come prima).
     Era un filtro feTurbulence in SVG: lo stesso rumore, ma calcolato a ogni primo disegno del timbro */
  -webkit-mask: url("data:image/png;base64,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") 0 0 / 100px 100px repeat;
  mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgBAMAAAB54XoeAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWNxwqAAAACHRSTlMAJEltkrbb/1y0/6IAACYHSURBVHjaBcHdd9tWmi/o37shiwAVEe8GnYigKyIAOieWXBWTUnpNV6p6Ko77XJ2rXudczvX8dT3VPbPmnJmeqcTOdHclqbJIytWxZZcJgHSsD8fE3htKxA+L2PM89L8eJQFD+SXr7Vedtfj9p9HbmzM1+ntGJdYOUP3+v717HVWTuDKQqIzZevQ3USXGXay//iJVcfDSUQfDPtIki61hwUGEzA4nWA9LVpd0G1pkx90vVGZTLf4JA307+9lqm+Mry3ZG6Nw87KjSjqCshEpK68iowBqNUYQBrKCAFKg6SgcgW0rTixTPrOaxJsMUX780vQixVlz5AVVHExoR28dFVWn/VX9dmIgs7CxGHlybte+vBThnXT04rESfmQFUUoDZsA/Weac8IBDjva87mjKIANzLJ4KTKWuQNQdcDWMtX/Exl/2BSCbG+SUPrpps3Lhe1avl65NoGKfvtWqrZBitA3NVD831N1npd7l+1X3sPvn1GKcBh3nUbaSiOr5Tx7OEi1ub3+2W1XNPSk9Yy9InSEiV05e6eJioPNOC1/alyX/MMpr90O+PX/ExmpUxAY6lYuQNA0xYSifN1iNMWHQGmcNro+E40eZ7k50LvT5r1urtzpYfrvZ0q649edH2kmQe1KZ3VtnB5rd3Fos9WbRbNy4jS3Ixv/oF3GfSXR0s9c6Jm1DCExnOa047OV3WsNnezEXtRUSStZGerJaed6ZNSH6pZeP87ABe47m/RQs5f+p88K8fF83vM/d5PDOyRWtPLuZSukTy9PU7kYCUPyWgJEJlYMr1+gg2h5V+hNzYTjqN+5p2B4BGYMn08PmktPS+kkgeq7wybJGgADoKBGdfBmHtZDMY7be81tvLnCKcbrQefpbxcc99yJ409Y5o1Iftrejsxe6/OWFSPUps3X3xtzv12ovwziT0B+8aT9un+ZU0HbctlIYdpSgSRoEN+6EdZ6LQB5BFJMAkC2lzUE4W1kRVxrAU5T6D8YqpF0AXebNjgn8MVGUiMhACWkcPmhKVyjR1AstJN7Za+0FVaOHbVJPEgBmqSOAcWl3pMlI51mD1EFZBVmyCmGS/O0QapEK+BzRjSUfpQLAmCiSBfF8d03j8qJdVAUcSo1mG65wzOmxgkvlaHhUT8PitluXnxBqaGAEAw76IDK81ND6fRh0wgVVWKSGpV+GjXR1bus5h48muzoOULFRqOLaX/ck/VDa4zbyL6pVuAFIDPip76Xgkz17sfivnW1Rb4erMPP919S+fjHZOQinbr0+6cth+XR7EcnGrFVjDp7diDbnwYuUK2aqON78JJL9u3lh5T2tP9n5+1RL3BjOVKj2UDGTjacIWzj0DikwAFMjR524DlhhU6O0sSG3HXI8aIzWxICKCadgNLjtVke8i6MD5O2/xiz3pbQu4en9T+N6gfUVtF41/Ca+Wsdnx9A2T1a8WS3LnAT29626K3G3feB6H6gxea7FyuY6Lk2QZspB/vKWd/VXiuqienS+jAM+8l1uffBd6rusVI5dCXOyaSeuPS/fb5un2mzp7w3oolHZaJOG9Lq1YILhy3O/Pi323VpcvUayc918nqoY3xU1/2nrZftM7V/6PHb24WNBeqOdU5aI1vZ8GtW9DCoGrVc07OWAY/4w8c+fi6tbJ5vPIc0NpQXbSpc0NrsC2pI+iLEKZHDtxmkzIjj+CUJbE+uZNpExdWRwmdvTLv9zm69TOyvVGI09+LMj/8zSOJBEHNm38HBGzFR0LCI4iSNYHKWE9MrOR3AA+NDxBI7ejuI/CDiKydsCVJhzQ7qtd8cX6FcHKDsM/IgVrS1QxLAkoqJHCl4W1QwRs/6OHvtKfIBc86dibPIqULWAe+HoUf4pA69Jm1LdDDOP7tpTSt5cRHCts0yeri7XzW7N57M68f195/PIyCq3Xdgmvl6d+4JPyvJ+P+1f1ZU3U7Le1hKznz/Pq7KcoezqfSHJN4mZZIF3TKENvWfvmzcf/JNDRSX+Kw040erAmK3is4R8IoTLRaEysvI8SigCqBDABLnvBgwKXB/F/VTmtgSAGFJNWqASYYse93JOzrvTa9ry988jqxqNoqaZ7YXvywaud5zFqKal0q2XJ9B5tX7b+0OWV1xmv9q7q4WJ93n5cJm56tVWz+UVsnY9NLDToKGcwrLBW2inspKEYgEIubAadFiqJtKBK+XqsH2TEqIZRNdWIiik4BrofMY4KaacRkd1wfHR+yj7c0JWiabx9KQ5lKXwUPkRUSNb0KQBUUAic6oD1h7mNX923BCi+uQvW/uDAsLnZ4CrrKAHnf2FaeLUX8xNvJmIXJyKufd8tjhdLamXq8LUrPe9sLgp/RcSexHnI9qnn5u3WfJDvu96puXrTmISe1/KqvLpA7vx2sDqjnbrXaqH8gAahCmeXsbj4n6YNK9PA04F2/Uest1h7bibBZBd6/2yL7fP9tuuh8eMe1eQFu8W5Fgtn46/Ob87qH5N77tmz7o3zct8/Xbba1XLx07t24EVLw5v16ydx0j6z7ZpaqoH/vFb+vBWarO3yyc6kuqhLPuli89HPv2jv3GrhQBRBRZZi5kuIJCpGuXbWGDaaHwJwdEdRrtmHVekRkSziDFlHaRoARNJEpvthOhRAsRZvdQ40rXM7TuuTHUyuL3fONPHzX8dm6SEgfV7z3m65o4hkbtnIxHUXfrs832fPeCQX4Q9i4XqFWCzdPU0Sd6snPXpc3xRxIf3K5ruklapyigKbS5LsK/ZtNqI+ACkHeUrSDnKrwJKaEaJGJgFdVQMZJyobmy6aPVNVmSPsINH+1LfTe2U/jnRHW12tMSMRD4v3P7FasNVS7QpQYQ0VMaBhdVWkrLVPXalzyKA3BKB09j7B+W0VzG+N04073nqxpKy+PfqsusSgjGvLrZan/1gT3kksm2FK2W9OouD9r6U/0OHmuuNZWuTtnVXt1Egv/3CC07ND2UqFhRbwf4oIIyq3FRDPDPuZz1WeAW+zpo97dgpESCY9YzfARzLLhghMEO1Ck7IUM3X+ufjSJNcawvlNuawtVpttfbVK7NXW3K/PLxX7wYWkneVi1Y6LFSvCDXG+kI1l2uZ5EKi7AjxfLpYjprnXIrUZLLqdfc2rq6Vzd9l5NvxszmcbG42l4z5F4E1qgX9uam13PuqH1X9XgWkM9C1WtYv263eti/DMJra9PveMS+5VuqytlHDr7KWQm99CsK0oQkZBU9uUG6ygI5U7ka+QEVlM4phjq4UlUgYHrGNUrI3dCKAqJp0YPeYJAW9zxqt7yvlMZd2kgny+86wbfv3hdej+nMdzOpN1t7gSmy9qe007ad0NrTn/eLn+a/zqSae5/e68Rafzer1lI7EXhKerD04Wm7/0iOuJs/+uNi/Jc0PCpFXU3rU0LzxXxU9BSza2HU45DTzt0plHOyfJZnbLN7Uln0n63tlVwnWPWxict9c4bwMARBCBYa3WKn5L8U0FMoGUhelKVCISNveHgV8gtzaCEjyNc8IIhiwONSk26wz64BBBcnuoFGYjkdtXTa3sUAW2yAVJqkpJxGDpa4uYI/mr9Ej7+g/pSBYSEVtqDCcdbbWtyMKCq4GJLMivINXgnoCKZhw04wYgFIqsCng9sKShcZj7ugAg2E6iA2J7IxoCNhWxqtIynv7P/xyDTWpJZlLhrSBQYpzrvn8ePw2xPmlv3fFqk2S9uvrL3vjuS+8Hx68/S+WFDHELw/3g/dLd/GPdbsUQ/dlPG2YPz+r89R614/nZeau+FFeE8Kn43FYGeElNUGRQVVqMv7a2m1pNs6ntyTEDwcwqMA3YHm5fRiNEKHtSghpEa5UOwP4IOuCIYUfOA1s0N8NJpAPXjOu16Z5uHCxby3ooxc+3apM7rtg03jdhH+o8upDyaXvzxPcKTy/dZa3cDAK/7tJyYfoX1qfcXewLK37iIgvGX8lq1FQ2xtqITmVYFOYjXhcla310xNLATIKCKuKvpBio8q2R1sa+ZhFLbtg+RZOy4IZmUaKDpmI6AHEUCz83DswxYza0gH7FRpm4x2mWxwrAPx2CelxccrPK9KQiXo8ArYHxrMe5HCbKEf6p8Oo8Cc/51L0oQjrbO95rnVlnvyHSW1f1fPd5t95wYiVfi71CtPKD6rgWT/Z2sj2UbehJ55m0t9K9+vCHy/hs1RLFkdDa133+sDzkyhgOCFCB0BjMJiDfyEJDawSIsipQREDkK2gyfxhEqKCKAx2gMVFr08mSiES3Gzc0FBSGSKW0WCtWgquOpaBvY/U7fd9ixNUQ6JeqUpyTQhApCvo3M6T4hxIvterKSfeQKqnXGxYKFb03kDJay6I508ZMexG0pE/BP5ZNLcmgabMqDxgVLKxCfMmA/tXNMUxziErl111JgZXVEPdEH2lg7UakqfP7ZkdHeaIbMoNvUwCTkn2yAnL78nMVoBIcyFjBKZCjY/JEB7ANddiIh5hppYtGZ7KBhPOuIupnSDAR5T26bxqpNYR/DKJPLbTFMMpuQTzm7HOV955ws9LRn6f34jU0j3GQB03Y+4isUPqeCATZPMIYDBkHKNmmbAH7FdLsfmMK0nzZ7OGTjY6Ki2I8iP7VP4JkMpJAM3qMdb6bAkQgCY6hcueu2y4WIlRXpT9IPP+5lEUpvc0myba3s0n/Y59OWt73dcKdrbhVHsha4Nao2BOcU9td3Nr8051hrC78CS+0y+OtufOA8B+z9/jbndfeRewiZPJkMd1cxkp682/sSfdl0LLnjsvCdbGSriuXT+uzn/zNh0G1ap8u2tLmphbw1fG9U5yZ52KioS+xjhllDyCQJehPprM8gt42DrNVNEx2M/sIx1UOzL72Y5bMZY+gbao0lJWdvDJR8SpwdjvOnaXsykXAop13Bk+nHXv0bvtf9+IW6rMnSbu1R63lOm+92aNK7VXkD81n+CaZB+SSK7+81U7O3/+xT7Xs/K6sm7DltYVGlSqJQU6wzGttne2HvwKEKnSHmGzuIBcyB2IDwQOlkR/Cz0HymGKkYxAR0zDTM/RAAs7fRNpd1bzX7c3v7iIIWbjV9Z7N4MpgcuNPNiiotbJb4eaj+HV9yYuDYH5yx/z8487DpHHjXcurBe7F5nLTicOrFzuTrOZuGJr2xExGmW0gsKNOUBS3ieI8BnZfzt4zv/xXP2BGVQBgK4mPquK4sXFtId8RdAxsjS/jPhD8H/e4SkkADagJplW/C6SNKbIuQVMEDZJ8mDkod7sYT3s6gDUK67zbrAy/6r80TkU+AATbEkAVEMc0cQ79fF7+Ghef5PBHe8GNerXFRRGM8+HeSeuunbdjUC3rTPe8l4LWS/n4/Q886lHo2VIK9+mJ3PjLoZd/MJqLfpZ5yd5GvG4IBhobXaw1QWZdUvxYm+pAxQAVQMU2+fMNw1LR9SVuIrCGADSeMCPK9VsoxAZKYns2YePcXdS9mmu+DzZ13dqlO5ALw9gP2jtPk/mZnMjFzmiz7k5rTOzWO1Zc1LzFerqDPJ7sZFvBgpDMTav989ZcJOEMwmYqM2TLojjKY6WtHpioaBL7MFjnJNdHomFyemeqYWCsED4Xdjdfp3lXdvIi5924D5kSUA0KA5ML0Q9+kVt9EMsHfzaSbWQZRtKPxibVcQAlOG9KxgNrIh2ZTK8LQkExsULDQmlth5q+gC5lkFRWJw513cWbxipKedJq/3DSrd9Z3ngSDWPPzMt7q4aJd/55U7Rc+y+fwTSkPFVbMbm3PLMIVe1V8rG3mD8M7bJ28cNPffpj3J4LAfh2qKv8VSOvhNVMR6/uFwnydW5J2QwCpEbk7KLBNIG4HQECiKJqhIoF0jSwJRMOgOLg6+r3zn/xcusdnN7iZWil8/EFPL7Y+faOfuFFLSO9C7kI9852V7VJPAg2j2O72DSn0lydZ22elzt6Sfsueyc7o1C65yHWW0KutSAKQBElYKeyubQ4mA0BDdLk++OYYqmP+xVpJUFa2NnRUHQKLU3jq1QrimW6VtfCf0yIZE8gj+TuQGqbVxNlM9a5jYknh1GnFIAFbT9EToj4UX887aCSCA4QsQhQBYnRKgYojjmzihlKj5x2k5XXdr+9YyT/W9mWwVpfbNafhZ73+jwy/kUo9quzBZ3u5Em0uhrUT5dvfzisTmrTOy//Gq0+C73BWWvpT7vhWXzRuAhDsR5AEdBDhMJJmBBl14/AmcZBohg88rU4jLdzEYHgUwWSEYIAPeTRGlBojDXbl9pmWUS7E+v8XU1iWRsksxc7F/dW537u34zexIsPVj7ON0smXXvSyQFRc73Zm5iS2ip08+qF67l+fSndq+WbPi3dMl62tmoZ6pvO3zOeEf/wbudErVrPFi1/Eoo0Vt5JsdVatGlu3QubLpPW6dl8uU8S9eqi+qYQnXTV+jZ8b9jUe97mG162vt1zMXhmz0VOoprAUU/YWlKaRKJxQDAyAF1eDytdxvy51eBP/WY1BPR2Zj6/bYNYzRQTMedVHtmH8KHR78I4/yUNWk9qK7+Nux+U+3lj/iw49RbPD5ZRbRC6L/bnsblof7D6ty1brPhPH315lxLyg3j94468m9H2X/15sP1KUuv1G/XBX/thKfIEzra8B44x5Eo2sxQGaYTOxOYT+DAUvTdwEEORmXyOm1ooIMexfTjBWom3WimRoof+PX/SA0HAVLqbk9Uja1DANrtWctTRduj0I2jc05WjLGKUTkTWkVbBz/jaxL1g1OTgQAa47MGmSgVk36pPnDAemTtnbT6Jb2z4/1dStcPa13uucGkesmcF40LSPi78IKT1heXG/6AEZPyyxd7TfZdcL7dh7XE7+Pdz169fuCvnU3m1cOPf750JNg23lB4KTRJqyV6xcpksPNdamnvVssrFPFh03cnm+XKvyoJt9zic+Od7ZJfkUXL1zrZvfOf8xssPavkyDo/jxrTZOI6yq9s117x94fl/rFvvaH7xelFMYu+oLmvN3YDCk9AOf8PDNx8f89Zpm6tvr7z5rXMeeV15VR/uCzU2sCkTNMaDxjgmucGSOKHO+vZuaWNzoNNXB8AhQaDMMLOQHegqIqkBQPQ5m9rHjwuZgwrNzi9ljbwy8mZiZ3rvXfPMM3zh6/PqDa+8n+vuarbV9tjg6vzcuzpu7Ygrglu9a/zoL7za88grXPL8oPbjZ57r1c5XyULEUmWTuPpq0iMIsG1AjrVujJSWMMMiM8rGux39tijycUZCB0mVbbATVwNuWqXUkQl8KKZE6sKAfee32RJX0zvFTxGe7s0v7pBE5wKtpg0vfrirnKtf2NobJml/+tuL3fc6tLh6M89u/bTimmMaq1EPzQ9EdmFbHtZPrpLXc+P87V9+HbZfdsNYzRftmklbxcrVD/16PA/nE8kJV037bZKHp+/u1FbZRbSZ39p3T09AH5Ry7YTni0vOkrZXDc5Xn3mr3UsxAQCZEwznsOil2Wic90xu06wjYwKauBZYTw4UNqJ1jh8+ZCDCh4YqwEJSpBk2pxhVXkUEkfwCM32gKgWSUFp0ZS+RB91IN+kJF0MUM3tzGz6Qoljf3q64+TCDThye+MNy11LH5qJaZ0A3soCCoKQ4Sqkn1DjTKisIgh1rmK1cS64Yemgp+v20Sh2kU9lTrGesoakyfERCpwZWBsQFkEDkInPeW7T9y1ZK7c7Xvbqsc5qgquWhrkYIl42V2TUhLazzUTlnwUuSk40nn7lXeedbd8dpsff+G+kaRj24mn6QtwZ3rZM8bfsvOsOPR17S8pan7xuZkhPheSKlf8GYTw7V5nd7sua0JH+ft08DeWgHzgHJeHhwspCj+vabKK0ene2H1z+G0fGesIewVkeapLZgHuk0K5gsZrrxB22fFIGd6iDQhLUGBOuRAA46OfzriUUj9dnRsGZ7d5CWEqZnN0SsTC/fDRxkrCRLoOlnKo62n0TJTah78i2CRz3Oyg4XB1+j6q2nNjJstfrC5n2prC20lGX3pZQit7Qt+rCG7hnDdH/m64CkBK0NscO4zWhUeuRTDKaxqDJU+BvOXh4dpXZtBKsKokm2o+U4tk3Ocb3OpwKYBVoMlIYdko80r1g5faV1D7AiCF5+2oFCJe5zqiuRwlIz6saSYK+dWFv4TwTbSa6C9YCN2KUNS9PbumpGZuZ8yuatjjIyPZv55TiI374K6CaqY63XcBDctiyRdvOGhJLRUXF4UHzpdK4Vvej6vt4+sJcJHwvCFxZZTCz83QmPTKaT6Hg9pjQmJTSDG/+fjbXVPAygq6LK9O7k2JKFkhZMkieyMpEELne/VLJSzm/MGS5C1yum5+3MXUUft8rGd/starOukbeQi6t3iML5tPM0NuwtAp603Hg2bVnbrOmnv3Wt2LPt57X6Uzm/tW4rIVRhM19uPx5sj7H7qB+XpMEkraZi8DCuwLIX2Wxg8eFgCNkYBZYksp4d/MQ4GoGL2AZBlKOPgBLkfSE5PvRBotv8h6zZQ5UJOJyWooIve5oyIJdB1Zd0u2CCBD4ZKUgQ9bRlxttLzgDfWtJ2NgRpx/MXz+Os+YFcrM5Df7BahDzLDxYs7eRQPq13aPx1Z7VzzVf1ZmyPXuwY/099+MfhPLhhLnveXGyntwbuqHUa3PjpHrXmItF5nyIrJtsZckPWWMgAXGj0i5xirJu7OTvMgdUwUdJh0ShgJbpwLII8qMykUpO+FYMMlRFrwQ6UnhRgiorIBrJjFToKlYWZyDgzOR1I5G+VPcZs1IwewpoA2mZaa1a4NkIG5QEhiPvN7LXVTWeVcB4XK8JZ/eNsq+U1RtrD+s0Pr3ySkPKiMLFuHO99q2V0Ot2z49Vibo/D82U810WTiVooEvdnR8Jz9d7cWGF10FBq4kNbDWBkZAL+S2RiySls3hFyPRKSdvPo+rIHkjZJmlHQm6CQ5Rrkww6By0hBAwDD+fBX0+j87ttVGD5P/HpWCwm4cRzeMb6R9tmm2Wcs2psv7ixDlfDb58Ge9nj2ZIa4WLbrmxcz1Qx44g5dWRv/qf9qi8XnQ1CATgy6hzyDhlwPdMGZRaY5LsYZRATfKoLJQf1UESNpiC+seAmf/qqhyY7RmCA//uRhc0RCCdaNbIJZCmRSEo3QbcaQMRWRyj8Vkc5lmsdsoTkvbYe00hQH9mHSz2GoG9sGHUZdX8kHB9tBr3Lw7s7/Wc+WVHuq2yqZx9YNjDRhnYik+9+TzXLO3vi87S0o23l9l6T39kJ6XsMO20HLXnQC+ulSuuRdzd9EdPas/dr5u3jTnX5y7bZo05w2ydV+6V7FxrVEtUm0siKu0eLw1H94EJ3e8nJ5/eTXSxcQp3XU8rgmskXZWgvr56JlT+vS3YA/ue3cvHlECWHbz8e6V6qDlyaiQbJGkjb5y9/lBoGQYyeQ9iW/PBg11o6/Fg1ei+LxR9TFYPtSykOkyeXvShZxlVdKIWHkyEco9Eju6sReSpnmGglslRcES51yFgCyIOyimRNJKsqIAwnAlknMCin6UxbO3Tpf0UX4uj4/iWrNncv78Pzv4h1Rq9frrU2tKPyx7z3jCxmd1V2dHXok8/CGe9y/2DRaerTp0tUv1kvvWa3tLpbXL0QKvkziWTYKJAW2krCpBlE6kXHEWq5Hkmk75plEzn8ddhTWJCEzg90vjzLyU7JHyn45AGfSyt3JhyIerRWq5qe/ze9BbB9zRmQ61rGco0JgH91/CTvdRoD8QVUGkZoEKEBxpNDt9oAZWX2YH+o0YYygS+nc3nl2uP5z5CFbpnUvPEtki87nQWv+3P/3TLpOC887We1N/HaLU++864d2YOJ8+3hPtOrSlneftdViP2hv1tff7S3QrolOcQlzD6DdLGIiA1DD19DZ9kM/kBSBY9ibMfIMEf1uKPRa3EdjcqCQKaxz9CExQJWmWVaNfECYblwYHlgdkKh0pS2KMslR3Tw8uJnkWQUF04W+bjagiVKLHwCLpp9B7qppr7CZpI6SSdw9DGQOKySxP1NvR3bkVxqpBiCJc84pTnid5qDHUiqbw+QyqmA4Kt5+NTJ2lkvnpcDwKyOTJpGkZo9+FTM5v9Xais0tt7VcRSexasN92obaL10uPHAW8vOIszfrJ+3/FKQlYqoVbz4ul/1J36xXsa2Vrk/z5+yahVvldrlcinU+g7kZJyPpC/uwyz71H9qBqqJxWv1v2W2u4q7g7csvlGMbmQCnkjcOvqi+FJEdlbaUkVZFL18P+aXW0jAExv3LPmgNxPbABxMy0AMt0NHwLyMpGKgYrGCdmCs0RUcB6Ff2xucNdRRV68KpdB7bYjSeUpU7v70K6efvIruV1+Yr/s73dM1jcUMsvEniy8UZGzebt+sbZXgULP2T1nLB37eLc88vMb+Q+1ok7Xzj3Z6t197dl9VVKUhQFvj6kvHya+Z1mukgLjjIMrJ5UB1B5X8Y3NRaxPCzfHYJ/0tyYAfkcPXYBJYkrX3KCboJskpogRKaiLYrfdhAEU3jmVn/BaXtWzvLSCZ2uxlzDsGD29yYWpE3LQPdSFvTZeQA8ph8BDNrYbXubKy3j3837NvCROIeyqCHtd6e2bx3RM0+MK2+ftAcWIoKRVUC2LHTs//491GcctrkzGby0e9G3Ub/+ms57VfiwEAQ9UQBiGKsGWzx2MDEXyqhpQ+gB8fX98YEX/MlNKg7YyRM4zSTeW4rZzsy/xWXPIr776XpQ2I4vz2JjMdZ3W/ndW/uy/NfC4oua7U98haLC5+WN1bhNF7My72z9XTuk1ubzBPwKpLuRcuNZz92KK1d1Ll+VW+nscmdX3Tqbnb6XC5DV+IiMIk436HW+//PvufVzoenzua/3/XCzT/uNG/oU+eDxZvWaF/rqi79abgISWfahFY9+qI22anTbHUK573NoKDFg6LcWc49356EgPt1ZJebF3J9GTZy/etJaBFkAu3adG+18Jf8RhaX0ZfJ/OJKhfXNtus27TKwp0+ihVRyg+NqIuOq/OTlkwfQvh1yXFRj6ldldv0RsBFZJ/UF3W7kAbTN7La06OyWNuA//+R3gOThvcw5tGr0+U3b5MNCQBSFmiKySlrIo2kjB89GApQW06O8ikCcWMWcSaCitX/JaYQREIOiNFMM/6EmwLLhcQarnG747C5rV2pZ36nKaHmHl7V3MWG+upe4njtRtJlv/UwX8WJpD7SpyxuXYRoaPvfrz/ut+cr19KE8aV38p9WN5rKgCxGh78s4QOoUKtU0Exrox53HRzShgMn3dZVmikCWmyT9D0ciXk8CvP3qf2dmkhpg7bOVBEFRpHvCaDFDhjGPkoABoSuNRyC6uesX0GDZ0Z0o5l1AA5ayz6ELOYxeyciwPdLaDpLYorQEiyMRw/mNMjvTO1R2REinjl9G6f4644t73yWBV/3f8yv65peB9/O72mAUfcNXb+5Cq+u91lB+Vqvq3rO7LQrY/OXdtq29+GDo2z/Fgo+0wMPrmaMxfqWzXnaYTqyOnP74q2zCFKcCFk1QhZnNIAEcMegAedBkPIBVNvf9Ijh6yE6ZKMYGbkdqW25IDZs/0NYOo0A/GFljD46YWDt8e3RPv+xObn9UBZdBOXP4Jh91gVnH2Lw/g+NXFNSw0RNrLfRtiEHMoBhx3ntpwRLRiJl8PdZ00y84RWSZGrADyUGzAvR4eH89yzKgevxygvXDlJowuU4kiz4kPxaSx6U/UNSYlTTOtE0i5FDgyEZ6Wkk8lBmGid8YwKqEuAlt6T9vm5gp6DZwGTceVej6w2imjV84ldgQSP9zFbCOcHm4dmCLYVyuS2nl+rL8fC3QxP11Uo0+9avfH8hqGN37Ia+63Y0qdQ5A0IfrY0IaM+xsem/SHx4IIFAPx3ZkJxEo08iTg88zjBjDAYN6OABKaYr0GI4dUyVHeC8AWJQ2x69srJ3ese5yXDSLhr4Hv3K2Ihd7+8Kfr3w1dyVUsqgF9MHViz7Ctz9mYWbnk3DUkwj2sMLF/uabwM8E25P9zaWk195F3DqjM/6m6166vrBz51Z848Tz6ISoWCxWTMvwdBoWLpGsvPPMDdX3Vz9Fqint0vXYi1FfhCAJer8MT0KrW4OEHp/MlbeY75NL3xvRL3RgkTc62nS1tCpCBKu4jDBF6YuCP3V86CqbzADKkMNHtq2hAljYUTOPjnB4EOWBaa4zjV5T+AFkk1CVkYRCOhrbMUhYLqpi0P+00qDDAn0p4wSDlyP4j/0Umf1/H4rOUW6PxqJ7CBV3H0SVb5XVl7yRJTcBRGsz6Vc3efvJPeRicKDZpsFLAZ+HCbgI4JPN+zMJVlaJT74WHVTE4ISAygG4Ssw7f3izB+e9WC0uhtH4PfLTfV170/KCuit/Xp2JvbO7HHoqJNr09KapSWMvYvBFu0MyjOnhvscvOnR17tOyNnLlnNvCszecZf/se434S7FnSzk/t/a4tZSbJ1Btt7OSRK36IvRo8R/TpPi6V/5MPKj7pfRo/fDXqNVD999yz0v/3XrSM570v+mIhGRUSqIYQhZcBiI22yoDO34+KTSADHhoTQBb9MQ9lYlDX9C1Bt17YoVKccjIo08fDAHkICZnvza967nS836YyIFd3QkorHOw8y6irN062fyj2Vve0DuyGZGkHy7d8Dkt+Twt55SEnt0ZBJKSsBbYZes4Gp8M70MIacHbOXhkuQsmMKA02TE6TNLEJQpdiq80HZmGbSi9W6w1/w0raXMQ2RwxIEBFpcAqIiuUbaiqGVn9gMANrTCcKdMwFNiJLuwk/nwWiPvmk9yCtSNlDA6Ur02CgtdDCiJrB1ZZGNHXzS86mkQmYowMYuVX2UD79Hb7K1XlzDJ96I//UAE52DJr251lSWU0JTIR9hNdTLgge8Dp0D+u/kn7E39AskTm/DJWwSyPbaDMvvZ8fb5fz/2ml7NcxBd3aFHuXWi7POeytUgdkrOQkPN8Na9Ho/WPu+L6yd7qzkKv9ubSn9bO4soJKTRJZNWLOIQXusHr91rU3cwtZ7Yd8labx3lipd9MQzeaxC4tlrU/vLNX4qoZykp445utRn526+NFmIfz9gfT8P8Hb+NEwp194pIAAAAASUVORK5CYII=") 0 0 / 100px 100px repeat;
}
.aut-stamp__ink::before { content: ""; position: absolute; inset: 3px; border: 1.2px solid currentColor; border-radius: 3px; pointer-events: none; }
.aut-stamp__ink b { font-family: var(--font-display); font-stretch: 118%; font-weight: 800; font-size: clamp(1.02rem, 1.7vw, 1.3rem); line-height: 1; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.aut-stamp__ink small { font-family: var(--font-mono); font-size: .52rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }

/* Solo mentre la scena gira: barre, righe, timbro e cartellino su strati propri */
.aut-week.is-running :is(.aut-bar, .aut-card--after, .aut-card--after .aut-card__rows li, .aut-stamp__ink, .aut-stamp__shadow) { will-change: transform, opacity; }

/* L'etichetta «Esempio illustrativo» dei cartellini, centrata sopra la coppia */
.aut-week__tag { position: absolute; left: 50%; bottom: calc(100% + 16px); transform: translateX(-50%); }
@media (max-width: 760px) {
  .aut-week { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .aut-card--after { margin-top: 0; }
  .aut-card__rows li { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px 0; }
}

/* Stato iniziale (solo con movimento, e solo se i cartellini erano fuori vista all'avvio:
   .aut-arm lo mette lo script; .is-played a sequenza finita riporta lo stato finale) */
.js-motion .aut-week.aut-arm:not(.is-played) .aut-strike { background-size: 0 1.5px; }
.js-motion .aut-week.aut-arm:not(.is-played) .aut-card--after .aut-card__rows li { opacity: 0; }
.js-motion .aut-week.aut-arm:not(.is-played) .aut-check path { stroke-dasharray: 1 2; stroke-dashoffset: 1.01; }
.js-motion .aut-week.aut-arm:not(.is-played) .aut-stamp__ink { opacity: 0; }

/* ==========================================================================
   CALCOLATORE · la macchina del tempo ripetuto
   ========================================================================== */
.aut-calc { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.aut-calc__intro { display: grid; gap: 20px; align-content: start; }
.aut-calc__note { font-size: var(--fs-small); line-height: 1.55; color: var(--fg-3); max-width: 32em; }
/* il passo dopo il calcolatore: la stima economica, al ribasso, si fa insieme */
.aut-calc__euro { display: grid; gap: 10px; justify-items: start; max-width: 32em; padding-left: 16px; border-left: 2px solid var(--blu); }
.aut-calc__euro p { font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }
.aut-calc__euro strong { color: var(--fg); font-weight: 620; }
@media (max-width: 1079px) { .aut-calc { grid-template-columns: minmax(0, 1fr); } .aut-calc__intro { max-width: 44rem; } }

.aut-calc__machine {
  position: relative;
  isolation: isolate;
  border-radius: var(--radius-l);
  padding: 18px clamp(18px, 3vw, 36px) clamp(24px, 3vw, 34px);
  background: var(--brushed), var(--aut-panel);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .09),
    inset 0 0 0 1px rgba(255, 255, 255, .035),
    0 1px 0 rgba(0, 0, 0, .6),
    0 44px 80px -40px rgba(0, 0, 0, .95);
}
.aut-calc__head { padding: 0 6px 14px; border-bottom: 1px solid var(--line); }
.aut-calc__dials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 2vw, 28px); padding: 26px 0 26px; }
.aut-dial { display: grid; justify-items: center; align-content: start; gap: 12px; }
.aut-dial__label { font-family: var(--font-mono); font-size: .62rem; font-weight: 500; letter-spacing: .14em; line-height: 1.3; text-align: center; text-transform: uppercase; color: var(--fg-2); }

/* La manopola: scala con tacche, zigrinatura che gira, cappello tornito fermo (la luce non gira) */
.aut-knob {
  --box: 150px;
  --body: 104px;
  --cap: 78px;
  position: relative;
  width: var(--box);
  height: var(--box);
  flex: none;
  border-radius: 50%;
  cursor: grab;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
  outline-offset: -8px;
}
.aut-knob.is-grab { cursor: grabbing; }
.aut-knob__scale { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.aut-knob__track { fill: none; stroke: var(--aut-groove); stroke-width: 6; stroke-linecap: round; }
.aut-knob__arc { fill: none; stroke: var(--blu); stroke-width: 2.5; stroke-dasharray: 1 1; stroke-dashoffset: calc(1 - var(--p, 0)); }
/* l'alone dell'arco: un tratto largo e tenue sotto quello pieno, al posto del filtro */
.aut-knob__arc--aura { stroke: rgba(140, 192, 230, .22); stroke-width: 7; }
.aut-tick { stroke: rgba(195, 202, 208, .35); stroke-width: 1.5; stroke-linecap: round; }
.aut-tick.is-on { stroke: var(--blu); }
.aut-knob__grip, .aut-knob__shade, .aut-knob__cap, .aut-knob__mark, .aut-knob__proxy { position: absolute; left: 50%; top: 50%; border-radius: 50%; pointer-events: none; }
.aut-knob__grip {
  width: var(--body);
  height: var(--body);
  margin: calc(var(--body) / -2) 0 0 calc(var(--body) / -2);
  background: repeating-conic-gradient(from 0deg, #5C666D 0deg 3deg, #1B2024 3deg 6deg);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .75), 0 18px 30px -10px rgba(0, 0, 0, .9), 0 4px 8px rgba(0, 0, 0, .6);
  transform: rotate(var(--r, -135deg));
}
.aut-knob__shade {
  width: var(--body);
  height: var(--body);
  margin: calc(var(--body) / -2) 0 0 calc(var(--body) / -2);
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 255, 255, .26), transparent 50%),
    radial-gradient(circle, transparent 60%, rgba(0, 0, 0, .5) 100%);
}
.aut-knob__cap {
  width: var(--cap);
  height: var(--cap);
  margin: calc(var(--cap) / -2) 0 0 calc(var(--cap) / -2);
  background:
    repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .04) 0 1px, rgba(0, 0, 0, .04) 1px 2px),
    conic-gradient(from 0deg, #DCE1E4, #8C959B 12%, var(--cromo) 25%, var(--acciaio) 38%, #C9CFD4 50%, var(--acciaio) 62%, var(--cromo) 75%, #8C959B 88%, #DCE1E4);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .75), inset 0 -2px 3px rgba(0, 0, 0, .35), 0 3px 7px rgba(0, 0, 0, .6), 0 0 0 1px rgba(0, 0, 0, .55);
}
.aut-knob__mark { width: var(--cap); height: var(--cap); margin: calc(var(--cap) / -2) 0 0 calc(var(--cap) / -2); transform: rotate(var(--r, -135deg)); }
.aut-knob__mark::before { content: ""; position: absolute; left: 50%; top: 6px; width: 4px; height: 22px; margin-left: -2px; border-radius: 2px; background: #2B3237; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .85), 0 1px 0 rgba(255, 255, 255, .65); }
.aut-knob__mark::after { content: ""; position: absolute; left: 50%; top: calc((var(--body) - var(--cap)) / -2 + 3px); width: 3px; height: 7px; margin-left: -1.5px; border-radius: 2px; background: var(--blu); box-shadow: 0 0 6px var(--aut-blu-glow); }
.aut-knob__proxy { width: var(--body); height: var(--body); margin: calc(var(--body) / -2) 0 0 calc(var(--body) / -2); opacity: 0; }
.aut-knob__min, .aut-knob__max { position: absolute; bottom: 2px; font-family: var(--font-mono); font-size: .56rem; letter-spacing: .08em; color: var(--fg-3); pointer-events: none; }
.aut-knob__min { left: 10px; }
.aut-knob__max { right: 6px; }
.aut-knob:focus-visible { outline: 2px solid var(--accent); }
.aut-knob.is-pointer:focus-visible { outline: none; }

.aut-dial__field { position: relative; display: block; width: 136px; }
.aut-dial__input { padding: 12px 78px 12px 14px; font-family: var(--font-mono); font-size: 1rem; text-align: right; -moz-appearance: textfield; appearance: textfield; }
.aut-dial__input::-webkit-inner-spin-button, .aut-dial__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.aut-dial__unit { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .06em; color: var(--fg-3); pointer-events: none; }

/* Il risultato: contatore a rulli */
.aut-calc__out { display: grid; justify-items: center; gap: 14px; padding-top: 26px; border-top: 1px solid var(--line); text-align: center; }
.aut-counter {
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 10px;
  font-family: var(--font-mono);
  font-size: clamp(2.2rem, 4.2vw, 3.3rem);
  font-weight: 500;
  line-height: 1.24;
  background: linear-gradient(180deg, #07090B, #111417);
  box-shadow: inset 0 2px 7px rgba(0, 0, 0, .85), inset 0 0 0 1px rgba(0, 0, 0, .65), 0 1px 0 rgba(255, 255, 255, .07);
}
.aut-roll {
  position: relative;
  display: block;
  width: .86em;
  height: 1.24em;
  overflow: hidden;
  border-radius: 4px;
  color: var(--cromo);
  background: linear-gradient(180deg, #171B1E, #2A3035 50%, #171B1E);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .6);
}
.aut-roll::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .6), transparent 32%, transparent 68%, rgba(0, 0, 0, .6)); pointer-events: none; }
.aut-roll__strip { display: block; transform: translateY(calc(var(--d, 0) * -10%)); transition: transform 560ms var(--ease-clack); }
.aut-roll__strip b { display: block; height: 1.24em; font-weight: 500; text-align: center; }
.aut-roll.is-lead { color: #4A535A; }
.aut-roll--dec { color: var(--argento); background: linear-gradient(180deg, #1D2226, #353C42 50%, #1D2226); }
.aut-counter > .aut-roll:nth-child(1) .aut-roll__strip { transition-delay: 300ms; }
.aut-counter > .aut-roll:nth-child(2) .aut-roll__strip { transition-delay: 240ms; }
.aut-counter > .aut-roll:nth-child(3) .aut-roll__strip { transition-delay: 180ms; }
.aut-counter > .aut-roll:nth-child(4) .aut-roll__strip { transition-delay: 120ms; }
.aut-counter > .aut-roll:nth-child(5) .aut-roll__strip { transition-delay: 60ms; }
.aut-counter__comma { align-self: flex-end; width: .35em; text-align: center; color: var(--fg-3); line-height: 1.1; }
.aut-calc__unit { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-2); }
.aut-calc__formula { display: grid; gap: 6px; max-width: 40rem; font-family: var(--font-mono); font-size: .68rem; line-height: 1.6; letter-spacing: .03em; color: var(--fg-3); }
.aut-calc__sum { color: var(--fg); }

@media (max-width: 640px) {
  .aut-calc__dials { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px 0; }
  .aut-dial { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "knob label" "knob field"; justify-items: start; align-items: center; column-gap: 16px; row-gap: 10px; }
  .aut-dial__label { grid-area: label; text-align: left; align-self: end; }
  .aut-knob { grid-area: knob; --box: 128px; --body: 88px; --cap: 66px; }
  .aut-knob__mark::before { height: 18px; top: 5px; }
  .aut-dial__field { grid-area: field; align-self: start; }
  .aut-counter { font-size: clamp(1.9rem, 9vw, 2.4rem); }
}

/* ==========================================================================
   COSA POSSIAMO AUTOMATIZZARE
   ========================================================================== */
.aut-cando__grid { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.aut-cando__grid > li { display: grid; }
.aut-task { display: flex; flex-direction: column; align-items: flex-start; }
.aut-task__icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 26px;
  border-radius: 10px;
  background: #121517;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, .75), 0 1px 0 rgba(255, 255, 255, .06);
}
.aut-task__icon svg { width: 26px; height: 26px; fill: none; stroke: var(--argento); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.aut-task--open {
  border-radius: var(--radius);
  padding: clamp(22px, 2.4vw, 32px);
  border: 1.5px dashed var(--line-strong);
  background: color-mix(in srgb, var(--fg) 2%, transparent);
}
.aut-task--open .aut-task__icon { background: transparent; box-shadow: inset 0 0 0 1.5px var(--line-strong); }
.aut-task__link { margin-top: auto; padding-top: 18px; }
.aut-task__link svg { width: 16px; height: 16px; }
@media (min-width: 961px) {
  .aut-cando__grid > li:nth-child(3n + 2) > .aut-task { --d: 90ms; }
  .aut-cando__grid > li:nth-child(3n + 3) > .aut-task { --d: 180ms; }
}
@media (max-width: 960px) { .aut-cando__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .aut-cando__grid { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   INTEGRAZIONI · il mozzo
   ========================================================================== */
.aut-int { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.aut-int__text { display: grid; gap: 20px; align-content: start; }
@media (max-width: 1079px) { .aut-int { grid-template-columns: minmax(0, 1fr); } .aut-int__text { max-width: 44rem; } }

.aut-hub { position: relative; width: 100%; max-width: 640px; margin-inline: auto; aspect-ratio: 640 / 560; }
.aut-hub__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.aut-cable__slack { fill: none; stroke: rgba(195, 202, 208, .42); stroke-width: 2; stroke-dasharray: 5 6; stroke-linecap: round; opacity: 0; }
.aut-cable__groove { fill: none; stroke: var(--aut-groove); stroke-width: 9; stroke-linecap: round; }
/* l'alone del cavo è un tratto largo e tenue sotto quello pieno: niente filtri */
.aut-cable__aura { fill: none; stroke: rgba(140, 192, 230, .15); stroke-width: 5; stroke-linecap: round; }
.aut-cable__taut { fill: none; stroke: var(--blu); stroke-width: 2.4; stroke-linecap: round; }
.aut-hub__halo { fill: rgba(140, 192, 230, .05); }
.aut-hub__groove { fill: none; stroke: var(--aut-groove); stroke-width: 3; }
.aut-hub__lip { fill: none; stroke: rgba(255, 255, 255, .07); stroke-width: 1; }
.aut-port > circle:first-child { fill: #0B0D0F; stroke: var(--acciaio); stroke-width: 1.5; }
.aut-port__led circle:last-child { fill: var(--blu); }
.aut-wifi__base { opacity: .55; }
/* Sopra il disegno, ognuno su uno strato proprio: le onde accese e gli impulsi che viaggiano sui cavi.
   L'anello d'emissione sta sotto. Si muovono solo in transform e opacità (regole 1–3). */
.aut-hub__fx { position: absolute; inset: 0; pointer-events: none; }
.aut-wave { position: absolute; left: 43.75%; top: 44.2857%; width: 12.5%; height: 12.1429%; overflow: visible; }
/* il bagliore è un filtro su un tracciato fermo, dentro uno strato che si anima solo in opacità:
   si disegna una volta sola, come uno sprite già sfocato */
.aut-wave path { fill: var(--blu); filter: drop-shadow(0 0 2px rgba(140, 192, 230, .9)); }
/* l'impulso: alone già sfumato (al posto della sfocatura) e nucleo caldo; x e y le scrive lo script */
.aut-pulse {
  position: absolute;
  left: 0;
  top: 0;
  width: 4.0625%;
  aspect-ratio: 1;
  margin: -2.03125% 0 0 -2.03125%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(224, 160, 80, .68), rgba(224, 160, 80, .6) 25%, rgba(224, 160, 80, .32) 52%, rgba(224, 160, 80, .1) 76%, rgba(224, 160, 80, 0));
  opacity: 0;
}
.aut-pulse::after { content: ""; position: absolute; left: 50%; top: 50%; width: 23%; aspect-ratio: 1; margin: -11.5% 0 0 -11.5%; border-radius: 50%; background: var(--aut-hot); }
.aut-hub__ring { position: absolute; left: 50%; top: 51.7857%; width: 31.25%; aspect-ratio: 1; margin: -15.625% 0 0 -15.625%; border: 1.5px solid var(--blu); border-radius: 50%; opacity: 0; pointer-events: none; }
.aut-hub.is-live :is(.aut-pulse, .aut-hub__ring),
.aut-hub.is-live .aut-node__body::before { will-change: transform, opacity; }
.aut-hub.is-live .aut-wave { will-change: opacity; }
.aut-hub.is-live .aut-node__body { will-change: transform; }
/* WebKit (Safari): mentre i cavi si tendono (stroke-dashoffset) il disegno del mozzo va su un livello
   suo. Così a ogni fotogramma si ridisegna solo il tratto del cavo dentro l'SVG, non anche lo sfondo
   della sezione che gli sta sotto, che WebKit dipinge con il processore */
html.is-webkit .aut-hub.is-live .aut-hub__svg { will-change: transform; }
.aut-hub__label { font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: .22em; fill: var(--fg-3); }

.aut-hub__nodes { list-style: none; position: absolute; inset: 0; }
.aut-node { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); }
.aut-node__body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px 7px 7px;
  border-radius: 10px;
  white-space: nowrap;
  background: var(--brushed), linear-gradient(180deg, #2B3237, #1B2024);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 0 0 1px rgba(0, 0, 0, .45), 0 16px 26px -12px rgba(0, 0, 0, .9);
}
.aut-node__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: #121517; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .75), 0 1px 0 rgba(255, 255, 255, .05); }
.aut-node__icon svg { width: 20px; height: 20px; fill: none; stroke: var(--argento); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.aut-node__name { font-size: .86rem; font-weight: 600; font-stretch: 104%; color: var(--fg); }
.aut-node__led { position: relative; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #2A3136; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .7); }
.aut-node__led::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--blu); box-shadow: 0 0 0 3px rgba(140, 192, 230, .16), 0 0 10px var(--aut-blu-glow); transition: opacity .35s var(--ease-out); }
/* anello di ricezione: un dato arriva al programma */
.aut-node__body::before { content: ""; position: absolute; inset: -4px; border-radius: 13px; box-shadow: 0 0 0 1.5px var(--blu), 0 0 18px rgba(140, 192, 230, .5); opacity: 0; pointer-events: none; }
.aut-node.is-rx .aut-node__body::before { animation: aut-rx .9s var(--ease-out) both; }
@keyframes aut-rx { 0% { opacity: 0; transform: scale(.96); } 25% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.07); } }
.aut-hub__tag { position: absolute; right: 0; bottom: 0; }
@media (max-width: 640px) {
  .aut-node__body { flex-direction: column; gap: 5px; padding: 0; background: none; box-shadow: none; }
  .aut-node__icon { width: 40px; height: 40px; border-radius: 10px; background: var(--brushed), linear-gradient(180deg, #2B3237, #1B2024); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 0 0 1px rgba(0, 0, 0, .45), 0 10px 18px -8px rgba(0, 0, 0, .9); }
  /* il cavo passa dietro l'etichetta: lo sfondo del pozzo la stacca dal filo */
  .aut-node__name { padding: 2px 5px; border-radius: 3px; background: var(--pozzo); font-family: var(--font-mono); font-size: .56rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-2); }
  /* il LED sull'angolo dell'icona, non su quello dell'etichetta (che è più larga) */
  .aut-node__led { position: absolute; top: -2px; left: 50%; margin-left: 15px; }
  .aut-node__body::before { inset: -4px auto auto 50%; width: 48px; height: 48px; margin-left: -24px; border-radius: 13px; }
  .aut-hub { margin-top: 8px; margin-bottom: 44px; }
  .aut-hub__tag { right: auto; bottom: auto; left: 0; top: calc(100% + 12px); }
}

/* Stato iniziale (solo con movimento, e solo se il mozzo era fuori vista all'avvio):
   cavi allentati, porte e onde spente */
.js-motion .aut-hub.aut-arm:not(.is-played) .aut-cable__slack { opacity: 1; }
.js-motion .aut-hub.aut-arm:not(.is-played) :is(.aut-cable__groove, .aut-cable__aura, .aut-cable__taut) { stroke-dasharray: 1 2; stroke-dashoffset: 1.01; }
.js-motion .aut-hub.aut-arm:not(.is-played) :is(.aut-port__led, .aut-wave),
.js-motion .aut-hub.aut-arm:not(.is-played) .aut-node:not(.is-on) .aut-node__led::after { opacity: 0; }

/* ==========================================================================
   PRINCIPI
   ========================================================================== */
.aut-princ__grid { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.aut-principle { display: grid; gap: 14px; align-content: start; padding: 30px clamp(16px, 2vw, 28px) 6px 0; }
.aut-principle + .aut-principle { padding-left: clamp(16px, 2vw, 28px); border-left: 1px solid var(--line); }
.aut-principle__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 10px; background: var(--brushed), linear-gradient(180deg, #2B3237, #1B2024); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), inset 0 0 0 1px rgba(0, 0, 0, .45), 0 10px 18px -10px rgba(0, 0, 0, .9); }
.aut-principle__icon svg { width: 24px; height: 24px; fill: none; stroke: var(--argento); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.aut-principle__title { font-family: var(--font-display); font-stretch: 110%; font-weight: 680; font-size: 1.2rem; line-height: 1.2; }
.aut-principle p { font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }
@media (max-width: 960px) {
  .aut-princ__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; }
  .aut-principle, .aut-principle + .aut-principle { padding: 26px 20px 22px 0; border-left: 0; border-top: 1px solid var(--line); }
  .aut-principle:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--line); }
}
@media (max-width: 560px) {
  .aut-princ__grid { grid-template-columns: minmax(0, 1fr); }
  .aut-principle:nth-child(2n) { padding-left: 0; border-left: 0; }
}

/* ==========================================================================
   COME LAVORIAMO · quattro passi incisi
   ========================================================================== */
.aut-steps {
  --n-fs: clamp(2.6rem, 4.4vw, 3.9rem);
  --gap: clamp(20px, 3vw, 44px);
  --led-y: calc(var(--n-fs) + 22px);   /* bordo alto del LED */
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
}
.aut-step { position: relative; display: grid; align-content: start; }
/* Il filo da un passo al seguente: tratteggio (da fare) e sopra il filo pieno (fatto) */
.aut-step:not(:last-child)::before,
.aut-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 6px;
  top: calc(var(--led-y) + 5px);
  width: calc(100% + var(--gap));
  height: 2px;
}
.aut-step:not(:last-child)::before { background: repeating-linear-gradient(90deg, rgba(21, 24, 26, .28) 0 6px, transparent 6px 11px); }
.aut-step:not(:last-child)::after { background: var(--accent); box-shadow: 0 0 8px rgba(47, 110, 158, .35); transform-origin: 0 50%; }
/* La cifra è incisa nell'alluminio (vuota) e si riempie d'inchiostro blu tempra.
   Mona e non Hubot: lo zero di Hubot ha la barra e «01» si leggerebbe «θ1». */
.aut-step__n {
  position: relative;
  font-family: var(--font-body);
  font-stretch: 125%;
  font-weight: 800;
  font-size: var(--n-fs);
  line-height: 1;
  letter-spacing: -.02em;
  color: color-mix(in srgb, var(--fg) 11%, var(--bg));
  text-shadow: 0 1px 0 rgba(255, 255, 255, .85), 0 -1px 0 rgba(21, 24, 26, .1);
}
.aut-step__n::after { content: attr(data-n); position: absolute; inset: 0; color: var(--accent); }
.aut-step__led {
  position: relative;
  z-index: 1;
  display: block;
  width: 12px;
  height: 12px;
  margin: 22px 0 22px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px rgba(21, 24, 26, .18), 0 0 12px rgba(47, 110, 158, .55);
}
.aut-step__title { font-family: var(--font-display); font-stretch: 110%; font-weight: 700; font-size: var(--fs-h3); line-height: 1.15; }
.aut-step p { margin-top: 10px; color: var(--fg-2); font-size: var(--fs-small); line-height: 1.55; }
@media (max-width: 900px) {
  .aut-steps { --gap: 34px; grid-template-columns: minmax(0, 1fr); padding-left: 40px; }
  .aut-step:not(:last-child)::before,
  .aut-step:not(:last-child)::after { left: -35px; top: 18px; bottom: calc(-1 * (var(--gap) + 18px)); width: 2px; height: auto; }
  .aut-step:not(:last-child)::before { background: repeating-linear-gradient(180deg, rgba(21, 24, 26, .28) 0 6px, transparent 6px 11px); }
  .aut-step:not(:last-child)::after { transform-origin: 50% 0; }
  .aut-step__led { position: absolute; left: -40px; top: 12px; margin: 0; }
  .aut-step__n { font-size: clamp(2.2rem, 9vw, 2.8rem); margin-bottom: 12px; }
}

/* Stato iniziale (solo con movimento e passi fuori vista all'avvio): un passo alla volta
   si accende il LED, il numero si riempie d'inchiostro dal basso, il filo corre al passo dopo */
.js-motion .aut-steps.aut-arm:not(.is-in) .aut-step__led { opacity: 0; transform: scale(.4); }
.js-motion .aut-steps.aut-arm:not(.is-in) .aut-step__n::after { clip-path: inset(100% 0 0 0); }
.js-motion .aut-steps.aut-arm:not(.is-in) .aut-step::after { transform: scaleX(0); }
.js-motion .aut-steps.aut-arm .aut-step__n::after { clip-path: inset(0 0 0 0); }
/* Le transizioni valgono solo all'entrata: così l'armamento (fuori vista) nasconde tutto all'istante */
.js-motion .aut-steps.aut-arm.is-in .aut-step__led { transition: opacity .3s var(--ease-out) calc(.25s + var(--i) * .52s), transform .6s var(--ease-clack) calc(.25s + var(--i) * .52s); }
.js-motion .aut-steps.aut-arm.is-in .aut-step__n::after { transition: clip-path .8s var(--ease-in-out) calc(.15s + var(--i) * .52s); }
.js-motion .aut-steps.aut-arm.is-in .aut-step::after { transition: transform .5s var(--ease-in-out) calc(.32s + var(--i) * .52s); }
/* WebKit (Safari) ridisegna con il processore ogni fotogramma di un clip-path in transizione:
   lì la cifra si riempie d'inchiostro in opacità, su un livello già disegnato */
html.is-webkit.js-motion .aut-steps.aut-arm .aut-step__n::after { clip-path: none; }
html.is-webkit.js-motion .aut-steps.aut-arm:not(.is-in) .aut-step__n::after { opacity: 0; }
html.is-webkit.js-motion .aut-steps.aut-arm.is-in .aut-step__n::after { transition: opacity .8s var(--ease-in-out) calc(.15s + var(--i) * .52s); }
@media (max-width: 900px) {
  .js-motion .aut-steps.aut-arm:not(.is-in) .aut-step::after { transform: scaleY(0); }
}

/* ==========================================================================
   DALL'OFFICINA · due esempi dichiarati, con dati finti
   Ogni targa porta una miniatura ferma della linea dell'hero, già nello stato finale:
   blu ciò che va da solo, ambra dove decide una persona, tratteggio ciò che resta a mano.
   ========================================================================== */
.aut-cases__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.aut-case { display: grid; gap: 18px; align-content: start; }
.aut-case__tag { justify-self: start; }
.aut-case__title { font-family: var(--font-display); font-stretch: 112%; font-weight: 720; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.12; letter-spacing: -.01em; text-wrap: balance; }
.aut-case__sheet { display: grid; gap: 14px; margin: 0; }
.aut-case__sheet > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.aut-case__sheet dt { padding-top: 3px; font-family: var(--font-mono); font-size: .62rem; font-weight: 500; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; color: var(--fg-3); }
.aut-case__sheet dd { margin: 0; font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }

/* La miniatura: quattro giunti su una pista incisa */
.aut-mini {
  --dot: 12px;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 16px 0 14px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #0B0D0F, #111417);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, .85), inset 0 3px 10px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 255, 255, .05);
}
.aut-mini li { position: relative; display: grid; justify-items: center; align-content: start; gap: 10px; min-width: 0; padding-inline: 4px; text-align: center; }
/* il tratto che arriva al giunto: pieno se ci si arriva da soli, tratteggiato se resta a mano */
.aut-mini li + li::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: -50%;
  right: 50%;
  top: calc(var(--dot) / 2 - 1.5px);
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--acciaio), var(--alluminio) 50%, var(--acciaio));
  box-shadow: 0 0 8px rgba(140, 192, 230, .3);
}
.aut-mini li.is-manual::before { height: 2px; top: calc(var(--dot) / 2 - 1px); border-radius: 0; background: repeating-linear-gradient(90deg, rgba(195, 202, 208, .5) 0 6px, transparent 6px 11px); box-shadow: none; }
.aut-mini__dot {
  position: relative;
  z-index: 1;
  width: var(--dot);
  height: var(--dot);
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #3A4247, #15181A 70%);
  box-shadow: inset 0 0 0 1.5px var(--acciaio), 0 0 0 3px var(--aut-groove);
}
.aut-mini__dot::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; }
.aut-mini .is-auto .aut-mini__dot::after { background: var(--blu); box-shadow: 0 0 8px var(--aut-blu-glow); }
.aut-mini .is-person .aut-mini__dot { box-shadow: inset 0 0 0 1.5px var(--scintilla), 0 0 0 3px var(--aut-groove), 0 0 14px -2px rgba(224, 160, 80, .7); }
.aut-mini .is-person .aut-mini__dot::after { background: var(--scintilla); box-shadow: 0 0 8px var(--aut-sci-glow); }
.aut-mini .is-manual .aut-mini__dot { background: #121517; box-shadow: 0 0 0 3px var(--aut-groove); outline: 1px dashed rgba(195, 202, 208, .6); outline-offset: -1px; }
.aut-mini__k { max-width: 100%; font-family: var(--font-mono); font-size: .56rem; font-weight: 500; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; color: var(--fg-2); }
.aut-mini .is-person .aut-mini__k { color: var(--scintilla); }
.aut-mini .is-manual .aut-mini__k { color: var(--fg-3); }

.aut-cases__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin-top: 36px; }
.aut-cases__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3); }
@media (max-width: 860px) { .aut-cases__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .aut-case__sheet > div { grid-template-columns: minmax(0, 1fr); gap: 6px; } }
@media (max-width: 420px) {
  .aut-mini__k { font-size: .52rem; letter-spacing: .05em; }
  .aut-mini li { padding-inline: 2px; }
}

/* ==========================================================================
   DOMANDE
   ========================================================================== */
.aut-faq .section-head { margin-bottom: clamp(28px, 4vw, 48px); }

/* ==========================================================================
   Stampa: sempre lo stato finale
   ========================================================================== */
@media print {
  .aut-line :is(.aut-log__row, .aut-led__b, .aut-st__joint, .aut-st__stem i, .aut-rail__fill, .aut-rail__todo, .aut-rail__exit i),
  .aut-week .aut-card__rows li, .aut-stamp__ink,
  .aut-hub :is(.aut-port__led, .aut-wave, .aut-cable__taut, .aut-cable__aura, .aut-cable__groove),
  .aut-steps .aut-step__led, .aut-steps .aut-step::after {
    opacity: 1 !important;
    transform: none !important;
  }
  .aut-line .aut-st__joint::after, .aut-hub .aut-node__led::after { opacity: 1 !important; }
  .aut-steps .aut-step__n::after { clip-path: none !important; opacity: 1 !important; }
  .aut-doc, .aut-spark, .aut-pulse, .aut-hub__ring, .aut-bar { display: none !important; }
  .aut-week .aut-strike { background-size: 100% 1.5px !important; }
  .aut-week .aut-check path, .aut-hub :is(.aut-cable__taut, .aut-cable__aura, .aut-cable__groove) { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
  .aut-cable__slack { opacity: 0 !important; }
  .aut-line, .aut-calc__machine { box-shadow: none; }
}
