/* Asterisco Tech — stili del tema (generato da strumenti/build_css.py)
   1) stili della demo  2) pagina Soluzioni  3) adattamenti per WordPress/Elementor */
body{margin:0;background:#0E1022}
a{color:#F29100;text-decoration:none}a:hover{color:#FFB347}
/* ===== lingua ===== */
.lang-en .it{display:none !important}
.lang-it .en{display:none !important}
.lb{min-width:44px;height:40px;padding:0 10px;border-radius:999px;border:0;background:transparent;color:#A3A7C2;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:background .3s, color .3s}
.lb:hover{color:#FFFFFF}
.lb.on{background:#F29100;color:#0E1022}
.nl{color:#C9CCE0;position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.nl::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#F29100;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.nl:hover,.dd:hover .nl,.dd.dd-open .nl{color:#FFFFFF}
.nl:hover::after,.dd:hover .nl::after,.dd.dd-open .nl::after{transform:scaleX(1);transform-origin:left}
/* ===== dropdown del menu ===== */
.dd{display:flex;align-items:center}
.dd-chev{transition:rotate .35s cubic-bezier(.2,.7,.2,1)}
.dd:hover .dd-chev,.dd:focus-within .dd-chev,.dd.dd-open .dd-chev{rotate:180deg;color:#F29100}
/* mega menu: foglio chiaro a tutta larghezza che scende dall'header */
.dd-panel{position:absolute;left:0;right:0;top:calc(100% - 22px);padding-top:22px;visibility:hidden;transition:visibility 0s linear .6s;text-transform:none;letter-spacing:normal;z-index:40}
.dd:hover .dd-panel,.dd:focus-within .dd-panel,.dd.dd-open .dd-panel{visibility:visible;transition-delay:0s}
.mega-sheet{background:#F5F5F7;color:#0E1022;border-radius:0 0 36px 36px;box-shadow:0 50px 120px rgba(0,0,0,.55);clip-path:inset(0 0 100% 0 round 0 0 36px 36px);transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
.dd:hover .mega-sheet,.dd:focus-within .mega-sheet,.dd.dd-open .mega-sheet{clip-path:inset(0 0 0 0 round 0 0 36px 36px)}
.mega{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;max-width:1440px;margin:0 auto;padding:44px 64px 48px;box-sizing:border-box;position:relative}
.mega::before{content:"";position:absolute;left:64px;right:64px;top:0;height:1px;background:linear-gradient(90deg,#F29100,rgba(242,145,0,0))}
.mg-lab{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A35F00}
.mg-title{margin:18px 0 14px;font-size:42px;font-weight:200;line-height:1.02;letter-spacing:-.035em;color:#0E1022}
.mg-desc{margin:0 0 28px;font-size:15px;line-height:1.6;color:#4A4E66}
.mg-cta{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 8px 0 22px;border-radius:999px;background:#0E1022;color:#FFFFFF;font-size:14px;transition:background .3s}
.mg-cta:hover{background:#1B1F3D;color:#FFFFFF}
.mg-cta .go{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#F29100;color:#0E1022;transition:rotate .35s}
.mg-cta:hover .go{rotate:-45deg}
.mg-row{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #DCDDE4;color:#0E1022;position:relative}
.mg-row:first-child{border-top:1px solid #DCDDE4}
.mg-row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:#F29100;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.mg-row:hover{color:#0E1022}
.mg-row:hover::after{transform:scaleX(1)}
.mg-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:#6B6E85;transition:color .3s}
.mg-name{display:block;font-size:30px;font-weight:250;letter-spacing:-.03em;line-height:1.1;transition:translate .5s cubic-bezier(.2,.7,.2,1), font-weight .3s}
.mg-sub{display:block;margin-top:4px;font-size:13px;color:#555970;transition:translate .5s cubic-bezier(.2,.7,.2,1)}
.mg-go{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid #C9CBD6;color:#0E1022;transition:background .3s, border-color .3s, rotate .35s}
.mg-row:hover .mg-num{color:#A35F00}
.mg-row:hover .mg-name{translate:14px 0;font-weight:400}
.mg-row:hover .mg-sub{translate:14px 0}
.mg-row:hover .mg-go{background:#F29100;border-color:#F29100;rotate:-45deg}
.mg-prev{position:relative;border-radius:24px;overflow:hidden;background:#0E1022;color:#FFFFFF;min-height:340px}
.mg-prev .pv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.08;transition:opacity .55s, scale 1s cubic-bezier(.2,.7,.2,1)}
.mg-prev .cp{position:absolute;left:20px;bottom:20px;opacity:0;translate:0 10px;transition:opacity .4s, translate .5s cubic-bezier(.2,.7,.2,1)}
.mg-prev .pv1{opacity:1;scale:1}.mg-prev .cp1{opacity:1;translate:0 0}
.mega:has(.r2:hover) .pv1,.mega:has(.r3:hover) .pv1,.mega:has(.r4:hover) .pv1{opacity:0;scale:1.08}
.mega:has(.r2:hover) .cp1,.mega:has(.r3:hover) .cp1,.mega:has(.r4:hover) .cp1{opacity:0;translate:0 10px}
.mega:has(.r2:hover) .pv2,.mega:has(.r3:hover) .pv3,.mega:has(.r4:hover) .pv4{opacity:1;scale:1}
.mega:has(.r2:hover) .cp2,.mega:has(.r3:hover) .cp3,.mega:has(.r4:hover) .cp4{opacity:1;translate:0 0}
@keyframes mgIn{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
.dd:hover .mg-st,.dd:focus-within .mg-st,.dd.dd-open .mg-st{animation:mgIn .7s cubic-bezier(.2,.7,.2,1) both}
.mg-st.s1{animation-delay:.12s}.mg-st.s2{animation-delay:.18s}.mg-st.s3{animation-delay:.24s}.mg-st.s4{animation-delay:.3s}.mg-st.s5{animation-delay:.36s}
/* header + mega menu come un unico blocco chiaro */
.nav-wrap{transition:background-color .3s, border-color .3s}
.logo-light{display:none !important}
.nav-wrap:has(.dd:hover),.nav-wrap:has(.dd:focus-within),.nav-wrap:has(.dd-open){background-color:#F5F5F7 !important;border-bottom-color:#F5F5F7 !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.nav-wrap:has(.dd:hover) .logo-dark,.nav-wrap:has(.dd:focus-within) .logo-dark,.nav-wrap:has(.dd-open) .logo-dark{display:none !important}
.nav-wrap:has(.dd:hover) .logo-light,.nav-wrap:has(.dd:focus-within) .logo-light,.nav-wrap:has(.dd-open) .logo-light{display:block !important}
.nav-wrap:has(.dd:hover) .nl,.nav-wrap:has(.dd:focus-within) .nl,.nav-wrap:has(.dd-open) .nl{color:#4A4E66}
.nav-wrap:has(.dd:hover) .nl:hover,.nav-wrap .dd:hover .nl,.nav-wrap .dd.dd-open .nl,.nav-wrap .dd:focus-within .nl{color:#0E1022}
.nav-wrap:has(.dd:hover) .lang-grp,.nav-wrap:has(.dd:focus-within) .lang-grp,.nav-wrap:has(.dd-open) .lang-grp{border-color:rgba(14,16,34,.18) !important}
.nav-wrap:has(.dd:hover) .lb:not(.on),.nav-wrap:has(.dd:focus-within) .lb:not(.on),.nav-wrap:has(.dd-open) .lb:not(.on){color:#4A4E66}
.nav-wrap:has(.dd:hover) .nav-cta,.nav-wrap:has(.dd:focus-within) .nav-cta,.nav-wrap:has(.dd-open) .nav-cta{color:#0E1022 !important;border-color:rgba(14,16,34,.3) !important}
.nav-wrap:has(.dd:hover) .burger:not(:hover),.nav-wrap:has(.dd:focus-within) .burger:not(:hover),.nav-wrap:has(.dd-open) .burger:not(:hover){color:#0E1022 !important;border-color:rgba(14,16,34,.25) !important}
.nav-wrap:has(.dd:hover) .progress,.nav-wrap:has(.dd:focus-within) .progress,.nav-wrap:has(.dd-open) .progress{opacity:0}
/* velo che scurisce la pagina mentre il menu è aperto */
.dd-dim{position:absolute;left:0;right:0;top:100%;height:100vh;background:rgba(6,8,20,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s, visibility 0s linear .35s}
.nav-wrap:has(.dd:hover) .dd-dim,.nav-wrap:has(.dd:focus-within) .dd-dim,.nav-wrap:has(.dd-open) .dd-dim{opacity:1;visibility:visible;transition-delay:0s}
/* hamburger */
.burger{position:relative;overflow:visible;transition:background .35s, border-color .35s, color .35s}
.burger .bl{position:absolute;left:12px;height:1.5px;border-radius:2px;background:currentColor;transition:width .45s cubic-bezier(.2,.7,.2,1), translate .45s cubic-bezier(.2,.7,.2,1)}
.burger .bl1{top:17px;width:20px}
.burger .bl2{top:25px;width:12px}
.burger:hover{background:#F29100 !important;border-color:#F29100 !important;color:#0E1022 !important}
.burger:hover .bl1{width:12px;translate:8px 0}
.burger:hover .bl2{width:20px}
.burger::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid #F29100;opacity:0;pointer-events:none}
@keyframes ringOut{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}
.burger:hover::after{animation:ringOut .9s cubic-bezier(.2,.7,.2,1)}
/* ===== menu a schermo intero ===== */
@keyframes fmIn{from{clip-path:circle(0% at min(calc(100% - 86px), calc(50% + 634px)) 44px)}to{clip-path:circle(160% at min(calc(100% - 86px), calc(50% + 634px)) 44px)}}
@keyframes fmOut{from{clip-path:circle(160% at min(calc(100% - 86px), calc(50% + 634px)) 44px)}to{clip-path:circle(0% at min(calc(100% - 86px), calc(50% + 634px)) 44px)}}
@keyframes fmLeave{from{opacity:1;translate:0 0}to{opacity:0;translate:0 -40px}}
.fm-anim.fm-out{animation:fmOut .8s cubic-bezier(.65,0,.35,1) .15s both}
.fm-out .fm-item,.fm-out .fm-panel{animation:fmLeave .45s cubic-bezier(.5,0,.75,0) both !important}
.fm-out .fm-item:nth-child(1){animation-delay:.12s !important}.fm-out .fm-item:nth-child(2){animation-delay:.1s !important}.fm-out .fm-item:nth-child(3){animation-delay:.08s !important}.fm-out .fm-item:nth-child(4){animation-delay:.06s !important}.fm-out .fm-item:nth-child(5){animation-delay:.03s !important}.fm-out .fm-item:nth-child(6){animation-delay:0s !important}
.fm-anim{animation:fmIn .9s cubic-bezier(.7,0,.2,1) both}
@keyframes fmItem{from{opacity:0;translate:0 70px}to{opacity:1;translate:0 0}}
@keyframes fmFade{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.fm a{color:#FFFFFF}
.fm-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08);animation:fmItem .9s cubic-bezier(.2,.8,.2,1) both}
.fm-item:nth-child(1){animation-delay:.3s}.fm-item:nth-child(2){animation-delay:.36s}.fm-item:nth-child(3){animation-delay:.42s}.fm-item:nth-child(4){animation-delay:.48s}.fm-item:nth-child(5){animation-delay:.54s}.fm-item:nth-child(6){animation-delay:.6s}
.fm-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:#A3A7C2;transition:color .3s}
.fm-label{font-size:clamp(40px,5.2vw,80px);font-weight:200;letter-spacing:-.045em;line-height:1.08;color:#5C6390;transition:translate .55s cubic-bezier(.2,.7,.2,1), color .35s}
.fm-item:hover .fm-label{color:#A3A7C2}
.fm-count{font-family:'JetBrains Mono',monospace;font-size:13px;color:#F29100;align-self:start;margin-top:18px}
.fm-item.on .fm-label{translate:28px 0;color:#FFFFFF}
.fm-item.on .fm-num{color:#F29100}
.fm-panel{animation:fmFade .8s cubic-bezier(.2,.7,.2,1) .55s both}
.fm-row{transition:padding .4s cubic-bezier(.2,.7,.2,1), background .3s}
.fm-row:hover{padding-left:14px !important;background:rgba(255,255,255,.04)}
.fm-row .fm-arr{transition:color .3s, translate .35s}
.fm-row:hover .fm-arr{color:#F29100;translate:4px 0}
.fm-card img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.fm-card:hover img{transform:scale(1.08)}
/* pannello destro: tessere fotografiche */
@keyframes fmTile{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.fm-tile{position:relative;display:block;min-height:150px;border-radius:20px;overflow:hidden;isolation:isolate;background:#14172E;animation:fmTile .7s cubic-bezier(.2,.7,.2,1) both;transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s}
.fm-tile:nth-child(1){animation-delay:.05s}.fm-tile:nth-child(2){animation-delay:.12s}.fm-tile:nth-child(3){animation-delay:.19s}.fm-tile:nth-child(4){animation-delay:.26s}
/* ogni voce ha il suo nome di animazione: cambiando voce, tutte le tessere ripartono */
@keyframes fmT0{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes fmT1{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes fmT2{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes fmT3{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes fmT4{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes fmT5{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.fm-ptxt{animation:fmT0 .6s cubic-bezier(.2,.7,.2,1) both}
.fm-panel.s0 .fm-tile,.fm-panel.s0 .fm-feature,.fm-panel.s0 .fm-ptxt{animation-name:fmT0}
.fm-panel.s1 .fm-tile,.fm-panel.s1 .fm-feature,.fm-panel.s1 .fm-ptxt{animation-name:fmT1}
.fm-panel.s2 .fm-tile,.fm-panel.s2 .fm-feature,.fm-panel.s2 .fm-ptxt{animation-name:fmT2}
.fm-panel.s3 .fm-tile,.fm-panel.s3 .fm-feature,.fm-panel.s3 .fm-ptxt{animation-name:fmT3}
.fm-panel.s4 .fm-tile,.fm-panel.s4 .fm-feature,.fm-panel.s4 .fm-ptxt{animation-name:fmT4}
.fm-panel.s5 .fm-tile,.fm-panel.s5 .fm-feature,.fm-panel.s5 .fm-ptxt{animation-name:fmT5}
.fm-tile.wide{grid-column:1 / -1;min-height:190px}
.fm-tile img,.fm-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.72);transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s}
.fm-shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,13,30,.05) 0%, rgba(11,13,30,.9) 100%)}
.fm-tile::after,.fm-feature::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:box-shadow .4s;pointer-events:none}
.fm-tile:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,0,0,.45)}
.fm-tile:hover::after,.fm-feature:hover::after{box-shadow:inset 0 0 0 2px #F29100}
.fm-tile:hover img,.fm-feature:hover img{transform:scale(1.08);filter:grayscale(0) brightness(.9)}
.fm-go{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFFFFF;transition:background .3s, color .3s, rotate .35s}
.fm-tile:hover .fm-go{background:#F29100;color:#0E1022;rotate:-45deg}
.fm-txt{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:3px}
.fm-tnum{font-family:'JetBrains Mono',monospace;font-size:11px;color:#F29100}
.fm-ttitle{font-size:21px;font-weight:400;letter-spacing:-.015em;line-height:1.12;color:#FFFFFF}
.fm-tdesc{font-size:13px;line-height:1.35;color:#D5D7E6;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1), opacity .35s}
.fm-tile:hover .fm-tdesc,.fm-tile:focus-visible .fm-tdesc{max-height:40px;opacity:1}
.fm-feature{position:relative;display:block;flex-shrink:0;aspect-ratio:16 / 10;min-height:260px;border-radius:22px;overflow:hidden;isolation:isolate;animation:fmTile .7s cubic-bezier(.2,.7,.2,1) .05s both}
.fm-panel > div{flex-shrink:0}
.fm-fcta{position:absolute !important;left:20px;bottom:20px;z-index:1;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 8px 0 24px;border-radius:999px;background:#F29100;color:#0E1022;font-weight:600;font-size:15px}
.fm-fcta .go{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#0E1022;color:#F29100;transition:rotate .35s}
.fm-feature:hover .fm-fcta .go{rotate:-45deg}
.fm-close .fm-x{transition:rotate .45s cubic-bezier(.2,.7,.2,1)}
.fm-close:hover .fm-x{rotate:90deg}
.fm a.fm-foot{color:#C9CCE0}.fm a.fm-foot:hover{color:#F29100}
.fm a.fm-soc{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#C9CCE0;transition:background .3s, color .3s, border-color .3s}
.fm a.fm-soc:hover{background:#F29100;border-color:#F29100;color:#0E1022}
@media (max-width: 960px){
  .fm-grid{grid-template-columns:repeat(1,minmax(0,1fr)) !important;overflow-y:auto;align-items:start !important}
  .fm-grid > *{grid-column:1 / -1 !important}
}
@media (prefers-reduced-motion: reduce){
  .fm-anim,.fm-item,.fm-panel,.mg-st,.burger::after,.fm-tile,.fm-feature{animation:none !important}
  .mega-sheet{transition:none}
}
/* ===== bottoni con riflesso ===== */
.shine{position:relative;overflow:hidden;isolation:isolate}
.shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);translate:-130% 0;transition:translate .8s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:-1}
.shine:hover::after{translate:130% 0}
@keyframes shineLoop{0%,70%{translate:-130% 0}100%{translate:130% 0}}
.shine-loop::after{animation:shineLoop 4.5s ease-in-out infinite}
/* ===== hero ===== */
.wm{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
.w{display:inline-block}
@keyframes wordUp{from{translate:0 110%;rotate:4deg}to{translate:0 0;rotate:0deg}}
@keyframes shim{to{background-position:-200% 0}}
.shimmer{background:linear-gradient(90deg,#F29100 0%,#FFC37A 25%,#F29100 50%,#FFC37A 75%,#F29100 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 5s linear infinite}
@keyframes pulse{from{stroke-dashoffset:2000}to{stroke-dashoffset:0}}
.pulse{stroke-dasharray:110 1890;animation:pulse 5.5s linear infinite}
.p2{animation-delay:-1.8s;animation-duration:6.5s}.p3{animation-delay:-3.6s;animation-duration:7.5s}
@keyframes sway{from{transform:translateX(-36px)}to{transform:translateX(36px)}}
.sway{animation:sway 9s ease-in-out infinite alternate}
.sway2{animation:sway 12s ease-in-out infinite alternate-reverse}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -26px}}
.floaty{animation:floaty 9s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cue-line{animation:cue 2.2s cubic-bezier(.6,0,.2,1) infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.blink{animation:blink 1.6s ease-in-out infinite}
/* ingresso sul sito */
@property --pct{syntax:'<integer>';inherits:false;initial-value:0}
.intro{display:none}
@keyframes ibIn{from{opacity:0;scale:.2;rotate:-90deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes ibSpin{to{rotate:60deg}}
@keyframes inFade{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes inBar{from{scale:0 1}to{scale:1 1}}
@keyframes inCount{from{--pct:0}to{--pct:100}}
@keyframes inCoreOut{to{opacity:0;scale:1.08;filter:blur(6px)}}
@keyframes inLift{to{clip-path:inset(0 0 100% 0)}}
@keyframes inGone{to{visibility:hidden}}
@media (prefers-reduced-motion: no-preference){
  .intro{display:block;position:fixed;inset:0;z-index:9999;pointer-events:none;animation:inGone 0s linear 2.9s both}
  .intro-sheet{position:absolute;inset:0;clip-path:inset(0 0 0 0)}
  .intro-bg{background:radial-gradient(ellipse 60% 50% at 50% 45%,#16204A 0%,#0E1022 70%);animation:inLift .9s cubic-bezier(.76,0,.24,1) 1.85s both}
  .intro-or{background:#F29100;animation:inLift .9s cubic-bezier(.76,0,.24,1) 2.0s both}
  .intro-core{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:18px;width:min(340px,80vw);animation:inCoreOut .45s ease 1.55s both}
  .intro-logo{width:96px;height:auto;overflow:visible;animation:ibSpin 1.4s cubic-bezier(.6,0,.2,1) .7s both;transform-origin:50% 50%}
  .ib{transform-box:fill-box;transform-origin:50% 50%;animation:ibIn .7s cubic-bezier(.2,.9,.25,1.25) both}
  .ib0{animation-delay:.05s}.ib1{animation-delay:.12s}.ib2{animation-delay:.19s}.ib3{animation-delay:.26s}.ib4{animation-delay:.33s}.ib5{animation-delay:.4s}
  .intro-name{font-size:30px;font-weight:300;letter-spacing:-.02em;color:#FFFFFF;animation:inFade .6s ease .45s both}
  .intro-name b{font-weight:600;color:#F29100}
  .intro-meta{display:flex;justify-content:space-between;width:100%;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A3A7C2;animation:inFade .6s ease .6s both}
  .intro-n{animation:inCount 1.2s cubic-bezier(.4,0,.2,1) .3s both;counter-reset:pct var(--pct)}
  .intro-n::after{content:counter(pct) "%";color:#FFFFFF}
  .intro-bar{width:100%;height:2px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
  .intro-bar span{display:block;height:100%;background:linear-gradient(90deg,#1B72B8,#F29100);transform-origin:0 50%;animation:inBar 1.2s cubic-bezier(.4,0,.2,1) .3s both}
  /* i contenuti del hero entrano mentre si alzano i sipari */
  html.at-intro-on .hx .w1{animation-delay:2.15s}html.at-intro-on .hx .w2{animation-delay:2.25s}html.at-intro-on .hx .w3{animation-delay:2.35s}html.at-intro-on .hx .w4{animation-delay:2.45s}html.at-intro-on .hx .w5{animation-delay:2.55s}
  html.at-intro-on .hx .in-1{animation-delay:2.05s}html.at-intro-on .hx .in-3{animation-delay:2.7s}html.at-intro-on .hx .in-4{animation-delay:2.85s}
}
/* hero GENIUS: base (anche senza animazioni legate allo scroll) */
.hx-track{position:relative}
.hx-stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hx-vid{position:absolute;inset:0}
.hx-vid video{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 50%;filter:saturate(1.25) contrast(1.08) brightness(1.15)}
.hx-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,34,.9) 0%,rgba(14,16,34,.6) 35%,rgba(14,16,34,.1) 70%,rgba(14,16,34,.25) 100%),linear-gradient(180deg,rgba(14,16,34,.55) 0%,rgba(14,16,34,0) 25%,rgba(14,16,34,0) 50%,rgba(14,16,34,.85) 88%,#0E1022 100%)}
.hx-content{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 0 96px}
@keyframes hxFadeIn{from{opacity:0}to{opacity:1}}
@keyframes hxFrame{to{clip-path:inset(3% 2.5% 0 2.5% round 36px)}}
@keyframes hxDrift{to{scale:1.12;translate:0 6%}}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .hx-stage .hero-media{animation:hxFrame linear both;animation-timeline:view();animation-range:exit 0% exit 70%}
    .hx-vid{animation:hxDrift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .hx-tint{opacity:1}
  }
}
@media (max-width: 760px){.hx-content{padding-bottom:64px}.hx-vid video{object-position:70% 50%}}
/* hero: video a tutta sezione con velature blu */
.hero-media{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#0E1022}
.hero-media-in{position:absolute;inset:-8% 0;background:url(/_blob/31e2dbdc2e54c48a69b00cddd9d2562c) 65% 50%/cover no-repeat}
.hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:65% 50%;filter:saturate(1.2) contrast(1.08) brightness(.95);animation:heroKen 26s ease-in-out infinite alternate}
@keyframes heroKen{from{scale:1.03}to{scale:1.13}}
.hero-blue{position:absolute;inset:0;background:#1B72B8;mix-blend-mode:color;opacity:.3}
.hero-tint{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(14,16,34,.92) 0%,rgba(14,16,34,.7) 30%,rgba(14,16,34,.12) 62%,rgba(14,16,34,.22) 100%),
  linear-gradient(180deg,rgba(14,16,34,.7) 0%,rgba(14,16,34,0) 22%,rgba(14,16,34,0) 52%,rgba(14,16,34,.75) 80%,#0E1022 100%),
  radial-gradient(ellipse 55% 60% at 72% 40%,rgba(43,140,230,.28),transparent 70%)}
.hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 70% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 70% 40%,#000,transparent 75%)}
@keyframes heroPar{to{translate:0 14%}}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference){
    .hero-media-in{animation:heroPar linear both;animation-timeline:scroll(root);animation-range:0px 100vh}
  }
}
@media (prefers-reduced-motion: reduce){.hero-media video{display:none}}
@media (max-width: 760px){
  .hero-media video,.hero-media-in{object-position:72% 50%;background-position:72% 50%}
  .hero-tint{background:linear-gradient(180deg,rgba(14,16,34,.82) 0%,rgba(14,16,34,.55) 45%,rgba(14,16,34,.8) 80%,#0E1022 100%)}
}
/* ===== notizie ===== */
.news-card{transition:transform .45s cubic-bezier(.2,.7,.2,1), border-color .3s, background .3s}
.news-card:hover{transform:translateY(-6px);border-color:rgba(242,145,0,.55) !important}
.news-go{transition:background .3s, color .3s, border-color .3s, transform .35s}
.news-card:hover .news-go{background:#F29100 !important;color:#0E1022 !important;border-color:#F29100 !important;transform:rotate(-45deg)}
.news-card:hover .news-big{color:rgba(242,145,0,.35)}
/* navigazione notizie: il contenuto delle card scorre a ogni clic sulle frecce */
@keyframes nvN0{from{opacity:0;translate:36px 0}to{opacity:1;translate:0 0}}
@keyframes nvN1{from{opacity:0;translate:36px 0}to{opacity:1;translate:0 0}}
@keyframes nvP0{from{opacity:0;translate:-36px 0}to{opacity:1;translate:0 0}}
@keyframes nvP1{from{opacity:0;translate:-36px 0}to{opacity:1;translate:0 0}}
.nvN0 .nv-in{animation:nvN0 .6s cubic-bezier(.2,.7,.2,1) both}
.nvN1 .nv-in{animation:nvN1 .6s cubic-bezier(.2,.7,.2,1) both}
.nvP0 .nv-in{animation:nvP0 .6s cubic-bezier(.2,.7,.2,1) both}
.nvP1 .nv-in{animation:nvP1 .6s cubic-bezier(.2,.7,.2,1) both}
.nv-start .nv-in{animation:none}
.news-big{color:rgba(255,255,255,.09);transition:color .4s}
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes rot{to{--ang:360deg}}
.ring::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),transparent 0%,transparent 62%,#F29100 80%,#FFC37A 88%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rot 6s linear infinite;pointer-events:none}
/* famiglie di prodotti (home, sezione soluzioni) */
.fam{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:26px 26px 24px;border-radius:24px;background:#FFFFFF;border:1px solid #E1E2E8;color:#0E1022;transition:border-color .35s, transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s}
.fam::before{content:"";position:absolute;left:0;top:0;height:3px;width:48px;background:#F29100;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.fam:hover{transform:translateY(-6px);border-color:rgba(242,145,0,.5);box-shadow:0 24px 50px rgba(14,16,34,.10)}
.fam:hover::before{width:100%}
.fam-big{position:absolute;right:-6px;bottom:-34px;font-size:150px;font-weight:100;line-height:1;letter-spacing:-.06em;color:#F2F2F4;pointer-events:none;transition:color .4s}
.fam:hover .fam-big{color:rgba(242,145,0,.12)}
.fam-head{position:relative;display:flex;justify-content:space-between;align-items:center}
.fam-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A35F00}
.fam-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:#F2F2F4;transition:background .35s}
.fam:hover .fam-ic{background:rgba(242,145,0,.16)}
.fam-name{position:relative;margin:6px 0 0;font-size:30px;font-weight:300;letter-spacing:-.025em;line-height:1.05}
.fam-txt{position:relative;margin:0;max-width:340px;font-size:15px;line-height:1.55;color:#555970}
.fam-btns{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fam-b1,.fam-b2{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.fam-b1{background:#0E1022;color:#FFFFFF}
.fam-b1 svg{transition:translate .3s}
.fam-b1:hover{background:#F29100;color:#0E1022}
.fam-b1:hover svg{translate:3px 0}
.fam-b2{border:1px solid #C9CBD6;color:#0E1022}
.fam-b2:hover{border-color:#0E1022;background:#0E1022;color:#FFFFFF}
/* notizie con immagine */
.nwc{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:290px;padding:30px;border-radius:26px;border:1px solid rgba(255,255,255,.12);background:#121530;color:#FFFFFF;box-sizing:border-box;transition:transform .45s cubic-bezier(.2,.7,.2,1), border-color .3s}
.nwc:hover{transform:translateY(-6px);border-color:rgba(242,145,0,.6)}
.nwc-feat{min-height:600px;padding:40px;border-radius:30px}
.nwc-img{position:absolute;inset:0;z-index:-2}
.nwc-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.nwc:hover .nwc-img img{transform:scale(1.06)}
.nwc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,16,34,.5) 0%,rgba(14,16,34,.05) 32%,rgba(14,16,34,.25) 55%,rgba(14,16,34,.92) 100%)}
.nwc-top{display:flex;flex-wrap:wrap;gap:8px}
.nwc-chip{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(14,16,34,.55);border:1px solid rgba(255,255,255,.28);color:#FFFFFF;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.nwc-chip.hl{background:#F29100;border-color:#F29100;color:#0E1022}
.nwc-chip.eu{background:#FFFFFF;border-color:#FFFFFF;color:#1B3A8C}
.nwc-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.nwc-date{display:block;margin-bottom:10px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#FFC37A}
.nwc-title{margin:0;max-width:520px;font-weight:300;font-size:26px;line-height:1.12;letter-spacing:-.02em}
.nwc-title-xl{font-size:clamp(34px,3.4vw,54px);line-height:1.02;letter-spacing:-.03em}
.nwc-go{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(14,16,34,.35);color:#FFFFFF}
.nwc:hover .nwc-go{background:#F29100 !important;color:#0E1022 !important;border-color:#F29100 !important;transform:rotate(-45deg)}
/* notizie laterali: immagine sopra, testo sotto (titolo sempre leggibile) */
.nwc-col .nwc{padding:0;gap:0;justify-content:flex-start;min-height:0}
.nwc-col .nwc-img{position:relative;inset:auto;z-index:auto;flex:1 1 auto;min-height:150px;overflow:hidden}
.nwc-col .nwc-shade{display:none}
.nwc-col .nwc-top{position:absolute;left:18px;top:18px;right:18px}
.nwc-col .nwc-bot{padding:20px 22px 22px;background:#121530;border-top:1px solid rgba(255,255,255,.08)}
.nwc-col .nwc-title{font-size:22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nwc-col .nwc-date{margin-bottom:8px}
/* azienda */
.co-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:stretch}
.co-tag{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:#C9CCE0}
.co-photo{position:relative;min-height:560px;border-radius:30px;overflow:hidden}
.co-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.co-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,34,.35),rgba(14,16,34,0) 35%,rgba(14,16,34,.55) 100%)}
.co-chip{position:absolute;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(14,16,34,.6);border:1px solid rgba(255,255,255,.25);color:#FFFFFF;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.co-card{position:absolute;left:20px;right:20px;bottom:20px;padding:20px 22px;border-radius:20px;background:#FFFFFF;box-shadow:0 24px 50px rgba(0,0,0,.35)}
.co-step{position:relative;padding-top:32px;border-top:1px solid rgba(255,255,255,.15)}
.co-step::before{content:"";position:absolute;left:0;top:-1px;width:56px;height:1px;background:#F29100;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.co-step:hover::before{width:100%}
.co-link{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;min-height:220px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.12);color:#FFFFFF;box-sizing:border-box;transition:border-color .3s, transform .45s cubic-bezier(.2,.7,.2,1)}
.co-link img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(1.05);transition:filter .5s, transform 1s cubic-bezier(.2,.7,.2,1)}
.co-link::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,16,34,0) 30%,rgba(14,16,34,.85) 100%)}
.co-link:hover{border-color:rgba(242,145,0,.6);transform:translateY(-4px);color:#FFFFFF}
.co-link:hover img{filter:brightness(1) saturate(1.15);transform:scale(1.06)}
.co-go{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.5);transition:background .3s,color .3s,border-color .3s,rotate .35s}
.co-link:hover .co-go{background:#F29100;border-color:#F29100;color:#0E1022;rotate:-45deg}
@media (max-width: 960px){
  .co-intro{grid-template-columns:repeat(1,minmax(0,1fr)) !important;gap:40px !important}
  .co-photo{min-height:460px}
  .nwc-col{grid-template-rows:none !important}
  .nwc-feat{min-height:460px}
}
@media (max-width: 560px){.nwc-feat{padding:26px}.nwc{padding:24px}.co-card{position:relative;left:auto;right:auto;bottom:auto;margin:300px 12px 12px}}
.news-row{transition:background .3s, padding .4s cubic-bezier(.2,.7,.2,1)}
.news-row:hover{background:rgba(255,255,255,.04);padding-left:20px !important}
.news-row:hover .news-arr{color:#F29100}
.icon-btn{transition:background .3s, border-color .3s}
.icon-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5) !important}
/* ===== soluzioni ===== */
.sol-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto 44px;align-items:center;gap:20px;padding:24px 16px;border-radius:16px;color:#0E1022;transition:padding .45s cubic-bezier(.2,.7,.2,1), background .35s}
.sol-row + .sol-row{margin-top:2px}
.sol-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:#6B6E85;transition:color .3s}
.sol-title{font-size:clamp(22px,2.3vw,34px);font-weight:200;letter-spacing:-.025em;line-height:1.12;transition:font-weight .3s}
.sol-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid #B9BBC8;color:#3C3F55;white-space:nowrap}
.sol-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid #B9BBC8;opacity:0;transform:translateX(-10px) rotate(-45deg);transition:opacity .35s, transform .45s, background .3s}
.sol-row.is-on{background:#0E1022;color:#FFFFFF;padding-left:28px}
.sol-row.is-on .sol-num{color:#F29100}
.sol-row.is-on .sol-title{font-weight:400}
.sol-row.is-on .sol-tag{border-color:rgba(255,255,255,.35);color:#FFFFFF}
.sol-row.is-on .sol-arrow{opacity:1;transform:none;background:#F29100;border-color:#F29100;color:#0E1022}
.sol-row:not(.is-on):hover{background:#E6E7EC}
.sol-seg{flex:1 1 0;height:3px;border-radius:2px;background:rgba(255,255,255,.3);transition:background .3s}
.sol-seg.is-on{background:#F29100}
@keyframes solIn{from{opacity:.35;transform:scale(1.05)}to{opacity:1;transform:none}}
.sol-img{animation:solIn .7s cubic-bezier(.2,.7,.2,1)}
/* ===== azienda ===== */
.mq-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq-track.rev{animation-direction:reverse;animation-duration:48s}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-word{color:#4E5585}
.mq-wrap:hover .mq-track{animation-play-state:paused}
.mode{position:relative;overflow:hidden;transition:background .4s, border-color .4s}
.mode:hover{background:#171A36 !important;border-color:rgba(242,145,0,.55) !important}
.mode-big{transition:color .4s}
.mode:hover .mode-big{color:#F29100}
@keyframes trace{from{stroke-dashoffset:1200}to{stroke-dashoffset:0}}
.trace{stroke-dasharray:1200;animation:trace 3.2s cubic-bezier(.4,0,.2,1) infinite alternate}
@keyframes scan{from{translate:-100% 0}to{translate:100% 0}}
.scan{animation:scan 3.4s linear infinite}
/* ===== footer ===== */
.foot a{color:#0E1022;text-decoration:none;background-image:linear-gradient(#0E1022,#0E1022);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s}
.foot a:hover{color:#0E1022;background-size:100% 1px}
.foot a.soc{background-image:none;transition:background .3s, color .3s}
.foot a.soc:hover{background:#0E1022;color:#FFFFFF}
/* torna in cima: il navy sale dal basso, la freccia diventa arancio e "vola" verso l'alto */
.foot a.top-btn{position:relative;overflow:hidden;isolation:isolate;background-image:none;transition:color .35s, transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s}
.foot a.top-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#0E1022;transform:translateY(101%);transition:transform .5s cubic-bezier(.2,.7,.2,1);z-index:-1}
.foot a.top-btn svg{transition:color .35s}
.foot a.top-btn:hover,.foot a.top-btn:focus-visible{color:#F29100 !important;transform:translateY(-4px);box-shadow:0 14px 30px rgba(14,16,34,.35)}
.foot a.top-btn:hover::before,.foot a.top-btn:focus-visible::before{transform:translateY(0)}
@keyframes arrowUp{0%{translate:0 0;opacity:1}45%{translate:0 -30px;opacity:0}46%{translate:0 30px;opacity:0}100%{translate:0 0;opacity:1}}
.foot a.top-btn:hover svg{animation:arrowUp 1s cubic-bezier(.6,0,.3,1) .1s infinite}
@media (prefers-reduced-motion: reduce){.foot a.top-btn:hover svg{animation:none}}
/* ===== CTA ===== */
.grad-txt{background:linear-gradient(90deg,#F29100 0%,#FFC37A 60%,#FF8A5B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.glass{transition:transform .45s cubic-bezier(.2,.7,.2,1), background .3s, border-color .3s}
.glass:hover{transform:translateY(-6px);background:rgba(255,255,255,.12) !important;border-color:rgba(255,195,122,.6) !important}
.glass-main:hover{background:#FFB347 !important}
.glass-go{transition:transform .35s}
.glass:hover .glass-go{transform:translate(3px,-3px)}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(120px,60px) scale(1.15)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-140px,80px) scale(.9)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-90px,-70px) scale(1.2)}}
.b1{animation:drift1 22s ease-in-out infinite}
.b2{animation:drift2 26s ease-in-out infinite}
.b3{animation:drift3 30s ease-in-out infinite}
.b4{animation:drift1 24s ease-in-out infinite reverse}
.b5{animation:drift2 28s ease-in-out infinite reverse}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.6);opacity:0}}
.ping{animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin 20s linear infinite;transform-origin:50% 50%}
.spin-slow{animation:spin 70s linear infinite;transform-origin:50% 50%}
/* footer: disegno tecnico che si traccia da solo, con linea di scansione */
@keyframes tdDraw{0%{stroke-dashoffset:1}24%,100%{stroke-dashoffset:0}}
@keyframes tdFade{0%,20%{opacity:0}34%,100%{opacity:1}}
@keyframes tdCycle{0%,88%{opacity:1}96%{opacity:0}100%{opacity:1}}
@keyframes tdScan{from{translate:70px 0}to{translate:450px 0}}
.td-all{animation:tdCycle 14s linear infinite}
.td-l,.td-holes circle{stroke-dasharray:1;animation:tdDraw 14s cubic-bezier(.65,0,.25,1) infinite}
.td-d1{animation-delay:.35s}.td-d2,.td-holes circle{animation-delay:.7s}
.td-n,.td-h{animation:tdFade 14s ease infinite}
.td-h{animation-delay:.6s}.td-d3{animation-delay:1s}
.td-scan{opacity:.55;animation:tdScan 4.5s cubic-bezier(.45,0,.55,1) infinite alternate}
@media (prefers-reduced-motion: reduce){.td-all,.td-l,.td-holes circle,.td-n,.td-h,.td-scan{animation:none !important}.td-l,.td-holes circle{stroke-dasharray:none}.td-scan{display:none}}
@media (max-width: 760px){.tdw{width:360px !important;height:360px !important;right:-90px !important;top:-60px !important}}

/* ===== settori ===== */
.sect{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:#FFFFFF;transition:flex-grow .7s cubic-bezier(.2,.7,.2,1)}
.sect:hover,.sect:focus-visible{flex-grow:1.9}
.sect-img{transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .6s;filter:grayscale(.7) brightness(.7)}
.sect:hover .sect-img{transform:scale(1.07);filter:grayscale(0) brightness(.9)}
.sect-cover{transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1), filter .7s;filter:saturate(1.05) contrast(1.05)}
.sect:hover .sect-cover,.sect:focus-visible .sect-cover{opacity:0;transform:scale(1.12);filter:blur(6px)}
.sect-bar{transition:width .7s cubic-bezier(.2,.7,.2,1)}
.sect:hover .sect-bar{width:100% !important}
.sect-go{transition:background .3s, color .3s, border-color .3s, transform .3s}
.sect:hover .sect-go{background:#F29100 !important;color:#0E1022 !important;border-color:#F29100 !important;transform:rotate(-45deg)}
.outline-num{color:rgba(255,255,255,.9);transition:color .4s}
.sect:hover .outline-num{color:#F29100}
/* ===== animazioni di ingresso ===== */
@keyframes rvUp{from{opacity:0;translate:0 70px}to{opacity:1;translate:0 0}}
@keyframes rvMask{from{opacity:0;clip-path:inset(0 0 100% 0);translate:0 48px}to{opacity:1;clip-path:inset(0 0 -20% 0);translate:0 0}}
@keyframes rvLeft{from{opacity:0;translate:-90px 0}to{opacity:1;translate:0 0}}
@keyframes rvRight{from{opacity:0;translate:90px 0}to{opacity:1;translate:0 0}}
@keyframes rvZoom{from{opacity:0;scale:.88}to{opacity:1;scale:1}}
@keyframes rvBlur{from{opacity:0;filter:blur(16px);translate:0 36px}to{opacity:1;filter:blur(0);translate:0 0}}
@keyframes rvWipe{from{clip-path:inset(0 100% 0 0 round 24px)}to{clip-path:inset(0 0 0 0 round 24px)}}
@keyframes rvImg{from{scale:1.25}to{scale:1}}
@keyframes par{from{translate:0 -7%}to{translate:0 7%}}
@keyframes navbg{from{background-color:rgba(14,16,34,0);border-bottom-color:rgba(255,255,255,0)}to{background-color:rgba(14,16,34,.82);border-bottom-color:rgba(255,255,255,.08)}}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes heroOut{to{opacity:.15;translate:0 -80px;scale:.96}}
@media (prefers-reduced-motion: no-preference){
  .w{animation:wordUp 1.1s cubic-bezier(.2,.8,.2,1) both}
  .w1{animation-delay:.15s}.w2{animation-delay:.25s}.w3{animation-delay:.35s}.w4{animation-delay:.45s}.w5{animation-delay:.55s}
  .in{animation:rvUp 1.1s cubic-bezier(.2,.7,.2,1) both}
  .in-1{animation-delay:.05s}.in-3{animation-delay:.75s}.in-4{animation-delay:.95s}.in-5{animation-delay:1.2s}
  @supports (animation-timeline: view()){
    .rv{animation:rvUp linear both}
    .rv-mask{animation:rvMask linear both}
    .rv-left{animation:rvLeft linear both}
    .rv-right{animation:rvRight linear both}
    .rv-zoom{animation:rvZoom linear both}
    .rv-blur{animation:rvBlur linear both}
    .rv-wipe{animation:rvWipe linear both}
    .rv,.rv-mask,.rv-left,.rv-right,.rv-zoom,.rv-blur,.rv-wipe{animation-timeline:view();animation-range:entry 0% entry 75%}
    .rv-wipe img{animation:rvImg linear both;animation-timeline:view();animation-range:entry 0% cover 60%}
    .d1{animation-range:entry 10% entry 85%}
    .d2{animation-range:entry 20% entry 95%}
    .d3{animation-range:entry 30% entry 100%}
    .rv-end{animation-range:entry 0% entry 50%}
    .par{animation:par linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    .nav-wrap{animation:navbg linear both;animation-timeline:scroll(root);animation-range:0px 220px}
    .progress{animation:prog linear both;animation-timeline:scroll(root)}
    .hero-out{animation:heroOut linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  }
}
@media (prefers-reduced-motion: reduce){
  .mq-track,.trace,.blob,.spin,.spin-slow,.pulse,.sway,.sway2,.floaty,.cue-line,.shimmer,.ring::before,.shine-loop::after,.scan,.ping,.blink{animation:none !important}
}
@media (max-width: 960px){
  .sect-row{flex-direction:column !important}
  .sect{flex:none !important;min-height:360px}
  .nav-links{display:none !important}
  .g4{grid-template-columns:repeat(2, minmax(0,1fr)) !important}
  .g3{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
  .split{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
  .hero-meta{grid-template-columns:repeat(2, minmax(0,1fr)) !important}
  .pad{padding-left:24px !important;padding-right:24px !important}
  .bento > *{grid-column:1 / -1 !important;grid-row:auto !important}
  .cue{display:none !important}
}
@media (max-width: 560px){
  .g4{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
  .hero-meta{grid-template-columns:repeat(1, minmax(0,1fr)) !important}
  .nav-cta{display:none !important}
  .sol-tag{display:none}
  .news-row > span:first-child{display:none}
  .sol-row{grid-template-columns:40px minmax(0,1fr) 44px}
}

/* ===== pagina Soluzioni ===== */
.nl.cur{color:#FFFFFF}
.nl.cur::after{transform:scaleX(1);transform-origin:left}
.nav-wrap:has(.dd:hover) .nl.cur,.nav-wrap:has(.dd:focus-within) .nl.cur,.nav-wrap:has(.dd-open) .nl.cur{color:#0E1022}
@media (prefers-reduced-motion: no-preference){@supports (animation-timeline: scroll()){.progress{animation:prog linear both;animation-timeline:scroll(root)}}}
.burger{position:relative;transition:background .35s, border-color .35s, color .35s}
@keyframes rvUp{from{opacity:0;translate:0 50px}to{opacity:1;translate:0 0}}
.pulse{stroke-dasharray:110 1890;animation:pulse 6s linear infinite}
.p2{animation-delay:-2.4s;animation-duration:7.5s}
.in{animation:rvUp 1s cubic-bezier(.2,.7,.2,1) both}
.in1{animation-delay:.05s}
.in2{animation-delay:.18s}
.in3{animation-delay:.32s}
.in4{animation-delay:.48s}
.ind{position:relative;display:block;min-height:210px;border-radius:24px;overflow:hidden;isolation:isolate;border:0;padding:0;cursor:pointer;text-align:left;font-family:inherit;color:#FFFFFF;background:#14172E;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.65);transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s}
.ind::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:box-shadow .35s;pointer-events:none}
.ind:hover{transform:translateY(-4px)}
.ind:hover img{transform:scale(1.07);filter:grayscale(0) brightness(.8)}
.ind.on::after{box-shadow:inset 0 0 0 3px #F29100}
.ind.on img{filter:grayscale(0) brightness(.85)}
.ind-check{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFFFFF;transition:background .3s, color .3s, transform .4s cubic-bezier(.2,.7,.2,1)}
.ind.on .ind-check{background:#F29100;color:#0E1022;transform:rotate(360deg)}
.ind .plus{transition:opacity .3s}
.ind .tick{position:absolute;opacity:0;transition:opacity .3s}
.ind.on .plus{opacity:0}
.ind.on .tick{opacity:1}
.fl-group{border-top:1px solid #DCDDE4;padding:18px 0}
.fl-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:#0E1022;font-family:inherit;font-size:15px;text-align:left;cursor:pointer;transition:background .25s}
.fl-opt:hover{background:#FFFFFF}
.fl-box{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:6px;border:1.5px solid #9A9DB2;color:transparent;transition:background .25s, border-color .25s, color .25s}
.fl-opt.on .fl-box{background:#F29100;border-color:#F29100;color:#0E1022}
.fl-opt.on{font-weight:600}
.fl-n{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:12px;color:#6B6E85;padding:2px 8px;border-radius:999px;background:#E6E7EC}
.fl-opt.on .fl-n{background:#0E1022;color:#FFFFFF}
.fl-opt.zero{opacity:.45}
.sw{position:relative;flex-shrink:0;width:38px;height:22px;border-radius:999px;background:#C9CBD6;transition:background .3s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:#FFFFFF;transition:translate .35s cubic-bezier(.2,.7,.2,1)}
.fl-opt.on .sw{background:#F29100}
.fl-opt.on .sw::after{translate:16px 0}
.srch{display:flex;align-items:center;gap:10px;flex:1 1 320px;min-height:52px;padding:0 18px;border-radius:999px;background:#FFFFFF;border:1px solid #DCDDE4;transition:border-color .3s, box-shadow .3s}
.srch:focus-within{border-color:#F29100;box-shadow:0 0 0 4px rgba(242,145,0,.15)}
.srch input{flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;font-family:inherit;font-size:16px;color:#0E1022}
.srch input::placeholder{color:#6B6E85}
.sel{min-height:52px;padding:0 44px 0 18px;border-radius:999px;border:1px solid #DCDDE4;background:#FFFFFF;font-family:inherit;font-size:15px;color:#0E1022;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0E1022 50%),linear-gradient(135deg,#0E1022 50%,transparent 50%);background-position:calc(100% - 22px) 23px, calc(100% - 17px) 23px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.vt{display:flex;padding:4px;border-radius:999px;background:#FFFFFF;border:1px solid #DCDDE4}
.vt button{display:flex;align-items:center;justify-content:center;width:44px;height:42px;border:0;border-radius:999px;background:transparent;color:#6B6E85;cursor:pointer;transition:background .3s, color .3s}
.vt button.on{background:#0E1022;color:#FFFFFF}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 8px 0 14px;border-radius:999px;border:0;background:#0E1022;color:#FFFFFF;font-family:inherit;font-size:13px;cursor:pointer;transition:background .3s}
.chip:hover{background:#F29100;color:#0E1022}
.chip .x{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.15)}
.clear{border:0;background:transparent;font-family:inherit;font-size:13px;color:#A35F00;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:36px;padding:0 6px}
@keyframes cardA{from{opacity:0;translate:0 26px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@keyframes cardB{from{opacity:0;translate:0 26px;scale:.98}to{opacity:1;translate:0 0;scale:1}}
.gA .pc{animation:cardA .6s cubic-bezier(.2,.7,.2,1) both}
.gB .pc{animation:cardB .6s cubic-bezier(.2,.7,.2,1) both}
.pc:nth-child(3n+2){animation-delay:.05s !important}
.pc:nth-child(3n+3){animation-delay:.1s !important}
.pc{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#FFFFFF;color:#0E1022;box-shadow:0 1px 0 rgba(14,16,34,.06);transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s}
.pc:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(14,16,34,.14);color:#0E1022}
.pc-img{position:relative;aspect-ratio:3 / 2;overflow:hidden;background:#EEEEF1}
.pc-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pc:hover .pc-img img{transform:scale(1.07)}
.pc-go{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0E1022;color:#FFFFFF;transition:background .3s, color .3s, rotate .35s}
.pc:hover .pc-go{background:#F29100;color:#0E1022;rotate:-45deg}
.pc-ind{position:absolute;left:14px;top:14px;display:flex;gap:6px;flex-wrap:wrap}
.pc-ind span{display:inline-flex;align-items:center;min-height:26px;font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:0 12px;border-radius:999px;background:#0E1022;color:#FFFFFF;box-shadow:0 4px 12px rgba(14,16,34,.18)}
.pc-body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px}
.pc-ref{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:#6B6E85}
.pc-title{margin:0;font-size:21px;font-weight:400;letter-spacing:-.015em;line-height:1.18}
.pc-tags{display:flex;flex-wrap:wrap;gap:6px}
.pc-tags span{font-size:12px;padding:5px 10px;border-radius:999px;background:#F2F2F4;color:#3C3F55}
.pc-tags span.hl{background:rgba(242,145,0,.16);color:#7A4500}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}
.tb .srch{flex:1 1 300px;max-width:520px}
.tb-sp{flex:1 1 0;min-width:0}
.fbtn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;border:1px solid #DCDDE4;background:#FFFFFF;color:#0E1022;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.fbtn:hover{border-color:#0E1022}
.fbtn.on{background:#0E1022;color:#FFFFFF;border-color:#0E1022}
.fb-n{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:#F29100;color:#0E1022;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500}
.fbtn .chev{transition:rotate .4s cubic-bezier(.2,.7,.2,1)}
.fbtn.on .chev{rotate:180deg}
.fp{display:grid;grid-template-rows:0fr;margin-bottom:12px;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1),margin-bottom .55s cubic-bezier(.2,.7,.2,1)}
.fp.open{grid-template-rows:1fr;margin-bottom:40px}
.fp-in{min-height:0;overflow:hidden}
.fp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr) minmax(0,1.1fr);gap:32px;padding:28px;border-radius:28px;background:#FFFFFF;border:1px solid #DCDDE4;opacity:0;translate:0 -14px;transition:opacity .4s,translate .55s cubic-bezier(.2,.7,.2,1)}
.fp.open .fp-grid{opacity:1;translate:0 0}
.fp .fl-group{border-top:0;padding:0}
.fp .fl-group > div:first-child{margin:0 0 12px !important}
.fl-list{display:flex;flex-wrap:wrap;gap:8px}
.fp .fl-opt{width:auto;min-height:40px;gap:8px;padding:6px 8px 6px 12px;border:1px solid #DCDDE4;border-radius:999px;background:#F7F7F9;font-size:14px;transition:background .25s,border-color .25s,color .25s}
.fp .fl-opt:hover{background:#FFFFFF;border-color:#0E1022}
.fp .fl-opt.on{background:#0E1022;border-color:#0E1022;color:#FFFFFF;font-weight:500}
.fp .fl-opt.on .fl-n{background:#F29100;color:#0E1022}
.fp .fl-n{margin-left:2px}
.fp .fl-box{width:16px;height:16px;border-radius:5px}
.fp .fl-opt.on .fl-box{border-color:#F29100}
.fp-cta{align-self:stretch;padding:22px;border-radius:20px;background:#0E1022;color:#FFFFFF}
.cat .grid3{gap:24px}
.cat .pc-img{aspect-ratio:10 / 9}
.cat .pc-title{font-size:23px}
.cat .lst .pc-img{flex:0 0 380px;aspect-ratio:auto;min-height:240px}
.cat .pc{border:1px solid #E6E7EC;box-shadow:0 1px 2px rgba(14,16,34,.04)}
.cat .pc:hover{border-color:rgba(242,145,0,.45);box-shadow:0 28px 56px rgba(14,16,34,.14)}
.cat .pc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,16,34,0) 55%,rgba(14,16,34,.28) 100%);opacity:0;transition:opacity .5s;pointer-events:none}
.cat .pc:hover .pc-img::after{opacity:1}
.cat .pc-go{width:48px;height:48px;scale:.9;transition:background .3s,color .3s,rotate .35s,scale .45s cubic-bezier(.2,.7,.2,1)}
.cat .pc:hover .pc-go{scale:1}
.cat .pc-body{position:relative;gap:10px;padding:22px 24px 24px}
.cat .pc-body::before{content:"";position:absolute;left:24px;top:0;width:32px;height:2px;background:#F29100;transition:width .55s cubic-bezier(.2,.7,.2,1)}
.cat .pc:hover .pc-body::before{width:calc(100% - 48px)}
.cat .pc-ref{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;color:#A35F00}
.cat .pc-ref::before{content:"";width:6px;height:6px;border-radius:999px;background:#F29100;flex-shrink:0}
.cat .pc-title{transition:color .3s}
.cat .pc:hover .pc-title{color:#0E1022}
@media (max-width: 1100px){.fp-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width: 640px){.fp-grid{grid-template-columns:repeat(1,minmax(0,1fr)) !important;padding:20px !important}.tb .srch{max-width:none}.tb-sp{display:none}}
.lst{display:flex;flex-direction:column;gap:16px}
.lst .pc{flex-direction:row;align-items:stretch}
.lst .pc-img{flex:0 0 280px;aspect-ratio:auto;min-height:170px}
.lst .pc-body{flex:1 1 auto;justify-content:center}
.more{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 10px 0 28px;border-radius:999px;border:1px solid #0E1022;background:transparent;color:#0E1022;font-family:inherit;font-size:15px;cursor:pointer;transition:background .3s, color .3s}
.more:hover{background:#0E1022;color:#FFFFFF}
.more .go{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#F29100;color:#0E1022}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .rv{animation:rvUp linear both}
    .rv-mask{animation:rvMask linear both}
    .rv-zoom{animation:rvZoom linear both}
    .rv-blur{animation:rvBlur linear both}
    .rv,.rv-mask,.rv-zoom,.rv-blur{animation-timeline:view();animation-range:entry 0% entry 75%}
    .d1{animation-range:entry 10% entry 85%}
    .d2{animation-range:entry 20% entry 95%}
    .d3{animation-range:entry 30% entry 100%}
    .rv-end{animation-range:entry 0% entry 50%}
  }
}
@media (prefers-reduced-motion: reduce){.blob,.ping,.blink{animation:none !important}}
@media (max-width: 960px){.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width: 560px){.g4{grid-template-columns:repeat(1,minmax(0,1fr)) !important}}
@media (prefers-reduced-motion: reduce){.in,.shimmer,.pulse,.spin,.gA .pc,.gB .pc{animation:none !important}}
@media (max-width: 1100px){.cat{grid-template-columns:repeat(1,minmax(0,1fr)) !important}.side{position:static !important}}
@media (max-width: 960px){
  .nav-links{display:none !important}
  .pad{padding-left:24px !important;padding-right:24px !important}
  .g3{grid-template-columns:repeat(1,minmax(0,1fr)) !important}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hero-split{grid-template-columns:repeat(1,minmax(0,1fr)) !important}
  .lst .pc{flex-direction:column}
  .lst .pc-img{flex:none;aspect-ratio:3 / 2}
}
@media (max-width: 600px){
  .grid3{grid-template-columns:repeat(1,minmax(0,1fr)) !important}
  .nav-cta{display:none !important}
}

/* ==========================================================================
   ADATTAMENTI PER WORDPRESS ED ELEMENTOR
   ========================================================================== */
body.at-site{margin:0;background:#0E1022;color:#EDEEF5}
.at-root{background:#0E1022;color:#EDEEF5;font-family:'Archivo',sans-serif;min-height:100vh;overflow-x:clip}
body.at-site :is(h1,h2,h3,h4,h5,h6,p,button,input,select,textarea){font-family:'Archivo',sans-serif}

/* transizione d'ingresso: solo alla prima pagina della visita, mai nell'editor */
html:not(.at-intro-on) .intro,.at-editor .intro{display:none !important}

/* menu a schermo intero */
.at-fm[hidden]{display:none !important}
.fm-nav{grid-column:span 7;display:flex;flex-direction:column}
.fm-panels{grid-column:span 5;position:relative}
.lb{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
body.at-fm-open{overflow:hidden}

/* widget Asterisco dentro Elementor: nessun margine, padding o spazio aggiunto */
.elementor-widget[data-widget_type^="at-"]{width:100%;margin:0 !important;--kit-widget-spacing:0px}
.elementor-widget[data-widget_type^="at-"] > .elementor-widget-container{margin:0;padding:0}
.e-con:has(> .elementor-widget[data-widget_type^="at-"]),
.e-con:has(> .e-con-inner > .elementor-widget[data-widget_type^="at-"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--content-width:100%;padding:0 !important;gap:0 !important;max-width:none !important}
.e-con:has(> .e-con-inner > .elementor-widget[data-widget_type^="at-"]) > .e-con-inner{max-width:none !important;padding:0 !important;gap:0 !important}
.elementor-section:has(.elementor-widget[data-widget_type^="at-"]) .elementor-column-gap-default > .elementor-column > .elementor-element-populated{padding:0}
.at-main{display:block}
/* Elementor imposta "height:auto" su tutte le immagini: qui le foto devono riempire il loro riquadro */
.at-root :is(.co-photo,.co-link,.nwc-img,.fm-tile,.fm-feature,.ind,.pc-img,.sect) img,.at-root img.sol-img,.at-root .hx-vid video{height:100%;max-width:none}

/* pagine e articoli scritti senza Elementor */
.at-prose{max-width:760px;margin-top:56px;font-size:18px;line-height:1.75;font-weight:300;color:#C9CCE0}
.at-prose h2,.at-prose h3,.at-prose h4{color:#FFFFFF;font-weight:300;letter-spacing:-.02em;line-height:1.15;margin:1.8em 0 .6em}
.at-prose h2{font-size:clamp(30px,3vw,44px)}.at-prose h3{font-size:28px}
.at-prose p{margin:0 0 1.2em}
.at-prose a{color:#F29100;text-decoration:underline;text-underline-offset:3px}
.at-prose ul,.at-prose ol{padding-left:1.2em;margin:0 0 1.2em}
.at-prose img{max-width:100%;height:auto;border-radius:18px}
.at-prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:2px solid #F29100;color:#FFFFFF;font-size:22px}
.at-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.at-post-grid .nwc{min-height:420px}
.at-pager{margin-top:48px;font-family:'JetBrains Mono',monospace}
.at-pager .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.at-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#FFFFFF}
.at-pager .page-numbers.current{background:#F29100;border-color:#F29100;color:#0E1022}
.co-tag{display:inline-flex}
@media (max-width: 960px){
  .at-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-nav,.fm-panels{grid-column:1 / -1}
}
@media (max-width: 560px){
  .at-post-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
}

/* header su telefono: tutto deve stare nello schermo */
.lang-grp .lb{flex:0 0 auto;width:auto}
@media (max-width: 560px){header.pad{gap:10px !important;padding-left:16px !important;padding-right:16px !important}header.pad > a img{height:32px !important}.lang-grp .lb{min-width:36px;height:36px;padding:0 6px}}
