/* Capitoli aggiunti: conoscenza, coding e modernizzazione, software house; scelta del percorso. */
.pathpick{display:flex;flex-direction:column;gap:8px;position:relative}
.pathpick .lab{font:500 11px/1.35 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.pathpick .pp{display:flex;flex-wrap:wrap;gap:6px}
.pathpick button{appearance:none;background:color-mix(in srgb,var(--page) 85%,transparent);color:var(--ink);border:1px solid var(--border);
  font:500 clamp(12px,.95vw,15px)/1 var(--sans);padding:.8em 1.1em;cursor:pointer}
.pathpick button:hover{border-color:var(--strong)}
.pathpick button[aria-pressed="true"]{background:var(--inv);color:var(--oninv);border-color:var(--inv)}
#index li.off{opacity:.35}
.cover{gap:clamp(12px,2.2vh,30px)}

/* e02 ontologia */
.orow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:clamp(8px,1.2vh,14px)}
.orow .seg{margin-top:0}
.osteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid var(--rule);padding-top:10px}
.osteps li{font:400 clamp(12.5px,1vw,16px)/1.45 var(--sans);color:var(--ink2)}
.osteps b{color:var(--ink);font-weight:600}

/* f02 costo del coding */
.devgrid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,52px);align-content:center}
.devcard{border-top:1px solid var(--strong);padding-top:clamp(12px,2vh,22px);display:flex;flex-direction:column;gap:12px}
.devcard.us{border-top-color:var(--pos)}
.devcard .lab{font:500 11px/1.35 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.devcard .lab .chip{margin-left:8px;font-size:9.5px}
.devl{font:400 clamp(14px,1.2vw,19px)/1.3 var(--sans);color:var(--ink2)}
.devl b{font:600 clamp(22px,2vw,32px)/1 var(--sans);color:var(--ink);letter-spacing:-.02em}
#devN{width:100%;max-width:420px;accent-color:var(--strong)}
.num2{font:600 clamp(44px,5.6vw,96px)/1 var(--sans);letter-spacing:-.05em;color:var(--neg)}
.devcard p{margin:0;font:400 clamp(14px,1.25vw,20px)/1.45 var(--sans);color:var(--ink2);max-width:40ch}
.devcard .big2{color:var(--ink);font-size:clamp(16px,1.45vw,23px)}
.devcard .big2 b{font-weight:600}
.devcard .big2 span{color:var(--mute);font-size:.85em}
.devcard h2{margin:0;font:600 clamp(28px,3.2vw,52px)/1.05 var(--sans);letter-spacing:-.04em}
.devcard ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font:400 clamp(14px,1.25vw,20px)/1.45 var(--sans);color:var(--ink2)}

/* f03 il ponte */
.tiles{flex:1 1 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,22px);align-content:center}
.tiles span{border:1px solid var(--strong);padding:clamp(20px,4vh,48px) 10px;text-align:center;font:600 clamp(26px,3.6vw,64px)/1 var(--mono);letter-spacing:-.02em}
.scene.in .tiles span{animation:rise .5s both cubic-bezier(.22,1,.36,1)}
.scene.in .tiles span:nth-child(2){animation-delay:.08s}.scene.in .tiles span:nth-child(3){animation-delay:.16s}.scene.in .tiles span:nth-child(4){animation-delay:.24s}

/* f04 CobolLens */
.cobgrid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(170px,.55fr) minmax(0,1.2fr);gap:clamp(12px,1.6vw,26px);margin-top:clamp(10px,1.6vh,20px);align-items:start}
.cob{margin:0;background:var(--subtle);border:1px solid var(--rule);padding:12px 0;font:400 clamp(10.5px,.86vw,13.5px)/1.55 var(--mono);color:var(--mute);overflow:auto;max-height:100%}
.cob .ln{display:block;padding:0 14px;white-space:pre;transition:background .2s,color .2s}
.cob .ln.hl{background:var(--amb-soft);color:var(--ink)}
.cobsteps{list-style:none;margin:0;padding:0;border-top:1px solid var(--strong)}
.cobsteps button{appearance:none;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--rule);padding:9px 0;cursor:pointer;color:var(--ink2);font:500 clamp(13px,1vw,15px)/1.3 var(--sans);display:flex;gap:10px}
.cobsteps button .n{font:500 11px/1.3 var(--mono);color:var(--mute)}
.cobsteps button[aria-current="true"]{color:var(--ink);font-weight:600}
.cobout{border-top:1px solid var(--strong);padding-top:10px;display:flex;flex-direction:column;gap:10px}
.cobout h3{margin:0;font:600 clamp(18px,1.6vw,26px)/1.2 var(--sans);letter-spacing:-.02em}
.cobout p{margin:0;font:400 clamp(13.5px,1.1vw,18px)/1.5 var(--sans);color:var(--ink2)}
.cobout pre{margin:0;white-space:pre-wrap;background:var(--subtle);border-left:2px solid var(--pos);padding:10px 12px;font:400 clamp(11px,.85vw,13.5px)/1.55 var(--mono);color:var(--ink)}

/* g02 integrazione */
svg.intg{width:100%;height:100%;display:block}
.intg .il{font:500 11px var(--mono);letter-spacing:.14em;fill:var(--mute)}
.intg .bx rect{fill:var(--page);stroke:var(--border)}
.intg .bx text{fill:var(--ink);font:500 15px var(--sans)}
.intg .bx .sm{font:400 11.5px var(--mono);fill:var(--mute)}
.intg .ag rect{fill:var(--subtle)}
.intg .plat{fill:none;stroke:var(--strong);stroke-dasharray:6 5}
.intg .d.neg rect{stroke:var(--neg)}.intg .d.pos rect{stroke:var(--pos)}
.intg .fsx{fill:var(--inv)}
.intg .fsw{fill:var(--oninv);font:600 26px var(--sans);letter-spacing:-.03em}
.intg .fss{fill:var(--oninv2);font:500 12px var(--mono)}
.intg .ln0{stroke:var(--border);stroke-width:1.4}
.intg .fl{stroke:var(--ink2);stroke-width:2;stroke-dasharray:6 6;animation:flow 1.2s linear infinite}
.intg .fl.neg{stroke:var(--neg)}.intg .fl.pos{stroke:var(--pos);stroke-width:3}.intg .fl.thin{stroke-width:1.2}
.intg .today,.intg .gw,.intg .gwo{transition:opacity .6s}
.intg .gw,.intg .gwo{opacity:0}.intg.on-fs .gw,.intg.on-fs .gwo{opacity:1}.intg.on-fs .today{opacity:0}
.intg .cnt{font:500 12px var(--mono);letter-spacing:.14em;fill:var(--mute)}
.intg text.cnt.today{fill:var(--neg)}.intg text.cnt.gw{fill:var(--pos)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.badges span{font:500 clamp(10px,.8vw,12px)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);border:1px solid var(--border);padding:.65em .8em}

/* g03 Developer Program */
.prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.7fr);gap:clamp(12px,1.6vw,26px);margin-top:clamp(12px,2vh,22px)}
.pcard{border-top:1px solid var(--strong);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.pcard .lab,.incl .lab{font:500 11px/1.35 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.pcard .pv{font:600 clamp(28px,3.2vw,54px)/1 var(--sans);letter-spacing:-.04em}
.pcard .pd{font:500 clamp(11px,.85vw,13px)/1.4 var(--mono);color:var(--ink2)}
.pcard p{margin:0;font:400 clamp(13.5px,1.1vw,18px)/1.45 var(--sans);color:var(--ink2)}
.pcard.inv{background:var(--inv);color:var(--oninv);border-top-color:var(--inv);padding:14px 16px}
.pcard.inv .lab,.pcard.inv .pd{color:var(--oninv2)}
.incl{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(16px,2.4vw,40px);margin-top:clamp(12px,2vh,22px);align-content:start}
.incl ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font:400 clamp(13.5px,1.1vw,18px)/1.4 var(--sans);color:var(--ink)}
.incl ul.dim{color:var(--ink2);font-size:clamp(12.5px,1vw,16px)}

/* g04 cinque passi */
.steps5{flex:1 1 auto;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.4vw,22px);align-content:center}
.steps5 li{border-top:1px solid var(--strong);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.steps5 .lab{font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--mute)}
.steps5 h2{margin:0;font:600 clamp(20px,2vw,32px)/1.1 var(--sans);letter-spacing:-.03em}
.steps5 p{margin:0;font:400 clamp(13.5px,1.1vw,18px)/1.45 var(--sans);color:var(--ink2)}
.scene.in .steps5 li{animation:rise .5s both cubic-bezier(.22,1,.36,1)}
.scene.in .steps5 li:nth-child(2){animation-delay:.07s}.scene.in .steps5 li:nth-child(3){animation-delay:.14s}.scene.in .steps5 li:nth-child(4){animation-delay:.21s}.scene.in .steps5 li:nth-child(5){animation-delay:.28s}

@media (max-width:900px){.osteps,.devgrid,.tiles,.cobgrid,.prices,.incl,.steps5{grid-template-columns:1fr}}
html.mob .osteps,html.mob .devgrid,html.mob .cobgrid,html.mob .prices,html.mob .incl,html.mob .steps5{grid-template-columns:1fr!important;flex:0 0 auto;gap:14px}
html.mob .tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;flex:0 0 auto;margin-top:14px}
html.mob .tiles span{font-size:28px;padding:22px 8px}
html.mob .stage svg.intg{width:900px;min-width:900px;height:auto}
html.mob .num2{font-size:clamp(40px,12vw,64px)}
html.mob .pathpick button{font-size:13px}
html.mob .cob{max-height:none}
.chap{white-space:nowrap}
.index .k{min-width:3.2em}
