/* ============================================================
   SERVICE PAGES · shared patterns
   Used by lead-generation, automazioni, software pages.
   ============================================================ */

/* ---------- 3-card grid (problema / casi / etc.) ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,.75rem + .8vw,1.4rem);max-width:74rem;margin:clamp(2rem,1.5rem + 1.6vw,3.25rem) auto 0}
@media (max-width:900px){.cards-3{grid-template-columns:1fr}}
.card-3{padding:clamp(1.4rem,1.1rem + .9vw,1.85rem);background:var(--bg);border:1px solid var(--rule);border-radius:18px;display:flex;flex-direction:column;gap:14px;transition:border-color .42s var(--ease),transform .42s var(--ease-out-expo),box-shadow .42s var(--ease);position:relative;overflow:hidden}
.card-3::before{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;background:var(--teal-grad);background-size:200% 100%;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out-expo)}
.card-3:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(20,25,43,0.16)}
.card-3:hover::before{transform:scaleX(1)}
.card-3-glyph{width:32px;height:32px;color:var(--navy);transition:color .35s var(--ease),transform .42s var(--ease)}
.card-3:hover .card-3-glyph{color:var(--ink);transform:rotate(-6deg) scale(1.08)}
.card-3 h3{font-size:clamp(1.05rem,.95rem + .35vw,1.2rem);color:var(--ink);letter-spacing:-.01em;line-height:1.25;font-weight:700}
.card-3 p{font-size:13.5px;color:var(--navy);line-height:1.62}
.card-3 p b{color:var(--ink);font-weight:700}

/* dark variant for cosmic stages */
.section-dark .card-3{background:rgba(14,18,33,0.5);border-color:var(--rule-dark-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.section-dark .card-3:hover{border-color:var(--fg);background:rgba(14,18,33,0.7);box-shadow:0 18px 40px -20px rgba(0,0,0,0.55)}
.section-dark .card-3-glyph{color:var(--fg-2)}
.section-dark .card-3:hover .card-3-glyph{color:var(--fg)}
.section-dark .card-3 h3{color:var(--fg)}
.section-dark .card-3 p{color:var(--fg-2)}
.section-dark .card-3 p b{color:var(--fg);font-weight:800}

/* ---------- 6-card grid (compact, ambiti / cosa-costruiamo) ---------- */
.cards-6{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.85rem,.7rem + .7vw,1.25rem);max-width:78rem;margin:clamp(2rem,1.5rem + 1.6vw,3.25rem) auto 0}
@media (max-width:900px){.cards-6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cards-6{grid-template-columns:1fr}}
.card-6{padding:clamp(1.2rem,.95rem + .8vw,1.65rem);background:rgba(14,18,33,0.5);border:1px solid var(--rule-dark-strong);border-radius:16px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:11px;transition:border-color .42s var(--ease),transform .42s var(--ease-out-expo),background .42s var(--ease)}
.card-6:hover{border-color:var(--fg);background:rgba(14,18,33,0.7);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(0,0,0,0.5)}
.card-6-icon{width:34px;height:34px;color:var(--teal);filter:drop-shadow(0 0 8px oklch(0.88 0.085 178 / 0.4))}
.card-6 h3{font-size:14.5px;color:var(--fg);font-weight:700;letter-spacing:-.005em}
.card-6 p{font-size:13px;color:var(--fg-3);line-height:1.62}
.card-6 .stack-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.card-6 .stack-tag{font-family:var(--font-mono);font-size:11.5px;color:var(--brand-blue);background:var(--brand-blue-out);border:1px solid rgba(28,58,110,0.22);padding:4px 10px;border-radius:999px;letter-spacing:.005em;font-weight:500;line-height:1.3}

/* ---------- DOSSIER · compact editorial rows ----------
   Three-column press-table style: index+tag, title+outcome, headline stat.
   One thin row per case, hairline separators, no big spreads, no boxes.
*/
.dossier{
  max-width:74rem;
  margin:clamp(1.5rem,1rem + 1.2vw,2.5rem) auto 0;
  border-top:1px solid var(--rule);
}
.dossier-entry{
  display:grid;
  grid-template-columns:minmax(0,2.5rem) minmax(0,1.6fr) minmax(0,1fr);
  column-gap:clamp(1.25rem,.9rem + 1.2vw,2.25rem);
  align-items:start;
  padding-block:clamp(1.6rem,1.2rem + 1vw,2.2rem);
  border-bottom:1px solid var(--rule);
  position:relative;
}
.dossier-entry::before{
  content:"";position:absolute;left:0;top:-1px;width:0;height:2px;
  background:var(--brand-blue);
  transition:width .55s var(--ease-out-expo);
}
.dossier-entry:hover::before{width:2.5rem}

.dossier-num{
  font-family:var(--font-mono);
  font-size:.78rem;letter-spacing:.22em;
  color:var(--brand-blue);font-weight:500;
  align-self:center;line-height:1;
}
.dossier-meta{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.dossier-tag{
  font-family:var(--font-mono);font-size:.66rem;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-3);font-weight:500;line-height:1.5;
}
.dossier-title{
  font-size:clamp(1.1rem,1rem + .35vw,1.35rem);
  line-height:1.25;letter-spacing:-.012em;
  color:var(--ink);font-weight:600;text-wrap:balance;
  margin:0;max-width:36ch;
}
.dossier-title em{font-style:normal;color:var(--navy);font-variation-settings:var(--fv-accent-lg);position:relative;isolation:isolate}
.dossier-title em::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.06em;height:.28em;background:var(--teal-grad);z-index:-1;opacity:.7}
.dossier-quote{
  font-size:.92rem;line-height:1.55;letter-spacing:-.003em;
  color:var(--navy-2);font-weight:400;
  margin:0;max-width:60ch;
}

.dossier-stat{
  display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;
  align-self:center;text-align:right;
}
.dossier-stat-num{
  font-size:clamp(1.65rem,1.35rem + .9vw,2.25rem);
  line-height:1;letter-spacing:-.026em;
  color:var(--ink);font-weight:700;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.dossier-stat-num em{
  font-style:normal;font-family:var(--font-mono);
  font-size:.5em;margin-left:.15em;
  color:var(--navy-2);font-weight:500;letter-spacing:.04em;
  vertical-align:.18em;
}
.dossier-stat-lbl{
  font-family:var(--font-mono);font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--navy-2);font-weight:500;line-height:1.4;
  max-width:18ch;
}

@media (max-width:780px){
  .dossier-entry{
    grid-template-columns:auto 1fr;
    grid-template-areas:"num meta" "stat stat";
    row-gap:1.1rem;
  }
  .dossier-num{grid-area:num}
  .dossier-meta{grid-area:meta}
  .dossier-stat{grid-area:stat;align-items:flex-start;text-align:left}
  .dossier-stat-num{font-size:1.6rem}
}

/* dark-section variant */
.section-dark .dossier{border-top-color:var(--rule-dark)}
.section-dark .dossier-entry{border-bottom-color:var(--rule-dark)}
.section-dark .dossier-entry::before{background:oklch(0.78 0.06 232)}
.section-dark .dossier-num{color:oklch(0.78 0.06 232)}
.section-dark .dossier-tag{color:var(--fg-dim)}
.section-dark .dossier-title{color:var(--fg)}
.section-dark .dossier-title em{color:var(--fg)}
.section-dark .dossier-title em::after{opacity:.55}
.section-dark .dossier-quote{color:var(--fg-3)}
.section-dark .dossier-stat-num{color:var(--fg)}
.section-dark .dossier-stat-num em{color:var(--fg-3)}
.section-dark .dossier-stat-lbl{color:var(--fg-3)}

/* legacy case-ledger kept harmless */
.case-ledger{max-width:80rem;margin:clamp(2rem,1.4rem + 1.4vw,3.25rem) auto 0;display:flex;flex-direction:column;gap:clamp(1.5rem,1rem + 1.4vw,2.75rem)}

.case-row{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;gap:clamp(1.75rem,1.2rem + 1.6vw,3.25rem);padding:clamp(2rem,1.4rem + 1.6vw,3rem) clamp(.5rem,.3rem + .4vw,1rem);align-items:start;color:var(--ink);position:relative;transition:padding-left .55s var(--ease-out-expo),background .42s var(--ease)}
.case-row::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--teal);transform:scaleY(0);transform-origin:top;transition:transform .6s var(--ease-out-expo)}
.case-row:hover{padding-left:clamp(1rem,.6rem + .8vw,1.6rem);background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.04),transparent 65%)}
.case-row:hover::before{transform:scaleY(1)}

.case-row-num{font-family:var(--font-mono);font-size:clamp(12px,.7rem + .2vw,14px);letter-spacing:.2em;color:var(--navy-3);font-weight:500;padding-top:.5rem}
.case-row-body{display:flex;flex-direction:column;gap:clamp(1.4rem,1rem + 1.2vw,2.2rem);min-width:0}
.case-row-head{display:flex;flex-direction:column;gap:.85rem}
.case-row-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-2);font-weight:500}
.case-row-title{font-size:clamp(1.85rem,1.35rem + 1.6vw,2.85rem);line-height:1.08;letter-spacing:-.024em;color:var(--ink);font-weight:600;text-wrap:balance;max-width:30ch;margin:0}
.case-row-title em{font-style:normal;color:var(--navy);font-variation-settings:var(--fv-accent-lg);position:relative;isolation:isolate}
.case-row-title em::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.06em;height:.32em;background:var(--teal-grad);z-index:-1;opacity:.7}
.section-dark .case-row-title em{color:var(--fg)}

.case-row-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,.8rem + 1.2vw,2.75rem);max-width:54rem;margin-top:clamp(.5rem,.4rem + .3vw,.85rem)}
.case-row-stat{display:flex;flex-direction:column;gap:8px;min-width:0}
.case-row-stat-num{font-size:clamp(2.3rem,1.7rem + 1.6vw,3.4rem);line-height:.95;color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.case-row-stat-num em{font-style:normal;color:var(--navy-2);font-size:.38em;margin-left:4px;font-weight:var(--fw-mono);vertical-align:.32em;font-weight:initial;letter-spacing:.02em}
.case-row-stat-lbl{font-family:var(--font-mono);font-size:11px;color:var(--navy);text-transform:uppercase;letter-spacing:.12em;font-weight:500;line-height:1.5;max-width:22ch}

.case-row-quote{font-style:normal;font-weight:400;font-size:clamp(1.05rem,.92rem + .35vw,1.22rem);line-height:1.6;color:var(--navy-2);max-width:58ch;border-left:2px solid var(--teal);padding-left:1.25rem;margin-top:.5rem;letter-spacing:-.005em}
.section-dark .case-row-quote{color:var(--fg-2)}

.case-row-arrow{width:32px;height:18px;color:var(--navy-3);transition:color .4s var(--ease),transform .55s var(--ease-out-expo);flex-shrink:0;align-self:center}
.case-row:hover .case-row-arrow{color:var(--ink);transform:translateX(8px)}

/* ---------- Featured case row · larger, accented, always visible stripe ---------- */
.case-row.is-featured{padding-block:clamp(3.5rem,2.6rem + 2.5vw,5.5rem);background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.045),transparent 70%)}
.case-row.is-featured::before{transform:scaleY(1);background:var(--teal);box-shadow:0 0 14px oklch(0.88 0.085 178 / 0.55)}
.case-row.is-featured .case-row-num{color:var(--ink);font-weight:600}
.case-row.is-featured .case-row-eyebrow{color:var(--ink)}
.case-row.is-featured .case-row-title{font-size:clamp(2.2rem,1.5rem + 2.2vw,3.6rem);font-weight:700}
.case-row.is-featured .case-row-stat-num{font-size:clamp(2.6rem,1.85rem + 2.2vw,4rem)}
.case-row.is-featured .case-row-quote{font-size:clamp(1.2rem,1rem + .5vw,1.5rem);max-width:60ch;border-left-width:3px}

@media (max-width:780px){
  .case-row{grid-template-columns:1fr;gap:1.4rem;padding-block:2.4rem}
  .case-row-num{padding-top:0;font-size:11.5px}
  .case-row-stats{grid-template-columns:1fr 1fr;gap:1.2rem}
  .case-row-arrow{display:none}
  .case-row.is-featured{padding-block:3rem}
}
@media (max-width:440px){
  .case-row-stats{grid-template-columns:1fr;gap:1rem}
  .case-row.is-featured .case-row-title{font-size:1.85rem}
}

/* dark variant — for cosmic stages (e.g., automazioni casi could go on dark) */
.section-dark .case-row{color:var(--fg)}
.section-dark .case-row:hover{background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.04),transparent 60%)}
.section-dark .case-row-num{color:var(--fg-dim)}
.section-dark .case-row-eyebrow{color:var(--fg-3)}
.section-dark .case-row-title{color:var(--fg)}
.section-dark .case-row-title em{color:var(--fg)}
.section-dark .case-row-stat-num{color:var(--fg)}
.section-dark .case-row-stat-num em{color:var(--fg-3)}
.section-dark .case-row-stat-lbl{color:var(--fg-3)}
.section-dark .case-row-quote{color:var(--fg-2);border-left-color:var(--teal)}
.section-dark .case-row-arrow{color:var(--fg-3)}
.section-dark .case-row:hover .case-row-arrow{color:var(--fg)}

/* ---------- CASE CARD (legacy, kept for backward-compat though no longer used) ---------- */
.case-grid{display:grid;grid-template-columns:1fr;gap:clamp(.9rem,.75rem + .8vw,1.4rem);max-width:78rem;margin:clamp(2rem,1.5rem + 1.6vw,3.25rem) auto 0}
.case-card{display:grid;grid-template-columns:6px 1fr auto;gap:clamp(1.25rem,1rem + .8vw,1.85rem);padding:clamp(1.5rem,1.2rem + 1vw,2.15rem);background:var(--bg);border:1px solid var(--rule);border-radius:20px;align-items:center;transition:border-color .42s var(--ease),transform .42s var(--ease-out-expo),box-shadow .42s var(--ease);position:relative;overflow:hidden}
.case-side{align-self:stretch;border-radius:6px;background:var(--teal);display:none}
.case-body{display:flex;flex-direction:column;gap:14px;min-width:0}
.case-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--navy-3);font-weight:var(--fw-mono)}
.case-title{font-size:clamp(1.2rem,1rem + .6vw,1.55rem);color:var(--ink);letter-spacing:-.018em;line-height:1.2;font-weight:600}
.case-metrics{display:flex;gap:clamp(1rem,.7rem + 1vw,2rem);flex-wrap:wrap;margin-top:8px}
.case-metric{display:flex;flex-direction:column;gap:3px;min-width:7rem}
.case-metric-val{font-size:clamp(1.3rem,1rem + 1vw,1.85rem);line-height:.94;color:var(--ink);letter-spacing:-.028em;font-variant-numeric:tabular-nums;font-weight:700}
.case-metric-val em{font-style:normal;color:var(--navy-2);font-size:.5em;margin-left:3px;font-weight:var(--fw-mono);vertical-align:.3em}
.case-metric-lbl{font-size:10.5px;color:var(--navy);text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.case-comment{margin-top:8px;padding:12px 14px;background:rgba(47,65,93,0.05);border-left:2px solid var(--navy-3);border-radius:0 8px 8px 0;font-size:13px;color:var(--navy-2);line-height:1.55;font-weight:500}
.case-arrow{width:24px;height:24px;color:var(--navy-3);transition:color .4s var(--ease),transform .5s var(--ease-out-expo);flex-shrink:0}

/* ---------- GARANZIA · 2-col + pill row ---------- */
.garanzia-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.1rem,.85rem + .9vw,1.75rem);max-width:74rem;margin:clamp(2rem,1.5rem + 1.6vw,3.25rem) auto 0}
@media (max-width:780px){.garanzia-cols{grid-template-columns:1fr}}
.garanzia-col{padding:clamp(1.5rem,1.2rem + 1vw,2.15rem);background:var(--bg);border:1px solid var(--rule-strong);border-radius:20px;display:flex;flex-direction:column;gap:14px;transition:border-color .42s var(--ease),box-shadow .42s var(--ease)}
.garanzia-col:hover{border-color:var(--ink);box-shadow:0 18px 40px -22px rgba(20,25,43,0.14)}
.garanzia-col h3{font-size:clamp(1.15rem,1rem + .4vw,1.4rem);color:var(--ink);letter-spacing:-.014em;line-height:1.22;font-weight:800}
.garanzia-col h3 em{font-style:normal;color:var(--navy);font-variation-settings:var(--fv-accent);position:relative;isolation:isolate}
.garanzia-col h3 em::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.04em;height:.22em;background:var(--teal-grad);z-index:-1;opacity:.7}
.garanzia-col p{font-size:14.5px;color:var(--navy);line-height:1.62;font-variation-settings:"wght" 470,"wdth" 96,"opsz" 18,"GRAD" 0}
.garanzia-col p b{color:var(--ink);font-weight:760;font-variation-settings:"wght" 740,"wdth" 96,"opsz" 22,"GRAD" 22}
.garanzia-col ol{font-size:14px;color:var(--navy);line-height:1.7;padding-left:1.4em;display:flex;flex-direction:column;gap:4px;font-variation-settings:"wght" 470,"wdth" 96,"opsz" 18,"GRAD" 0}
.garanzia-col ol::marker{color:var(--navy-3)}

.garanzia-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.7rem,.55rem + .55vw,1rem);max-width:74rem;margin:clamp(1.5rem,1.1rem + 1vw,2.25rem) auto 0}
@media (max-width:780px){.garanzia-pills{grid-template-columns:repeat(2,1fr)}}
@media (max-width:380px){.garanzia-pills{grid-template-columns:1fr}}
.garanzia-pill{padding:14px 18px;background:transparent;border:1px solid var(--teal-strong);border-radius:14px;text-align:left;transition:background .35s var(--ease),border-color .35s var(--ease),transform .42s var(--ease-out-expo)}
.garanzia-pill:hover{background:oklch(0.88 0.085 178 / 0.08);border-color:var(--teal);transform:translateY(-2px)}
.garanzia-pill-title{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);font-weight:700;margin-bottom:5px}
.garanzia-pill-desc{font-size:12px;color:var(--navy-2);line-height:1.5}

/* ---------- STACK ATLAS (software, full remake) ----------
   Editorial poster: huge "40" anchor, headline, then 3-col category atlas with
   vertical lists. No cards, no boxes, no horizontal rules, just typography. */
.stack-section{padding-block:clamp(4rem,2.8rem + 2.6vw,6rem) !important}
.stack-head{text-align:center;max-width:60rem;margin:0 auto clamp(3rem,2.2rem + 2vw,4.75rem)}
.stack-eyebrow{
  display:block;
  font-family:var(--font-mono);
  font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--navy-3);font-weight:500;
  margin-bottom:clamp(1rem,.8rem + .6vw,1.4rem);
  text-align:center;
}
.stack-eyebrow::before,.stack-eyebrow::after{display:none}
.stack-numeral{display:none}
.stack-h2{
  font-size:clamp(1.7rem,1.2rem + 1.4vw,2.4rem);
  line-height:1.15;letter-spacing:-.022em;
  color:var(--ink);font-weight:600;text-wrap:balance;
  max-width:30ch;margin:0 auto;
}
.stack-h2 em{font-style:normal;color:var(--navy);font-variation-settings:var(--fv-accent-lg);position:relative;isolation:isolate}
.stack-h2 em::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.08em;height:.32em;background:var(--teal-grad);z-index:-1;opacity:.7}
.stack-lede{
  margin:clamp(1rem,.8rem + .5vw,1.4rem) auto 0;
  max-width:48ch;font-size:1.05rem;line-height:1.65;color:var(--navy-2);
  text-wrap:balance;
}

/* legacy .stack-atlas hidden — replaced by .stack-rail */
.stack-atlas{display:none}

/* stack-rail · editorial row layout: numbered category strips with thin
   blue-tinted hairline separators. Replaces the boxy atlas grid. */
.stack-rail{
  list-style:none;padding:0;margin:clamp(1.75rem,1.2rem + 1.4vw,2.75rem) auto 0;
  max-width:78rem;
  border-top:1px solid var(--rule);
}
.stack-rail-row{
  display:grid;
  grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);
  gap:clamp(1.4rem,1rem + 1.2vw,2.4rem);
  align-items:baseline;
  padding-block:clamp(1.05rem,.85rem + .65vw,1.55rem);
  border-bottom:1px solid var(--rule);
  transition:background .35s var(--ease);
}
.stack-rail-row:hover{background:rgba(28,58,110,0.025)}
.stack-rail-meta{
  display:flex;align-items:baseline;gap:.85rem;
  position:relative;
}
.stack-rail-num{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;
  color:var(--accent-deep, var(--teal-deep));font-weight:500;
  min-width:1.7em;
}
.stack-rail-name{
  font-size:clamp(1.05rem,.95rem + .35vw,1.28rem);
  color:var(--ink);font-weight:600;letter-spacing:-.012em;
  flex:1;
}
.stack-rail-count{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;
  color:var(--navy-3);font-weight:500;
  padding:3px 9px;border-radius:999px;
  background:rgba(28,58,110,0.06);
  border:1px solid rgba(28,58,110,0.14);
}
.stack-rail-items{
  font-size:.98rem;color:var(--navy-2);
  line-height:1.65;letter-spacing:-.003em;font-weight:450;
  word-spacing:.05em;
}
.stack-rail-row:hover .stack-rail-name{color:var(--accent-deep, var(--teal-deep))}
.stack-rail-row:hover .stack-rail-items{color:var(--ink)}

@media (max-width:780px){
  .stack-rail-row{grid-template-columns:1fr;gap:.55rem;padding-block:1.1rem}
  .stack-rail-name{font-size:1.05rem}
}

/* dark-section variants for stack-rail */
.section-dark .stack-rail{border-top-color:var(--rule-dark)}
.section-dark .stack-rail-row{border-bottom-color:var(--rule-dark)}
.section-dark .stack-rail-row:hover{background:rgba(255,255,255,0.025)}
.section-dark .stack-rail-num{color:var(--accent-light, var(--teal))}
.section-dark .stack-rail-name{color:var(--fg)}
.section-dark .stack-rail-count{color:var(--fg-3);background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.12)}
.section-dark .stack-rail-items{color:var(--fg-3)}
.section-dark .stack-rail-row:hover .stack-rail-name{color:var(--accent-light, var(--teal))}
.section-dark .stack-rail-row:hover .stack-rail-items{color:var(--fg)}

.stack-foot{
  max-width:48rem;margin:clamp(2.75rem,2rem + 2vw,4.25rem) auto 0;
  text-align:center;font-size:.95rem;color:var(--navy-3);
  font-weight:500;letter-spacing:-.005em;
}

/* dark variants if the section ever lands on cosmic */
.section-dark .stack-eyebrow{color:var(--fg-dim)}
.section-dark .stack-eyebrow::before,.section-dark .stack-eyebrow::after{background:linear-gradient(90deg,transparent,var(--fg-dim))}
.section-dark .stack-numeral,.section-dark .stack-h2{color:var(--fg)}
.section-dark .stack-h2 em{color:inherit}
.section-dark .stack-lede,.section-dark .cell-list{color:var(--fg-3)}
.section-dark .cell-name{color:var(--fg)}
.section-dark .stack-atlas-cell:hover .cell-list li{color:var(--fg)}
.section-dark .stack-atlas-cell:hover .cell-name{color:var(--teal)}
.section-dark .stack-foot{color:var(--fg-dim)}

/* legacy stack-ledger / stack-tally — hidden but kept harmless */
.stack-ledger{display:none}
.stack-row{
  display:grid;grid-template-columns:14rem minmax(0,1fr);
  gap:clamp(1.25rem,1rem + .9vw,2.25rem);
  padding:clamp(1.1rem,.9rem + .5vw,1.4rem) clamp(1.25rem,1rem + .8vw,1.65rem);
  background:var(--bg);border:1px solid var(--rule);border-radius:14px;
  align-items:baseline;transition:border-color .35s var(--ease),background .35s var(--ease);
}
.stack-row:hover{border-color:var(--ink-out);background:rgba(255,255,255,0.6)}
@media (max-width:680px){.stack-row{grid-template-columns:1fr;gap:.4rem}}
.stack-row-cat{
  font-size:1.02rem;color:var(--ink);font-weight:600;letter-spacing:-.005em;
  display:inline-flex;align-items:baseline;gap:.65rem;
}
.stack-row-count{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;color:var(--navy-3);
  font-weight:500;
}
.stack-row-list{
  font-size:.94rem;color:var(--navy-2);line-height:1.65;letter-spacing:-.005em;
}

.stack-tally{
  max-width:74rem;margin:clamp(1.5rem,1.1rem + 1vw,2.25rem) auto 0;
  display:flex;align-items:baseline;gap:1rem;justify-content:center;
  font-size:.95rem;color:var(--navy-2);text-align:center;
}
.stack-tally-num{
  font-size:clamp(2.5rem,1.8rem + 2vw,3.6rem);
  font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1;
  font-variant-numeric:tabular-nums;
}
.stack-tally-lbl{max-width:32ch;line-height:1.5}

/* dark variants */
.section-dark .stack-row{background:rgba(14,18,33,0.5);border-color:rgba(255,255,255,0.06);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.section-dark .stack-row:hover{background:rgba(14,18,33,0.7);border-color:rgba(255,255,255,0.14)}
.section-dark .stack-row-cat{color:var(--fg)}
.section-dark .stack-row-count{color:var(--fg-dim)}
.section-dark .stack-row-list{color:var(--fg-2)}
.section-dark .stack-tally{color:var(--fg-2)}
.section-dark .stack-tally-num{color:var(--fg)}

/* legacy stack-grid kept harmless if any page still uses it */
.stack-grid{display:none}

.section-dark .card-6 .stack-tag{color:var(--fg);background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.14)}

/* dark variants (cosmic stages) */
.section-dark .garanzia-col{background:rgba(14,18,33,0.5);border-color:var(--rule-dark-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.section-dark .garanzia-col:hover{border-color:var(--fg);background:rgba(14,18,33,0.7);box-shadow:0 18px 40px -22px rgba(0,0,0,0.5)}
.section-dark .garanzia-col h3{color:var(--fg)}
.section-dark .garanzia-col h3 em{color:var(--fg)}
.section-dark .garanzia-col h3 em::after{opacity:.55}
.section-dark .garanzia-col p{color:var(--fg-2)}
.section-dark .garanzia-col p b{color:var(--fg);font-weight:800}
.section-dark .garanzia-col ol{color:var(--fg-2)}
.section-dark .garanzia-col ol::marker{color:var(--fg-dim)}
.section-dark .garanzia-pill{border-color:var(--teal-strong);background:rgba(0,0,0,.18)}
.section-dark .garanzia-pill:hover{background:oklch(0.88 0.085 178 / 0.12);border-color:var(--teal)}
.section-dark .garanzia-pill-title{color:var(--fg)}
.section-dark .garanzia-pill-desc{color:var(--fg-3)}

.section-dark .stack-cat{background:rgba(14,18,33,0.5);border-color:var(--rule-dark-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.section-dark .stack-cat:hover{border-color:var(--fg);background:rgba(14,18,33,0.7)}
.section-dark .stack-cat-name{color:var(--fg)}
.section-dark .stack-cat-count{color:var(--fg-dim)}
.section-dark .stack-cat-tag{color:var(--teal);background:oklch(0.88 0.085 178 / 0.1);border-color:oklch(0.88 0.085 178 / 0.32)}

/* ---------- TERMINAL BLOCK (software page) ---------- */
.terminal{background:rgba(14,18,33,0.85);border:1px solid var(--rule-dark-strong);border-radius:14px;padding:clamp(1rem,.85rem + .5vw,1.4rem);font-family:var(--font-mono);font-size:13px;line-height:1.7;color:var(--fg-2);box-shadow:0 14px 36px -22px rgba(0,0,0,0.6),inset 0 1px 0 rgba(252,252,250,0.05);overflow:hidden;position:relative;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.terminal::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--teal-grad);background-size:200% 100%;animation:hl-shimmer 4.6s var(--ease-out-quart) infinite;opacity:.6}
.terminal-prompt{color:var(--teal);user-select:none;margin-right:8px}
.terminal .out{color:var(--fg-3)}
.terminal .ok{color:var(--teal)}
.terminal .hl{color:var(--fg)}

/* ---------- METHOD ENHANCEMENTS for service pages ---------- */
.rail-stage[data-step]{position:relative}

/* .sect-closer styled in base.css — single source of truth */

/* ============================================================
   SOFTWARE PAGE · scoped premium pass
   All rules below MUST stay scoped under .page-software so the
   shared automazioni / lead-generation pages are unaffected.
   ============================================================ */

/* ---------- HERO CREDENTIALS · editorial console upgrade ---------- */
.page-software .hero-credentials{
  position:relative;
  border-top:none;
  padding:clamp(1rem,.7rem + 1vw,1.6rem) 0 0;
  margin-top:clamp(2.25rem,1.5rem + 1.4vw,3rem);
}
.page-software .hero-credentials::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--rule-dark-strong) 14%,var(--teal-strong) 50%,var(--rule-dark-strong) 86%,transparent);
}
.page-software .hero-credentials::after{
  content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;border-radius:50%;
  transform:translateX(-50%);
  background:var(--teal);box-shadow:0 0 14px var(--teal),0 0 28px oklch(0.88 0.085 178 / 0.55);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-software .cred-row{
  position:relative;
  grid-template-columns:auto 12rem minmax(0,1fr);
  padding-block:clamp(.95rem,.75rem + .5vw,1.3rem);
  border-bottom:1px solid var(--rule-dark);
  align-items:baseline;
  transition:background .35s var(--ease),padding-left .55s var(--ease-out-expo);
}
.page-software .cred-row::before{
  content:counter(cred,decimal-leading-zero);
  counter-increment:cred;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.22em;
  color:var(--fg-dim);font-variation-settings:var(--fv-mono);
  width:1.8rem;line-height:1.6;
  transition:color .35s var(--ease);
}
.page-software .hero-credentials{counter-reset:cred}
.page-software .cred-row:hover{padding-left:.5rem;background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.06),transparent 70%)}
.page-software .cred-row:hover::before{color:var(--teal)}
.page-software .cred-row dt{
  font-size:10.5px;letter-spacing:.22em;
  color:var(--fg-2);font-variation-settings:var(--fv-mono);
}
.page-software .cred-row dd{
  font-size:14.5px;color:var(--fg);line-height:1.55;
  font-variation-settings:"wght" 540,"wdth" 96,"opsz" 16,"GRAD" 8;
  font-feature-settings:"ss01" on, "tnum" on;
}
@media (max-width:680px){
  .page-software .cred-row{grid-template-columns:auto 1fr;row-gap:4px}
  .page-software .cred-row dt{grid-column:2}
  .page-software .cred-row dd{grid-column:2}
}

/* ---------- COSA COSTRUIAMO · richer dark cards (cards-6 on cosmic) ---------- */
.page-software #cosa .cards-6{
  max-width:64rem !important;
  gap:clamp(1rem,.8rem + .8vw,1.55rem) !important;
}
.page-software #cosa .card-6{
  position:relative;
  padding:clamp(1.5rem,1.2rem + 1vw,2rem);
  background:linear-gradient(165deg,rgba(14,18,33,0.62) 0%,rgba(14,18,33,0.35) 100%);
  border:1px solid var(--rule-dark-strong);
  border-radius:20px;
  overflow:hidden;
  isolation:isolate;
  counter-increment:cosa;
  transition:transform .55s var(--ease-out-expo),border-color .42s var(--ease),background .55s var(--ease);
}
.page-software #cosa .cards-6{counter-reset:cosa}
/* numeral chip in top-right */
.page-software #cosa .card-6::after{
  content:"0" counter(cosa);
  position:absolute;top:1.05rem;right:1.15rem;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;
  color:var(--fg-dim);
  padding:4px 10px;border-radius:999px;
  border:1px solid var(--rule-dark);
  background:rgba(0,0,0,.32);
  transition:color .35s var(--ease),border-color .35s var(--ease);
  z-index:2;
}
/* shimmer rail at top */
.page-software #cosa .card-6::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  background-size:200% 100%;background-position:200% 0;
  transition:background-position 1.4s var(--ease-out-quart);
  z-index:2;
}
.page-software #cosa .card-6:hover{
  transform:translateY(-4px);
  border-color:var(--teal-strong);
  background:linear-gradient(165deg,rgba(14,18,33,0.85) 0%,rgba(14,18,33,0.55) 100%);
  box-shadow:0 24px 60px -28px rgba(0,0,0,0.7),0 0 0 1px oklch(0.88 0.085 178 / 0.18);
}
.page-software #cosa .card-6:hover::before{background-position:-100% 0}
.page-software #cosa .card-6:hover::after{color:var(--teal);border-color:oklch(0.88 0.085 178 / 0.5)}
/* icon — bigger, with halo */
.page-software #cosa .card-6-icon{
  width:42px;height:42px;
  color:var(--teal);
  filter:drop-shadow(0 0 14px oklch(0.88 0.085 178 / 0.55));
  transition:transform .55s var(--ease-out-expo),filter .42s var(--ease);
  margin-bottom:6px;
}
.page-software #cosa .card-6:hover .card-6-icon{
  transform:scale(1.08) rotate(-4deg);
  filter:drop-shadow(0 0 22px oklch(0.88 0.085 178 / 0.85));
}
.page-software #cosa .card-6 h3{
  font-size:clamp(1.05rem,.95rem + .35vw,1.25rem);
  font-variation-settings:"wght" 720,"wdth" 96,"opsz" 24,"GRAD" 18;
  letter-spacing:-.012em;line-height:1.22;
  color:var(--fg);
  padding-right:3.4rem;
}
.page-software #cosa .card-6 p{
  font-size:13.5px;line-height:1.65;color:var(--fg-3);
  margin-bottom:8px;
}
.page-software #cosa .card-6 .stack-tags{
  margin-top:auto;padding-top:10px;
  border-top:1px dashed var(--rule-dark);
}
.page-software #cosa .card-6 .stack-tag{
  font-size:11px;letter-spacing:.04em;
  color:var(--teal);
  background:oklch(0.88 0.085 178 / 0.08);
  border:1px solid oklch(0.88 0.085 178 / 0.28);
  padding:4px 11px;
  transition:background .3s var(--ease),color .3s var(--ease);
}
.page-software #cosa .card-6:hover .stack-tag{
  background:oklch(0.88 0.085 178 / 0.16);
  color:var(--fg);
}

/* ---------- DOSSIER · add visual emblems & shimmer accents ---------- */
.page-software .dossier{
  position:relative;
  border-top:none;
  padding-top:0;
}
.page-software .dossier::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--rule-strong) 12%,var(--ink) 50%,var(--rule-strong) 88%,transparent);
}
.page-software .dossier-entry{
  grid-template-columns:minmax(0,2.5rem) minmax(0,1.5fr) minmax(8rem,11rem) minmax(0,.85fr);
  column-gap:clamp(1.5rem,1rem + 1.4vw,2.75rem);
  align-items:center;
  padding-block:clamp(1.85rem,1.4rem + 1.2vw,2.6rem);
}
.page-software .dossier-entry:hover{
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.04),transparent 60%);
}
.page-software .dossier-entry::before{
  height:1.5px;
  background:var(--teal);
  box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.6);
}
.page-software .dossier-entry:hover::before{width:3rem}
/* numeral becomes vertical with hairline */
.page-software .dossier-num{
  font-size:.9rem;letter-spacing:.18em;color:var(--ink);
  font-variation-settings:"wght" 600,"wdth" 96,"opsz" 14,"GRAD" 18;
  position:relative;
  padding-left:.25rem;
}
.page-software .dossier-num::after{
  content:"";position:absolute;left:0;top:-.5rem;bottom:-.5rem;width:2px;
  background:var(--rule-strong);
  transition:background .55s var(--ease),height .55s var(--ease-out-expo);
}
.page-software .dossier-entry:hover .dossier-num::after{background:var(--teal);box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.7)}

/* visual emblem column (between meta and stat) */
.page-software .dossier-emblem{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:5.75rem;
  position:relative;
  padding:.4rem .65rem;
  border:1px dashed var(--rule);
  border-radius:10px;
  background:linear-gradient(165deg,rgba(28,58,110,0.025) 0%,rgba(252,252,250,0.6) 100%);
  transition:border-color .55s var(--ease),background .55s var(--ease);
}
.page-software .dossier-emblem svg{
  width:100%;height:100%;
  color:var(--navy);
  opacity:.62;
  transition:color .55s var(--ease),opacity .55s var(--ease),transform .8s var(--ease-out-expo);
}
.page-software .dossier-entry:hover .dossier-emblem{
  border-color:var(--teal-strong);
  border-style:solid;
  background:linear-gradient(165deg,oklch(0.88 0.085 178 / 0.06) 0%,rgba(252,252,250,0.7) 100%);
}
.page-software .dossier-entry:hover .dossier-emblem svg{
  color:var(--ink);
  opacity:1;
  transform:scale(1.04);
}
.page-software .dossier-emblem .pulse{
  fill:var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-software .dossier-stat{
  align-self:center;
}

@media (max-width:780px){
  .page-software .dossier-entry{
    grid-template-columns:auto 1fr;
    grid-template-areas:"num meta" "emblem emblem" "stat stat";
    row-gap:1rem;
  }
  .page-software .dossier-emblem{grid-area:emblem;height:3.5rem}
}

/* ---------- METHOD · stations get a small live-pulse + edge shimmer ---------- */
.page-software .rail-station{
  position:relative;
}
.page-software .rail-station svg{
  filter:drop-shadow(0 1px 0 rgba(20,25,43,0.06));
}
/* tiny phase indicator dot (top-right of station) */
.page-software .rail-station > .pulse-dot{
  position:absolute;top:8px;right:8px;
  width:7px;height:7px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 10px var(--teal),0 0 22px oklch(0.88 0.085 178 / 0.5);
  animation:pulse 2.6s var(--ease) infinite;
  z-index:3;
}
.page-software .section-dark .rail-station > .pulse-dot{background:var(--teal)}

/* ---------- STACK · editorial atlas (the big transformation) ---------- */
.page-software .stack-section{
  position:relative;
}
/* huge editorial "40" anchor in the background */
.page-software .stack-section .container{position:relative}
.page-software .stack-section::before{
  content:"40";
  position:absolute;
  top:clamp(2rem,1rem + 4vw,5rem);right:clamp(-.5rem,-1vw + .5rem,1rem);
  font-family:var(--font-display);
  font-size:clamp(12rem,8rem + 14vw,28rem);
  line-height:.78;letter-spacing:-.072em;
  font-variation-settings:"wght" 800,"wdth" 96,"opsz" 96,"GRAD" -10;
  color:transparent;
  -webkit-text-stroke:1.5px var(--navy-out);
  pointer-events:none;
  z-index:0;
  user-select:none;
}
.page-software .stack-head{position:relative;z-index:1}

/* enhance stack head with a small "live" badge */
.page-software .stack-head .stack-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:6px 14px;
  border:1px solid var(--rule-strong);
  border-radius:999px;
  background:rgba(255,255,255,0.5);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.page-software .stack-head .stack-eyebrow::before{
  content:"";display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 10px var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}

/* the rail · upgrade to atlas with reveal-on-hover & big numbers */
.page-software .stack-rail{
  position:relative;z-index:1;
  border-top:none;
  margin-top:clamp(2rem,1.4rem + 1.4vw,3rem);
  max-width:80rem;
}
.page-software .stack-rail::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--rule-strong) 12%,var(--ink) 50%,var(--rule-strong) 88%,transparent 100%);
  z-index:2;
}
.page-software .stack-rail-row{
  position:relative;
  grid-template-columns:minmax(3rem,4rem) minmax(13rem,16rem) auto minmax(0,1fr);
  gap:clamp(1rem,.8rem + 1vw,1.8rem);
  padding-block:clamp(1.4rem,1rem + .9vw,1.95rem);
  border-bottom:1px solid var(--rule);
  align-items:center;
  transition:background .42s var(--ease),padding-left .55s var(--ease-out-expo);
  overflow:hidden;
}
/* left teal stripe that grows on hover */
.page-software .stack-rail-row::before{
  content:"";position:absolute;left:0;top:18%;bottom:18%;width:2px;
  background:var(--teal);
  transform:scaleY(0);transform-origin:center;
  box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.7);
  transition:transform .55s var(--ease-out-expo);
  border-radius:2px;
}
.page-software .stack-rail-row:hover::before{transform:scaleY(1)}
.page-software .stack-rail-row:hover{
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.05),transparent 60%);
  padding-left:1.2rem;
}
.page-software .stack-rail-meta{
  display:contents;
}
.page-software .stack-rail-num{
  font-family:var(--font-display);
  font-size:clamp(1.6rem,1.2rem + 1.2vw,2.4rem);
  line-height:.9;letter-spacing:-.04em;
  font-variation-settings:"wght" 760,"wdth" 92,"opsz" 96,"GRAD" 28;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  min-width:0;
  transition:color .42s var(--ease);
}
.page-software .stack-rail-row:hover .stack-rail-num{
  color:transparent;
  -webkit-text-stroke:1.2px var(--ink);
}
.page-software .stack-rail-name{
  font-size:clamp(1.15rem,1rem + .5vw,1.45rem);
  letter-spacing:-.014em;
  font-variation-settings:"wght" 700,"wdth" 95,"opsz" 32,"GRAD" 18;
  color:var(--ink);
}
.page-software .stack-rail-count{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.16em;
  color:var(--ink);
  font-variation-settings:var(--fv-mono);
  padding:5px 12px;border-radius:999px;
  background:linear-gradient(135deg,rgba(252,252,250,1),rgba(252,252,250,0.7));
  border:1px solid var(--rule-strong);
  white-space:nowrap;
  box-shadow:0 1px 0 rgba(252,252,250,0.6) inset, 0 4px 14px -10px rgba(20,25,43,0.18);
  transition:transform .42s var(--ease-out-expo),border-color .42s var(--ease),background .42s var(--ease);
}
.page-software .stack-rail-count::before{
  content:"";display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 8px var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-software .stack-rail-row:hover .stack-rail-count{
  transform:scale(1.06);
  border-color:var(--ink);
  background:var(--ink);color:var(--fg);
}
.page-software .stack-rail-row:hover .stack-rail-count::before{background:var(--teal);box-shadow:0 0 12px var(--teal)}

.page-software .stack-rail-items{
  font-family:var(--font-mono);
  font-size:.92rem;
  letter-spacing:.005em;
  color:var(--navy-2);
  line-height:1.65;font-variation-settings:var(--fv-mono);
  text-align:right;
  font-variation-settings:"wght" 460,"wdth" 92,"opsz" 14,"GRAD" 0;
}
.page-software .stack-rail-row:hover .stack-rail-items{color:var(--ink)}

@media (max-width:980px){
  .page-software .stack-rail-row{
    grid-template-columns:auto 1fr auto;
    grid-template-areas:"num name count" "items items items";
    row-gap:.55rem;
    column-gap:1rem;
    padding-block:1.2rem;
  }
  .page-software .stack-rail-num{grid-area:num;font-size:1.5rem}
  .page-software .stack-rail-name{grid-area:name}
  .page-software .stack-rail-count{grid-area:count}
  .page-software .stack-rail-items{grid-area:items;text-align:left}
}

/* stack-foot quietly elevated */
.page-software .stack-foot{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:10px;
  width:auto;left:50%;transform:translateX(-50%);
  padding:8px 18px;border:1px solid var(--rule);border-radius:999px;
  background:rgba(252,252,250,0.6);
  font-size:.85rem;color:var(--navy);
  font-variation-settings:"wght" 540,"wdth" 96,"opsz" 16,"GRAD" 5;
}
.page-software .stack-foot::before{
  content:"";display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 10px var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}

/* ---------- APPROCCIO · stronger nofare grid + better backdrop ---------- */
.page-software #approccio{
  position:relative;
}
/* ---------- Software · Ingegneria / NO · editorial typographic list ---------- */
.page-software #approccio{position:relative;isolation:isolate}
.page-software #approccio .nofare-backdrop{
  display:block;
  position:absolute;top:clamp(-.5rem,-.2rem + 0.5vw,1rem);left:50%;transform:translateX(-50%);
  pointer-events:none;z-index:0;user-select:none;
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(7rem,4.5rem + 9vw,15rem);line-height:.78;letter-spacing:-.078em;
  font-variation-settings:"wght" 880,"wdth" 90,"opsz" 96,"GRAD" 28;
  -webkit-text-stroke:1.4px oklch(0.78 0.14 25 / 0.22);color:transparent;
  white-space:nowrap;opacity:.85
}
.page-software #approccio > .container{position:relative;z-index:2}
.page-software #approccio .nofare-list{
  counter-reset:nofare;
  max-width:72rem;
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:clamp(2.5rem,2rem + 1.6vw,4rem);row-gap:0;
  border-top:1px solid var(--rule-dark-strong)
}
.page-software #approccio .nofare-item{
  counter-increment:nofare;
  position:relative;
  padding:clamp(1.4rem,1.1rem + .9vw,2rem) 0 clamp(1.4rem,1.1rem + .9vw,2rem) clamp(1rem,.7rem + .8vw,1.6rem);
  background:transparent;border:none;
  border-bottom:1px solid var(--rule-dark);
  border-radius:0;
  overflow:visible;isolation:auto;
  display:grid;grid-template-columns:auto 1fr;
  align-items:baseline;gap:clamp(1.25rem,1rem + .8vw,2rem)
}
/* coral left-rail accent (denial cue) — drama in default state */
.page-software #approccio .nofare-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;background:oklch(0.78 0.14 25);opacity:.65;
  box-shadow:0 0 10px oklch(0.78 0.14 25 / 0.5);
  transition:height .55s var(--ease-out-expo),opacity .42s var(--ease);
  display:block
}
/* the "× 0N" big outlined numeral marker */
.page-software #approccio .nofare-item::after{
  content:"× 0" counter(nofare);
  position:static;
  font-family:var(--font-mono);
  font-size:clamp(2.4rem,1.8rem + 1.6vw,3.6rem);line-height:.85;
  -webkit-text-stroke:1.2px oklch(0.78 0.14 25 / 0.55);color:transparent;
  font-variation-settings:"wght" 600,"wdth" 96,"opsz" 24,"GRAD" 0;
  letter-spacing:-.01em;background:none;inset:auto;opacity:1;
  align-self:baseline;display:block;
  grid-column:1;grid-row:1;
  transition:color .35s var(--ease),-webkit-text-stroke-color .35s var(--ease)
}
.page-software #approccio .nofare-item:hover{border-bottom-color:oklch(0.78 0.14 25 / 0.6);background:transparent;box-shadow:none}
.page-software #approccio .nofare-item:hover::before{height:78%;opacity:1}
.page-software #approccio .nofare-item:hover::after{color:oklch(0.78 0.14 25);-webkit-text-stroke-color:oklch(0.78 0.14 25)}
.page-software #approccio .nofare-text{
  padding-right:0;font-size:clamp(.95rem,.86rem + .25vw,1.08rem);
  color:var(--fg-2);max-width:44ch;
  grid-column:2;grid-row:1
}
.page-software #approccio .nofare-text b{
  display:block;margin-bottom:.4rem;color:var(--fg);
  font-size:1.1em;letter-spacing:-.016em;
  font-variation-settings:"wght" 740,"wdth" 96,"opsz" 24,"GRAD" 22
}
@media (max-width:760px){
  .page-software #approccio .nofare-list{grid-template-columns:1fr;column-gap:0}
  .page-software #approccio .nofare-backdrop{font-size:6rem}
}

/* ---------- FINAL CTA · big crescendo ornament ---------- */
.page-software .final-cta{
  isolation:isolate;
}
.page-software .final-cta::after{
  content:"";position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%);
  width:min(78rem,92vw);
  height:1px;
  background:linear-gradient(90deg,transparent,var(--rule-strong) 12%,var(--ink) 50%,var(--rule-strong) 88%,transparent);
  pointer-events:none;
  z-index:1;
}
.page-software .final-cta .ornament{
  width:min(280px,58vw);
  filter:drop-shadow(0 0 8px oklch(0.88 0.085 178 / 0.45));
}
/* a small tagline above the headline in the final CTA */
.page-software .final-cta .container{position:relative}
.page-software .final-cta-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 16px;
  margin-bottom:clamp(1.25rem,1rem + 1vw,1.75rem);
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy);
  font-variation-settings:var(--fv-mono);
  border:1px solid var(--rule-strong);border-radius:999px;
  background:rgba(252,252,250,0.7);
}
.page-software .final-cta-eyebrow::before{
  content:"";display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 10px var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}

/* ---------- PROBLEMA cards · slight refinement (cream) ---------- */
.page-software #problema .cards-3{
  counter-reset:prob;
}
.page-software #problema .card-3{
  counter-increment:prob;
  position:relative;
}
.page-software #problema .card-3::after{
  content:"0" counter(prob);
  position:absolute;top:1.05rem;right:1.2rem;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;
  color:var(--navy-3);
  font-variation-settings:var(--fv-mono);
  transition:color .35s var(--ease);
}
.page-software #problema .card-3:hover::after{color:var(--ink)}

/* sect-head decorative flourish for software (cream sections) */
.page-software .light-stage .sect-head{
  position:relative;
}
.page-software .light-stage .sect-head::after{
  content:"";display:block;
  width:42px;height:1px;
  background:var(--ink);
  margin:1.25rem auto 0;
  position:relative;
}
.page-software .section-dark .sect-head{
  position:relative;
}
.page-software .section-dark .sect-head::after{
  content:"";display:block;
  width:42px;height:1px;
  background:var(--fg);
  margin:1.25rem auto 0;
  opacity:.55;
}

/* ---------- responsive guard for stack big "40" ---------- */
@media (max-width:780px){
  .page-software .stack-section::before{
    font-size:9rem;
    top:.5rem;right:-1rem;
    opacity:.5;
  }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .page-software .hero-credentials::after,
  .page-software .stack-rail-count::before,
  .page-software .final-cta-eyebrow::before,
  .page-software .stack-foot::before,
  .page-software .stack-head .stack-eyebrow::before,
  .page-software .rail-station > .pulse-dot,
  .page-software .dossier-emblem .pulse{animation:none}
}


/* ============================================================
   AUTOMAZIONI · final-stage premium pass
   All rules SCOPED under .page-automazioni so we don't touch
   the software / lead-generation pages.
   Goal: kill the "lines on lines on lines" feel, add one
   beautiful design moment per section, Apple/Linear polish.
   ============================================================ */

/* ---------- 0 · ambient noise reduction ----------
   Body grid + light-stage dot grain + section hairlines + waves
   stack to create visual noise. Quiet the dot-grain on this page
   so structural rule-lines (dossier, stack-rail) read clearly. */
.page-automazioni .light-stage::before{filter:blur(80px)}

/* Section eyebrow — softer flanking lines so they don't pile on row borders */
.page-automazioni .sect-eyebrow{font-size:10.5px;letter-spacing:.22em;gap:18px}
.page-automazioni .sect-eyebrow::before,
.page-automazioni .sect-eyebrow::after{width:38px;background:linear-gradient(90deg,transparent,var(--navy-3))}
.page-automazioni .sect-eyebrow::after{background:linear-gradient(90deg,var(--navy-3),transparent)}
.page-automazioni .sect-eyebrow.dark::before{background:linear-gradient(90deg,transparent,var(--fg-dim))}
.page-automazioni .sect-eyebrow.dark::after{background:linear-gradient(90deg,var(--fg-dim),transparent)}

/* tighten section padding rhythm — give each beat room to breathe */
.page-automazioni .section{padding-block:clamp(3.25rem,2.2rem + 2.4vw,5.25rem)}

/* ---------- 1 · PROBLEMA · cards-3 with editorial numerals ---------- */
.page-automazioni #problema .cards-3{counter-reset:probcard;position:relative}
.page-automazioni #problema .card-3{
  counter-increment:probcard;
  padding-top:clamp(2.2rem,1.6rem + 1.2vw,2.85rem);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(252,252,250,1) 0%,rgba(252,252,250,.94) 100%);
  border-color:rgba(47,65,93,0.10);
  box-shadow:0 1px 0 rgba(252,252,250,1) inset, 0 12px 30px -22px rgba(20,25,43,0.08);
  isolation:isolate;
}
.page-automazioni #problema .card-3::after{
  content:counter(probcard,decimal-leading-zero);
  position:absolute;top:-14px;right:14px;
  font-family:var(--font-display);font-size:6.4rem;line-height:.8;
  letter-spacing:-.08em;
  font-variation-settings:"wght" 800,"wdth" 95,"opsz" 96,"GRAD" 32;
  -webkit-text-stroke:1.2px rgba(47,65,93,0.12);
  color:transparent;pointer-events:none;
  transition:-webkit-text-stroke-color .55s var(--ease),transform .8s var(--ease-out-expo),opacity .55s var(--ease);
  z-index:0;opacity:.85;
}
.page-automazioni #problema .card-3:hover::after{
  -webkit-text-stroke-color:rgba(47,65,93,0.22);
  transform:translate(-4px,4px) rotate(-2deg);
  opacity:1;
}
.page-automazioni #problema .card-3>*{position:relative;z-index:1}
.page-automazioni #problema .card-3::before{
  height:2px;left:0;right:0;top:0;border-radius:22px 22px 0 0;
  background:var(--teal-grad);background-size:200% 100%;
}
.page-automazioni #problema .card-3-glyph{
  width:38px;height:38px;
  padding:7px;border-radius:11px;
  background:rgba(47,65,93,0.05);
  border:1px solid rgba(47,65,93,0.08);
  color:var(--navy);
  transition:background .42s var(--ease),border-color .42s var(--ease),color .42s var(--ease),transform .55s var(--ease-out-expo);
}
.page-automazioni #problema .card-3:hover .card-3-glyph{
  background:oklch(0.88 0.085 178 / 0.18);
  border-color:oklch(0.88 0.085 178 / 0.45);
  color:var(--ink);
  transform:rotate(-6deg) scale(1.05);
}
.page-automazioni #problema .card-3 h3{font-size:clamp(1.08rem,.98rem + .35vw,1.22rem);letter-spacing:-.014em}
.page-automazioni #problema .card-3 p{font-size:14px}

/* ---------- 2 · COSA AUTOMATIZZIAMO · cards-6 cosmic ----------
   Plate-mounted icons with halo ring + drop glow + on-hover sweep. */
/* ---------- Automazioni · 6 ambiti · editorial typographic list w/ teal rail + outlined numerals ---------- */
.page-automazioni #cosa{padding-block:clamp(4rem,3rem + 2.6vw,6rem);position:relative;isolation:isolate}
/* dramatic SEI watermark behind */
.page-automazioni #cosa::before{
  content:"AMBITI";
  position:absolute;top:clamp(-.5rem,-.2rem + 0.5vw,1rem);left:50%;transform:translateX(-50%);
  pointer-events:none;z-index:0;user-select:none;
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(7rem,4.5rem + 9vw,15rem);line-height:.78;letter-spacing:-.078em;
  font-variation-settings:"wght" 880,"wdth" 90,"opsz" 96,"GRAD" 28;
  -webkit-text-stroke:1.4px var(--fg-out);color:transparent;
  white-space:nowrap;opacity:.7
}
.page-automazioni #cosa > .container{position:relative;z-index:2}
.page-automazioni #cosa .cards-6{
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:clamp(2.5rem,2rem + 1.6vw,4rem);row-gap:0;
  max-width:72rem;margin:clamp(2.25rem,1.6rem + 1.6vw,3.5rem) auto 0;
  border-top:1px solid var(--rule-dark-strong);
  counter-reset:ambit
}
.page-automazioni #cosa .card-6{
  counter-increment:ambit;
  display:grid;grid-template-columns:auto 1fr;
  align-items:baseline;gap:clamp(1.25rem,1rem + .8vw,2rem);
  padding:clamp(1.4rem,1.1rem + .9vw,2rem) 0 clamp(1.4rem,1.1rem + .9vw,2rem) clamp(1rem,.7rem + .8vw,1.6rem);
  border:none;border-bottom:1px solid var(--rule-dark);border-radius:0;
  background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
  position:relative;overflow:visible;flex-direction:row;
  transition:border-color .42s var(--ease)
}
/* teal left-rail in default state */
.page-automazioni #cosa .card-6::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;background:var(--teal);opacity:.7;
  box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.55);
  transition:height .55s var(--ease-out-expo),opacity .42s var(--ease);
  display:block;
  font-family:initial;font-size:initial;letter-spacing:initial;color:transparent
}
/* outlined display numeral */
.page-automazioni #cosa .card-6::after{
  content:counter(ambit,decimal-leading-zero);
  position:static;display:block;
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(2.7rem,2rem + 2vw,4.1rem);line-height:.85;
  -webkit-text-stroke:1.4px var(--fg-2);color:transparent;
  font-variation-settings:"wght" 760,"wdth" 92,"opsz" 96,"GRAD" -8;
  letter-spacing:-.045em;background:none;inset:auto;opacity:1;
  align-self:baseline;
  grid-column:1;grid-row:1;
  transition:color .42s var(--ease),-webkit-text-stroke-color .42s var(--ease)
}
.page-automazioni #cosa .card-6:hover{
  border-bottom-color:var(--fg-2);background:transparent;
  transform:none;box-shadow:none
}
.page-automazioni #cosa .card-6:hover::before{height:78%;opacity:1}
.page-automazioni #cosa .card-6:hover::after{color:var(--fg);-webkit-text-stroke-color:var(--fg)}
.page-automazioni #cosa .card-6>*{position:relative;z-index:1}
.page-automazioni #cosa .card-6-icon{display:none}
.page-automazioni #cosa .card-6 h3{
  grid-column:2;grid-row:1;
  font-size:clamp(1.05rem,.95rem + .28vw,1.22rem);color:var(--fg);
  letter-spacing:-.016em;margin:0;
  font-variation-settings:"wght" 740,"wdth" 96,"opsz" 24,"GRAD" 22
}
.page-automazioni #cosa .card-6 h3::before{display:none}
.page-automazioni #cosa .card-6 p{
  grid-column:2;
  font-size:clamp(.95rem,.86rem + .25vw,1.05rem);line-height:1.58;color:var(--fg-2);
  max-width:42ch;margin-top:.4rem;
  font-variation-settings:"wght" 460,"wdth" 96,"opsz" 18,"GRAD" 0
}
.page-automazioni #cosa .card-6 p b{color:var(--fg);font-weight:700}
@media (max-width:760px){
  .page-automazioni #cosa .cards-6{grid-template-columns:1fr;column-gap:0}
  .page-automazioni #cosa::before{font-size:6rem}
}

/* ---------- 3 · CASI · editorial dossier upgrade ---------- */
.page-automazioni #casi .dossier{
  border-top:none;
  position:relative;
}
.page-automazioni #casi .dossier::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(47,65,93,0.2) 12%,rgba(47,65,93,0.2) 88%,transparent 100%);
}
.page-automazioni #casi .dossier-entry{
  grid-template-columns:minmax(0,3.5rem) minmax(0,2fr) minmax(0,1fr);
  column-gap:clamp(1.5rem,1rem + 1.4vw,2.75rem);
  padding-block:clamp(1.95rem,1.4rem + 1.4vw,2.85rem);
  border-bottom:1px solid;
  border-image:linear-gradient(90deg,transparent 0%,rgba(47,65,93,0.18) 12%,rgba(47,65,93,0.18) 88%,transparent 100%) 1;
  transition:background .5s var(--ease);
  position:relative;isolation:isolate;
}
.page-automazioni #casi .dossier-entry::before{
  height:calc(100% - 1.4rem);top:.7rem;width:3px;left:-2px;
  background:linear-gradient(180deg,var(--teal),oklch(0.7 0.14 240));
  box-shadow:0 0 14px oklch(0.88 0.085 178 / 0.55);
  transform:scaleY(0);transform-origin:top;transition:transform .65s var(--ease-out-expo);
}
.page-automazioni #casi .dossier-entry:hover::before{transform:scaleY(1);width:3px}
.page-automazioni #casi .dossier-entry:hover{
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.045),transparent 65%);
}
.page-automazioni #casi .dossier-num{
  font-family:var(--font-display);
  font-size:clamp(2.8rem,2.2rem + 1.2vw,3.6rem);
  letter-spacing:-.05em;line-height:.85;
  font-variation-settings:"wght" 760,"wdth" 95,"opsz" 96,"GRAD" 24;
  color:rgba(47,65,93,0.5);
  align-self:start;padding-top:.1rem;
  font-weight:initial;
  transition:color .55s var(--ease);
}
.page-automazioni #casi .dossier-entry:hover .dossier-num{color:var(--ink)}
.page-automazioni #casi .dossier-tag{
  display:inline-flex;align-items:center;gap:10px;
  padding:0;background:transparent;border:none;border-radius:0;
  width:fit-content;
  color:var(--navy);font-variation-settings:var(--fv-mono);font-weight:500;
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase
}
.page-automazioni #casi .dossier-tag::before{
  content:"";width:18px;height:1px;background:var(--teal);
  box-shadow:0 0 6px oklch(0.88 0.085 178 / 0.5)
}
.page-automazioni #casi .dossier-title{font-size:clamp(1.2rem,1.05rem + .5vw,1.55rem);letter-spacing:-.018em;font-weight:700}
.page-automazioni #casi .dossier-quote{font-size:.95rem;color:var(--navy-2)}
.page-automazioni #casi .dossier-stat{
  position:relative;
  padding-left:clamp(1.25rem,.9rem + 1vw,2rem);
}
.page-automazioni #casi .dossier-stat::before{
  content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:1px;
  background:linear-gradient(180deg,transparent,rgba(47,65,93,0.18),transparent);
}
.page-automazioni #casi .dossier-stat-num{
  font-size:clamp(1.85rem,1.45rem + 1.2vw,2.6rem);
  letter-spacing:-.03em;font-weight:800;
  background:linear-gradient(180deg,var(--ink) 60%,var(--navy));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  position:relative;isolation:isolate;
}
.page-automazioni #casi .dossier-stat-num::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--teal-grad);background-size:200% 100%;
  transform:scaleX(0);transform-origin:right;
  transition:transform .65s var(--ease-out-expo);
  animation:hl-shimmer 4.6s var(--ease-out-quart) infinite;
}
.page-automazioni #casi .dossier-entry:hover .dossier-stat-num::after{transform:scaleX(1);transform-origin:left}
.page-automazioni #casi .dossier-stat-num em{color:var(--navy-2);-webkit-text-fill-color:var(--navy-2)}
.page-automazioni #casi .dossier-stat-lbl{color:var(--navy);font-weight:600}

@media (max-width:780px){
  .page-automazioni #casi .dossier-entry{grid-template-columns:auto 1fr}
  .page-automazioni #casi .dossier-stat{padding-left:0}
  .page-automazioni #casi .dossier-stat::before{display:none}
}

/* ---------- 4 · METODO · rail polish on cosmic ---------- */
.page-automazioni #metodo .rail-line{
  background:linear-gradient(90deg,transparent,rgba(252,252,250,0.18) 10%,rgba(252,252,250,0.18) 90%,transparent);
}
.page-automazioni #metodo .rail-line::after{background:linear-gradient(90deg,transparent,var(--teal),var(--fg) 90%,transparent)}
.page-automazioni #metodo .rail-station{
  background:linear-gradient(165deg,#14192B 0%,#0E1221 100%);
  border-color:rgba(252,252,250,0.22);
  width:112px;height:112px;
  box-shadow:0 12px 30px -18px rgba(0,0,0,0.6), inset 0 1px 0 rgba(252,252,250,0.08);
}
.page-automazioni #metodo .rail-station svg{color:var(--fg-2)}
.page-automazioni #metodo .rail-stage:hover .rail-station{
  border-color:oklch(0.88 0.085 178 / 0.65);
  background:linear-gradient(165deg,#1a2040 0%,#14192B 100%);
  box-shadow:0 18px 40px -18px rgba(0,0,0,0.7), inset 0 1px 0 rgba(252,252,250,0.12), 0 0 32px -8px oklch(0.88 0.085 178 / 0.45);
}
.page-automazioni #metodo .rail-stage:hover .rail-station svg{color:var(--fg)}
.page-automazioni #metodo .rail-station::after{border-color:oklch(0.88 0.085 178 / 0.5)}
.page-automazioni #metodo .rail-station::before{border-color:rgba(252,252,250,0.18)}
.page-automazioni #metodo .rail-num{color:var(--fg-dim)}
.page-automazioni #metodo .rail-label{color:var(--fg)}
.page-automazioni #metodo .rail-copy{color:var(--fg-3)}
.page-automazioni #metodo .rail-duration{
  background:rgba(0,0,0,0.3);
  border-color:oklch(0.88 0.085 178 / 0.45);
  color:var(--fg-2);
}

/* ---------- 5 · STACK · editorial table without double hairlines ---------- */
.page-automazioni .stack-section{padding-block:clamp(4.5rem,3.2rem + 2.6vw,6.5rem) !important}
/* Automazioni stack — distinguished from software via teal-accented capacity bar + numerals */
.page-automazioni .stack-rail{
  border-top:1px solid var(--rule);
  position:relative;
  max-width:80rem;
  border-radius:0;background:transparent;border:none;
  padding:0;backdrop-filter:none;box-shadow:none
}
.page-automazioni .stack-rail-row{
  border-bottom:1px solid var(--rule);
  padding-block:clamp(1.15rem,.95rem + .7vw,1.6rem);
  align-items:center;
  position:relative;isolation:isolate;
  grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);
}
.page-automazioni .stack-rail-row:last-child{border-bottom:none}
/* per-row left teal accent bar that scales with count — drama in default state */
.page-automazioni .stack-rail-row::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;background:var(--teal);opacity:.6;
  box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.4);
  transition:height .5s var(--ease-out-expo),opacity .35s var(--ease)
}
.page-automazioni .stack-rail-row:hover{background:transparent}
.page-automazioni .stack-rail-row:hover::before{height:80%;opacity:1}
.page-automazioni .stack-rail-meta{padding-left:clamp(1rem,.7rem + .8vw,1.5rem)}
.page-automazioni .stack-rail-num{
  font-size:.72rem;letter-spacing:.22em;color:var(--navy-3);
  min-width:2em;font-family:var(--font-mono)
}
.page-automazioni .stack-rail-row:hover .stack-rail-num{color:var(--teal)}
.page-automazioni .stack-rail-name{
  font-size:clamp(1.05rem,.92rem + .4vw,1.22rem);
  font-weight:700;letter-spacing:-.014em
}
/* tool-count: clean mono digit + ITEM unit, no chip */
.page-automazioni .stack-rail-count{
  background:transparent;border:none;
  color:var(--navy);font-weight:600;
  padding:0;font-feature-settings:"tnum" 1;
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em
}
.page-automazioni .stack-rail-count::before{content:"·";margin-right:.4em;color:var(--navy-3);font-weight:400;opacity:.7}
.page-automazioni .stack-rail-count::after{content:" tool";color:var(--navy-3);font-weight:400;font-size:.85em;letter-spacing:.06em;margin-left:.2em}
.page-automazioni .stack-rail-row:hover .stack-rail-count{
  background:transparent;border:none;color:var(--ink)
}
.page-automazioni .stack-rail-items{
  font-size:.96rem;color:var(--navy-2);font-weight:500
}
.page-automazioni .stack-rail-row:hover .stack-rail-items{color:var(--ink)}

/* ---------- 6 · GARANZIA · investment cards on cosmic ---------- */
.page-automazioni #garanzia{padding-block:clamp(4rem,3rem + 2.6vw,6rem)}
.page-automazioni #garanzia .garanzia-cols{gap:clamp(1.25rem,.95rem + 1.2vw,2rem)}
.page-automazioni #garanzia .garanzia-col{
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(1.85rem,1.4rem + 1.4vw,2.6rem);
  background:linear-gradient(165deg,rgba(14,18,33,0.6) 0%,rgba(14,18,33,0.4) 100%);
  border:1px solid rgba(252,252,250,0.14);
  border-radius:22px;
  box-shadow:0 1px 0 rgba(252,252,250,0.05) inset, 0 22px 50px -28px rgba(0,0,0,0.6);
}
.page-automazioni #garanzia .garanzia-col::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--teal-grad);background-size:200% 100%;
  animation:hl-shimmer 4.6s var(--ease-out-quart) infinite;
  z-index:1;
}
.page-automazioni #garanzia .garanzia-col::after{
  content:"";position:absolute;bottom:-30%;right:-20%;
  width:70%;height:120%;
  background:radial-gradient(ellipse at center,oklch(0.88 0.085 178 / 0.18),transparent 60%);
  filter:blur(36px);pointer-events:none;
  z-index:0;opacity:.6;transition:opacity .6s var(--ease),transform .9s var(--ease);
}
.page-automazioni #garanzia .garanzia-col:hover::after{opacity:1;transform:scale(1.08) translate(-2%,-3%)}
.page-automazioni #garanzia .garanzia-col:hover{
  border-color:oklch(0.88 0.085 178 / 0.45);
  background:linear-gradient(165deg,rgba(14,18,33,0.78) 0%,rgba(14,18,33,0.6) 100%);
  box-shadow:0 1px 0 rgba(252,252,250,0.07) inset, 0 26px 58px -28px rgba(0,0,0,0.72), 0 0 0 1px oklch(0.88 0.085 178 / 0.22);
}
.page-automazioni #garanzia .garanzia-col>*{position:relative;z-index:2}
.page-automazioni #garanzia .garanzia-col h3{
  font-size:clamp(1.3rem,1.1rem + .5vw,1.55rem);
  letter-spacing:-.018em;line-height:1.2;
}
.page-automazioni #garanzia .garanzia-col h3::before{
  content:"·";display:inline-block;color:var(--teal);
  font-weight:800;font-size:1em;margin-right:.4em;line-height:1;
  text-shadow:0 0 8px oklch(0.88 0.085 178 / 0.6);
}
.page-automazioni #garanzia .garanzia-col p{color:var(--fg-2);font-size:14.5px}
.page-automazioni #garanzia .garanzia-col p b{color:var(--fg)}

/* pills upgrade — softer, refined, with corner pulse-mark */
.page-automazioni #garanzia .garanzia-pills{gap:clamp(.75rem,.6rem + .6vw,1.05rem)}
.page-automazioni #garanzia .garanzia-pill{
  padding:14px 16px 14px 38px;
  background:rgba(0,0,0,.22);
  border:1px solid oklch(0.88 0.085 178 / 0.3);
  border-radius:14px;
  position:relative;overflow:hidden;isolation:isolate;
  transition:background .42s var(--ease),border-color .42s var(--ease),transform .55s var(--ease-out-expo);
}
.page-automazioni #garanzia .garanzia-pill::before{
  content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:7px;height:7px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 10px var(--teal);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-automazioni #garanzia .garanzia-pill:hover{
  background:oklch(0.88 0.085 178 / 0.10);
  border-color:oklch(0.88 0.085 178 / 0.6);
  transform:translateY(-2px);
}
.page-automazioni #garanzia .garanzia-pill-title{
  font-size:11.5px;letter-spacing:.16em;color:var(--fg);font-weight:700;
}
.page-automazioni #garanzia .garanzia-pill-desc{
  color:var(--fg-3);font-size:12px;
}

/* ---------- 7 · FINAL CTA · subtle ornamental flair ---------- */
.page-automazioni .final-cta::after{
  content:"";position:absolute;left:50%;bottom:8%;transform:translateX(-50%);
  width:min(72%,42rem);height:1px;
  background:linear-gradient(90deg,transparent,rgba(47,65,93,0.18) 30%,rgba(47,65,93,0.18) 70%,transparent);
  pointer-events:none;
}
.page-automazioni .final-cta .ornament{opacity:.7}

/* ---------- 8 · sect-closer micro-polish ---------- */
.page-automazioni .sect-closer{
  margin-top:clamp(2.75rem,2rem + 1.8vw,4.25rem);
  font-size:clamp(1.1rem,.95rem + .45vw,1.35rem);
}

/* ---------- mobile · keep premium feel on small screens ---------- */
@media (max-width:780px){
  .page-automazioni #problema .card-3::after{font-size:5rem;top:-10px;right:10px}
  .page-automazioni #casi .dossier-num{font-size:2.2rem}
  .page-automazioni .stack-rail{padding:.5rem 1rem}
}

/* ---------- reduced motion (automazioni) ---------- */
@media (prefers-reduced-motion:reduce){
  .page-automazioni #garanzia .garanzia-col::before,
  .page-automazioni #garanzia .garanzia-pill::before,
  .page-automazioni #casi .dossier-stat-num::after{animation:none}
}


/* ============================================================
   AUTOMAZIONI · final-stage v2 (audit pass)
   Scoped fixes + polish targeting concrete issues found in the
   pre-launch audit. Pure additions, no overrides of v1 rules.
   ============================================================ */

/* ---------- a · STACK head row (new editorial header) ----------
   Sits above .stack-rail; matches its inner padding so columns
   align with the row meta + items grid. */
.page-automazioni .stack-rail-head{
  display:grid;
  grid-template-columns:minmax(13rem,16rem) minmax(0,1fr);
  gap:clamp(1.4rem,1rem + 1.2vw,2.4rem);
  align-items:center;
  max-width:80rem;
  margin:clamp(1.75rem,1.2rem + 1.4vw,2.75rem) auto 0;
  padding:0 clamp(1rem,.7rem + .8vw,1.6rem) .55rem;
  border-bottom:1px solid rgba(47,65,93,0.18);
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  user-select:none;
  position:relative;
}
/* When the head row precedes the rail, collapse the rail's top margin */
.page-automazioni .stack-rail-head + .stack-rail{margin-top:0}
.page-automazioni .stack-rail-head-k{display:none}
.page-automazioni .stack-rail-head-cat{
  grid-column:1/2;
  display:inline-flex;align-items:center;gap:.85rem;
}
.page-automazioni .stack-rail-head-cat::before{
  content:"#";
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.18em;
  color:var(--teal);font-weight:600;
}
.page-automazioni .stack-rail-head-n{display:none}
.page-automazioni .stack-rail-head-tools{
  grid-column:2/3;
  display:inline-flex;align-items:center;gap:.7rem;
}
.page-automazioni .stack-rail-head-tools::before{
  content:"";display:inline-block;width:18px;height:1px;
  background:linear-gradient(90deg,var(--teal),transparent);
}

/* ---------- b · STACK row · stronger left-rule + numeral block ---------- */
.page-automazioni .stack-rail-row{
  position:relative;
}
.page-automazioni .stack-rail-row::after{
  content:"";position:absolute;left:-1px;top:18%;bottom:18%;width:2px;
  background:var(--teal-grad);background-size:100% 200%;
  transform:scaleY(0);transform-origin:center;
  transition:transform .55s var(--ease-out-expo);
  border-radius:1px;
}
.page-automazioni .stack-rail-row:hover::after{transform:scaleY(1)}
.page-automazioni .stack-rail-num{
  font-size:.78rem;letter-spacing:.22em;
  font-variation-settings:"wght" 600,"wdth" 84,"opsz" 14,"GRAD" 0;
  position:relative;
}
.page-automazioni .stack-rail-items{
  position:relative;
  display:block;
  font-feature-settings:"ss01" 1;
  text-wrap:pretty;
}

/* ---------- c · STACK foot · italic accent rule ---------- */
.page-automazioni .stack-section .stack-foot{
  position:relative;
  font-size:13px;
  color:var(--navy-3);
  font-variation-settings:"wght" 500,"wdth" 95,"opsz" 14,"GRAD" 0;
  margin-top:clamp(1.5rem,1.1rem + 1vw,2.25rem);
  padding-top:clamp(1.1rem,.8rem + .8vw,1.6rem);
}
.page-automazioni .stack-section .stack-foot::before{
  content:"";position:absolute;left:50%;top:0;
  width:42px;height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,oklch(0.88 0.085 178 / 0.55),transparent);
}
.page-automazioni .stack-section .stack-foot em{
  font-style:normal;color:var(--navy);
  font-variation-settings:var(--fv-accent);
  position:relative;isolation:isolate;
  padding:0 .04em;
}
.page-automazioni .stack-section .stack-foot em::after{
  content:"";position:absolute;left:-.02em;right:-.02em;bottom:.05em;height:.22em;
  background:var(--teal-grad);z-index:-1;opacity:.55;
}

/* ---------- d · STACK mobile layout fix (CRITICAL) ----------
   The v1 page-automazioni override forces 13rem+1fr columns; on
   mobile this breaks — items column collapses. Restore single-
   column flow under 780px. */
@media (max-width:780px){
  .page-automazioni .stack-rail{
    max-width:100%;
    border-radius:14px;
    padding:.25rem clamp(.85rem,1.5vw,1.1rem);
  }
  .page-automazioni .stack-rail-head{display:none}
  .page-automazioni .stack-rail-row{
    grid-template-columns:1fr;
    gap:.5rem;
    padding-block:1.1rem;
  }
  .page-automazioni .stack-rail-meta{
    gap:.7rem;flex-wrap:wrap;
  }
  .page-automazioni .stack-rail-name{font-size:1.02rem}
  .page-automazioni .stack-rail-items{
    font-size:.93rem;line-height:1.6;
    color:var(--navy-2);
  }
}

/* ---------- e · GARANZIA · tag + ledger inside cards ----------
   The v1 cards had only h3 + p which left vertical airspace; we
   add a small mono tag and a 3-row k/v ledger to lock editorial
   weight without crowding. */
.page-automazioni #garanzia .garanzia-col{
  display:flex;flex-direction:column;
  gap:clamp(.6rem,.45rem + .4vw,.85rem);
}
.page-automazioni #garanzia .garanzia-col p{
  margin:0 0 clamp(.4rem,.3rem + .25vw,.65rem);
}
.page-automazioni #garanzia .garanzia-tag{
  display:inline-flex;align-items:center;gap:9px;
  width:fit-content;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fg-2);font-variation-settings:var(--fv-mono);
  padding:5px 11px;
  border:1px solid oklch(0.88 0.085 178 / 0.32);
  border-radius:999px;
  background:oklch(0.88 0.085 178 / 0.05);
  margin-bottom:clamp(.2rem,.15rem + .15vw,.4rem);
}
.page-automazioni #garanzia .garanzia-tag::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.7);
}
.page-automazioni #garanzia .garanzia-ledger{
  list-style:none;padding:0;margin:auto 0 0;
  display:flex;flex-direction:column;
  border-top:1px dashed rgba(252,252,250,0.14);
  padding-top:clamp(.85rem,.6rem + .55vw,1.2rem);
  margin-top:clamp(.4rem,.3rem + .3vw,.65rem);
}
.page-automazioni #garanzia .garanzia-ledger li{
  display:grid;
  grid-template-columns:minmax(5.5rem,7rem) 1fr;
  gap:1rem;
  padding:.45rem 0;
  border-bottom:1px solid rgba(252,252,250,0.06);
  align-items:baseline;
}
.page-automazioni #garanzia .garanzia-ledger li:last-child{border-bottom:none}
.page-automazioni #garanzia .garanzia-ledger-k{
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fg-dim);font-variation-settings:var(--fv-mono);
  font-weight:500;
}
.page-automazioni #garanzia .garanzia-ledger-v{
  font-size:13px;color:var(--fg-2);
  line-height:1.45;
  font-variation-settings:"wght" 500,"wdth" 96,"opsz" 14,"GRAD" 0;
}
.page-automazioni #garanzia .garanzia-col:hover .garanzia-ledger-k{color:var(--teal)}

/* ---------- f · GARANZIA pills · stronger title presence ---------- */
.page-automazioni #garanzia .garanzia-pill{
  padding-top:16px;padding-bottom:16px;
}
.page-automazioni #garanzia .garanzia-pill-title{
  font-size:11px;letter-spacing:.18em;color:var(--fg);font-weight:700;
  margin-bottom:3px;
}
.page-automazioni #garanzia .garanzia-pill-desc{
  color:var(--fg-3);font-size:11.5px;line-height:1.45;
}

/* ---------- g · CASI · dossier-stat-lbl mono accent (editorial grain) ---------- */
.page-automazioni #casi .dossier-stat-num{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"ss01" 1;
}
.page-automazioni #casi .dossier-stat-lbl{
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--navy-3);font-weight:500;
  font-variation-settings:var(--fv-mono);
  display:inline-flex;align-items:center;gap:7px;
  margin-top:10px;
}
.page-automazioni #casi .dossier-stat-lbl::before{
  content:"";display:inline-block;
  width:14px;height:1px;flex-shrink:0;
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.6),transparent);
}

/* ---------- h · COSA · spacing micro-polish (editorial pattern handles spacing) ---------- */

/* ---------- i · METODO mobile alignment ---------- */
@media (max-width:780px){
  .page-automazioni #metodo .rail-station{
    width:92px;height:92px;
  }
  .page-automazioni #metodo .rail-num{margin-top:1rem}
}

/* ---------- j · DOSSIER mobile alignment ---------- */
@media (max-width:780px){
  .page-automazioni #casi .dossier-entry{
    grid-template-columns:auto 1fr;
    column-gap:1rem;
    padding-block:1.4rem;
  }
  .page-automazioni #casi .dossier-stat{
    padding-left:0;
  }
  .page-automazioni #casi .dossier-stat::before{display:none}
  .page-automazioni #casi .dossier-stat-num{
    font-size:1.65rem;
  }
}

/* ---------- k · final-cta · refine on mobile ---------- */
@media (max-width:780px){
  .page-automazioni .final-cta h2{font-size:clamp(1.7rem,1.3rem + 2vw,2.4rem)}
  .page-automazioni .final-cta-lede{font-size:14px;line-height:1.6}
}

/* ---------- l · reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .page-automazioni .stack-rail-row::after{transition:none;transform:scaleY(1);opacity:.4}
}


/* ============================================================
   LEAD-GENERATION PAGE  ·  scoped premium pass
   All rules below MUST stay scoped under .page-leadgen so the
   shared automazioni / software pages are unaffected.
   ============================================================ */

/* ---------- HERO PACT  ·  ledger of four commitments under hero CTA ---------- */
.page-leadgen .hero-pact{
  list-style:none;padding:0;
  margin:clamp(2.25rem,1.5rem + 1.4vw,3rem) auto 0;
  max-width:46rem;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
  border-top:1px solid var(--rule-dark-strong);
  padding-top:clamp(1rem,.7rem + .8vw,1.4rem);
}
.page-leadgen .hero-pact::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--rule-dark-strong) 14%,var(--teal-strong) 50%,var(--rule-dark-strong) 86%,transparent);
  pointer-events:none;
}
.page-leadgen .hero-pact::after{
  content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;
  transform:translateX(-50%);
  background:var(--teal);box-shadow:0 0 12px var(--teal),0 0 26px oklch(0.88 0.085 178 / 0.55);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-leadgen .hero-pact li{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:0 .8rem;
  border-right:1px solid var(--rule-dark);
  text-align:center;
  position:relative;
}
.page-leadgen .hero-pact li:last-child{border-right:none}
.page-leadgen .hero-pact-dot{
  width:6px;height:6px;border-radius:50%;
  background:oklch(0.85 0.15 155);
  box-shadow:0 0 8px oklch(0.85 0.15 155 / 0.7);
  animation:pulse 2.6s var(--ease) infinite;
  margin-bottom:4px;
}
.page-leadgen .hero-pact-k{
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--fg-dim);font-variation-settings:var(--fv-mono);
}
.page-leadgen .hero-pact-v{
  font-size:13.5px;color:var(--fg-2);
  font-variation-settings:"wght" 540,"wdth" 96,"opsz" 16,"GRAD" 8;
  line-height:1.35;
}
@media (max-width:680px){
  .page-leadgen .hero-pact{grid-template-columns:repeat(2,1fr);gap:1rem 0}
  .page-leadgen .hero-pact li:nth-child(2){border-right:none}
  .page-leadgen .hero-pact li:nth-child(1),
  .page-leadgen .hero-pact li:nth-child(2){border-bottom:1px solid var(--rule-dark);padding-bottom:1rem}
}

/* ---------- PROBLEMA cards  ·  numbered, with category tag ---------- */
.page-leadgen .problema-cards{counter-reset:prob}
.page-leadgen .problema-cards{padding-top:clamp(1rem,.7rem + .8vw,1.6rem)}
.page-leadgen .problema-card{
  counter-increment:prob;
  position:relative;
  padding-top:clamp(1.6rem,1.3rem + 1vw,2.05rem);
  isolation:isolate;
  overflow:visible !important
}
.page-leadgen .problema-idx{
  position:absolute;top:-.8rem;left:1.1rem;
  font-family:var(--font-display);
  font-size:clamp(2.4rem,2rem + 1.2vw,3.4rem);
  line-height:.85;letter-spacing:-.05em;
  font-variation-settings:"wght" 760,"wdth" 92,"opsz" 96,"GRAD" 28;
  color:transparent;
  -webkit-text-stroke:1.2px rgba(47,65,93,0.18);
  background:linear-gradient(180deg,var(--bg) 50%,transparent 50%);
  padding:0 .35rem 0 .15rem;
  font-variant-numeric:tabular-nums;
  pointer-events:none;
  transition:color .42s var(--ease),-webkit-text-stroke-color .42s var(--ease);
}
.page-leadgen .problema-card:hover .problema-idx{
  color:var(--ink);
  -webkit-text-stroke-color:transparent;
}
.page-leadgen .problema-tag{
  margin-top:auto;padding-top:.85rem;
  border-top:1px dashed var(--rule);
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  display:inline-flex;align-items:center;gap:8px;
  transition:color .42s var(--ease);
}
.page-leadgen .problema-tag::before{
  content:"";display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.7);
}
.page-leadgen .problema-card:hover .problema-tag{color:var(--ink)}

/* ---------- PROOF / NUMERI  ·  ledger upgrade ---------- */
/* faint data-grid pattern inside the hero card */
.page-leadgen .leadgen-proof-hero{position:relative;isolation:isolate;overflow:hidden}
.page-leadgen .leadgen-proof-grid{
  position:absolute;inset:0;width:100%;height:100%;
  color:rgba(47,65,93,0.10);
  pointer-events:none;
  z-index:0;
  mask-image:radial-gradient(ellipse 80% 70% at 30% 60%,black 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 60%,black 30%,transparent 80%);
}
/* sparkline: 12 mini bars showing growth over months */
.page-leadgen .leadgen-spark{
  display:flex;align-items:flex-end;gap:8px;
  margin:clamp(.5rem,.4rem + .3vw,.85rem) 0 clamp(1rem,.8rem + .6vw,1.4rem);
  position:relative;z-index:1;
}
.page-leadgen .leadgen-spark-bars{
  flex:1;height:42px;
  display:grid;grid-template-columns:repeat(12,1fr);gap:3px;
  align-items:end;
}
.page-leadgen .leadgen-spark-bars span{
  display:block;width:100%;
  height:calc(var(--h, 50%) * 1);
  background:linear-gradient(180deg,var(--ink),var(--navy));
  border-radius:2px 2px 0 0;
  transform-origin:bottom;
  animation:lg-spark-rise 1.4s var(--ease-out-expo) both;
}
.page-leadgen .leadgen-spark-bars span:nth-child(1){animation-delay:.05s}
.page-leadgen .leadgen-spark-bars span:nth-child(2){animation-delay:.1s}
.page-leadgen .leadgen-spark-bars span:nth-child(3){animation-delay:.15s}
.page-leadgen .leadgen-spark-bars span:nth-child(4){animation-delay:.2s}
.page-leadgen .leadgen-spark-bars span:nth-child(5){animation-delay:.25s}
.page-leadgen .leadgen-spark-bars span:nth-child(6){animation-delay:.3s}
.page-leadgen .leadgen-spark-bars span:nth-child(7){animation-delay:.35s}
.page-leadgen .leadgen-spark-bars span:nth-child(8){animation-delay:.4s}
.page-leadgen .leadgen-spark-bars span:nth-child(9){animation-delay:.45s}
.page-leadgen .leadgen-spark-bars span:nth-child(10){animation-delay:.5s}
.page-leadgen .leadgen-spark-bars span:nth-child(11){animation-delay:.55s}
.page-leadgen .leadgen-spark-bars span:nth-child(12){
  animation-delay:.6s;
  background:linear-gradient(180deg,var(--teal),oklch(0.78 0.06 232));
  box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.6);
}
@keyframes lg-spark-rise{
  0%{transform:scaleY(0)}
  100%{transform:scaleY(1)}
}
.page-leadgen .leadgen-spark-cap{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  flex-shrink:0;line-height:1;align-self:flex-end;
  padding-bottom:2px;
}
.page-leadgen .leadgen-spark-cap-r{
  color:var(--ink);
  font-variation-settings:"wght" 620,"wdth" 88,"opsz" 14,"GRAD" 5;
}

/* tags above each proof-stack item */
.page-leadgen .leadgen-proof-tag{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  margin-bottom:4px;
  line-height:1;
}
.page-leadgen .leadgen-proof-tag::before{
  content:"";display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--teal);
  box-shadow:0 0 6px oklch(0.88 0.085 178 / 0.5);
}
/* magnitude bar under each proof-num */
.page-leadgen .leadgen-proof-bar{
  position:relative;
  width:100%;height:3px;border-radius:2px;
  background:rgba(47,65,93,0.10);
  margin:8px 0 8px;
  overflow:hidden;
  max-width:18rem;
}
.page-leadgen .leadgen-proof-bar span{
  display:block;height:100%;width:var(--w, 50%);
  background:linear-gradient(90deg,var(--ink),var(--teal));
  border-radius:inherit;
  transform-origin:left;
  animation:lg-bar-fill 1.6s var(--ease-out-expo) .3s both;
  box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.45);
}
@keyframes lg-bar-fill{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
.page-leadgen .leadgen-proof-item:hover .leadgen-proof-bar span{
  filter:brightness(1.1);
}

/* footer ledger row beneath the proof grid */
.page-leadgen .leadgen-proof-foot{
  margin:clamp(1.5rem,1.1rem + 1vw,2.25rem) auto 0;
  max-width:78rem;
  display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,.4rem + .4vw,1rem);
  flex-wrap:wrap;
  padding-top:clamp(1rem,.8rem + .5vw,1.3rem);
  border-top:1px solid var(--rule-dark);
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-dim);font-variation-settings:var(--fv-mono);
}
.page-leadgen .leadgen-proof-foot-dot{
  width:6px;height:6px;border-radius:50%;
  background:oklch(0.85 0.15 155);
  box-shadow:0 0 8px oklch(0.85 0.15 155 / 0.65);
  animation:pulse 2.6s var(--ease) infinite;
  margin-right:4px;
}
.page-leadgen .leadgen-proof-foot-l{color:var(--fg-dim)}
.page-leadgen .leadgen-proof-foot-v{
  color:var(--fg-2);
  font-variation-settings:"wght" 580,"wdth" 92,"opsz" 14,"GRAD" 5;
  letter-spacing:.04em;
  text-transform:none;
}
.page-leadgen .leadgen-proof-foot-sep{
  width:1px;height:11px;
  background:var(--rule-dark-strong);
  margin:0 4px;
}
@media (max-width:520px){
  .page-leadgen .leadgen-proof-foot{font-size:9.5px;gap:.5rem .8rem;justify-content:flex-start}
  .page-leadgen .leadgen-proof-foot-sep{display:none}
}

/* ---------- DOSSIER  ·  vertical stamp + magnitude meter + mult chip ---------- */
.page-leadgen .dossier-wrap{
  position:relative;
  margin-top:clamp(1.5rem,1rem + 1.2vw,2.5rem);
  padding-left:clamp(0px,1vw,2.25rem);
}
.page-leadgen .dossier-stamp{
  position:absolute;
  left:0;top:1.5rem;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  padding:8px 0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  display:none;
}
@media (min-width:980px){
  .page-leadgen .dossier-wrap{padding-left:2.25rem}
  .page-leadgen .dossier-stamp{display:inline-block}
}
.page-leadgen .leadgen-dossier{
  position:relative;
}
.page-leadgen .leadgen-dossier-head{
  display:grid;
  grid-template-columns:minmax(0,2.5rem) minmax(0,1.6fr) minmax(0,1fr);
  column-gap:clamp(1.25rem,.9rem + 1.2vw,2.25rem);
  padding-block:.7rem;
  border-bottom:1px solid var(--rule);
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
}
.page-leadgen .leadgen-dossier-h-1{padding-left:.25rem}
.page-leadgen .leadgen-dossier-h-3{text-align:right}
@media (max-width:780px){.page-leadgen .leadgen-dossier-head{display:none}}

.page-leadgen .leadgen-dossier-entry{
  position:relative;
  padding:clamp(1.5rem,1.2rem + 1vw,2.05rem) clamp(1.4rem,1.1rem + 1vw,2.1rem);
  background:linear-gradient(180deg,rgba(252,252,250,0.78),rgba(252,252,250,0.66));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid var(--rule);border-radius:18px;
  margin-bottom:clamp(.7rem,.5rem + .4vw,1rem);
  box-shadow:0 1px 0 rgba(252,252,250,0.5) inset,0 8px 24px -16px rgba(20,25,43,0.08);
  transition:background .42s var(--ease),border-color .42s var(--ease),box-shadow .42s var(--ease),transform .42s var(--ease)
}
.page-leadgen .leadgen-dossier-entry:hover{
  background:linear-gradient(180deg,rgba(252,252,250,0.92),rgba(252,252,250,0.82));
  border-color:var(--navy);
  box-shadow:0 1px 0 rgba(252,252,250,0.6) inset,0 24px 50px -28px rgba(20,25,43,0.20);
  transform:translateY(-1px)
}
.page-leadgen .leadgen-dossier-entry::before{display:none}
.page-leadgen .leadgen-dossier-entry .dossier-num{
  font-size:.85rem;letter-spacing:.18em;
  color:var(--ink);
  font-variation-settings:"wght" 620,"wdth" 96,"opsz" 14,"GRAD" 18;
}
.page-leadgen .leadgen-dossier-entry .dossier-title{
  font-size:clamp(1.2rem,1.05rem + .5vw,1.55rem);
  font-variation-settings:"wght" 720,"wdth" 95,"opsz" 32,"GRAD" 22;
  color:var(--ink);
}
.page-leadgen .leadgen-dossier-entry .dossier-quote{
  font-size:.96rem;line-height:1.58;
  color:var(--navy);
  font-variation-settings:"wght" 460,"wdth" 96,"opsz" 22,"GRAD" 0
}
/* tag becomes a tiny labeled chip */
.page-leadgen .leadgen-dossier-entry .dossier-tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 11px;
  border:1px solid var(--rule-strong);
  border-radius:999px;
  background:rgba(252,252,250,0.6);
  width:fit-content;
  letter-spacing:.18em;
}
.page-leadgen .leadgen-dossier-entry .dossier-tag::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--ink);
}
/* outcome chips row */
.page-leadgen .leadgen-dossier-chips{
  display:flex;flex-wrap:wrap;align-items:center;gap:0;
  margin-top:.55rem;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;
  color:var(--navy-2);font-variation-settings:var(--fv-mono);line-height:1.5
}
.page-leadgen .leadgen-dossier-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:0;border:none;background:transparent;border-radius:0;
  color:inherit
}
.page-leadgen .leadgen-dossier-chip + .leadgen-dossier-chip::before{
  content:"·";display:inline-block;color:var(--navy-3);margin:0 .6rem;font-weight:600;opacity:.7
}
.page-leadgen .leadgen-dossier-chip .dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 6px oklch(0.88 0.085 178 / 0.45)
}
.page-leadgen .leadgen-dossier-chip-ok{
  color:oklch(0.42 0.13 155);font-weight:600
}
.page-leadgen .leadgen-dossier-chip-ok::after{
  content:"✓";margin-left:.35em;font-family:var(--font-display);font-size:1em;color:oklch(0.55 0.15 155)
}

/* magnitude meter under each percentage stat */
.page-leadgen .leadgen-dossier-meter{
  width:100%;max-width:9rem;height:3px;border-radius:2px;
  background:rgba(47,65,93,0.10);
  margin:8px 0 6px auto;
  overflow:hidden;position:relative;
}
.page-leadgen .leadgen-dossier-meter span{
  display:block;height:100%;width:var(--w, 50%);
  margin-left:auto;
  background:linear-gradient(90deg,var(--ink),var(--teal));
  box-shadow:0 0 8px oklch(0.88 0.085 178 / 0.55);
  border-radius:inherit;
  animation:lg-bar-fill 1.4s var(--ease-out-expo) .25s both;
  transform-origin:right;
}
.page-leadgen .leadgen-dossier-mult{
  display:inline-block;
  margin-top:.35rem;
  padding:3px 9px;border-radius:999px;
  background:var(--ink);color:var(--fg);
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.04em;
  font-variation-settings:var(--fv-mono);
  white-space:nowrap;
}
@media (max-width:780px){
  .page-leadgen .leadgen-dossier-meter{margin-left:0}
  .page-leadgen .leadgen-dossier-mult{align-self:flex-start}
}

/* highlight the "self" entry (case 02 — Liberatori's own campaign) */
.page-leadgen .leadgen-dossier-self{
  background:
    linear-gradient(90deg,oklch(0.88 0.085 178 / 0.13),transparent 60%),
    linear-gradient(180deg,rgba(252,252,250,0.82),rgba(252,252,250,0.70));
  border-color:oklch(0.88 0.085 178 / 0.35);
  position:relative;
}
.page-leadgen .leadgen-dossier-self .dossier-num{color:var(--brand-blue)}
/* self-stripe: a hairline at the right edge of the percentage column */
.page-leadgen .leadgen-dossier-self::after{
  content:"";position:absolute;right:0;top:18%;bottom:18%;width:2px;
  background:var(--teal);
  box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.65);
  border-radius:2px;
}
.page-leadgen .leadgen-dossier-self::before{
  /* override the base dossier-entry::before width so it stays visible always for self */
  width:2.5rem !important;
  background:var(--teal) !important;
  box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.6);
}

.page-leadgen .leadgen-dossier-closer{
  font-size:.95rem !important;color:var(--navy-2) !important;
  max-width:60ch !important;
  font-variation-settings:"wght" 480,"wdth" 96,"opsz" 18,"GRAD" 0 !important;
}

/* ---------- METHOD RAIL  ·  station pip + departure & arrival labels ---------- */
.page-leadgen .leadgen-station{
  position:relative;
  background:linear-gradient(165deg,rgba(252,252,250,0.04),rgba(252,252,250,0.01));
  box-shadow:inset 0 0 0 1px rgba(252,252,250,0.04);
}
.page-leadgen .leadgen-station-pip{
  position:absolute;top:-7px;right:-7px;
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.06em;
  color:var(--bg-dark);
  font-variation-settings:"wght" 700,"wdth" 88,"opsz" 12,"GRAD" 18;
  background:var(--fg);
  border:1.5px solid var(--bg-dark);
  box-shadow:0 0 0 4px rgba(252,252,250,0.04),0 4px 14px -4px rgba(0,0,0,0.5);
  z-index:3;
  transition:transform .55s var(--ease-out-expo),background .42s var(--ease),color .42s var(--ease);
}
.page-leadgen .leadgen-stage:hover .leadgen-station-pip{
  background:var(--teal);color:var(--bg-dark);
  transform:rotate(-8deg) scale(1.08);
}
.page-leadgen .leadgen-station-final{
  /* the final station gets a stronger teal halo to mark the "destination" */
  box-shadow:inset 0 0 0 1px rgba(252,252,250,0.05),0 0 0 0 oklch(0.88 0.085 178 / 0);
  animation:lg-station-final-pulse 3.6s var(--ease) infinite;
}
@keyframes lg-station-final-pulse{
  0%,100%{box-shadow:inset 0 0 0 1px rgba(252,252,250,0.05),0 0 0 0 oklch(0.88 0.085 178 / 0.18),0 0 24px -8px oklch(0.88 0.085 178 / 0.4)}
  50%{box-shadow:inset 0 0 0 1px rgba(252,252,250,0.08),0 0 0 8px oklch(0.88 0.085 178 / 0.10),0 0 38px -6px oklch(0.88 0.085 178 / 0.6)}
}

/* foot caption under the rail: "brief --- ~12 settimane alla prima call" */
.page-leadgen .leadgen-rail-foot{
  display:flex;align-items:center;gap:14px;
  max-width:64rem;margin:clamp(2rem,1.4rem + 1.2vw,3.25rem) auto 0;
  padding-top:clamp(1rem,.8rem + .5vw,1.25rem);
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fg-dim);font-variation-settings:var(--fv-mono);
}
.page-leadgen .leadgen-rail-foot-l{color:var(--fg-2)}
.page-leadgen .leadgen-rail-foot-r{
  margin-left:auto;
  color:var(--fg);
  font-variation-settings:"wght" 580,"wdth" 92,"opsz" 14,"GRAD" 5;
}
.page-leadgen .leadgen-rail-foot-line{
  flex:1;height:1px;
  background:linear-gradient(90deg,var(--rule-dark-strong),transparent);
  position:relative;
}
.page-leadgen .leadgen-rail-foot-line::after{
  content:"";position:absolute;left:0;top:-2.5px;width:6px;height:6px;border-radius:50%;
  background:var(--teal);box-shadow:0 0 10px var(--teal);
  animation:lg-rail-trip 5s var(--ease-out-quart) infinite;
}
@keyframes lg-rail-trip{
  0%{left:0;opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{left:calc(100% - 6px);opacity:0}
}

/* ---------- GARANZIA pills  ·  rail with eyebrow + checkmark glyph ---------- */
.page-leadgen .leadgen-pills-rail{
  max-width:74rem;margin:clamp(1.75rem,1.3rem + 1.2vw,2.5rem) auto 0;
  position:relative;
}
.page-leadgen .leadgen-pills-eyebrow{
  display:block;text-align:center;
  margin-bottom:clamp(1rem,.8rem + .6vw,1.4rem);
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-2);font-variation-settings:"wght" 620,"wdth" 92,"opsz" 14,"GRAD" 0;
}
.page-leadgen .leadgen-pill .garanzia-pill-title{font-size:12.5px;font-variation-settings:"wght" 800,"wdth" 92,"opsz" 14,"GRAD" 22;color:var(--ink)}
.page-leadgen .leadgen-pill .garanzia-pill-desc{font-size:13.5px;color:var(--navy);line-height:1.5;font-variation-settings:"wght" 520,"wdth" 96,"opsz" 18,"GRAD" 0}
.page-leadgen .leadgen-pill{
  position:relative;
  padding:18px 18px 16px;
  display:grid;grid-template-columns:auto 1fr;
  grid-template-areas:"check title" "check desc";
  column-gap:11px;row-gap:2px;align-items:center;
  background:rgba(252,252,250,0.6);
  border-color:var(--rule-strong);
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
}
.page-leadgen .leadgen-pill::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,oklch(0.88 0.085 178 / 0.10),transparent 50%);
  opacity:0;transition:opacity .42s var(--ease);
  pointer-events:none;z-index:0;
}
.page-leadgen .leadgen-pill:hover::after{opacity:1}
.page-leadgen .leadgen-pill > *{position:relative;z-index:1}
.page-leadgen .leadgen-pill-check{
  grid-area:check;
  width:22px;height:22px;color:var(--teal);
  filter:drop-shadow(0 0 6px oklch(0.88 0.085 178 / 0.55));
  align-self:center;
  transition:transform .42s var(--ease-out-expo);
}
.page-leadgen .leadgen-pill:hover .leadgen-pill-check{transform:rotate(-8deg) scale(1.1)}
.page-leadgen .leadgen-pill .garanzia-pill-title{grid-area:title;margin-bottom:0;letter-spacing:.16em}
.page-leadgen .leadgen-pill .garanzia-pill-desc{grid-area:desc}

/* ---------- MANIFESTO  ·  bigger backdrop, indexed items, bolder X glyph ---------- */
.page-leadgen .leadgen-manifesto .nofare-backdrop{
  font-size:clamp(8rem,5rem + 11vw,18rem);
  -webkit-text-stroke:1.4px var(--fg-out);
  letter-spacing:-.078em;
  font-variation-settings:"wght" 800,"wdth" 96,"opsz" 96,"GRAD" 32;
  top:-2rem;
  opacity:.92;
}
.page-leadgen .leadgen-manifesto-back{
  position:absolute;
  top:clamp(11rem,8rem + 12vw,18rem);
  left:50%;transform:translateX(-50%);
  pointer-events:none;z-index:0;user-select:none;
  font-family:var(--font-brace);
  font-style:italic;font-weight:500;
  font-size:clamp(3.5rem,2.4rem + 5vw,7.5rem);
  line-height:.78;letter-spacing:-.012em;
  color:transparent;
  -webkit-text-stroke:1.1px rgba(252,252,250,0.14);
  white-space:nowrap;
  opacity:.85;
}
/* ---------- Leadgen · Manifesto · editorial typographic list ---------- */
.page-leadgen .leadgen-manifesto{position:relative;isolation:isolate}
.page-leadgen .leadgen-manifesto-back{
  display:block;
  position:absolute;top:clamp(8rem,6rem + 4vw,12rem);left:50%;transform:translateX(-50%);
  pointer-events:none;z-index:0;user-select:none;
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(8rem,5rem + 11vw,17rem);line-height:.78;letter-spacing:-.08em;
  font-variation-settings:"wght" 880,"wdth" 90,"opsz" 96,"GRAD" 28;
  -webkit-text-stroke:1.4px oklch(0.78 0.14 25 / 0.16);color:transparent;
  white-space:nowrap;opacity:.92
}
.page-leadgen .leadgen-manifesto > .container{position:relative;z-index:2}
.page-leadgen .leadgen-nofare-list{
  counter-reset:nofare;
  display:grid;grid-template-columns:1fr 1fr;
  column-gap:clamp(2.5rem,2rem + 1.6vw,4rem);row-gap:0;
  max-width:72rem;margin:clamp(2.25rem,1.6rem + 1.6vw,3.5rem) auto 0;
  border-top:1px solid var(--rule-dark-strong)
}
.page-leadgen .leadgen-nofare-item{
  counter-increment:nofare;
  position:relative;
  padding:clamp(1.4rem,1.1rem + .9vw,2rem) 0 clamp(1.4rem,1.1rem + .9vw,2rem) clamp(1rem,.7rem + .8vw,1.6rem);
  background:transparent;border:none;
  border-bottom:1px solid var(--rule-dark);border-radius:0;
  overflow:visible;isolation:auto;
  display:grid;grid-template-columns:auto 1fr;
  align-items:baseline;gap:clamp(1.25rem,1rem + .8vw,2rem)
}
.page-leadgen .leadgen-nofare-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;background:oklch(0.78 0.14 25);opacity:.65;
  box-shadow:0 0 10px oklch(0.78 0.14 25 / 0.5);
  transition:height .55s var(--ease-out-expo),opacity .42s var(--ease);
  display:block
}
.page-leadgen .leadgen-nofare-item::after{
  content:"× 0" counter(nofare);position:static;
  font-family:var(--font-mono);
  font-size:clamp(2.4rem,1.8rem + 1.6vw,3.6rem);line-height:.85;
  -webkit-text-stroke:1.2px oklch(0.78 0.14 25 / 0.55);color:transparent;
  font-variation-settings:"wght" 600,"wdth" 96,"opsz" 24,"GRAD" 0;
  letter-spacing:-.01em;background:none;inset:auto;opacity:1;
  display:block;align-self:baseline;
  grid-column:1;grid-row:1;
  transition:color .35s var(--ease),-webkit-text-stroke-color .35s var(--ease)
}
.page-leadgen .leadgen-nofare-item:hover{border-bottom-color:oklch(0.78 0.14 25 / 0.55);background:transparent;box-shadow:none}
.page-leadgen .leadgen-nofare-item:hover::before{height:78%;opacity:1}
.page-leadgen .leadgen-nofare-item:hover::after{color:oklch(0.78 0.14 25);-webkit-text-stroke-color:oklch(0.78 0.14 25)}
.page-leadgen .leadgen-nofare-item > *{position:relative;z-index:1}
.page-leadgen .leadgen-nofare-idx{display:none}
.page-leadgen .leadgen-nofare-item .nofare-x{display:none}
.page-leadgen .leadgen-nofare-item .nofare-text{
  font-size:clamp(.95rem,.86rem + .25vw,1.08rem);color:var(--fg-2);
  max-width:44ch;line-height:1.58;
  font-variation-settings:"wght" 460,"wdth" 96,"opsz" 18,"GRAD" 0;
  grid-column:2;grid-row:1
}
.page-leadgen .leadgen-nofare-item .nofare-text b{
  display:block;margin-bottom:.4rem;color:var(--fg);font-size:1.1em;letter-spacing:-.016em;
  font-variation-settings:"wght" 740,"wdth" 96,"opsz" 24,"GRAD" 22
}
@media (max-width:760px){
  .page-leadgen .leadgen-nofare-list{grid-template-columns:1fr;column-gap:0}
  .page-leadgen .leadgen-manifesto-back{font-size:6rem}
}

/* ---------- MANIFESTO  ·  side-by-side comparison (Le agenzie / Noi) ---------- */
.page-leadgen .leadgen-vs{
  max-width:1100px;
  margin:clamp(2.5rem,1.6rem + 2vw,4rem) auto 0;
  display:flex;flex-direction:column;
  position:relative
}
/* vertical divider down the centre, between the two sides */
.page-leadgen .leadgen-vs::after{
  content:"";position:absolute;
  left:calc(60px + (100% - 60px) * 0.5 + clamp(.5rem,1vw,1.2rem));
  top:64px;bottom:8px;
  width:1px;
  background:linear-gradient(180deg,transparent 0,rgba(252,252,250,.14) 10%,rgba(252,252,250,.14) 90%,transparent 100%);
  pointer-events:none
}
.page-leadgen .leadgen-vs-head{
  display:grid;grid-template-columns:60px 1fr 1fr;
  column-gap:clamp(1.4rem,2vw,2.6rem);align-items:center;
  padding:0 clamp(1.4rem,1rem + 1vw,2.2rem);
  margin-bottom:clamp(1rem,.7rem + .6vw,1.4rem)
}
.page-leadgen .leadgen-vs-head::before{content:"";grid-column:1}
.page-leadgen .leadgen-vs-h{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;font-weight:700;
  font-variation-settings:var(--fv-mono);
  width:fit-content
}
.page-leadgen .leadgen-vs-h-them{color:oklch(0.74 0.13 26 / .92);grid-column:2;justify-self:center}
.page-leadgen .leadgen-vs-h-us{color:var(--teal);grid-column:3;justify-self:center}
.page-leadgen .leadgen-vs-icon{
  display:inline-grid;place-items:center;
  width:22px;height:22px;flex-shrink:0;
  border:1.5px solid currentColor;border-radius:50%
}
.page-leadgen .leadgen-vs-icon svg{width:11px;height:11px}
.page-leadgen .leadgen-vs-logo{
  width:22px;height:auto;display:block;flex-shrink:0;
  filter:drop-shadow(0 0 10px oklch(0.88 0.085 178 / 0.55))
}

.page-leadgen .leadgen-vs-list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:0
}
.page-leadgen .leadgen-vs-row{
  display:grid;grid-template-columns:60px 1fr 1fr;
  column-gap:clamp(1.4rem,2vw,2.6rem);align-items:center;
  padding:clamp(1.5rem,1.1rem + 1vw,2.1rem) clamp(1.4rem,1rem + 1vw,2.2rem);
  border-bottom:1px solid rgba(252,252,250,.06);
  position:relative;
  background:
    linear-gradient(90deg,oklch(0.74 0.13 26 / 0.04) 0%,oklch(0.74 0.13 26 / 0.018) 38%,transparent 50%),
    linear-gradient(90deg,transparent 50%,oklch(0.88 0.085 178 / 0.022) 62%,oklch(0.88 0.085 178 / 0.06) 100%);
  transition:background .35s var(--ease)
}
.page-leadgen .leadgen-vs-row:last-child{border-bottom:none}
.page-leadgen .leadgen-vs-row::before{
  content:"";position:absolute;left:0;top:0;width:0;height:1px;
  background:linear-gradient(90deg,oklch(0.74 0.13 26 / .55),transparent 50%,var(--teal) 100%);
  transition:width .65s var(--ease-out-expo)
}
.page-leadgen .leadgen-vs-row:hover{
  background:
    linear-gradient(90deg,oklch(0.74 0.13 26 / 0.06) 0%,oklch(0.74 0.13 26 / 0.025) 38%,transparent 50%),
    linear-gradient(90deg,transparent 50%,oklch(0.88 0.085 178 / 0.04) 62%,oklch(0.88 0.085 178 / 0.10) 100%)
}
.page-leadgen .leadgen-vs-row:hover::before{width:100%}

/* outlined display numeral on the left, brand pattern */
.page-leadgen .leadgen-vs-num{
  font-family:var(--font-mono);
  font-size:clamp(2.2rem,1.5rem + 1.7vw,3.2rem);line-height:.9;
  -webkit-text-stroke:1.4px rgba(252,252,250,.32);color:transparent;
  font-variation-settings:"wght" 720,"wdth" 96,"opsz" 36,"GRAD" 0;
  letter-spacing:-.02em;font-feature-settings:"tnum";
  align-self:center;
  transition:-webkit-text-stroke-color .35s var(--ease)
}
.page-leadgen .leadgen-vs-row:hover .leadgen-vs-num{
  -webkit-text-stroke-color:rgba(252,252,250,.48)
}

/* AGENCY cell — clearly readable, with coral strikethrough that doesn't drown the text */
.page-leadgen .leadgen-vs-them-cell{
  font-size:clamp(1rem,.94rem + .2vw,1.12rem);line-height:1.42;
  color:rgba(252,252,250,.74);
  position:relative;padding-right:.5rem;
  font-variation-settings:"wght" 520,"wdth" 96,"opsz" 22,"GRAD" 0
}
.page-leadgen .leadgen-vs-them-cell::after{
  content:"";position:absolute;left:0;top:52%;height:1px;
  width:0;
  background:linear-gradient(90deg,oklch(0.74 0.13 26 / .55) 0%,oklch(0.74 0.13 26 / .32) 88%,transparent 100%);
  transform:translateY(-50%);
  animation:vs-strike .9s var(--ease-out-expo) .15s forwards
}
@keyframes vs-strike{to{width:calc(100% - .4rem)}}

/* US cell — strong, teal accent rail, slight glow */
.page-leadgen .leadgen-vs-us-cell{
  font-size:clamp(1.08rem,.96rem + .3vw,1.28rem);line-height:1.32;
  color:#FCFCFA;
  letter-spacing:-.014em;
  font-variation-settings:"wght" 680,"wdth" 96,"opsz" 32,"GRAD" 28;
  position:relative;padding-left:22px;
  text-shadow:0 0 18px oklch(0.88 0.085 178 / 0.18)
}
.page-leadgen .leadgen-vs-us-cell::before{
  content:"";position:absolute;left:0;top:50%;width:3px;height:72%;
  background:var(--teal);
  transform:translateY(-50%);
  box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.8),0 0 24px oklch(0.88 0.085 178 / 0.35)
}

@media (max-width:760px){
  .page-leadgen .leadgen-vs::after{display:none}
  .page-leadgen .leadgen-vs-head{
    grid-template-columns:1fr 1fr;column-gap:.8rem;
    padding:0 .5rem;margin-bottom:.6rem
  }
  .page-leadgen .leadgen-vs-head::before{display:none}
  .page-leadgen .leadgen-vs-h-them{grid-column:1}
  .page-leadgen .leadgen-vs-h-us{grid-column:2}
  .page-leadgen .leadgen-vs-row{
    grid-template-columns:48px 1fr;
    grid-template-areas:"num them" "num us";
    column-gap:1rem;row-gap:.65rem;
    padding:1.5rem 1rem
  }
  .page-leadgen .leadgen-vs-num{grid-area:num;font-size:2rem;align-self:start;padding-top:.2rem}
  .page-leadgen .leadgen-vs-them-cell{grid-area:them;padding-right:0}
  .page-leadgen .leadgen-vs-us-cell{grid-area:us;padding-left:14px;font-size:1.05rem}
}

/* ---------- FINAL CTA  ·  eyebrow + below-button stat strip ---------- */
.page-leadgen .leadgen-final{
  position:relative;
}
.page-leadgen .leadgen-final-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 16px;
  margin:0 auto clamp(1.25rem,1rem + 1vw,1.75rem);
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy);
  font-variation-settings:var(--fv-mono);
  border:1px solid var(--rule-strong);border-radius:999px;
  background:rgba(252,252,250,0.7);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.page-leadgen .leadgen-final-dot{
  width:7px;height:7px;border-radius:50%;
  background:oklch(0.55 0.16 155);
  box-shadow:0 0 10px oklch(0.78 0.16 155 / 0.7);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-leadgen .leadgen-final-strip{
  list-style:none;padding:0;
  margin:clamp(2.5rem,1.8rem + 1.6vw,3.75rem) auto 0;
  display:flex;justify-content:center;gap:0;
  width:fit-content;max-width:48rem;
  position:relative;
  border-top:1px solid var(--rule);
  padding-top:clamp(1rem,.8rem + .6vw,1.4rem);
}
.page-leadgen .leadgen-final-strip li{min-width:clamp(8rem,6rem + 6vw,11rem)}
.page-leadgen .leadgen-final-strip::before{
  content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;
  transform:translateX(-50%);
  background:var(--teal);box-shadow:0 0 12px var(--teal),0 0 26px oklch(0.88 0.085 178 / 0.55);
  animation:pulse 2.6s var(--ease) infinite;
}
.page-leadgen .leadgen-final-strip li{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:0 .8rem;
  border-right:1px solid var(--rule);
  text-align:center;
}
.page-leadgen .leadgen-final-strip li:last-child{border-right:none}
.page-leadgen .leadgen-final-k{
  font-size:clamp(1.7rem,1.3rem + .9vw,2.4rem);
  line-height:1;
  font-variation-settings:"wght" 780,"wdth" 92,"opsz" 72,"GRAD" 24;
  color:var(--ink);letter-spacing:-.028em;
  font-variant-numeric:tabular-nums;
}
.page-leadgen .leadgen-final-l{
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  line-height:1.4;
}
@media (max-width:520px){
  .page-leadgen .leadgen-final-strip{grid-template-columns:repeat(2,1fr);gap:1rem 0}
  .page-leadgen .leadgen-final-strip li:nth-child(2){border-right:none}
  .page-leadgen .leadgen-final-strip li:nth-child(1),
  .page-leadgen .leadgen-final-strip li:nth-child(2){border-bottom:1px solid var(--rule);padding-bottom:1rem}
}

/* ---------- mobile guards ---------- */
@media (max-width:780px){
  .page-leadgen .problema-idx{font-size:2.6rem;top:-.6rem}
  .page-leadgen .leadgen-spark-bars{height:32px}
  .page-leadgen .leadgen-dossier-meter{max-width:100%}
}

/* ---------- reduced motion (leadgen) ---------- */
@media (prefers-reduced-motion:reduce){
  .page-leadgen .hero-pact::after,
  .page-leadgen .hero-pact-dot,
  .page-leadgen .leadgen-spark-bars span,
  .page-leadgen .leadgen-proof-bar span,
  .page-leadgen .leadgen-proof-foot-dot,
  .page-leadgen .leadgen-station-final,
  .page-leadgen .leadgen-rail-foot-line::after,
  .page-leadgen .leadgen-final-dot,
  .page-leadgen .leadgen-dossier-meter span{animation:none}
}

/* ============================================================
   LEAD-GENERATION  ·  v2 polish pass (final audit)
   Surgical fixes layered on top of the v1 leadgen rules above.
   ============================================================ */

/* ---------- HERO PACT  ·  uniform mono caps for values, balanced ---------- */
.page-leadgen .hero-pact-v{
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-variation-settings:"wght" 580,"wdth" 88,"opsz" 14,"GRAD" 5;
  color:var(--fg-2);line-height:1.45;
  text-wrap:balance;
}
.page-leadgen .hero-pact li{padding-block:0;min-height:62px;justify-content:flex-start}
.page-leadgen .hero-pact-k{color:var(--fg-dim)}
@media (max-width:680px){
  .page-leadgen .hero-pact{max-width:24rem}
  .page-leadgen .hero-pact li{min-height:54px;padding:0 .5rem}
  .page-leadgen .hero-pact{padding-top:1rem}
}

/* ---------- METHOD RAIL  ·  fix invisible icons on dark cosmic bg ---------- */
/* Base .section-dark .rail-station gives bg=cream + svg=ink (navy);
   v1 leadgen override accidentally washed icons out. Restore contrast. */
.page-leadgen .leadgen-rail .rail-station{
  background:radial-gradient(circle at 50% 38%,oklch(0.30 0.05 240) 0%,oklch(0.18 0.04 245) 55%,oklch(0.12 0.035 250) 100%);
  border-color:rgba(252,252,250,0.34);
  box-shadow:
    inset 0 0 0 1px rgba(252,252,250,0.05),
    inset 0 14px 28px -14px rgba(252,252,250,0.18),
    0 18px 38px -22px rgba(0,0,0,0.7);
}
.page-leadgen .leadgen-rail .rail-station svg{
  color:var(--fg);
  opacity:.96;
  filter:drop-shadow(0 0 14px oklch(0.88 0.085 178 / 0.30));
}
.page-leadgen .leadgen-rail .rail-stage:hover .rail-station{
  border-color:var(--teal);
  box-shadow:
    inset 0 0 0 1px rgba(252,252,250,0.08),
    inset 0 14px 28px -14px oklch(0.88 0.085 178 / 0.35),
    0 0 0 6px oklch(0.88 0.085 178 / 0.16),
    0 22px 50px -16px oklch(0.88 0.085 178 / 0.55);
}
.page-leadgen .leadgen-rail .rail-stage:hover .rail-station svg{
  color:var(--fg);
  filter:drop-shadow(0 0 18px oklch(0.88 0.085 178 / 0.6));
}
.page-leadgen .leadgen-rail .rail-station::after{border-color:oklch(0.88 0.085 178 / 0.5)}
.page-leadgen .leadgen-rail .rail-station::before{border-color:rgba(252,252,250,0.18)}

/* roman-numeral pip stays cream-on-dark, but more contrast */
.page-leadgen .leadgen-station-pip{
  background:var(--fg);color:var(--bg-dark);
  border-color:rgba(14,18,33,0.85);
}

/* ---------- DOSSIER  ·  mobile readability + chip rhythm ---------- */
@media (max-width:780px){
  .page-leadgen .leadgen-dossier-entry .dossier-stat{
    flex-direction:row;flex-wrap:wrap;align-items:baseline;
    gap:.5rem .85rem;
    padding-top:.5rem;border-top:1px dashed var(--rule);
    margin-top:.25rem;
  }
  .page-leadgen .leadgen-dossier-entry .dossier-stat-num{
    font-size:1.85rem;flex:0 0 auto;
  }
  .page-leadgen .leadgen-dossier-entry .dossier-stat-lbl{
    max-width:100%;flex:1 1 11rem;
    align-self:center;
  }
  .page-leadgen .leadgen-dossier-meter{
    order:5;width:100%;max-width:100%;
    margin:.15rem 0 0;
  }
  .page-leadgen .leadgen-dossier-mult{
    align-self:center;margin-top:0;
  }
  .page-leadgen .leadgen-dossier-chips{margin-top:.4rem}
}

@media (max-width:980px){
  .page-leadgen .leadgen-dossier-head{
    grid-template-columns:minmax(0,1.8rem) minmax(0,1.4fr) minmax(0,1fr);
    column-gap:1rem;
  }
}

/* ---------- GARANZIA columns  ·  numbered counter + animated left rule ---------- */
.page-leadgen .garanzia-cols{counter-reset:gar}
.page-leadgen .garanzia-col{
  counter-increment:gar;
  position:relative;
  isolation:isolate;
}
.page-leadgen .garanzia-col::before{
  content:counter(gar,decimal-leading-zero);
  position:absolute;top:1.1rem;right:1.25rem;
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.22em;
  color:var(--navy-3);font-variation-settings:var(--fv-mono);
  opacity:.75;
  pointer-events:none;
}
.page-leadgen .garanzia-col::after{
  content:"";position:absolute;left:-1px;top:1.4rem;bottom:1.4rem;width:2px;
  background:var(--teal);border-radius:2px;
  transform:scaleY(0);transform-origin:top;
  transition:transform .55s var(--ease-out-expo);
  box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.55);
  pointer-events:none;
}
.page-leadgen .garanzia-col:hover::after{transform:scaleY(1)}

/* ---------- FINAL CTA strip  ·  rule-line tick markers ---------- */
.page-leadgen .leadgen-final-strip li{position:relative}
.page-leadgen .leadgen-final-strip li::before{
  content:"";position:absolute;top:-1.4rem;left:50%;
  transform:translateX(-50%);
  width:1px;height:8px;background:var(--rule);
  opacity:.6;pointer-events:none;
}
@media (max-width:520px){
  .page-leadgen .leadgen-final-strip li::before{display:none}
}

/* ---------- MANIFESTO  ·  hide back-script on mobile (clutter) ---------- */
@media (max-width:780px){
  .page-leadgen .leadgen-manifesto-back{display:none}
}

/* ---------- SUBTLE: dossier title underline brighter ---------- */
.page-leadgen .leadgen-dossier-entry .dossier-title em::after{opacity:.75}

/* ---------- v2 reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .page-leadgen .garanzia-col::after{transition:none;transform:scaleY(1);opacity:.6}
}


/* ============================================================
   SOFTWARE · final premium pass (audit polish)
   Scoped under .page-software. Additive only.
   ============================================================ */

/* ---------- COSA · use 2-col grid via class (no inline style)
   Inline grid-template-columns prevented mobile breakpoint from
   collapsing cards. This restores the 1-col fallback on phones. */
.page-software .cards-6.cards-6-2col{
  grid-template-columns:repeat(2,1fr);
  max-width:62rem;
}
@media (max-width:760px){
  .page-software .cards-6.cards-6-2col{grid-template-columns:1fr}
}

/* ---------- DOSSIER · emblems get an editorial corner-bracket frame
   (replaces the dashed-box wireframe look) */
.page-software .dossier-emblem{
  border:none !important;
  background:transparent !important;
  height:5.4rem;
  padding:.5rem .9rem;
  position:relative;
}
/* four corner brackets */
.page-software .dossier-emblem::before,
.page-software .dossier-emblem::after{
  content:"";position:absolute;
  width:14px;height:14px;
  border:1.4px solid var(--rule-strong);
  transition:border-color .55s var(--ease),width .55s var(--ease-out-expo),height .55s var(--ease-out-expo);
  pointer-events:none;
}
.page-software .dossier-emblem::before{
  top:0;left:0;
  border-right:none;border-bottom:none;
}
.page-software .dossier-emblem::after{
  bottom:0;right:0;
  border-left:none;border-top:none;
}
.page-software .dossier-entry:hover .dossier-emblem::before,
.page-software .dossier-entry:hover .dossier-emblem::after{
  border-color:var(--teal-strong);
  width:18px;height:18px;
}
/* faint print-grid backdrop, only inside the emblem */
.page-software .dossier-emblem{
  background-image:
    linear-gradient(to right, rgba(20,25,43,0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(20,25,43,0.045) 1px, transparent 1px) !important;
  background-size:14px 14px !important;
  background-position:center center !important;
}
.page-software .dossier-entry:hover .dossier-emblem{
  background-image:
    linear-gradient(to right, oklch(0.88 0.085 178 / 0.18) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.88 0.085 178 / 0.18) 1px, transparent 1px) !important;
}
/* the SVG glyph itself sits on top */
.page-software .dossier-emblem svg{
  width:auto;height:100%;max-width:100%;
  z-index:1;position:relative;
  opacity:.78;
  color:var(--navy);
  filter:drop-shadow(0 0 0 transparent);
  transition:transform .8s var(--ease-out-expo),opacity .55s var(--ease),color .55s var(--ease),filter .55s var(--ease);
}
.page-software .dossier-entry:hover .dossier-emblem svg{
  color:var(--ink);
  opacity:1;
  transform:scale(1.06);
  filter:drop-shadow(0 4px 12px oklch(0.88 0.085 178 / 0.35));
}
/* tiny coordinate label in the top-right of the frame */
.page-software .dossier-emblem .pulse{
  fill:var(--teal);
  filter:drop-shadow(0 0 6px oklch(0.88 0.085 178 / 0.7));
}

/* ---------- STACK · the "40" becomes a real poster moment ----
   Bigger, slightly off-page on the right, with a faint companion
   plate strip behind that hints at "tools / produzione". */
.page-software .stack-section::before{
  font-size:clamp(14rem,9rem + 18vw,34rem) !important;
  top:clamp(.5rem,-.5rem + 3vw,3.5rem) !important;
  right:clamp(-2.5rem,-3vw,-1rem) !important;
  -webkit-text-stroke:1.8px var(--navy-out) !important;
  font-variation-settings:"wght" 800,"wdth" 96,"opsz" 96,"GRAD" -10 !important;
  letter-spacing:-.082em !important;
  opacity:.92;
}
/* faint vertical guide line just left of "40" — adds editorial weight */
.page-software .stack-section .container::before{
  content:"";
  position:absolute;
  top:clamp(2rem,1rem + 3vw,4rem);
  bottom:6.5rem;
  right:clamp(.6rem,.4rem + .6vw,1.4rem);
  width:1px;
  background:linear-gradient(to bottom,transparent,var(--rule-strong) 18%,var(--rule-strong) 82%,transparent);
  pointer-events:none;
  z-index:0;
}
/* small mono caption next to the guide line */
.page-software .stack-section .container::after{
  content:"40 · IN PRODUZIONE";
  position:absolute;
  top:clamp(2rem,1rem + 3vw,4rem);
  right:clamp(1.2rem,.8rem + 1vw,2rem);
  font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.34em;
  color:var(--navy-3);
  font-variation-settings:var(--fv-mono);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  pointer-events:none;
  z-index:0;
  opacity:.7;
}
@media (max-width:980px){
  .page-software .stack-section .container::before,
  .page-software .stack-section .container::after{display:none}
}

/* mobile guard: the "40" was already softened; refine its position */
@media (max-width:780px){
  .page-software .stack-section::before{
    font-size:11rem !important;
    top:1rem !important;
    right:-1.5rem !important;
    opacity:.42;
  }
}

/* ---------- METODO · soften rail label band, brighten "in continuo"
   Already has pulse-dot; add a subtle station ring on hover. */
.page-software .rail-station::after{
  content:"";position:absolute;
  inset:-6px;
  border:1px solid transparent;
  border-radius:50%;
  transition:border-color .55s var(--ease),transform .8s var(--ease-out-expo);
  pointer-events:none;
  z-index:1;
}
.page-software .rail-stage:hover .rail-station::after{
  border-color:oklch(0.88 0.085 178 / 0.45);
  transform:scale(1.08);
}

/* ---------- APPROCCIO · enlarge & re-position the CODE backdrop
   so it actually feels like a poster word. */
.page-software #approccio .nofare-backdrop{
  font-size:clamp(8rem,5rem + 12vw,20rem) !important;
  letter-spacing:-.05em !important;
  -webkit-text-stroke:1.6px var(--fg-out) !important;
  opacity:.92 !important;
  top:-1.5rem !important;
}
@media (max-width:780px){
  .page-software #approccio .nofare-backdrop{
    font-size:7rem !important;
    -webkit-text-stroke:1.2px var(--fg-out) !important;
    opacity:.55 !important;
  }
}
/* small editorial "× 06" total chip below the headline */
.page-software #approccio .sect-head::before{
  content:"06 NO";
  display:inline-block;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.32em;
  color:var(--fg-dim);
  padding:5px 12px;border:1px solid var(--rule-dark-strong);border-radius:999px;
  background:rgba(14,18,33,0.45);
  margin-bottom:1.1rem;
  font-variation-settings:var(--fv-mono);
}

/* ---------- FINAL CTA · richer background, slightly more drama ---- */
.page-software .final-cta{
  position:relative;
}
/* radial halo that mirrors the hero halo softly */
.page-software .final-cta::before{
  content:"";
  position:absolute;
  left:50%;top:35%;
  width:min(72rem,108vw);
  height:min(38rem,60vw);
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,
    oklch(0.88 0.085 178 / 0.10) 0%,
    oklch(0.88 0.085 178 / 0.04) 38%,
    transparent 70%);
  pointer-events:none;
  z-index:0;
  filter:blur(2px);
}
.page-software .final-cta .container{position:relative;z-index:1}

/* ---------- CARDS-6 mobile tightening (cosa) ---- */
@media (max-width:520px){
  .page-software #cosa .card-6{
    padding:1.25rem 1.15rem;
  }
  .page-software #cosa .card-6 h3{padding-right:2.6rem}
  .page-software #cosa .card-6::after{top:.8rem;right:.8rem}
}

/* ---------- HERO · make the brand mark + halo feel composed ---- */
.page-software .hero-halo{
  /* slightly lifted halo, more present behind brand mark */
  filter:saturate(1.05);
}

/* ---------- DOSSIER · tighten desktop layout balance ---------- */
@media (min-width:781px){
  .page-software .dossier-entry{
    grid-template-columns:minmax(0,2.2rem) minmax(0,1.55fr) minmax(7.5rem,10.5rem) minmax(0,.78fr) !important;
  }
}

/* ---------- METODO rail · soften duration pill on dark ---- */
.page-software .section-dark .rail-duration{
  /* keeps existing styling but ensures legibility on dark */
}

/* ---------- reduced motion (extension) ---------- */
@media (prefers-reduced-motion:reduce){
  .page-software .rail-stage:hover .rail-station::after{transform:none}
  .page-software .dossier-entry:hover .dossier-emblem svg{transform:none}
}


/* ============================================================
   SOFTWARE HERO TERMINAL · production logs cue
   Replaces the old credentials list. Editorial dev-tool feel.
   ============================================================ */
.page-software .hero-terminal{
  margin:clamp(2rem,1.4rem + 1.4vw,3rem) auto 0;
  max-width:42rem;width:100%;
  background:rgba(14,18,33,0.6);
  border:1px solid rgba(252,252,250,0.14);
  border-radius:14px;
  overflow:hidden;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 50px -22px rgba(0,0,0,0.55),inset 0 1px 0 rgba(252,252,250,0.05);
  text-align:left;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;line-height:1.7;
  opacity:0;animation:fade-up 900ms var(--ease-out-quart) 1500ms both
}
.page-software .hero-terminal-bar{
  display:flex;align-items:center;gap:7px;
  padding:9px 14px;
  background:rgba(252,252,250,0.04);
  border-bottom:1px solid rgba(252,252,250,0.08);
  font-size:11px;color:var(--fg-dim);
  letter-spacing:.02em
}
.page-software .hero-terminal-dot{
  width:9px;height:9px;border-radius:50%;
  background:rgba(252,252,250,0.14);flex-shrink:0
}
.page-software .hero-terminal-dot:nth-child(1){background:#FF5F56}
.page-software .hero-terminal-dot:nth-child(2){background:#FFBD2E}
.page-software .hero-terminal-dot:nth-child(3){background:#27C93F}
.page-software .hero-terminal-path{
  margin-left:auto;color:var(--fg-3);font-size:10.5px;letter-spacing:.04em
}
.page-software .hero-terminal-body{
  padding:14px 18px 16px;color:var(--fg-2);font-size:12.5px
}
.page-software .hero-terminal-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-software .ht-prompt{color:var(--teal);user-select:none;margin-right:6px;font-weight:700}
.page-software .ht-cmd{color:var(--fg)}
.page-software .ht-out{color:var(--fg-3);padding-left:14px}
.page-software .ht-availability{
  margin-top:8px;padding-top:8px;
  border-top:1px solid rgba(252,252,250,0.08);
  display:flex;align-items:center;gap:8px
}
.page-software .ht-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#27C93F;box-shadow:0 0 8px rgba(39,201,63,.7);
  animation:pulse 2.6s var(--ease) infinite
}
.page-software .ht-availability .ht-cmd{color:var(--fg);font-size:12px;letter-spacing:.005em}

@media (max-width:560px){
  .page-software .hero-terminal{font-size:11.5px}
  .page-software .hero-terminal-body{padding:12px 14px 14px;font-size:11.5px}
  .page-software .hero-terminal-line{font-size:11.5px}
  .page-software .hero-terminal-path{display:none}
}

/* leadgen — replace fake sparkline with a meaningful min/avg/max range bar */
.page-leadgen .leadgen-range{
  display:flex;align-items:center;gap:14px;
  margin-top:clamp(.85rem,.65rem + .5vw,1.2rem);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);font-variation-settings:var(--fv-mono);
  position:relative;z-index:2
}
.page-leadgen .leadgen-range-cap{color:var(--navy-2);white-space:nowrap;font-size:10.5px}
.page-leadgen .leadgen-range-bar{
  flex:1;height:6px;border-radius:999px;
  background:rgba(47,65,93,0.12);position:relative;overflow:hidden
}
.page-leadgen .leadgen-range-fill{
  position:absolute;inset:0;
  background:linear-gradient(90deg,oklch(0.78 0.05 220 / 0.45) 0%,oklch(0.88 0.085 178 / 0.85) 60%,oklch(0.78 0.05 220 / 0.45) 100%);
  border-radius:inherit
}
.page-leadgen .leadgen-range-marker{
  position:absolute;top:50%;left:36%;
  width:14px;height:14px;border-radius:50%;
  background:var(--ink);border:2px solid #FCFCFA;
  box-shadow:0 0 0 1px var(--ink),0 4px 14px -4px rgba(20,25,43,0.5);
  transform:translate(-50%,-50%)
}
.page-leadgen .leadgen-range-marker::after{
  content:"14";position:absolute;left:50%;top:-22px;transform:translateX(-50%);
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  color:var(--ink);font-weight:700;white-space:nowrap
}
@media (max-width:520px){
  .page-leadgen .leadgen-range{font-size:10px;gap:10px}
  .page-leadgen .leadgen-range-cap{font-size:9.5px}
}

/* ---------- FOOTER · base.css now handles the centered hero+cols layout site-wide ---------- */
