/* ==========================================================================
   Piattaforma prodotto — assemblaggio Fase 1 (build-piattaforme-v2.py)
   Generato dai prototipi .analysis/prototipi/*.html. Non editare a mano:
   modificare i prototipi e rilanciare lo script.
   ========================================================================== */

:root {
  --nexo: #4C1D95;
  --nexo-2: #6D28D9;
  --ink: #0B1220;
  --ink-2: #334155;
  --muted: #64748B;
  --line: #E4E7EE;
  --ok: #15803D;
  --p-canvas: #010102;
  --p-s1: #0F1011;
  --p-s2: #141516;
  --p-hair: #23252A;
  --p-ink: #F7F8F8;
  --p-mut: #8A8F98;
  --p-ok: #27A644;
  --brand: #5E6AD2;
  --brand-ink: #fff;
  --max: 1180px;
}
/* ===== hero (step4-hero.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .hwrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.hhero{position:relative;padding:60px 0 0;text-align:center;overflow:hidden}
  .hhero::before{content:"";position:absolute;inset:-40% 0 auto;height:600px;pointer-events:none;
    background:radial-gradient(46% 60% at 50% 40%,rgba(76,29,149,.13) 0%,rgba(76,29,149,0) 70%)}
  .hkicker{position:relative;font-size:12px;font-weight:600;letter-spacing:.16em;
    text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h1{position:relative;font-size:clamp(1.9rem,3.3vw,3.05rem);line-height:1.08;font-weight:600;
    letter-spacing:-.03em;margin:0 auto 20px;max-width:1040px}
  h1 em{font-style:normal;color:var(--nexo)}
  .hsub{position:relative;font-size:1.06rem;line-height:1.58;color:var(--ink-2);
    max-width:52ch;margin:0 auto 26px}
  .hcta{position:relative;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
  .hbtn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font:inherit;
    font-size:.96rem;font-weight:600;padding:14px 24px;border-radius:9px;text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
  .hbtn--p{background:var(--nexo);color:#fff;box-shadow:0 1px 2px rgba(11,18,32,.16),0 12px 28px rgba(76,29,149,.24)}
  .hbtn--p:hover{transform:translateY(-1px);background:var(--nexo-2)}
  .hbtn--g{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
  .hnote{position:relative;font-size:13px;color:var(--muted);margin:0 0 34px}
  .hnote b{color:var(--ok);font-weight:600}

  .hframe{position:relative;background:var(--p-canvas);border:1px solid var(--p-hair);
    border-radius:16px;overflow:hidden;text-align:left;
    box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 36px 80px -22px rgba(11,18,32,.5),0 6px 20px rgba(11,18,32,.12)}
  .hbar{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--p-hair);
    background:var(--p-s1);min-height:48px}
  .hdot{width:9px;height:9px;border-radius:50%;background:#2A2C31;flex:none}
  .hurl{font-size:11.5px;color:var(--p-mut);background:var(--p-s2);border:1px solid var(--p-hair);
    border-radius:6px;padding:3px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hurl b{color:var(--p-ink);font-weight:500}
  .hpicker{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}
  .hpicker__lab{font-size:11px;color:#5A5F68;letter-spacing:.06em;text-transform:uppercase}
  .htabs{display:flex;gap:3px;background:var(--p-s2);border:1px solid var(--p-hair);border-radius:8px;padding:3px}
  .htabs button{font:inherit;font-size:12px;font-weight:500;border:0;cursor:pointer;background:transparent;
    color:var(--p-mut);padding:5px 11px;border-radius:6px;display:flex;align-items:center;gap:7px;
    transition:background .2s ease,color .2s ease}
  .htabs button:hover{color:#C8CDD4}
  .htabs button[aria-pressed="true"]{background:color-mix(in srgb,var(--brand) 20%,transparent);color:var(--p-ink)}
  .hsw-dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:none}

  .happ{display:grid;grid-template-columns:200px minmax(0,1fr)}
  .hside{border-right:1px solid var(--p-hair);padding:14px 12px;background:var(--p-s1)}
  .hlogo{display:flex;align-items:center;gap:9px;margin:0 0 16px;padding:0 6px}
  .hmark{width:20px;height:20px;border-radius:5px;background:var(--brand);color:var(--brand-ink);
    display:grid;place-items:center;font-size:9.5px;font-weight:700;flex:none;transition:background .25s ease}
  .hlogo .hmark{width:25px;height:25px;border-radius:7px;font-size:10.5px}
  .hlogo__n{font-size:13px;font-weight:600;color:var(--p-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hcap-s{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#5A5F68;margin:0 8px 6px}
  .hni{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--p-mut);padding:5px 9px;
    border-radius:6px;margin-bottom:1px;white-space:nowrap}
  .hni i{width:5px;height:5px;border-radius:50%;background:#3A3D44;flex:none}
  .hni.hon{background:color-mix(in srgb,var(--brand) 15%,transparent);color:var(--p-ink);font-weight:500}
  .hni.hon i{background:var(--brand)}
  .hni--ext{color:#9FB0C8}
  .hni--ext i{background:#3D5A80}
  .htag{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:.07em;text-transform:uppercase;
    color:#4C9AFF;background:color-mix(in srgb,#4C9AFF 18%,transparent);border-radius:4px;padding:2px 6px}
  .hmain{padding:16px 20px;min-width:0}
  .hmtop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
  .hmtop h3{font-size:14.5px;font-weight:600;color:var(--p-ink);margin:0;letter-spacing:-.01em}
  .hchip{font-size:10.5px;color:var(--p-mut);border:1px solid var(--p-hair);border-radius:20px;padding:3px 9px}
  .hkpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
  .hkpi{background:var(--p-s2);border:1px solid var(--p-hair);border-radius:9px;padding:11px 12px;position:relative}
  .hkpi b{display:block;font-size:19px;font-weight:600;color:var(--p-ink);letter-spacing:-.02em;line-height:1.25}
  .hkpi span{font-size:11px;color:var(--p-mut)}
  .htbl{background:var(--p-s1);border:1px solid var(--p-hair);border-radius:9px;overflow:hidden;position:relative}
  .hrow{display:grid;grid-template-columns:1.7fr .85fr 1fr;gap:10px;padding:8px 13px;font-size:11.5px;
    color:#C8CDD4;border-top:1px solid var(--p-hair)}
  .hrow:first-child{border-top:0;color:#5A5F68;font-size:9.5px;letter-spacing:.1em;
    text-transform:uppercase;background:var(--p-s2)}
  .hst{font-size:10px;font-weight:600;color:var(--p-ok);background:color-mix(in srgb,var(--p-ok) 16%,transparent);
    border-radius:5px;padding:2px 7px;justify-self:start;white-space:nowrap}

  .hhs{position:absolute;width:23px;height:23px;border-radius:50%;border:0;cursor:pointer;background:var(--brand);
    color:#fff;font:inherit;font-size:11px;font-weight:700;display:grid;place-items:center;z-index:3;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 30%,transparent);
    transition:transform .2s ease,box-shadow .2s ease,background .25s ease}
  .hhs:hover{transform:scale(1.14)}
  .hhs[aria-pressed="true"]{box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 46%,transparent),0 8px 20px rgba(0,0,0,.6)}
  .hhs--1{top:-11px;left:-11px}
  .hhs--2{top:14px;right:10px}
  .hhs--3{top:54px;right:10px}
  .hhs--4{top:94px;right:10px}
  .hrel{position:relative}

  /* didascalia: dentro il primo viewport, agganciata alla cornice */
  .hcap{display:grid;grid-template-columns:104px minmax(0,1fr);gap:22px;align-items:start;
    text-align:left;margin-top:18px;padding:16px 0 0;border-top:2px solid var(--brand);
    transition:border-color .25s ease}
  .hcap__n{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:var(--brand);padding-top:2px;transition:color .25s ease}
  .hcap b{display:block;font-size:15.5px;letter-spacing:-.012em;margin-bottom:4px}
  .hcap p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-2);max-width:70ch}
  .hproof{text-align:left;margin:26px 0 84px;font-size:12.5px;color:var(--muted);line-height:1.6}
  .hproof b{color:var(--ink-2);font-weight:600}

  @media (max-width:980px){
    .happ{grid-template-columns:1fr}
    .hside{border-right:0;border-bottom:1px solid var(--p-hair);display:flex;gap:16px;align-items:center;
      overflow-x:auto;padding:11px}
    .hlogo{margin:0;flex:none}
    .hside>div{display:flex;gap:4px;align-items:center}
    .hcap-s{display:none}
    .hkpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hcap{grid-template-columns:1fr;gap:6px}
    h1{max-width:640px}
    .hpicker__lab{display:none}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ===== flusso e moduli (step6-flusso-moduli.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .fwrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.fsec{padding:92px 0 0;text-align:center}
  .fkicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h2{font-size:clamp(1.7rem,3.1vw,2.5rem);line-height:1.12;font-weight:600;letter-spacing:-.028em;
    margin:0 auto 18px;max-width:25ch}
  h2 em{font-style:normal;color:var(--nexo)}
  .flede{font-size:1.04rem;line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 auto 56px}

  /* ---------- timeline ---------- */
  .ftl{margin:0 0 46px}
  .ftl__bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:26px}
  .fseg{height:5px;border-radius:3px;background:color-mix(in srgb,var(--brand) 78%,transparent)}
  .fseg:nth-child(2){opacity:.85}.fseg:nth-child(3){opacity:.7}
  .fseg:nth-child(4){opacity:.55}.fseg:nth-child(5){background:var(--brand)}
  .facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;text-align:left}
  .fact{position:relative;padding-top:20px;border-top:1px solid var(--line);display:flex;
    flex-direction:column}
  .fact b{display:block;font-size:56px;line-height:.86;font-weight:600;letter-spacing:-.05em;
    color:transparent;-webkit-text-stroke:1.2px #C6CEDA;margin-bottom:12px}
  .fact h3{font-size:15.5px;line-height:1.25;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}
  .fact p{margin:0;font-size:13px;line-height:1.58;color:var(--ink-2)}
  .fact em{display:block;margin-top:auto;padding-top:9px;font-style:normal;font-size:11px;color:var(--muted);
    letter-spacing:.03em}

  /* ---------- tre moduli ---------- */
  .fmods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
  .fmod{border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;
    background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
  .fmod:hover{border-color:#C9D0DC;box-shadow:0 18px 44px -24px rgba(11,18,32,.34);transform:translateY(-2px)}
  .fmod__k{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
  .fmod h3{font-size:1.28rem;line-height:1.22;font-weight:600;letter-spacing:-.022em;margin:0 0 10px}
  .fmod p{margin:0 0 16px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}  .fchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
  .fchip{font-size:11px;color:var(--ink-2);background:#F4F5F8;border:1px solid var(--line);
    border-radius:20px;padding:3px 10px}
  .fdoes{margin:0 0 18px;padding:0;list-style:none}
  .fdoes li{position:relative;padding-left:20px;font-size:13px;line-height:1.55;color:var(--ink-2);
    margin-bottom:7px}
  .fdoes li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;
    background:color-mix(in srgb,var(--brand) 22%,transparent);box-shadow:inset 0 0 0 1.5px var(--brand)}
  /* Specificità 0,2,1: la regola generica `.fmod p` (0,1,1) azzererebbe il margin-top. */
  .fmod p.fmod__f{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;
    color:var(--muted);line-height:1.5}
  .fmod__f b{color:var(--ink-2);font-weight:600}

  .fstrip{margin:52px 0 88px;text-align:left;border:1px solid var(--line);border-radius:12px;
    padding:18px 20px;background:#FAFAFB;font-size:13px;line-height:1.65;color:var(--ink-2)}
  .fstrip b{color:var(--ink)}

  @media (max-width:1000px){
    .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
    .facts .fact:last-child{grid-column:1 / -1}
    .fmods{grid-template-columns:1fr}
    .ftl__bar{grid-template-columns:repeat(5,minmax(0,1fr))}
  }
  @media (max-width:560px){
    .facts{grid-template-columns:1fr}
    h2{max-width:15ch}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ===== crm twenty (step5-crm.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .cwrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.csec{padding:88px 0 0;text-align:center}
  .ckicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h2{font-size:clamp(1.7rem,3.1vw,2.5rem);line-height:1.12;font-weight:600;letter-spacing:-.028em;
    margin:0 auto 18px;max-width:25ch}
  h2 em{font-style:normal;color:var(--nexo)}
  .clede{font-size:1.04rem;line-height:1.6;color:var(--ink-2);max-width:60ch;margin:0 auto 54px}

  /* ---------- flusso ---------- */
  .cflow{display:grid;grid-template-columns:minmax(0,1fr) 132px minmax(0,1.24fr);
    gap:0;align-items:stretch;text-align:left}
  .cpanel{background:var(--p-canvas);border:1px solid var(--p-hair);border-radius:14px;overflow:hidden;
    box-shadow:0 24px 56px -26px rgba(11,18,32,.5),0 4px 14px rgba(11,18,32,.1)}
  .cpanel__bar{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--p-hair);
    background:var(--p-s1);min-height:44px}
  .cmark{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10px;
    font-weight:700;color:#fff;flex:none;background:var(--brand);transition:background .25s ease}
  .cpanel__t{font-size:12px;font-weight:600;color:var(--p-ink)}
  .cpanel__s{font-size:11px;color:var(--p-mut);margin-left:auto;white-space:nowrap}
  .cpanel__s .cwl{color:var(--brand);font-weight:600}

  .csteps{padding:14px}
  .cstg{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid var(--p-hair);
    border-radius:9px;background:var(--p-s2);margin-bottom:8px;position:relative}
  .cstg b{display:block;font-size:12px;color:var(--p-ink);font-weight:600}
  .cstg span{display:block;font-size:10.5px;color:var(--p-mut);margin-top:1px}
  .cstg i{width:20px;height:20px;border-radius:6px;background:var(--p-s1);border:1px solid var(--p-hair);
    display:grid;place-items:center;font-style:normal;font-size:10px;color:var(--p-mut);flex:none}
  .cstg--live{border-color:color-mix(in srgb,var(--brand) 55%,transparent);
    background:color-mix(in srgb,var(--brand) 11%,var(--p-s2))}
  .cstg--live i{background:var(--brand);color:#fff;border-color:transparent}

  /* connettore */
  .cwire{position:relative;display:flex;align-items:center;justify-content:center}
  .cwire__line{position:absolute;top:50%;left:8px;right:8px;height:1px;background:var(--line)}
  .cdot{position:absolute;top:50%;width:7px;height:7px;border-radius:50%;margin-top:-3.5px;
    animation:run 3.2s linear infinite}
  .cdot--a{background:var(--brand);left:8px;--from:0%;--to:calc(100% - 15px)}
  .cdot--b{background:#7C8698;left:8px;--from:calc(100% - 15px);--to:0;animation-delay:1.6s}
  @keyframes run{0%{left:var(--from);opacity:0}12%{opacity:1}88%{opacity:1}100%{left:var(--to);opacity:0}}
  .cwire__cap{position:relative;background:#fff;padding:10px 12px;text-align:center;max-width:132px}
  .cwire__cap b{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
  .cwire__cap span{display:block;font-size:11px;color:var(--muted);line-height:1.45;margin-top:4px}

  /* Twenty */
  .ct20{display:grid;grid-template-columns:148px minmax(0,1fr)}
  .ct20side{border-right:1px solid var(--p-hair);padding:12px 10px;background:var(--p-s1)}
  .coi{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--p-mut);padding:5px 8px;
    border-radius:6px;white-space:nowrap}
  .coi i{width:5px;height:5px;border-radius:1.5px;background:#3A3D44;flex:none}
  .coi.con{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--p-ink);font-weight:500}
  .coi.con i{background:var(--brand)}
  .coi b{margin-left:auto;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--brand);font-weight:600}
  .ct20main{padding:14px;min-width:0}
  .cpipeline{display:flex;gap:7px;overflow:hidden;margin-bottom:12px}
  .cpl{flex:1;min-width:0}
  .cpl b{display:block;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#5A5F68;
    margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ccard{background:var(--p-s2);border:1px solid var(--p-hair);border-radius:8px;padding:8px 9px;margin-bottom:5px}
  .ccard u{display:block;font-size:11px;color:var(--p-ink);text-decoration:none;font-weight:500;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ccard em{font-style:normal;display:inline-block;margin-top:4px;font-size:9px;letter-spacing:.06em;
    text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#1F2226;color:#8A8F98}
  .ccard em.cok{background:color-mix(in srgb,var(--p-ok) 18%,transparent);color:var(--p-ok)}
  .crec{background:var(--p-s1);border:1px solid var(--p-hair);border-radius:9px;padding:11px 12px;
    position:relative;overflow:hidden}
  .crec__top{display:flex;align-items:center;gap:9px;margin-bottom:8px}
  .crec__top b{font-size:12.5px;color:var(--p-ink)}
  .cbadge{font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:4px;
    background:color-mix(in srgb,var(--brand) 20%,transparent);color:var(--brand)}
  .crec__row{display:flex;gap:16px;flex-wrap:wrap;font-size:10.5px;color:var(--p-mut);margin-bottom:9px}
  .cnote{background:var(--p-s2);border-left:2px solid var(--brand);border-radius:0 7px 7px 0;
    padding:8px 11px;font-size:11px;color:#C8CDD4;line-height:1.5}
  .cnote b{color:var(--p-ink);font-weight:600}
  .cpulse{position:absolute;inset:0;border-radius:9px;pointer-events:none;
    background:radial-gradient(120% 80% at 50% 50%,color-mix(in srgb,var(--brand) 26%,transparent) 0%,transparent 70%);
    opacity:0}
  .crec.cis-live .cpulse{animation:pulse 3.2s ease-out infinite}
  @keyframes pulse{0%{opacity:0}18%{opacity:1}70%{opacity:0}100%{opacity:0}}

  /* tre punti */
  .cpts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left;margin:52px 0 0}
  .cpt{border-top:2px solid var(--line);padding-top:14px}
  .cpt b{display:block;font-size:14.5px;letter-spacing:-.01em;margin-bottom:6px}
  .cpt p{margin:0;font-size:13px;line-height:1.6;color:var(--ink-2)}
  .cpt code{font-size:11px;color:var(--muted);background:#F4F5F8;padding:1px 5px;border-radius:4px;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
  .cstrip{margin:56px 0 88px;text-align:left;border:1px solid var(--line);border-radius:12px;
    padding:18px 20px;background:#FAFAFB;font-size:13px;line-height:1.65;color:var(--ink-2)}
  .cstrip b{color:var(--ink)}

  @media (max-width:1020px){
    .cflow{grid-template-columns:1fr;gap:16px}
    .cwire{padding:18px 0}
    .cwire__line{top:8px;bottom:8px;left:50%;right:auto;width:1px;height:auto}
    .cdot{animation:none;display:none}
    .cpts{grid-template-columns:1fr;gap:22px}
    h2{max-width:15ch}
  }
  @media (prefers-reduced-motion:reduce){
    .cdot{animation:none;opacity:.5}
    .crec.cis-live .cpulse{animation:none}
  }

/* ===== white label (step7-white-label.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .wwrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.wsec{padding:92px 0 0;text-align:center}
  .wkicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h2{font-size:clamp(1.7rem,3.1vw,2.5rem);line-height:1.12;font-weight:600;letter-spacing:-.028em;
    margin:0 auto 18px;max-width:25ch}
  h2 em{font-style:normal;color:var(--nexo)}
  .wlede{font-size:1.04rem;line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 auto 52px}

  .wwl{display:grid;grid-template-columns:320px minmax(0,1fr);gap:26px;text-align:left;align-items:start}
  .wsteps{display:flex;flex-direction:column;gap:2px}
  .wstep{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;cursor:pointer;
    background:transparent;border:0;border-left:2px solid var(--line);padding:16px 0 16px 18px;
    font:inherit;color:var(--ink);transition:border-color .2s ease,background .2s ease}
  .wstep:hover{border-left-color:#C6CEDA}
  .wstep__n{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.08em;padding-top:3px;
    min-width:22px;transition:color .2s ease}
  .wstep b{display:block;font-size:15px;font-weight:600;letter-spacing:-.012em;margin-bottom:3px}
  .wstep span{display:block;font-size:12.5px;line-height:1.5;color:var(--muted)}
  .wstep[aria-selected="true"]{border-left-color:var(--brand)}
  .wstep[aria-selected="true"] .wstep__n{color:var(--brand)}
  .wstep[aria-selected="true"] b{color:var(--brand)}

  /* --- superficie artefatto --- */
  .wstage{background:#F7F8FB;border:1px solid var(--line);border-radius:16px;padding:22px;min-height:392px}
  .wart{display:none}
  .wart.won{display:block}
  .wart__t{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
  .wart__b{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:16px 0 0;max-width:52ch}
  .wart__b b{color:var(--ink);font-weight:600}

  /* 1 — identità */
  .wkit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .wkit__c{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
  .wkit__c u{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
    text-decoration:none;margin-bottom:10px}
  .wsw{height:58px;border-radius:9px;background:var(--brand);margin-bottom:10px}
  .wwm{display:flex;align-items:center;gap:9px;height:58px;margin-bottom:10px}
  .wwm i{width:32px;height:32px;border-radius:8px;background:var(--brand);color:#fff;display:grid;
    place-items:center;font-style:normal;font-size:12px;font-weight:700}
  .wwm b{font-size:14px;font-weight:600;letter-spacing:-.01em}
  .wfx{display:flex;gap:5px;height:58px;margin-bottom:10px}
  .wfx i{flex:1;border-radius:7px}
  .wkit__c s{display:block;font-size:11.5px;color:var(--ink-2);text-decoration:none;line-height:1.45}

  /* 2 — dominio */
  .wdom{background:#010102;border:1px solid #23252A;border-radius:12px;padding:0;overflow:hidden}
  .wdom__bar{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #23252A}
  .wdom__d{width:9px;height:9px;border-radius:50%;background:#2A2C31}
  .wdom__u{margin-left:8px;font-size:11.5px;color:#F7F8F8;background:#141516;border:1px solid #23252A;
    border-radius:6px;padding:3px 11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wdom__c{margin-left:auto;font-size:10.5px;color:#27A644;background:rgba(39,166,68,.14);
    border-radius:5px;padding:3px 8px;white-space:nowrap}
  .wdom__in{padding:16px 14px}
  .wdom__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .wdom__l div{background:#0F1011;border:1px solid #23252A;border-radius:9px;padding:11px}
  .wdom__l u{display:block;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:#5A5F68;
    text-decoration:none;margin-bottom:4px}
  .wdom__l s{display:block;font-size:12px;color:#F7F8F8;text-decoration:none}

  /* 3 — documento */
  .wdoc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 24px;
    box-shadow:0 10px 30px -18px rgba(11,18,32,.4)}
  .wdoc__h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;
    padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
  .wdoc__h b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em}
  .wdoc__h span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
  .wdoc__l{display:grid;grid-template-columns:1.1fr .9fr;gap:8px 18px;margin-bottom:14px}
  .wdoc__l div{font-size:11.5px;color:var(--ink-2);border-bottom:1px dotted #D8DEE8;padding-bottom:5px}
  .wdoc__l div u{display:block;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:#9AA5B5;
    text-decoration:none}
  .wdoc__t{font-size:11.5px;line-height:1.75;color:var(--ink-2)}
  .wdoc__sig{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px;
    padding-top:14px;border-top:1px solid var(--line)}
  .wdoc__sig div{font-size:10.5px;color:var(--muted)}
  .wdoc__sig em{font-style:normal;display:block;color:var(--ink);font-size:12px;margin-top:2px}
  .wstamp{border:1.5px solid var(--brand);color:var(--brand);border-radius:7px;padding:5px 11px;
    font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-2deg)}

  /* 4 — email */
  .wmail{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .wmail__h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:14px 16px;
    border-bottom:1px solid var(--line);font-size:11.5px;align-items:center}
  .wmail__h u{grid-column:1 / -1;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
    color:#9AA5B5;text-decoration:none;margin-bottom:4px}
  .wmail__h s{text-decoration:none;color:var(--muted)}
  .wmail__h b{font-weight:600;color:var(--ink)}
  .wav{width:26px;height:26px;border-radius:7px;background:var(--brand);color:#fff;display:grid;
    place-items:center;font-size:10px;font-weight:700;grid-row:2}
  .wmail__b{padding:18px 16px}
  .wmail__b h4{margin:0 0 9px;font-size:15px;font-weight:600;letter-spacing:-.015em}
  .wmail__b p{margin:0 0 14px;font-size:12.5px;line-height:1.65;color:var(--ink-2);max-width:46ch}
  .wbtn-i{display:inline-flex;align-items:center;background:var(--brand);color:#fff;font-size:12.5px;
    font-weight:600;padding:9px 16px;border-radius:7px}
  .wmail__f{border-top:1px solid var(--line);padding:12px 16px;font-size:10.5px;color:var(--muted);
    line-height:1.6;background:#FCFDFE}

  .wstrip{margin:44px 0 88px;text-align:left;border:1px solid var(--line);border-radius:12px;
    padding:18px 20px;background:#FAFAFB;font-size:13px;line-height:1.65;color:var(--ink-2)}
  .wstrip b{color:var(--ink)}

  @media (max-width:1000px){
    .wwl{grid-template-columns:1fr}
    .wsteps{flex-direction:row;flex-wrap:wrap;gap:0 4px}
    .wstep{flex:1 1 46%;border-left:0;border-bottom:2px solid var(--line);padding:12px 12px 12px 0}
    .wstep[aria-selected="true"]{border-left:0;border-bottom-color:var(--brand)}
    .wkit,.wdom__l{grid-template-columns:1fr}
    .wdoc__l{grid-template-columns:1fr}
  }
  @media (max-width:560px){ h2{max-width:15ch} .wstage{padding:16px} .wdoc{padding:16px} }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ===== prezzi (step8-prezzi.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .pwrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.psec{padding:92px 0 0;text-align:center}
  .pkicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h2{font-size:clamp(1.7rem,3.1vw,2.5rem);line-height:1.12;font-weight:600;letter-spacing:-.028em;
    margin:0 auto 18px;max-width:25ch}
  h2 em{font-style:normal;color:var(--nexo)}
  .plede{font-size:1.04rem;line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 auto 48px}

  /* --- pacchetto base --- */
  .pbase{border:1px solid var(--line);border-radius:18px;overflow:hidden;text-align:left;
    box-shadow:0 20px 50px -30px rgba(11,18,32,.4)}
  .pbase__t{padding:26px 28px 22px;border-bottom:1px solid var(--line);
    display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap;background:#FBFCFE}
  .pbase__t h3{margin:0;font-size:1.3rem;font-weight:600;letter-spacing:-.02em}
  .pbase__t p{margin:6px 0 0;font-size:13.5px;color:var(--ink-2);max-width:46ch}
  .pamount{margin-left:auto;text-align:right}
  .pamount b{display:block;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:600;letter-spacing:-.03em;
    line-height:1.05;color:var(--nexo)}
  .pamount s{display:block;font-size:12px;color:var(--muted);text-decoration:none;margin-top:6px}
  .pinc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;padding:24px 28px}
  .pinc li{list-style:none;position:relative;padding:8px 0 8px 26px;font-size:13.5px;line-height:1.55;
    color:var(--ink-2);border-bottom:1px solid #F0F2F6}
  .pinc li::before{content:"";position:absolute;left:0;top:15px;width:11px;height:6px;
    border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
  .pinc li b{color:var(--ink);font-weight:600}
  .pbase__f{padding:18px 28px 24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;
    border-top:1px solid var(--line);background:#FBFCFE}
  .pbase__f p{margin:0;font-size:12.5px;color:var(--muted);flex:1;min-width:240px}
  .pbtn{display:inline-flex;align-items:center;background:var(--nexo);color:#fff;font-size:.95rem;
    font-weight:600;padding:13px 22px;border-radius:9px;border:0;cursor:pointer;text-decoration:none;
    box-shadow:0 10px 24px -10px rgba(76,29,149,.5)}
/* --- aggiunte --- */
  .padd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px;text-align:left}
  .padd__c{border:1px solid var(--line);border-radius:16px;padding:22px;background:#FCFDFE}
  .padd__c h4{margin:0 0 4px;font-size:15.5px;font-weight:600;letter-spacing:-.012em}
  .padd__c .pk{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
  .padd__c .pp{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
  .padd__c .pp b{color:var(--ink);font-weight:600}
  .plv{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;
    padding:9px 0;border-top:1px solid #F0F2F6;font-size:12.5px}
  .plv b{font-weight:600;color:var(--ink);grid-column:1 / 2}
  .plv span{color:var(--ink-2);line-height:1.45}
  .plv i{font-style:normal;color:var(--nexo);font-weight:600;white-space:nowrap}
  .plv i.pinc{color:var(--ok)}

  /* --- costo reale --- */
  .ptco{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .ptco__h{padding:16px 24px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--muted);background:#FBFCFE}
  .ptco__r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:left}
  .ptco__c{padding:20px 24px;border-right:1px solid var(--line)}
  .ptco__c:last-child{border-right:0}
  .ptco__c u{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
    text-decoration:none;margin-bottom:8px}
  .ptco__c b{display:block;font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.1}
  .ptco__c s{display:block;font-size:12.5px;color:var(--ink-2);text-decoration:none;margin-top:7px;line-height:1.5}

  /* --- perimetro --- */
  .pper{margin-top:44px;text-align:left}
  .pper h3{margin:0 0 6px;font-size:1.15rem;font-weight:600;letter-spacing:-.018em}
  .pper>p{margin:0 0 18px;font-size:13.5px;color:var(--ink-2);max-width:62ch;line-height:1.6}
  .pper__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px}
  .pout{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line)}
  .pout i{width:16px;height:16px;border-radius:50%;border:1.5px solid #C6CEDA;flex:none;margin-top:2px;
    position:relative}
  .pout i::after{content:"";position:absolute;left:4px;top:7px;width:6px;height:1.5px;background:#C6CEDA;
    transform:rotate(45deg)}
  .pout b{display:block;font-size:13.5px;font-weight:600;margin-bottom:3px}
  .pout s{display:block;font-size:12.5px;color:var(--muted);text-decoration:none;line-height:1.5}

  /* --- clip --- */
  .pclips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px;text-align:left}
  .pclip{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
  .pclip__v{position:relative;aspect-ratio:16/9;background:#010102;display:grid;place-items:center;
    border-bottom:1px solid var(--line)}
  .pclip__v span{width:40px;height:40px;border-radius:50%;background:rgba(247,248,248,.14);
    display:grid;place-items:center;color:#F7F8F8;font-size:13px;padding-left:3px}
  .pclip__t{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#8A8F98;position:absolute;
    left:10px;top:9px}
  .pclip__s{position:absolute;left:10px;bottom:9px;font-size:9.5px;letter-spacing:.12em;
    text-transform:uppercase;color:#F7F8F8;background:rgba(247,248,248,.14);border-radius:4px;padding:3px 7px}
  .pclip__v span[aria-hidden]{opacity:.45}
  .pclip__b{padding:14px 16px}
  .pclip__b b{display:block;font-size:13.5px;margin-bottom:4px;letter-spacing:-.01em}
  .pclip__b s{display:block;font-size:12px;color:var(--muted);text-decoration:none;line-height:1.5}

  .pfin{margin:44px 0 88px;border:1px solid var(--line);border-left:3px solid var(--nexo);border-radius:0 12px 12px 0;
    padding:20px 24px;text-align:left;background:#FBFCFE}
  .pfin b{display:block;font-size:15px;margin-bottom:5px;letter-spacing:-.012em}
  .pfin p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-2);max-width:66ch}

  @media (max-width:900px){
    .pinc,.padd,.ptco__r,.pper__g,.pclips{grid-template-columns:1fr}
    .ptco__c{border-right:0;border-bottom:1px solid var(--line)}
    .pamount{margin-left:0;text-align:left}
  }
  @media (max-width:560px){ h2{max-width:15ch} .pbase__t,.pinc,.pbase__f{padding-left:20px;padding-right:20px} }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ===== obiezioni e form (step9-obiezioni-form.html) ===== */
*{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);
    font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased}
  .owrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.osec{padding:92px 0 0;text-align:center}
  .okicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 20px}
  h2{font-size:clamp(1.7rem,3.1vw,2.5rem);line-height:1.12;font-weight:600;letter-spacing:-.028em;
    margin:0 auto 18px;max-width:25ch}
  h2 em{font-style:normal;color:var(--nexo)}
  .olede{font-size:1.04rem;line-height:1.6;color:var(--ink-2);max-width:58ch;margin:0 auto 40px}

  /* --- obiezioni --- */
  .oobs{max-width:860px;margin:0 auto;text-align:left}
  .oobs details{border-top:1px solid var(--line)}
  .oobs details:last-of-type{border-bottom:1px solid var(--line)}
  .oobs summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;
    font-size:16px;font-weight:600;letter-spacing:-.014em;line-height:1.35}
  .oobs summary::-webkit-details-marker{display:none}
  .oobs summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;
    border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);
    transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
  .oobs details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
  .oobs summary:hover{color:var(--nexo)}
  .oobs__a{padding:0 40px 22px 0;font-size:14px;line-height:1.68;color:var(--ink-2);max-width:72ch}
  .oobs__a p{margin:0 0 12px}
  .oobs__a p:last-child{margin:0}
  .oobs__a b{color:var(--ink);font-weight:600}
/* --- form --- */
  .ogrid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;
    text-align:left;align-items:start}
  .ocard{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;
    box-shadow:0 20px 50px -32px rgba(11,18,32,.42)}
  fieldset{border:0;padding:0;margin:0 0 22px}
  legend{padding:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
  .of{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .of--1{grid-template-columns:1fr}
  label{display:block;font-size:12.5px;font-weight:600;margin:0 0 6px}
  label u{text-decoration:none;color:var(--muted);font-weight:400}
  input[type=text],input[type=email],input[type=tel],select,textarea{
    width:100%;font:inherit;font-size:14px;color:var(--ink);background:#FBFCFE;
    border:1px solid var(--line);border-radius:9px;padding:12px 13px;transition:border-color .18s ease,box-shadow .18s ease}
  textarea{resize:vertical;min-height:78px}
  input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
  ::placeholder{color:#A9B2C0}

  .ochoice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ochoice label{margin:0;cursor:pointer;display:block}
  .ochoice input{position:absolute;opacity:0;width:0;height:0}
  .ochoice span{display:block;border:1.5px solid var(--line);border-radius:11px;padding:14px;
    font-size:13px;font-weight:600;line-height:1.4;color:var(--ink-2);background:#FBFCFE;
    transition:border-color .18s ease,background .18s ease,color .18s ease}
  .ochoice em{display:block;font-style:normal;font-size:11.5px;font-weight:400;color:var(--muted);
    margin-top:4px;line-height:1.45}
  .ochoice input:checked + span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,#fff);
    color:var(--ink)}
  .ochoice input:focus-visible + span{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
  .ochoice input:checked + span em{color:var(--ink-2)}

  .osubmit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
  .obtn{background:var(--nexo);color:#fff;font-size:.95rem;font-weight:600;padding:14px 24px;
    border-radius:9px;border:0;cursor:pointer;box-shadow:0 10px 24px -10px rgba(76,29,149,.5)}
  .osubmit p{margin:0;font-size:12px;color:var(--muted);max-width:32ch;line-height:1.5}
  .olegal{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;
    color:var(--muted);line-height:1.6}
  .olegal a{color:var(--ink-2)}

  .oside{border:1px solid var(--line);border-radius:18px;padding:24px;background:#FBFCFE}
  .oside h3{margin:0 0 14px;font-size:15.5px;font-weight:600;letter-spacing:-.012em}
  .oside ol{margin:0;padding:0;list-style:none;counter-reset:s}
  .oside li{counter-increment:s;position:relative;padding:0 0 16px 34px;font-size:13px;line-height:1.55;
    color:var(--ink-2)}
  .oside li::before{content:counter(s);position:absolute;left:0;top:1px;width:21px;height:21px;
    border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;
    font-size:10.5px;font-weight:600;color:var(--nexo)}
  .oside li b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px;font-size:13.5px}
  .oside hr{border:0;border-top:1px solid var(--line);margin:4px 0 18px}
  .oalt{font-size:13px;color:var(--ink-2);line-height:1.6}
  .oalt b{display:block;color:var(--ink);font-size:13.5px;margin-bottom:4px}
  .oalt a{color:var(--nexo)}

  @media (max-width:940px){
    .ogrid{grid-template-columns:1fr}
    .of,.ochoice{grid-template-columns:1fr}
  }
  @media (max-width:560px){ h2{max-width:15ch} .ocard,.oside{padding:20px} }
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}
