:root{
  --ink:#1A1610; --ivory:#F7F6EE;
  --orange:#FA8E00; --yellow:#FBD300; --red:#F84900; --blue:#5190C0;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --logo:'Syne','DM Sans',system-ui,sans-serif;
  --fs:1;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
/* tema scuro (predefinito) */
:root{
  --stage-bg:#1A1610; --stage-grad:#1A1610; --stage-rgb:26,22,16; --stage-ink-rgb:247,246,238;
  --c-bg:#252018; --c-ink:#F7F6EE; --c-ink-rgb:247,246,238; --c-mute:rgba(var(--stage-ink-rgb),.72); --c-line:rgba(var(--stage-ink-rgb),.16);
  --c-link:#8CC0E8; --c-bg-a:rgba(37,32,24,.94); --c-field:#1A1610; --c-accent:#FA8E00; --curtain-shadow:none;
}
/* tema chiaro: scelto dall'utente oppure dal sistema */
:root[data-theme="light"]{
  --stage-bg:#FBF8F0; --stage-grad:#FBF8F0; --stage-rgb:251,248,240; --blue:#326B9E; --stage-ink-rgb:26,22,16;
  --c-bg:#FFFFFF; --c-ink:#1A1610; --c-ink-rgb:26,22,16; --c-mute:rgba(26,22,16,.84); --c-line:rgba(26,22,16,.24); --s-mute:rgba(26,22,16,.9); --s-line:rgba(26,22,16,.32); --yellow:#B77A00; --curtain-shadow:0 -16px 44px rgba(70,55,20,.20),0 -1px 0 rgba(26,22,16,.22);
  --c-link:#075E66; --c-bg-a:rgba(255,255,255,.94); --c-field:#F6F2E8; --c-accent:#9C3B05;
}
:root[data-theme="dark"]{
  --stage-bg:#1A1610; --stage-grad:#1A1610; --stage-rgb:26,22,16; --stage-ink-rgb:247,246,238;
  --c-bg:#252018; --c-ink:#F7F6EE; --c-ink-rgb:247,246,238; --c-mute:rgba(var(--stage-ink-rgb),.72); --c-line:rgba(var(--stage-ink-rgb),.16);
  --c-link:#8CC0E8; --c-bg-a:rgba(37,32,24,.94); --c-field:#1A1610; --c-accent:#FA8E00; --curtain-shadow:none;
}
:root{--s-ink:rgb(var(--stage-ink-rgb));--s-mute:rgba(var(--stage-ink-rgb),.78);--s-line:rgba(var(--stage-ink-rgb),.2)}
/* colore: palette per daltonismo (Okabe-Ito) e scala di grigi */
html[data-color="dalt"]{--orange:#E69F00;--yellow:#F0E442;--red:#D55E00;--blue:#0072B2}
html[data-color="gray"]{--orange:#9a9a9a;--yellow:#d0d0d0;--red:#5f5f5f;--blue:#7d7d7d}
/* contrasto alto (WCAG) */
html[data-contrast="high"]{
  --s-mute:rgba(var(--stage-ink-rgb),1);--s-line:rgba(var(--stage-ink-rgb),.75);
  --c-mute:var(--c-ink);--c-line:rgba(var(--c-ink-rgb),.7);
}
html[data-contrast="high"] #cloud{opacity:.26!important}
html[data-contrast="high"] a{text-decoration:underline;text-underline-offset:.2em}
html[data-contrast="high"] .btn{border:2px solid var(--ink)}
html[data-contrast="high"] .btn-ghost{border:2px solid var(--s-ink)}
html[data-contrast="high"] :focus-visible{outline:4px solid var(--orange);outline-offset:4px}
html[data-contrast="high"] .hero::before,html[data-contrast="high"] .phero::before,html[data-contrast="high"] .final::before{background:linear-gradient(to top,rgba(var(--stage-rgb),.98),rgba(var(--stage-rgb),.9))}
/* dimensione del testo */
html{font-size:calc(100% * var(--fs))}
/* animazioni in pausa */
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
*,*::before,*::after{box-sizing:inherit}
html{background:var(--stage-grad);background-attachment:fixed;background-color:var(--stage-bg);scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:transparent;color:var(--s-ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
h1:focus{outline:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:var(--ink);padding:.5rem 1rem;border-radius:999px;z-index:50}
.skip:focus{left:12px}

.fixed-layer{position:fixed;inset:0;z-index:0;pointer-events:none}
#cloud{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .6s}
.cap{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(20px,4vh,44px);max-width:22rem;font-size:.85rem;line-height:1.5;color:rgba(var(--stage-ink-rgb),.66);transition:opacity .25s}
@media (max-width:800px){
  .cap{display:none}
  body:not([data-stage="0"]) #cloud{opacity:.62}
}

/* hero game */
body.hero-play .hero{cursor:crosshair;user-select:none;-webkit-user-select:none;touch-action:pan-y}
body.hero-play .hero a,body.hero-play .hero button{cursor:pointer}
.game-hud{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(40px,9vh,96px);display:none;gap:.75rem;justify-items:end;text-align:right;max-width:21rem;z-index:2}
.game-hud.show{display:grid}
.hud-hint{font-size:.92rem;line-height:1.45;color:rgba(var(--stage-ink-rgb),.82)}
.hud-dots{display:flex;gap:.55rem}
.hud-dots[hidden]{display:none}
.hud-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--c);background:conic-gradient(var(--c) calc(var(--p,0)*1%),transparent 0)}
.btn-ghost{background:transparent;color:var(--s-ink);border:1px solid rgba(var(--stage-ink-rgb),.55)}
.btn-ghost:hover{filter:none;border-color:var(--orange)}
.mk-labels{position:fixed;inset:0;z-index:3;pointer-events:none}
.mk-label{position:absolute;left:0;top:0;opacity:0;pointer-events:none;padding:.28rem .7rem;border-radius:999px;border:1px solid rgba(var(--stage-ink-rgb),.4);background:rgba(var(--stage-rgb),.6);color:var(--s-ink);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.mk-label{position:absolute;padding-bottom:.5rem}
.mk-label::after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.22rem;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--c) calc(var(--p,0)*1%),rgba(var(--stage-ink-rgb),.2) 0)}
.mk-label.on::after{display:none}
.mk-label.on{padding-bottom:.28rem}
.mk-label.hint{border-color:var(--orange);animation:mkpulse 1.7s ease-in-out infinite}
@keyframes mkpulse{0%,100%{box-shadow:0 0 0 0 rgba(250,142,0,0)}50%{box-shadow:0 0 0 8px rgba(250,142,0,.32)}}
@media (prefers-reduced-motion:reduce){.mk-label.hint{animation:none}}
.mk-label:hover{border-color:var(--c)}
.mk-label.on{background:var(--c);border-color:var(--c);color:var(--ink);font-weight:700}
.hud-cta{display:grid;gap:.6rem;justify-items:end}
.hud-cta[hidden]{display:none}
.hud-cta p{font-size:.92rem;line-height:1.45;color:var(--s-ink);font-weight:500}
.hud-cta .row{display:flex;flex-wrap:wrap;gap:.7rem 1rem;justify-content:flex-end;align-items:center}
.hud-reset{background:none;border:0;padding:0;color:rgba(var(--stage-ink-rgb),.7);font:inherit;font-size:.88rem;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.hud-btn{min-height:40px;padding:0 1.1rem;border-radius:999px;border:1px solid rgba(var(--stage-ink-rgb),.5);background:rgba(var(--stage-rgb),.4);color:var(--s-ink);font:inherit;font-size:.92rem;font-weight:500}
.hud-btn:hover{border-color:var(--orange)}
@media (max-width:800px){
  .hud-cta{justify-items:start}
  .hud-cta .row{justify-content:flex-start}
  .mk-label{font-size:.7rem;padding:.2rem .5rem}
  .game-hud{left:20px;right:20px;top:calc(env(safe-area-inset-top,0px) + 66px);bottom:auto;justify-items:start;text-align:left;max-width:none}
  .hud-hint{font-size:.8rem}
}
/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:1.5rem;
  padding:calc(16px + env(safe-area-inset-top,0px)) clamp(20px,4vw,56px) 18px;
  color:var(--hdr-ink,var(--s-ink));
  background:linear-gradient(to bottom,rgba(var(--stage-rgb),.82),rgba(var(--stage-rgb),0))}
.hdr.on-light{--hdr-ink:var(--c-ink);background:linear-gradient(to bottom,var(--c-bg-a) 55%,transparent)}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--logo);font-weight:700;font-size:1.25rem;letter-spacing:-.01em}
.brand svg{width:41px;height:26px;flex:none;display:block}
.hdr nav{display:flex;gap:clamp(1rem,2.2vw,2rem);margin-left:auto}
.hdr nav a{text-decoration:none;font-size:.95rem;font-weight:500;padding:.4rem 0;border-bottom:1px solid transparent}
.hdr nav a:hover,.hdr nav a[aria-current="page"]{border-bottom-color:currentColor}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid currentColor;color:inherit;border-radius:999px;min-height:40px;padding:0 1.1rem;font:inherit;font-weight:500;cursor:pointer}
@media (max-width:1180px){
  .hdr .btn-sm{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .hdr nav{display:none}
  .hdr.open{--hdr-ink:var(--s-ink);background:var(--stage-bg)}
  .hdr.open nav{display:flex;position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:1.2rem;padding:0 clamp(20px,6vw,56px);background:var(--stage-bg);margin:0}
  .hdr.open nav a{font-family:var(--serif);font-weight:300;font-size:2.4rem;line-height:1.1;border:0}
}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.6rem;border-radius:999px;background:var(--orange);color:var(--ink);font-weight:700;font-size:1rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn:hover{filter:brightness(1.08)}
.btn-sm{min-height:40px;padding:0 1.15rem;font-size:.92rem}
.textlink{font-weight:500;text-underline-offset:.3em;text-decoration-thickness:1px}

.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(20px,5vw,72px);position:relative}
.st{position:relative;z-index:1}
.page{display:none}
.page.active{display:block}

/* heroes */
.hero,.phero{display:flex;align-items:flex-end;padding-bottom:clamp(40px,9vh,96px)}
.hero{min-height:100svh}
.phero{min-height:82svh}
.hero::before,.phero::before,.final::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--stage-rgb),.94) 0%,rgba(var(--stage-rgb),.6) 38%,rgba(var(--stage-rgb),0) 72%);pointer-events:none}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.25rem,5vw,4.9rem);line-height:1.04;letter-spacing:-.02em;max-width:14.5em;text-wrap:balance;font-variation-settings:"opsz" 144}
.phero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,4.6vw,4.4rem);line-height:1.05;letter-spacing:-.02em;max-width:15em;text-wrap:balance;font-variation-settings:"opsz" 144}
.lead{margin-top:1.6rem;max-width:36rem;color:var(--s-mute);font-size:clamp(1rem,1.3vw,1.2rem)}
.actions{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2rem}

.statement{min-height:88svh;display:flex;align-items:center}
.statement::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--stage-rgb),.88),rgba(var(--stage-rgb),.35) 65%,rgba(var(--stage-rgb),0));pointer-events:none}
.statement.short{min-height:70svh}
.statement p{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.4vw,4.2rem);line-height:1.1;letter-spacing:-.015em;max-width:17em;text-wrap:balance;font-variation-settings:"opsz" 144}

.stage{min-height:112svh;display:flex;align-items:center}
.stage .col{max-width:31rem}
.stage h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.95rem,3.4vw,3.2rem);line-height:1.1;letter-spacing:-.015em;text-wrap:balance;font-variation-settings:"opsz" 96}
.stage p{margin-top:1.3rem;color:var(--s-mute)}
.stage .textlink{display:inline-block;margin-top:1.6rem}
.ticks{list-style:none;padding:0;margin-top:2rem;border-top:1px solid var(--s-line)}
.ticks li{display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--s-line);font-weight:500}
.ticks li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none}
.ticks li:first-child::before{background:var(--orange)}
@media (max-width:800px){
  .stage{align-items:flex-end;padding-bottom:6vh}
  .stage::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--stage-rgb),.94) 30%,rgba(var(--stage-rgb),0) 78%);pointer-events:none}
  .stage .col{position:relative}
}

/* sheets (software and cloud) */
.stepper-track{height:var(--th,430svh);position:relative}
.stepper-stick{position:sticky;top:0;height:100svh;display:flex;align-items:center}
.stepper .col{max-width:33rem}
.stepper h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.1;letter-spacing:-.015em;text-wrap:balance;font-variation-settings:"opsz" 96}
.stepper .intro{margin-top:1.2rem;color:var(--s-mute)}
.stepper .textlink{display:inline-block;margin-top:1.4rem}
.layers{list-style:none;padding:0;margin-top:1.6rem;border-top:1px solid var(--s-line)}
.layers li{border-bottom:1px solid var(--s-line)}
.layers button{display:flex;align-items:center;gap:.9rem;width:100%;padding:.75rem 0;background:none;border:0;color:var(--s-mute);font:inherit;font-weight:500;text-align:left;cursor:pointer}
.layers button::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex:none;transition:transform .2s,background .2s}
.layers li.on button{color:var(--s-ink);font-weight:700}
.layers li.on button::before{background:var(--orange);transform:scale(1.7)}
.layers li p{margin:0;max-height:0;overflow:hidden;opacity:0;color:var(--s-mute);font-size:.98rem;transition:max-height .3s,opacity .3s,padding .3s}
.layers li.on p{max-height:7rem;opacity:1;padding:0 0 .9rem 1.5rem}
@media (prefers-reduced-motion:reduce){.layers li p,.layers button::before{transition:none}}
@media (max-width:800px){
  .stepper-stick{align-items:flex-end;padding-bottom:4vh}
  .stepper-stick::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--stage-rgb),.95) 40%,rgba(var(--stage-rgb),0) 80%);pointer-events:none}
  .stepper .col{position:relative}
  .stepper .intro{display:none}
  .stepper h2{font-size:1.55rem}
}
/* curtain */
.curtain{position:relative;z-index:2;background:var(--c-bg);color:var(--c-ink);border-radius:36px 36px 0 0;padding:clamp(24px,4vw,56px) 0 clamp(40px,6vw,96px);border-top:1px solid var(--c-line)}
.curtain section{padding:clamp(56px,8vw,120px) 0}
.curtain h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.08;letter-spacing:-.015em;text-wrap:balance;font-variation-settings:"opsz" 96}
.curtain p{color:var(--c-mute);max-width:34rem}
.curtain a{color:var(--c-link)}
.curtain .btn{color:var(--ink)}
.curtain .note{margin-top:1rem;color:var(--c-ink);font-weight:500}
.curtain .note:empty{display:none}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.split .sticky{position:sticky;top:112px}
.split .sticky p{margin-top:1.4rem}
.split .sticky .textlink{display:inline-block;margin-top:1.6rem}
@media (max-width:900px){.split{grid-template-columns:1fr}.split .sticky{position:static}}

.spec{border-bottom:1px solid var(--c-line)}
.spec div{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;border-top:1px solid var(--c-line)}
.spec dt{font-weight:700}
.spec dd{color:var(--c-mute)}
@media (max-width:560px){.spec div{grid-template-columns:1fr;gap:.3rem}}

.works{margin-top:2.5rem;border-bottom:1px solid var(--c-line)}
.work{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,3fr);gap:1.5rem 2.5rem;padding:1.8rem 0;border-top:1px solid var(--c-line);align-items:baseline}
.work h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.1}
.work p{color:var(--c-mute);max-width:none}
.work .meta{text-align:right;font-size:.92rem}
@media (max-width:800px){.work{grid-template-columns:1fr;gap:.6rem}.work .meta{text-align:left}}
.more{margin-top:2rem}

.faq{margin-top:2.5rem;border-bottom:1px solid var(--c-line);max-width:52rem}
.faq details{border-top:1px solid var(--c-line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.3rem 0;font-weight:500;font-size:1.15rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;flex:none}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.faq details p{padding:0 0 1.4rem;max-width:42rem}

/* form */
.form{display:grid;gap:1.3rem}
.form label{display:grid;gap:.45rem;font-weight:500}
.form input,.form select,.form textarea{font:inherit;color:var(--c-ink);background:var(--c-field);border:1px solid var(--c-line);border-radius:12px;padding:.8rem 1rem;min-height:48px;width:100%}
.form textarea{min-height:150px;resize:vertical}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}
.form .note{font-size:.9rem;color:var(--c-mute)}

.final{min-height:90svh;display:flex;align-items:flex-end;padding-bottom:clamp(40px,9vh,96px)}
.final.short{min-height:62svh}
.final h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.02em;max-width:13em;text-wrap:balance;font-variation-settings:"opsz" 144}
.final p{margin-top:1.4rem;max-width:32rem;color:var(--s-mute)}
.final .btn{margin-top:2rem}

.site-foot{position:relative;z-index:3;background:var(--stage-bg);border-top:1px solid var(--s-line);padding:clamp(36px,6vw,64px) 0 clamp(28px,4vw,48px)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:2rem 4rem;justify-content:space-between;align-items:flex-start}
.site-foot nav{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem}
.site-foot nav a{text-decoration:none;font-weight:500}
.site-foot nav a:hover{text-decoration:underline}
.site-foot small{display:block;width:100%;color:var(--s-mute);font-size:.88rem}


/* ===== v2: rail, impact, quotes, cards, timeline, skills, footer, forms ===== */
.hdr nav{gap:clamp(.8rem,1.5vw,1.6rem)}
.hdr nav a{font-size:.9rem;white-space:nowrap}
.hdr.open nav{overflow:auto;-webkit-overflow-scrolling:touch;padding:calc(104px + env(safe-area-inset-top,0px)) clamp(20px,6vw,56px) calc(40px + env(safe-area-inset-bottom,0px));justify-content:flex-start;gap:.8rem}
.hdr.open nav a{font-size:clamp(1.5rem,6vw,2.2rem)}

.motion-btn{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:26;min-height:40px;padding:0 1rem;border-radius:999px;border:1px solid rgba(var(--stage-ink-rgb),.5);background:rgba(var(--stage-rgb),.75);color:var(--s-ink);font:inherit;font-size:.86rem;font-weight:500}
.motion-btn[hidden]{display:none}

/* impact */
.c-impact{padding:clamp(56px,8vw,120px) 0}
.kick{font-size:.95rem;font-weight:500;color:var(--c-accent);margin-bottom:1rem}
.impact-head{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.6vw,4.4rem);line-height:1.08;letter-spacing:-.02em;max-width:17em;text-wrap:balance;color:var(--c-ink);font-variation-settings:"opsz" 144}
.impact-head b{font-weight:400;color:var(--c-accent);white-space:nowrap}
.impact-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem;margin-top:clamp(36px,5vw,72px);border-top:1px solid var(--c-line);padding-top:2rem}
.fig .n{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1;color:var(--c-ink);font-variation-settings:"opsz" 144}
.fig p{margin-top:.6rem;color:var(--c-mute);max-width:20rem}
/* quotes carousel */
.quotes{margin-top:clamp(28px,4vw,56px)}
.quotes-track{display:flex;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.quotes-track::-webkit-scrollbar{display:none}
.quote{flex:0 0 min(88%,36rem);scroll-snap-align:start;border-top:1px solid var(--c-line);padding-top:1.4rem}
.quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.35;color:var(--c-ink)}
.quote cite{display:block;margin-top:1.3rem;font-style:normal;font-weight:700;color:var(--c-ink)}
.quote cite small{display:block;font-weight:400;color:var(--c-mute);margin-top:.15rem}
.quotes-nav{display:flex;gap:.6rem;margin-top:.8rem}
.quotes-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--c-line);background:none;color:var(--c-ink);cursor:pointer;font-size:1.1rem}
.quotes-nav button:hover{border-color:var(--c-ink)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.3rem;margin-top:2rem}
.card{display:flex;flex-direction:column;gap:.7rem;padding:1.4rem 1.4rem 1.5rem;border:1px solid var(--c-line);border-radius:22px;color:inherit;text-decoration:none;background:transparent}
a.card:hover{border-color:var(--c-ink)}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.15}
.card p{color:var(--c-mute);max-width:none}
.badge{align-self:flex-start;font-size:.78rem;font-weight:700;padding:.15rem .65rem;border-radius:999px;border:1px solid var(--c-line);color:var(--c-ink)}
.card .go{margin-top:auto;font-weight:500;color:var(--c-link)}
.card .meta{font-size:.88rem;color:var(--c-mute)}
.thumb{aspect-ratio:16/9;border-radius:14px;background:#1A1610;display:grid;place-items:center;overflow:hidden}
.thumb svg{width:44px;height:44px}

/* book */
.book{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:start;padding:2.2rem 0;border-top:1px solid var(--c-line)}
.book:last-of-type{border-bottom:1px solid var(--c-line)}
.book img{width:100%;height:auto;border-radius:12px;display:block}
.book h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1}
.book .sub{color:var(--c-mute);margin-top:.4rem}
.book p{margin-top:1rem}
.book .row{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;align-items:center;margin-top:1.4rem}
@media (max-width:640px){.book{grid-template-columns:1fr}.book img{max-width:200px}}

/* phases / chapters */
.phases{list-style:none;padding:0;margin-top:2rem}
/* skills, tags */
.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2rem 3rem;margin-top:2rem}
.skills h3{font-family:var(--sans);font-weight:700;font-size:1rem;margin-bottom:.4rem}
.skill{display:grid;gap:.3rem;margin-top:.9rem}
.skill .lbl{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}
.bar{height:6px;border-radius:3px;background:var(--c-line);overflow:hidden}
.bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--yellow),var(--orange),var(--red),var(--blue));border-radius:3px}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.tag{padding:.3rem .85rem;border:1px solid var(--c-line);border-radius:999px;font-size:.9rem}

/* forms */
.form .check{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;font-size:.9rem;color:var(--c-mute)}
.form .check input{width:20px;height:20px;min-height:0;margin-top:.15rem;flex:none}
.inline-form{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem;max-width:36rem}
.inline-form input{flex:1 1 220px;font:inherit;color:var(--c-ink);background:var(--c-field);border:1px solid var(--c-line);border-radius:999px;padding:.8rem 1.2rem;min-height:48px}
.contact-list{list-style:none;padding:0;margin-top:1.4rem;display:grid;gap:.5rem}
.contact-list a{font-weight:500}

/* footer */
.foot-cols{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:2rem clamp(1.5rem,4vw,4rem);width:100%}
.foot-cols h3{font-family:var(--sans);font-size:.9rem;font-weight:700;margin-bottom:.8rem}
.foot-cols ul{list-style:none;padding:0;display:grid;gap:.45rem}
.foot-cols a{text-decoration:none;color:var(--s-mute)}
.foot-cols a:hover{color:var(--s-ink);text-decoration:underline}
.foot-cols p{color:var(--s-mute);font-size:.92rem;margin-top:.8rem;max-width:22rem}
.site-foot small{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--s-line)}
@media (max-width:900px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-cols{grid-template-columns:1fr}}

/* small screens */
@media (max-width:800px){
  .curtain{border-radius:26px 26px 0 0}
  .final,.final.short{min-height:70svh}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .btn{min-height:46px}
  .actions{gap:.8rem 1.2rem}
}


/* impact figures: an icon inside a circle that draws itself */
.impact-figs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2.4rem 2rem}
.fig .ring{position:relative;width:112px;height:112px;margin-bottom:1.1rem;color:var(--c-accent)}
.ring-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg,.ring-fg{fill:none;stroke-width:2.4}
.ring-bg{stroke:var(--c-line)}
.ring-fg{stroke:currentColor;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.fig.in .ring-fg{stroke-dashoffset:var(--off);transition:stroke-dashoffset 1.9s cubic-bezier(.22,.7,.2,1)}
.ring-icon{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;color:var(--c-ink);opacity:0;transform:scale(.6)}
.fig.in .ring-icon{opacity:1;transform:none;transition:opacity .6s .5s,transform .7s .5s cubic-bezier(.3,1.5,.5,1)}
.ring-orbit{position:absolute;inset:0;opacity:0}
.ring-orbit i{position:absolute;left:50%;top:6.667%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--orange)}
.fig.in .ring-orbit{opacity:1;transition:opacity .6s 1.9s;animation:orbit 14s linear 1.9s infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .ring-fg{stroke-dashoffset:var(--off)}
  .ring-icon{opacity:1;transform:none}
  .fig.in .ring-fg,.fig.in .ring-icon{transition:none}
  .fig.in .ring-orbit{animation:none;opacity:0}
}
@media (max-width:560px){.impact-figs{grid-template-columns:1fr 1fr}.fig .ring{width:92px;height:92px}.ring-icon{width:32px;height:32px;margin:-16px 0 0 -16px}}


/* protezione dei contenuti: niente selezione del testo, niente menu di pressione prolungata */
html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select{-webkit-user-select:text;user-select:text}
img,svg,canvas{-webkit-user-drag:none;user-drag:none}
img{pointer-events:none}
::selection{background:transparent}
input::selection,textarea::selection{background:rgba(250,142,0,.35)}


/* ===== come lavoriamo: barra di avanzamento colorata e animata ===== */
.journey{--jw:clamp(64px,9vw,92px);--jp:0;position:relative;list-style:none;padding:0 0 0 var(--jw);margin-top:2.4rem}
.journey::before,.journey::after{content:"";position:absolute;left:calc(var(--jw)/2 - 3px);top:var(--jt,26px);height:var(--jh,calc(100% - 52px));width:6px;border-radius:6px}
.journey::before{background:var(--c-line)}
.journey::after{
  background:
    linear-gradient(180deg,transparent 0,rgba(255,255,255,.75) 50%,transparent 100%) 0 -140px/100% 140px no-repeat,
    linear-gradient(180deg,var(--yellow),var(--orange) 38%,var(--red) 68%,var(--blue));
  clip-path:inset(0 0 calc((1 - var(--jp))*100%) 0);
  animation:jr-flow 2.6s linear infinite;
}
@keyframes jr-flow{to{background-position:0 calc(100% + 140px),0 0}}
.journey li{position:relative;display:block;padding:1.1rem 0 1.7rem;border:0;opacity:.4;transform:translateX(10px);transition:opacity .5s,transform .5s}
.journey li.reached{opacity:1;transform:none}
.jr-node{position:absolute;left:calc(-1 * var(--jw)/2 - 22px);top:1rem;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:1.05rem;color:var(--c-ink);background:var(--c-bg);border:2px solid var(--c-line);transition:background .4s,border-color .4s,color .4s,box-shadow .4s}
.journey li.reached .jr-node{background:var(--nc);border-color:var(--nc);color:#1A1610}
.journey li.current .jr-node{animation:jr-pulse 2.2s ease-in-out infinite}
@keyframes jr-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 var(--nc)}50%{box-shadow:0 0 0 7px rgba(128,128,128,.12),0 0 0 12px rgba(128,128,128,.06)}}
.journey h3{font-family:var(--sans);font-weight:700;font-size:1.15rem;line-height:1.3}
.journey p{margin-top:.35rem;color:var(--c-mute);max-width:44rem}
@media (max-width:560px){.journey{--jw:58px}.jr-node{width:38px;height:38px;left:calc(-1 * var(--jw)/2 - 19px)}}
@media (prefers-reduced-motion:reduce){
  .journey::after{animation:none}
  .journey li{transition:none;transform:none}
  .journey li.current .jr-node{animation:none}
}
html[data-motion="off"] .journey li{transform:none}

/* ===== aspetto e accessibilità ===== */
.a11y-btn{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;border:1px solid rgba(var(--stage-ink-rgb),.5);background:rgba(var(--stage-rgb),.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--s-ink);cursor:pointer}
.a11y-btn svg{width:34px;height:34px}
.a11y-btn:hover,.a11y-btn[aria-expanded="true"]{border-color:var(--orange);color:var(--orange)}
.a11y-panel{position:fixed;left:14px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:41;width:min(372px,calc(100vw - 28px));max-height:calc(100svh - 110px);overflow:auto;padding:1.1rem 1.2rem 1.2rem;border-radius:22px;border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink);box-shadow:0 18px 48px rgba(0,0,0,.35)}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.a11y-head h2{font-family:var(--sans);font-size:1.05rem;font-weight:700}
.a11y-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--c-line);background:none;color:var(--c-ink);font-size:1.2rem;line-height:1;cursor:pointer}
.a11y-panel fieldset{border:0;margin:.9rem 0 0;padding:0}
.a11y-panel legend{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--c-mute);padding:0;margin-bottom:.4rem}
.seg{display:flex;gap:.4rem;flex-wrap:wrap}
.seg button{flex:1 1 0;min-width:64px;min-height:44px;padding:0 .6rem;border-radius:12px;border:1px solid var(--c-line);background:transparent;color:var(--c-ink);font:inherit;font-size:.92rem;font-weight:500;cursor:pointer}
.seg button:hover{border-color:var(--c-ink)}
.seg button[aria-pressed="true"]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-bg);font-weight:700}
.seg.fs button:nth-child(1){font-size:.8rem}.seg.fs button:nth-child(3){font-size:1.05rem}.seg.fs button:nth-child(4){font-size:1.2rem}
.a11y-reset{margin-top:1.1rem;background:none;border:0;padding:0;color:var(--c-link);font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.motion-btn{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media (max-width:520px){.a11y-btn{width:48px;height:48px}.a11y-btn svg{width:31px;height:31px}}

.curtain{box-shadow:var(--curtain-shadow)}

.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;width:max-content;max-width:min(92vw,420px);padding:.8rem 1rem;border-radius:16px;border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink);font-size:.9rem;line-height:1.45;box-shadow:0 12px 36px rgba(0,0,0,.35)}
.toast[hidden]{display:none}


/* niente barra di scorrimento del browser: l'avanzamento si legge nelle barre colorate dei pallini */
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}

/* elenchi dei passi: la barra colorata passa per i pallini */
.layers{position:relative;--jp:0}
.layers::before,.layers::after{content:"";position:absolute;left:4px;top:var(--jt,0px);height:var(--jh,0px);width:2px;border-radius:2px;pointer-events:none}
.layers::before{background:var(--s-line)}
.layers::after{
  background:
    linear-gradient(180deg,transparent 0,rgba(255,255,255,.75) 50%,transparent 100%) 0 -120px/100% 120px no-repeat,
    linear-gradient(180deg,var(--yellow),var(--orange) 40%,var(--red) 70%,var(--blue));
  clip-path:inset(0 0 calc((1 - var(--jp))*100%) 0);
  animation:lay-flow 2.6s linear infinite;
}
@keyframes lay-flow{to{background-position:0 calc(100% + 120px),0 0}}
.layers button::before{position:relative;z-index:1;width:10px;height:10px;box-sizing:border-box;background:var(--stage-bg);border:2px solid var(--s-mute);transition:transform .25s,background .3s,border-color .3s,box-shadow .3s}
.layers li.reached button::before{background:var(--nc);border-color:var(--nc)}
.layers li.on button::before{background:var(--nc);border-color:var(--nc);transform:scale(1.5);box-shadow:0 0 0 5px rgba(var(--stage-ink-rgb),.14)}
.layers li.on p{padding-left:calc(10px + .9rem)}
html[data-motion="off"] .layers::after{animation:none}
@media (prefers-reduced-motion:reduce){.layers::after{animation:none}.layers button::before{transition:none}}


/* sezioni con titolo a sinistra che resta fisso finche la sezione non e' scomparsa */
.blk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.blk>.sticky{position:sticky;top:112px}
.blk>.sticky p{margin-top:1.2rem}
.blk-main>*:first-child{margin-top:0}
.blk-main .works,.blk-main .faq,.blk-main .cards{margin-top:0}
@media (max-width:900px){
  .blk{grid-template-columns:1fr;gap:0}
  .blk>.sticky{display:contents}
  .blk>.sticky h2{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:5;background:var(--c-bg);padding:.7rem 0;margin:0 0 .5rem;font-size:clamp(1.5rem,6vw,2rem);border-bottom:1px solid var(--c-line)}
  .blk>.sticky p{margin:0 0 1rem}
}

/* liste con barra colorata e pallini (elenchi, casi, domande) */
.spine{--jw:36px;--jp:0;position:relative;padding-left:var(--jw)}
.spine::before,.spine::after{content:"";position:absolute;left:calc(var(--jw)/2 - 1.5px);top:var(--jt,6px);height:var(--jh,calc(100% - 12px));width:3px;border-radius:3px;pointer-events:none}
.spine::before{background:var(--c-line)}
.spine::after{
  background:
    linear-gradient(180deg,transparent 0,rgba(255,255,255,.75) 50%,transparent 100%) 0 -140px/100% 140px no-repeat,
    linear-gradient(180deg,var(--yellow),var(--orange) 38%,var(--red) 68%,var(--blue));
  clip-path:inset(0 0 calc((1 - var(--jp))*100%) 0);
  animation:jr-flow 2.6s linear infinite;
}
.spine>*{position:relative;opacity:.5;transition:opacity .4s}
.spine>.reached{opacity:1}
.sp-dot{position:absolute;left:calc(-1 * var(--jw)/2 - 8px);top:1.3rem;width:16px;height:16px;border-radius:50%;background:var(--c-bg);border:2px solid var(--c-line);transition:background .4s,border-color .4s,box-shadow .4s;z-index:1}
.spine>.reached .sp-dot{background:var(--nc);border-color:var(--nc)}
.spine>.current .sp-dot{animation:jr-pulse 2.2s ease-in-out infinite}
.spec.spine{border-bottom:0}
.faq.spine{max-width:none}
html[data-motion="off"] .spine::after{animation:none}
html[data-motion="off"] .spine>*{transition:none}
@media (prefers-reduced-motion:reduce){.spine::after{animation:none}.spine>*{transition:none}.spine>.current .sp-dot{animation:none}}
@media (max-width:560px){.spine{--jw:30px}}

/* elenchi dei passi: barra lunga quasi quanto lo schermo, con i pallini sopra */
.stepper .col{padding-left:36px}
.layers{margin-left:-36px}
.layers button{gap:26px}
.layers li p,.layers li.on p{padding-left:36px}


/* ===== linea continua lungo tutta la pagina ===== */
:root{--gut:36px}
@media (max-width:800px){:root{--gut:28px}}
.page{position:relative}
/* margine sinistro che lascia passare la linea */
.statement .wrap,.stage .wrap,.stepper .wrap,.curtain .wrap{padding-left:calc(clamp(20px,5vw,72px) + var(--gut))}
.stepper .col{padding-left:0}
.layers{margin-left:calc(-1 * var(--gut))}
.layers button{gap:calc(var(--gut) - 10px)}
.layers li p,.layers li.on p{padding-left:var(--gut)}
/* le vecchie barre locali cedono il posto alla linea unica */
.spine::before,.spine::after,.journey::before,.journey::after,.layers::before,.layers::after{display:none}
.sp-dot{display:none}
.spine{padding-left:0}
.spine>*{opacity:1;transition:none}
.pageline{position:absolute;left:0;right:0;top:0;height:0;z-index:3;pointer-events:none}
.pl-track,.pl-fill{display:none;position:absolute;left:max(0px,calc((100% - min(100%,1320px))/2 + clamp(20px,5vw,72px) + 4px));top:var(--pl-t,0px);height:var(--pl-h,0px);width:2px;border-radius:2px}
.pageline.on .pl-track,.pageline.on .pl-fill{display:block}
.pl-track{background:rgba(var(--stage-ink-rgb),.14)}
.pl-fill{background:linear-gradient(180deg,var(--yellow),var(--orange) 34%,var(--red) 66%,var(--blue));opacity:.5;clip-path:inset(0 0 calc((1 - var(--pl-p,0))*100%) 0)}
/* pallino di sezione sulla linea */
.blk{position:relative}
.blk::before{content:"";position:absolute;left:calc(-1 * var(--gut) - 1px);top:.9rem;width:12px;height:12px;border-radius:50%;box-sizing:border-box;background:var(--c-bg);border:2px solid rgba(var(--c-ink-rgb),.3);transition:background .4s,border-color .4s;z-index:1}
.blk.reached::before{background:var(--nc,var(--orange));border-color:var(--nc,var(--orange))}
.split{position:relative}
@media (max-width:900px){.blk::before{top:1.15rem}}
html[data-motion="off"] .blk::before{transition:none}


/* pallini: lo stesso colore in ogni sezione */
:root{--dot:var(--orange)}
.blk,.layers li,.journey li,.spine>*{--nc:var(--dot)}

/* linea piu' sottile, appena percettibile */
.pl-track,.pl-fill{width:1px;left:max(0px,calc((100% - min(100%,1320px))/2 + clamp(20px,5vw,72px) + 4.5px))}
.pl-track{background:rgba(var(--stage-ink-rgb),.09)}
.pl-fill{opacity:.34}

/* telefono: nessuno spostamento laterale mentre si scorre */
html{overflow-x:hidden;overscroll-behavior-x:none}
html,body{max-width:100%}
body{touch-action:pan-y pinch-zoom}
.quotes-track{touch-action:pan-x pan-y}
.mk-labels{overflow:hidden}
img,svg,video,canvas{max-width:100%}
.form input,.form select,.form textarea,.inline-form input{min-width:0;max-width:100%}
.wrap,.blk,.blk-main,.split,.cards,.works,.faq,.spec{min-width:0}
h1,h2,h3,p,li,dd,dt,summary{overflow-wrap:anywhere}
@media (max-width:640px){
  .impact-figs{grid-template-columns:1fr}
  .fig .n{font-size:clamp(2rem,10vw,2.6rem);white-space:normal}
  .impact-head b{white-space:normal}
}


/* testimonianze: card con immagine di sfondo */
.quote.qbg{position:relative;overflow:hidden;isolation:isolate;padding:clamp(1.4rem,3vw,2.2rem);min-height:clamp(340px,44vw,420px);display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--c-line);border-radius:26px;background:#1A1610;color:#F7F6EE}
.qimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.quote.qbg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(26,22,16,.95) 0%,rgba(26,22,16,.84) 44%,rgba(26,22,16,.12) 100%)}
.quote.qbg blockquote{color:#F7F6EE;font-size:clamp(1.05rem,1.7vw,1.32rem)}
.quote.qbg cite{color:#F7F6EE}
.quote.qbg cite small{color:rgba(247,246,238,.74)}

/* menu aperto: il logo e il pulsante restano sopra l'elenco */
.hdr.open .brand,.hdr.open .menu-btn{position:relative;z-index:2}


/* selettore di lingua */
.lang{position:relative;margin-left:.2rem}
.lang summary{list-style:none;display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .8rem;border:1px solid currentColor;border-radius:999px;cursor:pointer;font-size:.82rem;font-weight:700;letter-spacing:.05em;user-select:none}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:18px;height:18px;flex:none}
.lang ul{position:absolute;right:0;top:calc(100% + 8px);list-style:none;margin:0;padding:.4rem;min-width:172px;border-radius:16px;background:var(--stage-bg);border:1px solid var(--s-line);box-shadow:0 14px 36px rgba(0,0,0,.35);z-index:36}
.lang a{display:block;padding:.6rem .85rem;border-radius:10px;text-decoration:none;font-size:.96rem;font-weight:500;color:var(--s-ink)}
.lang a:hover,.lang a[aria-current="true"]{background:rgba(var(--stage-ink-rgb),.1);font-weight:700}
.foot-langs{display:block;margin-top:.8rem}
.foot-langs a{color:var(--s-mute);text-decoration:none}
.foot-langs a:hover,.foot-langs a[aria-current="true"]{color:var(--s-ink);text-decoration:underline}
@media (max-width:1180px){.lang{margin-left:auto}.menu-btn{margin-left:.6rem}.hdr.open .lang{position:relative;z-index:2}}

/* selettore di lingua: la sigla non va mai a capo; le lingue con etichette lunghe nascondono il pulsante della testata prima */
.lang summary,.lang-code{white-space:nowrap;flex-wrap:nowrap}
.hdr nav{flex-wrap:nowrap}
@media (max-width:1360px){html:not([lang="it"]) .hdr .btn-sm{display:none}}


/* percorso di navigazione */
.crumbs{margin-bottom:1.1rem;font-size:.86rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem}
.crumbs li{display:inline-flex;align-items:center;color:var(--s-mute)}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.55}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:var(--s-ink);text-decoration:underline}
.crumbs li[aria-current]{color:var(--s-ink);font-weight:500}
