.noc-button{--d:var(--noc-btn-dur,.25s);display:inline-flex;align-items:center;justify-content:center;gap:.5em;align-self:var(--noc-self,flex-start);box-sizing:border-box;padding:var(--noc-btn-py,.8em) var(--noc-btn-px,1.6em);border:var(--noc-btn-border,1.5px) solid var(--noc-btn-bg,var(--noc-color-accent,#2563eb));border-radius:var(--noc-btn-radius,4px);background-color:var(--noc-btn-bg,var(--noc-color-accent,#2563eb));color:var(--noc-btn-ink,var(--noc-btn-color,#fff));font:inherit;font-size:var(--noc-btn-fs,inherit);font-weight:var(--noc-btn-fw,600);letter-spacing:var(--noc-btn-ls,normal);text-transform:var(--noc-btn-tt,none);line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--d),color var(--d),border-color var(--d),transform var(--d),box-shadow var(--d),filter var(--d)}
.noc-button:hover{background-color:var(--noc-btn-bg-hover,var(--noc-btn-bg,var(--noc-color-accent,#2563eb)));border-color:var(--noc-btn-bg-hover,var(--noc-btn-bg,var(--noc-color-accent,#2563eb)));color:var(--noc-btn-ink,var(--noc-btn-color-hover,var(--noc-btn-color,#fff)));filter:brightness(1.06)}
.noc-button--outline{background-color:transparent;color:var(--noc-btn-ink,var(--noc-btn-bg,var(--noc-color-accent,#2563eb)))}
.noc-button--outline:hover{background-color:var(--noc-btn-bg,var(--noc-color-accent,#2563eb));color:var(--noc-btn-ink,var(--noc-btn-color-hover,var(--noc-btn-color,#fff)));filter:none}
.noc-button--text{padding-inline:0;border-color:transparent;background:none;color:var(--noc-btn-ink,var(--noc-btn-bg,var(--noc-color-accent,#2563eb)))}
.noc-button--text:hover{background:none;border-color:transparent;filter:none;opacity:.75}
.noc-button--sm{font-size:calc(var(--noc-btn-fs,1em)*.875)}
.noc-button--lg{font-size:calc(var(--noc-btn-fs,1em)*1.125);--noc-btn-py:1em;--noc-btn-px:2em}
.noc-button .noc-icon{transition:transform var(--noc-btn-dur,.25s) cubic-bezier(.22,.8,.3,1)}
.noc-button:hover .noc-icon--after{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.noc-button,.noc-button .noc-icon{transition:none}}
.noc-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Effetti al passaggio (si sommano allo stile globale). */
.noc-button__arrow{display:inline-flex;width:0;margin-left:-.5em;opacity:0;overflow:hidden;transform:translateX(-.5em);transition:width var(--d) cubic-bezier(.22,.8,.3,1),margin var(--d) cubic-bezier(.22,.8,.3,1),opacity var(--d),transform var(--d) cubic-bezier(.22,.8,.3,1)}
.noc-button--fx-arrow:hover .noc-button__arrow,.noc-button--fx-arrow:focus-visible .noc-button__arrow{width:1em;margin-left:0;opacity:1;transform:none}
.noc-button__diag{position:relative;display:inline-block;width:1em;height:1em;overflow:hidden}
.noc-button__diag>span{position:absolute;inset:0;display:flex;transition:transform calc(var(--d)*1.6) cubic-bezier(.22,.8,.3,1)}
.noc-button__diag>span+span{transform:translate(-110%,110%)}
.noc-button--fx-arrow-diag:hover .noc-button__diag>span:first-child{transform:translate(110%,-110%)}
.noc-button--fx-arrow-diag:hover .noc-button__diag>span+span{transform:none}
.noc-button--fx-arrow-circle{gap:.75em}
.noc-button__circle{display:inline-grid;place-items:center;width:2.1em;height:2.1em;margin:-.5em -1em -.5em 0;border:1px solid currentColor;border-radius:50%;transition:background-color var(--d),color var(--d),transform var(--d) cubic-bezier(.22,.8,.3,1)}
.noc-button--text .noc-button__circle{margin-right:0}
.noc-button--fx-arrow-circle:hover .noc-button__circle{background:currentColor;transform:rotate(-45deg)}
.noc-button--fx-arrow-circle:hover .noc-button__circle svg{color:var(--noc-btn-bg,var(--noc-color-accent,#2563eb))}
.noc-button--text.noc-button--fx-arrow-circle:hover .noc-button__circle svg{color:#fff}
.noc-button__roll{display:inline-grid;overflow:hidden;line-height:1.2}
.noc-button__roll>span{grid-area:1/1;transition:transform calc(var(--d)*1.6) cubic-bezier(.65,0,.15,1)}
.noc-button__roll>span+span{transform:translateY(105%)}
.noc-button--fx-reveal:hover .noc-button__roll>span:first-child{transform:translateY(-105%)}
.noc-button--fx-reveal:hover .noc-button__roll>span+span{transform:none}
.noc-button__wave{display:inline-flex;overflow:hidden;line-height:1.2}
.noc-button__c{display:inline-block;text-shadow:0 1.25em currentColor;transition:transform calc(var(--d)*1.8) cubic-bezier(.65,0,.15,1)}
.noc-button--fx-wave:hover .noc-button__c{transform:translateY(-1.25em)}
.noc-button__c:nth-child(2){transition-delay:20ms}.noc-button__c:nth-child(3){transition-delay:40ms}.noc-button__c:nth-child(4){transition-delay:60ms}.noc-button__c:nth-child(5){transition-delay:80ms}.noc-button__c:nth-child(6){transition-delay:100ms}.noc-button__c:nth-child(7){transition-delay:120ms}.noc-button__c:nth-child(8){transition-delay:140ms}.noc-button__c:nth-child(9){transition-delay:160ms}.noc-button__c:nth-child(10){transition-delay:180ms}.noc-button__c:nth-child(n+11){transition-delay:200ms}
.noc-button--fx-underline{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:100% 100%;background-size:0 1px;transition:background-size calc(var(--d)*1.6) cubic-bezier(.65,0,.15,1),color var(--d)}
.noc-button--text.noc-button--fx-underline{padding-bottom:.25em;background-size:100% 1px;background-position:0 100%}
.noc-button--fx-underline:hover{background-size:100% 1px;background-position:0 100%}
.noc-button--text.noc-button--fx-underline:hover{animation:noc-btn-line calc(var(--d)*3) cubic-bezier(.65,0,.15,1)}
@keyframes noc-btn-line{0%{background-size:100% 1px;background-position:100% 100%}45%{background-size:0 1px;background-position:100% 100%}46%{background-position:0 100%}100%{background-size:100% 1px;background-position:0 100%}}
.noc-button--fx-material{box-shadow:0 2px 6px rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.08)}
.noc-button--fx-material:hover{filter:none;transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(0,0,0,.32),0 2px 6px rgba(0,0,0,.1)}
.noc-button--fx-material:active{transform:none;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.noc-button--next{flex-direction:column}
@media (prefers-reduced-motion:reduce){.noc-button__arrow,.noc-button__diag>span,.noc-button__circle,.noc-button__roll>span,.noc-button__c{transition:none}.noc-button--text.noc-button--fx-underline:hover{animation:none}}
.noc-cc,.noc-cc :where(h1,h2,h3,h4,h5,h6,p,li,a,strong,em,b,i,span,small,blockquote,cite,figcaption,label,dt,dd){transition:color .5s ease,background-color .7s ease}
html.noc-cc-active .noc-cc{background-color:var(--noc-cc-bg);color:var(--noc-cc-fg)}
html.noc-cc-active .noc-cc :where(h1,h2,h3,h4,h5,h6,p,li,a,strong,em,b,i,small,blockquote,cite,figcaption,label,dt,dd){color:inherit}
html.noc-cc-active .noc-cc :where(.noc-icon-list__icon,.noc-counter__value,.noc-accordion summary,.noc-tabs [role=tab]){color:inherit}
.noc-cc--svg img[src$=".svg"]{transition:filter .5s ease}
html.noc-cc-dark .noc-cc--svg img[src$=".svg"]{filter:brightness(0) invert(1)}
html.noc-cc-active .noc-site-header--follow-cc{--noc-h-bg:var(--noc-cc-bg);--noc-h-color:var(--noc-cc-fg);--noc-h-hover:var(--noc-cc-fg);--noc-h-icon:var(--noc-cc-fg);--noc-h-separator:color-mix(in srgb,var(--noc-cc-fg) 18%,transparent)}
html.noc-cc-dark .noc-site-header--follow-cc:not(.is-transparent) .noc-logo--has-tr .noc-logo__img{display:none}
html.noc-cc-dark .noc-site-header--follow-cc:not(.is-transparent) .noc-logo--has-tr .noc-logo__img--tr{display:block}
html.noc-cc-dark .noc-site-header--follow-cc:not(.is-transparent) .noc-logo:not(.noc-logo--has-tr) img[src$=".svg"]{filter:brightness(0) invert(1)}
.noc-site-header--follow-cc .noc-logo img{transition:filter .5s ease}
@media (prefers-reduced-motion:reduce){.noc-cc,.noc-cc *,.noc-site-header--follow-cc .noc-logo img{transition:none!important}}
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth iframe{pointer-events:none}
