@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#18232e;--muted:#546170;--blue:#234ee5;--line:#d7dee7;--paper:#f5f7fa;--white:#fff;--display:'Space Grotesk',system-ui,sans-serif;--sans:'DM Sans',system-ui,sans-serif;--mono:ui-monospace,Consolas,monospace;--acc:#234ee5;--acc2:#34616d;--ctrl:#a73524;--ink-mid:#546170;--ink-soft:#667383;--linea:#d7dee7;--glass-line:#d7dee7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans)}a{color:var(--blue);text-underline-offset:.23em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,h4{font-family:var(--display);line-height:1.13;letter-spacing:-.035em;font-weight:500;margin:0}p{margin:0 0 1rem}img,svg{max-width:100%;height:auto}button,summary{font:inherit}.wrap,.shell{max-width:1200px;margin:auto;padding-inline:clamp(1.2rem,4vw,3rem)}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:1rem;z-index:100}.skip:focus{top:1rem}.top{border-bottom:1px solid var(--line);background:rgba(245,247,250,.97);position:sticky;top:0;z-index:20}.top .wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{font-family:var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.04em;font-weight:600;font-size:1.13rem}.brand b{color:var(--blue);margin-right:.4rem}.top nav{display:flex;flex-wrap:wrap;gap:1.5rem}.top nav a{color:var(--ink);text-decoration:none;font-size:.94rem}.top nav a:hover{color:var(--blue)}.edition{font: .8rem/1.5 var(--mono);color:var(--muted);padding-top:1.1rem;display:flex;justify-content:space-between;gap:1rem}.edition span:last-child{color:var(--blue)}.eyebrow,.kicker{font: .8rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 1rem}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:5rem;align-items:center;padding-block:3.2rem 3.6rem}.hero h1{font-size:clamp(2.7rem,5.4vw,4.4rem);letter-spacing:-.06em;line-height:1.06}.hero h1 span{color:var(--blue)}.hero .intro{font-size:1.08rem;max-width:35rem;margin:1.5rem 0;color:var(--muted)}.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}.button{padding:.78rem 1.15rem;text-decoration:none;background:var(--blue);color:#fff;border:1px solid var(--blue);font-weight:600;border-radius:4px}.button:hover{background:#193bc0}.text-link{font-weight:600}.profile-note{border-top:3px solid var(--ink);padding-top:1rem}.profile-note h2{font-size:1.05rem;margin-bottom:1.3rem}.capability{padding:.85rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:.7rem}.capability strong{display:block;font-size:1rem;font-weight:600}.capability small{display:block;font-size:.9rem;color:var(--muted)}.capability a{font-size:.9rem;align-self:center}.capability.future strong{color:#5d6877}.status{display:inline-block;font: .78rem/1.45 var(--mono);padding:.28rem .5rem;border:1px solid var(--line);border-radius:3px;letter-spacing:0;color:var(--muted)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding-block:1.6rem;border-top:1px solid var(--ink)}.section-head h2{font-size:1.6rem}.section-head p{margin:0;color:var(--muted);font-size:.92rem}.section-head .index{color:var(--blue);font: .85rem var(--mono);margin-right:.9rem}.projects{padding-bottom:3rem}.prog{padding:2rem;background:var(--white);border:1px solid var(--line);border-radius:5px;position:relative;margin-bottom:1rem}.prog h3{font-size:1.6rem;margin:0 0 1rem;max-width:38rem}.prog p{color:var(--muted);max-width:43rem;margin-bottom:1.2rem}.prog strong{color:var(--ink)}.prog .tools,.tools{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.tools span{font:.79rem/1.5 var(--mono);padding:.3rem .5rem;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.cifre{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.4rem}.cifra .n{font-family:var(--display);font-size:2.5rem;line-height:1.1;letter-spacing:-.05em}.cifra .n.up{color:var(--blue)}.cifra .l{font-size:.87rem;color:var(--muted);margin-top:.3rem}.freccia{color:var(--muted)}.stato{display:inline-block;font-size:.9rem;margin-top:1.3rem;color:var(--blue);font-weight:600}.prog .stato a{border-bottom:1px solid}.project-label{font:.78rem/1.5 var(--mono);color:var(--muted);margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.05em}#tassonomia{border-left:4px solid var(--blue)}.project-secondary{margin-top:2rem}#caso-1{background:transparent}.future-project{background:#eaf0fc;border:1px solid #bdcce9;padding:2rem;border-radius:5px;margin-top:2rem}.future-project .project-label{display:flex;justify-content:space-between;align-items:center;color:#415574;gap:1rem}.future-project h3{font-size:1.8rem;max-width:43rem;margin-bottom:1rem}.future-project>p{color:#415574;max-width:44rem}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem;margin:1.8rem 0}.stage{border-top:1px solid #9cabcb;padding-top:1rem}.stage .step{font:.78rem var(--mono);color:#536482}.stage h4{font-size:1.04rem;margin:.8rem 0 .5rem}.stage p{font-size:.92rem;color:#415574;margin:0}.future-project .tools span{border-color:#b8c7e1;color:#415574}.stack-section{padding-bottom:3rem}.stack-intro{max-width:48rem;color:var(--muted)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-cell{padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.skill-cell h3{font-size:1.15rem;margin:.5rem 0 .7rem}.skill-cell p{font-size:.94rem;color:var(--muted);margin-bottom:1rem}.skill-cell.future{background:#edf0f4}.skill-cell a{font-size:.9rem}.skill-cell .names{font:.83rem/1.8 var(--mono);color:var(--ink)}.skill-more{margin-top:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.skill-more summary{cursor:pointer;color:var(--blue);padding:.5rem 0}.skill-more p{color:var(--muted);max-width:50rem;margin:.8rem 0}.method-wrap{padding-block:0 3rem;border-top:1px solid var(--ink)}#metodo{padding-inline:0;max-width:none;padding-block:1.8rem 0}#metodo .sec-head .eyebrow{font: .8rem var(--mono)}#metodo h2{font-size:1.8rem;margin-bottom:1.5rem}#metodo .prosa{max-width:49rem;color:var(--muted)}#metodo .figura{background:#fff;border:1px solid var(--line);padding:1rem;max-width:62rem;margin-top:1.8rem;border-radius:4px}#metodo .figura svg{display:block;width:100%}#metodo .cap{font-size:.84rem;color:var(--muted);margin:.6rem 0 0}#metodo .vai{display:inline-block;margin-top:1.2rem}.writing{padding-bottom:3rem}.writing-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.writing-row h3{font-size:1.07rem;line-height:1.4;letter-spacing:-.015em}.writing-row a{color:var(--ink)}.writing-row small{color:var(--muted);font: .8rem/1.6 var(--mono)}.contact{background:#192838;color:#fff;padding-block:2.8rem}.contact h2{font-size:2rem;max-width:34rem}.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact p{color:#c5d0dc;margin:1rem 0 0;max-width:35rem}.contact a{color:#fff}.contact .contact-links{display:flex;flex-wrap:wrap;gap:1rem}.contact .not-configured{color:#c0cbd7;font-size:.9rem}.footer{padding-block:1.3rem;color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;gap:1rem}.project-hero{padding-block:3rem}.project-hero h1{font-size:clamp(2.2rem,4.5vw,3.6rem);max-width:19ch}.project-hero .intro{max-width:45rem;color:var(--muted);font-size:1.1rem;margin-top:1.5rem}.project-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;padding:1.5rem;border:1px solid var(--line);background:#fff;margin:1rem 0 2rem}.project-summary dt{font: .78rem var(--mono);color:var(--muted);margin-bottom:.7rem}.project-summary dd{margin:0}.module{padding:2rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:14rem 1fr;gap:2rem}.module h2{font-size:1.4rem;margin-top:.6rem}.module h3{font-size:1.1rem;margin-bottom:.8rem}.module p,.module li{color:var(--muted)}.module details{margin-top:1rem;border:1px solid var(--line);padding:1rem;background:#fff}.module summary{cursor:pointer;font-weight:600}.module details p{margin:1rem 0 0}.module .outcome{border-left:3px solid var(--blue);padding-left:1rem;margin:1rem 0;color:var(--ink)}.reading-note{padding:1.5rem;background:#eaf0fc;margin-bottom:2rem}.reading-note p{margin:0;max-width:50rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.94rem}th,td{text-align:left;vertical-align:top;padding:1rem;border-bottom:1px solid var(--line)}th{color:var(--ink)}td{color:var(--muted)}.project-nav{display:flex;gap:1.2rem;flex-wrap:wrap;padding-bottom:1.5rem}
@media(min-width:1000px){#tassonomia>div{display:grid;grid-template-columns:1fr 16rem;column-gap:2rem}#tassonomia h3,#tassonomia p,#tassonomia .tools{grid-column:1}#tassonomia .cifre{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-top:0;border-left:1px solid var(--line);padding:0 0 0 2rem;margin:0;gap:.7rem}#tassonomia .cifra .n{font-size:3rem}#tassonomia .freccia{transform:rotate(90deg);margin-left:.6rem}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:2.2rem;padding-block:2.3rem}.profile-note{max-width:none}.stages,.skill-grid{grid-template-columns:1fr}.stage{padding-top:.8rem}.top .wrap{align-items:flex-start;flex-direction:column;gap:.5rem;padding-block:.9rem}.top nav{gap:1rem}.top nav a{font-size:.88rem}.edition{font-size:.76rem}.edition span:last-child{display:none}.prog,.future-project{padding:1.35rem}.section-head{flex-direction:column;gap:.5rem}.contact .wrap{flex-direction:column;align-items:flex-start}.footer{flex-direction:column}.module{grid-template-columns:1fr;gap:1rem}.project-summary{grid-template-columns:1fr;gap:1.2rem}.writing-row{grid-template-columns:1fr;gap:.3rem}.skill-cell{padding:1.2rem}.cifra .n{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Priorità del percorso M1–M3 e capacità separate dagli strumenti. */
.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hard-skills{padding-left:1.1rem;margin:1rem 0 1.3rem;color:var(--ink);font-size:.96rem}.hard-skills li{margin:.6rem 0}.stack-label{display:block;color:var(--muted);font:.76rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.skill-cell .names{border-top:1px solid var(--line);padding-top:1rem}.future-project{margin-top:0;border-left:4px solid var(--blue)}.project-secondary{margin-top:2.2rem}.profile-note .capability{grid-template-columns:1fr auto}.profile-note .capability a{font-size:.82rem}@media(max-width:800px){.skill-grid{grid-template-columns:1fr}}

.top nav a[data-lang-switch]{color:var(--blue);font-weight:700;border-left:1px solid var(--line);padding-left:1rem}
