/* Eligesoft · 2. Sezioni della home: apertura, nastro, capitoli, servizi, metodo. */
/* hero */
.hero h1{font-size:clamp(3rem,9.2vw,10.5rem);line-height:.88;letter-spacing:-.045em}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.hero h1 .w > span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--d) * 90ms + 200ms)}
.ready .hero h1 .w > span{transform:none}
.hero .sub{margin-top:clamp(24px,3vw,40px);font-size:clamp(1.1rem,1rem + .5vw,1.4rem);max-width:34ch;line-height:1.4}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,40px)}
.hero .ch-t{max-width:min(760px,56%)}
.scrollhint{position:absolute;left:var(--m);bottom:28px;display:flex;gap:12px;align-items:center;font-weight:700}
.scrollhint i{width:26px;height:42px;border:2.5px solid currentColor;border-radius:14px;position:relative}
.scrollhint i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:currentColor;animation:wheel 1.6s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (max-width:900px){.hero .ch-t{max-width:none}.scrollhint{display:none}.hero h1{font-size:clamp(2.8rem,13vw,5rem)}}

/* nastro tecnologie */
.marquee{position:relative;z-index:1;background:var(--ink);color:#fff;overflow:hidden;padding-block:clamp(18px,2.4vw,34px)}
.marquee .row{display:flex;gap:2.2rem;white-space:nowrap;width:max-content;will-change:transform}
.marquee span{font-weight:900;font-stretch:120%;font-size:clamp(2rem,5vw,4.6rem);letter-spacing:-.03em;line-height:1}
.marquee span.p{color:var(--red)}
.marquee .row + .row{margin-top:10px}
.marquee .row.b span{color:transparent;-webkit-text-stroke:2px #fff}
.marquee .row.b span.p{-webkit-text-stroke:0;color:var(--sun)}

/* capitoli */
.ch h2{font-size:clamp(2.8rem,6.6vw,7.4rem);letter-spacing:-.04em}
.ch .lead{margin-top:clamp(20px,2.4vw,32px);font-size:clamp(1.1rem,1rem + .4vw,1.35rem);max-width:38ch;line-height:1.42}
.six{list-style:none;margin:clamp(24px,3vw,40px) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.six li{display:flex;gap:10px;align-items:center;font-weight:800;font-stretch:110%;font-size:clamp(1.05rem,1.4vw,1.3rem)}
.six li i{width:14px;height:14px;flex:none;border-radius:3px}
.ch.prod{color:#fff}
.ch.prod h2{font-size:clamp(3.4rem,9vw,9.6rem)}
.ch.prod .for{margin-top:16px;font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:800;font-stretch:108%;max-width:24ch;line-height:1.2}
.ch.prod .lead{max-width:44ch}
.feat{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.feat li{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:700;font-size:.95rem}
.ch.prod .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ch .peek{margin-top:clamp(28px,3vw,40px);max-width:520px}
@media (max-width:900px){.ch .peek{display:none}}
.contact.ch{color:#fff}

/* servizi: binario orizzontale */
.hz{position:relative;background:var(--ground)}
.hz-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:safe center;padding-top:calc(var(--bar) + 16px);padding-bottom:16px}
.hz-head{width:100%;display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(20px,3vw,40px)}
.hz-head h2{font-size:clamp(2.2rem,4.6vw,5rem)}
.hz-count{font-weight:900;font-stretch:120%;font-size:clamp(1.6rem,3vw,2.6rem);font-variant-numeric:tabular-nums}
.hz-count span{color:var(--red)}
.hz-track{display:flex;gap:clamp(16px,2vw,28px);padding-inline:var(--m);will-change:transform}
.panel{flex:none;width:min(84vw,1180px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(24px,3vw,48px);border-radius:28px;color:#fff}
.panel h3{font-size:clamp(2rem,3.6vw,3.8rem)}
.panel p.d{margin-top:18px;max-width:42ch}
.panel .tech{margin-top:18px;font-weight:700;font-size:.98rem;opacity:.92}
.panel .ui{border-radius:14px}
.panel.c1{background:var(--red)}.panel.c2{background:var(--ink)}.panel.c3{background:var(--teal)}
.panel.c4{background:var(--violet)}.panel.c5{background:var(--blue)}.panel.c6{background:var(--sun);color:#0B0B0C}
.hz-bar{margin:clamp(20px,3vw,36px) var(--m) 0;height:6px;border-radius:3px;background:var(--step);overflow:hidden}
.hz-bar i{display:block;height:100%;width:100%;background:var(--red);transform-origin:left;transform:scaleX(0)}
@media (min-width:901px) and (max-height:820px){
  .hz-head{margin-bottom:14px}
  .hz-head h2{font-size:clamp(1.8rem,3.4vw,3.2rem)}
  .panel{padding:22px 30px}
  .panel h3{font-size:clamp(1.7rem,2.8vw,2.8rem)}
  .panel p.d{margin-top:12px;font-size:.98rem}
  .panel .ui{font-size:.84rem}
  .panel .ui th,.panel .ui td{padding:7px 14px}
  .hz-bar{margin-top:14px}
}
@media (max-width:900px){
  .hz{height:auto!important}
  .hz-sticky{position:static;height:auto;padding-block:var(--gap) 0}
  .hz-track{flex-direction:column;transform:none!important}
  .panel{width:auto;grid-template-columns:1fr}
  .hz-bar,.hz-count{display:none}
}

/* metodo (diagramma) */
.method{padding-block:var(--gap);background:var(--ground)}
.method-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:center}
.method h2{font-size:clamp(2.4rem,5vw,5.4rem)}
.method .lead{margin-top:22px;max-width:36ch;font-size:1.15rem}
.method .proc{border-radius:20px;overflow:hidden}
@media (max-width:980px){.method-grid{grid-template-columns:1fr}}

/* sezioni solide */
.sec{padding-top:var(--gap)}
.sec-h{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-h h2{font-size:clamp(2.6rem,6.2vw,6.8rem)}
.sec-h p{font-size:clamp(1.05rem,1rem + .3vw,1.25rem);max-width:38ch}
@media (max-width:860px){.sec-h{grid-template-columns:1fr}}
