@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono.woff2') format('woff2');font-weight:100 800;font-display:swap}

body{margin:0;background:#F3F2EC}
*{box-sizing:border-box}
a{color:#0B0D10}a:hover{color:#3A4049}
html{scroll-behavior:smooth}
@keyframes rhdPulse{0%{box-shadow:0 0 0 0 rgba(141,184,0,.45)}70%{box-shadow:0 0 0 14px rgba(141,184,0,0)}100%{box-shadow:0 0 0 0 rgba(141,184,0,0)}}
@keyframes rhdFlow{from{background-position:-120px 0}to{background-position:calc(100% + 120px) 0}}
.rhd-node{animation:rhdPulse 2.8s ease-out infinite}
.rhd-flow{background-image:linear-gradient(90deg,transparent,#8DB800,transparent);background-size:120px 100%;background-repeat:no-repeat;animation:rhdFlow 2.8s linear infinite}
@media (prefers-reduced-motion: reduce){.rhd-node,.rhd-flow{animation:none}}
/* Animazioni: entrata in scena, grafici, console, hover */
@keyframes rhdIn{from{opacity:0;translate:0 48px}to{opacity:1;translate:0 0}}
@keyframes rhdDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes rhdGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes rhdFadeIn{from{opacity:0}to{opacity:1}}
@keyframes rhdRing{from{stroke-dasharray:0 var(--c)}to{stroke-dasharray:var(--on) var(--c)}}
@keyframes rhdBar{0%,8%{transform:scaleY(.35)}55%,100%{transform:scaleY(1)}}
.rhd-draw{stroke-dasharray:1}
.rhd-grow{transform-box:fill-box;transform-origin:50% 100%}
.rhd-barlive{transform-origin:50% 100%;animation:rhdBar 7.2s cubic-bezier(.2,.8,.2,1) infinite}
/* entrata in scena: sezioni marcate dal componente quando entrano nello schermo */
.rv-wait .rhd-reveal{opacity:0;translate:0 48px}
.rv-on .rhd-reveal{animation:rhdIn .8s cubic-bezier(.2,.8,.2,1) both}
.rv-on .rhd-reveal:nth-child(2){animation-delay:.1s}
.rv-on .rhd-reveal:nth-child(3){animation-delay:.2s}
.rv-on .rhd-reveal:nth-child(4){animation-delay:.3s}
.rv-on .rhd-reveal:nth-child(5){animation-delay:.4s}
.rv-on .rhd-reveal:nth-child(6){animation-delay:.5s}
.rv-wait .rhd-draw{stroke-dashoffset:1}
.rv-on .rhd-draw{animation:rhdDraw 1.8s .4s ease-out both}
.rv-wait .rhd-fade{opacity:0}
.rv-on .rhd-fade{animation:rhdFadeIn 1s 1.2s both}
.rv-wait .rhd-grow{transform:scaleY(0)}
.rv-on .rhd-grow{animation:rhdGrow 1s .4s cubic-bezier(.2,.8,.2,1) both}
.rv-wait .rhd-ring{stroke-dasharray:0 var(--c)}
.rv-on .rhd-ring{animation:rhdRing 1.6s .4s ease-out both}
/* movimento continuo e caricamento */
@keyframes rhdFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes rhdLoad{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
.rhd-load{animation:rhdLoad .9s cubic-bezier(.2,.8,.2,1) both}
.rhd-d1{animation-delay:.05s}.rhd-d2{animation-delay:.15s}.rhd-d3{animation-delay:.3s}.rhd-d4{animation-delay:.45s}
.rhd-float{animation:rhdLoad .9s .3s cubic-bezier(.2,.8,.2,1) both}

.rhd-lift{transition:transform .25s ease, box-shadow .25s ease}
@media (hover: hover){
  .rhd-lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(11,13,16,.14)}
  .rhd-thumb{transition:filter .25s ease}
  .rhd-lift:hover .rhd-thumb{filter:saturate(1.08) brightness(1.02)}
}

/* nastro scorrevole, contatori, rete, inclinazione, barra di avanzamento */
@keyframes rhdTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rhd-ticker-track{animation:rhdTicker 38s linear infinite}
.rhd-ticker:hover .rhd-ticker-track{animation-play-state:paused}
.rhd-count{font-variant-numeric:tabular-nums}
#top{position:relative}
#top > *{position:relative;z-index:1}
#top > .rhd-net{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 72% 45%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse 70% 80% at 72% 45%,#000 30%,transparent 78%)}
.rhd-rw{display:inline-block}
@keyframes rhdWordIn{from{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}
@keyframes rhdWordOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-.45em)}}
.rhd-rw.in{animation:rhdWordIn .45s cubic-bezier(.2,.8,.2,1) both}
.rhd-rw.out{animation:rhdWordOut .3s ease-in both}
.rhd-thumb{transition:transform .2s ease-out, filter .25s ease;transform-style:preserve-3d}
#rhd-progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:3px;background:#8DB800;transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}
@media (prefers-reduced-motion: reduce){.rhd-ticker-track{animation:none}.rhd-net{display:none}}
@media (prefers-reduced-motion: reduce){
  .rhd-reveal,.rhd-draw,.rhd-fade,.rhd-grow,.rhd-ring,.rhd-barlive,.rhd-load,.rhd-float,.rhd-thumb-phone{animation:none !important}
  .rv-wait .rhd-reveal,.rv-wait .rhd-fade{opacity:1;translate:none}.rv-wait .rhd-grow{transform:none}.rv-wait .rhd-ring{stroke-dasharray:var(--on) var(--c)}
  .rhd-draw{stroke-dasharray:none}
  .rhd-lift,.rhd-lift:hover{transition:none;transform:none}
}
@media (max-width: 900px){
  .rhd-zoom{zoom:.85}
}
@media (max-width: 760px){
  .rhd-nav{order:3;width:100%;flex-wrap:nowrap !important;overflow-x:auto;gap:22px !important;padding:2px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rhd-nav::-webkit-scrollbar{display:none}
  .rhd-nav a{white-space:nowrap}
  .rhd-zoom{zoom:.68}
}
@media (max-width: 640px){
  .rhd-pad{padding-top:64px !important;padding-bottom:64px !important}
  .rhd-pad,.rhd-hero,.rhd-ctasec{padding-left:16px !important;padding-right:16px !important}
  .rhd-ctasec{padding-bottom:72px !important}
  .rhd-hero{padding-top:48px !important;padding-bottom:64px !important;gap:36px !important}
  .rhd-flow{display:none}
  .rhd-chart text[font-size="11"]{font-size:14px}
  .rhd-chart text[font-size="13"]{font-size:17px}
  .rhd-thumb{height:250px !important}
  .rhd-thumb-desk{transform:scale(.42) !important;left:14px !important;top:16px !important}
  .rhd-thumb-phone{transform:scale(.4) !important;right:12px !important;top:34px !important}
  .rhd-zoom{zoom:.55}
}
@media (max-width: 520px){
  .rhd-navcta{display:none !important}
  .rhd-zoom{zoom:.42}
  .rhd-thumb{height:210px !important}
  .rhd-thumb-desk{transform:scale(.33) !important;left:12px !important;top:14px !important}
  .rhd-thumb-phone{transform:scale(.34) !important;right:10px !important;top:24px !important}
}
@media (max-width: 400px){
  .rhd-zoom{zoom:.38}
}

html,body{background:#F3F2EC}
header{top:env(safe-area-inset-top,0px) !important}
[data-act]{cursor:pointer}
.rhd-cchip{transition:background-color .3s ease,color .3s ease,border-color .3s ease}
