/* Niente scroll-snap CSS: l'aggancio alle schermate lo fa magnet() in site.js, compatibile con la rotellina morbida. */
html:has(body.slides){scroll-snap-type:none}
html.is-wheel-scrolling{scroll-behavior:auto!important}
.doing--live{height:calc(var(--n) * 26svh + 100svh)}
.doing--live .doing__list{transition:transform .48s cubic-bezier(.22,.68,.25,1)}
/* Eccezione esplicita richiesta: solo la sequenza guidata dallo scroll resta animata. */
:root[data-motion="reduce"] .doing--live .doing__list{transition-duration:.48s!important}
@media(prefers-reduced-motion:reduce){.doing--live .doing__list{transition-duration:.48s!important}}
.doing--live .doing__item:not(.is-on) a{pointer-events:none}
.doing--live .doing__sticky{min-height:40rem;top:min(0px,calc(100svh - 40rem))}
@media(max-width:699px){
  .doing--live .doing__sticky{min-height:36rem;top:min(0px,calc(100svh - 36rem))}
  .doing--live .doing__intro .title{font-size:1.5rem}
  .doing--live .doing__list{margin-top:1.5rem}
  .doing--live .doing__item > p:not(.doing__word){font-size:var(--fs-small);line-height:1.6}
  .doing--live .doing__bar{margin-top:1.5rem}
}

/* Scene dei prodotti: si conserva l'inquadratura intera, senza maschere o ritagli. */
.prod__media.prod__media--scene{padding:0;aspect-ratio:3/2;background:var(--bg-alt)}
.prod__media.prod__media--scene::after{display:none}
.prod__media.prod__media--scene img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;border-radius:0;transform:none}
.prod--media:hover .prod__media--scene img{transform:none}
.prod-visual.prod__media--scene{border-radius:0;height:auto;aspect-ratio:3/2}
.iv-welcome__stage.iv-welcome__stage--scene{padding:0;aspect-ratio:3/2}
.iv-welcome__stage--scene > img{height:100%;width:100%;object-fit:contain;object-position:center}
.iv-welcome__stage--scene .iv-welcome__ring{display:none}
.post__img.post__img--scene{aspect-ratio:3/2;background:var(--bg-alt)}
.post__img.post__img--scene img,.post:hover .post__img--scene img{object-fit:contain;padding:0;transform:none}
@media(min-width:1080px){
  .slides .rail .prod--media .prod__media--scene,.slides .rail .prod--media:nth-child(-n+2) .prod__media--scene{height:auto;aspect-ratio:3/2}
  .scene__stage{transform:none;transform-style:flat}
  .scene .sc{translate:none;transform-style:flat}
  .sc__visual.sc__visual--render{display:grid;place-items:center;overflow:visible;background:none}
  .sc .sc__visual--render img{position:relative;inset:auto;width:100%;height:100%;max-height:11rem;object-fit:contain;filter:none;translate:none;transform:none}
}
@media(min-width:1080px) and (max-width:1199px){.sc__visual.sc__visual--render{display:none}}
.sc--custom{--accent-ui:var(--intertech-accent);--accent-fill:var(--intertech-orange)}
.sc--custom .sc__body small,.sc--custom .link-arrow{color:var(--intertech-accent)}

/* =====================================================================
   CHATBOT ANTEX — mobile: tasto centrale della bottom nav; ovunque: inviti data-open-bot.
   Su WordPress il widget (aspetto e posizione) lo imposta il plugin: niente tasto flottante qui.
   Il pannello vive nel mondo ANTEX (.antex-world) e segue il tema. Contrasti:
     tasto #4f46e5 con testo bianco 6.29 (AA) · messaggi su --card: vedi token .antex-world
   ===================================================================== */
.bottomnav button.bn-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--bottom-h);
  padding:0;border:0;background:none;font:inherit;font-size:.75rem;font-weight:600;color:var(--text);cursor:pointer}
.bottomnav .bn-main i{background:#4f46e5;color:#fff;box-shadow:0 0 0 5px var(--bg),0 8px 24px rgba(99,102,241,.45)}

.bottomnav .bn-main:focus-visible,.aw__try:focus-visible{outline:3px solid #a5a8f0;outline-offset:3px}


/* =====================================================================
   AI EXPERIENCE — card delle soluzioni, tag degli ambiti, screenshot Render, totem con avatar
   Vive dentro .antex-world: colori dai token del mondo ANTEX (contrasti annotati lì).
   ===================================================================== */
.xp-cards{display:grid;gap:1rem;list-style:none;margin:0;padding:0}
@media (min-width:900px){.xp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}
.xp-cards a{position:relative;display:grid;align-content:start;gap:.85rem;height:100%;padding:1.5rem;border:1px solid var(--line);border-radius:18px;
  background:var(--card);color:var(--text);text-decoration:none;transition:border-color .25s,transform .25s}
.xp-cards a:hover{border-color:var(--accent);transform:translateY(-3px)}
.xp-cards img{height:30px;width:auto}
.xp-cards b{font-family:var(--ff-display);font-size:1.6rem;font-weight:600;line-height:1.1;letter-spacing:-.01em}
.xp-cards p{margin:0;color:var(--muted)}
.xp-cards .link-arrow{color:var(--accent)}
.xp-cards__state{justify-self:start;padding:.2rem .6rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.72rem;font-weight:700;
  letter-spacing:var(--track);text-transform:uppercase;color:var(--accent)}
.xp-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.5rem 0;padding:0}
.xp-tags li{padding:.35rem .8rem;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.875rem;font-weight:600}
.xp-shot{margin:0;min-width:0}
.xp-shot img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line-strong);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.xp-shot figcaption{padding-top:1rem;color:var(--muted);font-size:var(--fs-small)}

/* totem AppReception (forma dalla postazione premium) con l'avatar al posto della schermata di accesso */
.xp-totem{margin:0 auto;display:grid;justify-items:center;width:min(15rem,70%)}
.xp-totem__body{position:relative;width:100%;padding:12% 7% 0;border-radius:18px 18px 6px 6px;background:linear-gradient(180deg,#f4f4f2,#dcdcd8);
  box-shadow:0 30px 70px rgba(0,0,0,.4),inset 0 -2px 0 rgba(0,0,0,.08)}
.xp-totem__cam{position:absolute;top:4.5%;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#2a2a2a;box-shadow:0 0 0 3px #c9c9c5}
.xp-totem__screen{position:relative;overflow:hidden;display:grid;justify-items:center;align-content:start;gap:.6rem;aspect-ratio:9/14;padding:.6rem .7rem 1rem;border-radius:8px;
  background:radial-gradient(80% 60% at 50% 30%,rgba(99,102,241,.45),transparent 70%),#100a2a;color:#fff;font-family:var(--ff-text)}
.xp-totem__bar{display:flex;justify-content:space-between;width:100%;font-size:.6rem;color:#c9c6ef}
.xp-totem__bar i{font-style:normal}
.xp-totem__face{width:58%;margin-top:.4rem;filter:drop-shadow(0 0 18px rgba(99,102,241,.6))}
.xp-totem__wave{display:flex;gap:3px;align-items:center;height:14px}
.xp-totem__wave i{width:3px;height:40%;border-radius:2px;background:#a5a8f0}
.xp-totem__wave i:nth-child(2),.xp-totem__wave i:nth-child(4){height:75%}.xp-totem__wave i:nth-child(3){height:100%}
@media (prefers-reduced-motion:no-preference){html:not([data-motion="reduce"]) .xp-totem__wave i{animation:xpwave 1.1s ease-in-out infinite alternate}
  html:not([data-motion="reduce"]) .xp-totem__wave i:nth-child(2n){animation-delay:.3s}html:not([data-motion="reduce"]) .xp-totem__wave i:nth-child(3){animation-delay:.6s}}
@keyframes xpwave{to{transform:scaleY(.35)}}
.xp-totem__say{margin:0;padding:.5rem .7rem;border-radius:12px 12px 12px 4px;background:rgba(255,255,255,.1);border:1px solid rgba(165,168,240,.35);
  font-size:.78rem;line-height:1.35;text-align:center}
.xp-totem__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}
.xp-totem__chips i{font-style:normal;font-size:.62rem;font-weight:700;padding:.25rem .5rem;border-radius:999px;background:#4f46e5}
.xp-totem__qr{display:block;width:30%;height:16px;margin:10% auto 0;border-radius:4px;background:#2a2a2a;box-shadow:inset 0 0 0 3px #3b3b3b,0 0 10px rgba(99,102,241,.6)}
.xp-totem__badge{display:block;width:40%;height:6px;margin:12% auto 10%;border-radius:3px;background:#2a2a2a}
.xp-totem__foot{display:block;width:60%;height:5.5rem;background:linear-gradient(90deg,#d6d6d2,#ececea 50%,#d0d0cc);border-radius:0 0 4px 4px}
:root[data-theme="light"] .xp-totem__body{box-shadow:0 30px 70px rgba(16,10,42,.18),inset 0 0 0 1px rgba(0,0,0,.06)}
:root[data-theme="light"] .xp-shot img{box-shadow:0 30px 80px rgba(16,10,42,.14)}

/* home: le altre soluzioni AI accanto ad ANTEX */
.aw__more{display:grid;gap:.6rem;list-style:none;margin:1.5rem 0 0;padding:0}
@media (min-width:600px){.aw__more{grid-template-columns:1fr 1fr}}
.aw__more a{display:grid;gap:.15rem;height:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--text);transition:border-color .25s}
.aw__more a:hover{border-color:var(--accent)}
.aw__more b{font-family:var(--ff-display);font-weight:600}
.aw__more span{font-size:.875rem;color:var(--muted)}

/* ---------- revisione 11 ---------- */

/* home, fascia AI Experience: i bottoni staccati dalle schede Render / Reception */
.aw__more + .hero__cta{margin-top:clamp(1.75rem,4vh,2.5rem)}

/* prima/dopo DigiBite Render: cursore verticale trascinabile (input range accessibile sopra le immagini) */
.ba-wrap{margin:0;min-width:0}
.ba-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}
.ba-tabs button{padding:.5rem .95rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--text);font:600 .875rem/1.2 var(--ff-text);cursor:pointer}
.ba-tabs button[aria-pressed="true"]{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}
.ba{--pos:50%;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line-strong);aspect-ratio:3/2;background:var(--card);
  box-shadow:0 30px 80px rgba(0,0,0,.35);touch-action:pan-y;user-select:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.4);pointer-events:none}
.ba__knob{position:absolute;top:50%;left:var(--pos);display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;
  background:#4f46e5;color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.85),0 10px 26px rgba(0,0,0,.4);pointer-events:none}
.ba__knob svg{width:24px;height:24px}
.ba__tag{position:absolute;top:1rem;padding:.3rem .65rem;border-radius:8px;background:rgba(16,10,42,.72);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;pointer-events:none}
.ba__tag--a{left:1rem}.ba__tag--b{right:1rem}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba:has(input:focus-visible){outline:3px solid #a5a8f0;outline-offset:3px}
.ba-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1rem;color:var(--muted);font-size:var(--fs-small)}
:root[data-theme="light"] .ba{box-shadow:0 30px 80px rgba(16,10,42,.14)}

/* lavora con noi: annunci come schede, una pagina per posizione */
.jobs-grid{display:grid;gap:1rem;list-style:none;margin:0;padding:0}
@media (min-width:900px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}
.job-card{display:grid;align-content:start;gap:.9rem;height:100%;padding:1.5rem;border:1px solid var(--line);background:var(--card);color:var(--text);text-decoration:none;transition:border-color .25s,transform .25s}
.job-card:hover{border-color:var(--accent-ui);transform:translateY(-3px)}
.job-card__area{font-size:.75rem;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--accent)}
.job-card h3{margin:0;font-family:var(--ff-display);font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.15}
.job-card p{margin:0;color:var(--muted)}
.job-card .link-arrow{margin-top:.25rem}
.job-facts{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.job-facts li{padding:.25rem .6rem;border:1px solid var(--line-strong);font-size:.8125rem;font-weight:600}
.job{display:grid;gap:clamp(2.5rem,6vw,4rem)}
@media (min-width:1000px){.job{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.job .form{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.job__block + .job__block{margin-top:2.25rem}
.job__block h2{margin:0 0 1rem;font-family:var(--ff-display);font-size:var(--fs-h3)}
.job__block ul{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}
.job__block li{position:relative;padding-left:1.4rem;line-height:1.55}
.job__block li::before{content:"";position:absolute;left:0;top:.62em;width:.55rem;height:2px;background:var(--accent-ui)}
.upload{position:relative;display:grid;gap:.3rem;justify-items:start;padding:1.1rem 1.1rem 1.1rem 3.6rem;border:1px dashed var(--line-strong);cursor:pointer}
.upload svg{position:absolute;left:1.1rem;top:1.1rem;width:26px;height:26px;color:var(--accent)}
.upload b{font-weight:700}
.upload small{color:var(--muted)}
.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.upload:has(input:focus-visible){outline:3px solid var(--accent-fill);outline-offset:3px}
.upload.is-filled{border-style:solid;border-color:var(--accent-ui)}
.ba[data-fit="portrait"]{aspect-ratio:4/5;max-height:80svh;margin-inline:auto}.ba[data-fit="portrait"] img{object-position:50% 35%}

/* =====================================================================
   REVISIONE 13 (2026-10-27)
   Arancione Intertech ufficiale #f05a1f (indicato dal cliente). Contrasti WCAG calcolati:
     #f05a1f su bg #121411 5,46 · su ink #1d1d1b 4,97 · su card #22231f 4,66 · su nero 6,19 (AA testo)
     ink #1d1d1b su #f05a1f 4,97 (AA testo) · #f05a1f su bianco 3,39, su mist 3,14 (solo grafica/UI, mai testo)
     sul chiaro l'arancione-testo è #c0410f: 5,24 su bianco, 4,85 su mist (AA testo)
   ===================================================================== */
:root{--intertech-orange:#f05a1f;--intertech-accent:#f05a1f}
:root[data-theme="light"]{--intertech-accent:#c0410f}
/* mondo Intertech: nella pagina Digital Experience e nella sua fascia in home l'arancione prende il posto del verde */
.intertech-world{--accent:#f05a1f;--accent-ui:#f05a1f;--accent-fill:#f05a1f;--on-accent:#1d1d1b;--glow:rgba(240,90,31,.20)}
:root[data-theme="light"] .intertech-world{--accent:#c0410f;--accent-ui:#f05a1f;--accent-fill:#f05a1f;--on-accent:#1d1d1b;--glow:rgba(240,90,31,.22)}
:root[data-theme="contrast"] .intertech-world{--accent:#f05a1f;--accent-ui:#f05a1f;--accent-fill:#f05a1f;--on-accent:#000}

/* menu: l'AI Experience raccoglie ANTEX e gli altri strumenti (disclosure: link + bottone) */
.navgroup{position:relative;display:flex;align-items:center}
.navgroup__btn{display:grid;place-items:center;width:28px;height:40px;margin-left:-.45rem;padding:0;border:0;background:none;color:var(--text);cursor:pointer;opacity:.86}
.navgroup__btn svg{width:16px;height:16px;transition:transform .2s}
.navgroup__btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.navgroup__btn:hover{opacity:1}
.navgroup__menu{position:absolute;top:100%;left:0;z-index:5;display:none;min-width:14.5rem;margin:0;padding:.85rem 0 0;list-style:none}
.navgroup__menu::before{content:"";position:absolute;inset:.85rem 0 0;z-index:-1;border:1px solid var(--line-strong);border-radius:14px;background:var(--card);box-shadow:0 18px 40px var(--shade)}
.navgroup:hover .navgroup__menu,.navgroup.is-open .navgroup__menu{display:grid;padding-block-end:.4rem}
.navgroup__menu li:first-child{padding-top:.4rem}
.mainnav .navgroup__menu a{display:block;padding:.55rem 1.1rem;font-size:.98rem;opacity:1}
.mainnav .navgroup__menu a:hover{color:var(--accent)}
.mainnav .navgroup__menu a[aria-current="page"]{color:var(--accent)}
.mainnav .navgroup__menu a[aria-current="page"]::after{display:none}
#sub-ai li:first-child a{font-weight:700}
:root[data-theme="contrast"] .navgroup__menu::before{background:#000;border-color:#fff}
.drawer__group{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.drawer nav .drawer__group>a{flex:1;border-bottom:0}
.drawer__toggle{flex:none;display:grid;place-items:center;width:48px;height:48px;margin-right:-.5rem;padding:0;border:0;background:none;color:var(--text);cursor:pointer}
.drawer__toggle svg{width:20px;height:20px;transition:transform .2s}
.drawer__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.drawer__sub[hidden]{display:none}
.drawer__sub{display:grid;margin:0;padding:.25rem 0 .5rem 1rem;list-style:none;border-bottom:1px solid var(--line)}
.drawer nav .drawer__sub a{padding:.45rem 0;border:0;font-family:var(--ff-text);font-size:1rem;font-weight:600;color:var(--muted)}
.drawer nav .drawer__sub a[aria-current="page"]{color:var(--accent)}

/* WhatsApp sul numero dell'ufficio: tasto tondo fisso (stile di appe20.it) + link nei contatti.
   Fondo #1F9D55 con glifo bianco 3,49:1 (WCAG 1.4.11, grafico); il tasto sul fondo scuro #121411 5,30:1,
   sul chiaro 3,49:1. Il chatbot ANTEX (plugin) si mette subito sopra. */
.wa-fab{position:fixed;z-index:155;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#1F9D55;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.25);transition:transform .2s}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{transform:scale(1.06);background:#178446}
.wa-fab:focus-visible{outline:3px solid var(--accent-ui);outline-offset:3px}
@media (max-width:1079px){
  .wa-fab{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom,0px) + 12px);
    width:48px;height:48px;transition:transform .25s,opacity .25s}
  .wa-fab svg{width:27px;height:27px}
  html.is-reading .wa-fab{opacity:0;transform:translateY(14px);pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.wa-fab{transition:none}}
:root[data-theme="contrast"] .wa-fab{background:#000;border:2px solid #fff}

/* Widget di terze parti, come su appe20.it. Desktop: a destra WhatsApp (56px a 20/20) e sopra il chatbot
   ANTEX; a sinistra Preferenze cookie (CookieYes, 48px a 24/24) e sopra Accessibilità (accessiYes, 48px a
   24/84: posizione nelle impostazioni di accessiYes, il suo pulsante sta in uno shadow DOM). Dove c'è la
   barra mobile (sotto i 1080) i due pulsanti di servizio si nascondono e i comandi stanno nel menu e nel
   piede (.site-tools); quello di accessiYes ricompare solo mentre il suo pannello è aperto.
   Fondo verde-testo #5f721c (lo stesso colore principale impostato in accessiYes): icona bianca 5,37:1,
   sul fondo scuro #121411 3,45:1 (WCAG 1.4.11); hover #4d5c17, icona 7,35:1. */
.cky-btn-revisit-wrapper{left:24px!important;bottom:24px!important;width:48px!important;height:48px!important;
  background-color:#5f721c!important;border:3px solid #fff;box-shadow:0 5px 15px rgba(0,0,0,.2)}
.cky-btn-revisit-wrapper:hover{background-color:#4d5c17!important}
.cky-btn-revisit-wrapper .cky-btn-revisit img{width:26px;height:26px}
@media (max-width:1079px){
  .cky-btn-revisit-wrapper{display:none!important}
  html:not(.a11y-open) #cya11y-container{display:none!important}
}
.site-tools{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.site-tools__btn{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0;background:none;border:0;color:inherit;
  font:600 var(--fs-small)/1.2 var(--ff-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.site-tools__btn[hidden]{display:none}
.site-tools__btn svg{width:18px;height:18px;flex:none;color:var(--accent)}
.site-tools:not(:has(.site-tools__btn:not([hidden]))){display:none}
.drawer__foot .site-tools__btn{color:var(--text);text-decoration:none;font-size:1rem}
.wa-link{display:inline-flex;align-items:center;gap:.5rem}
.wa-link svg{width:18px;height:18px;flex:none}
@media print{.wa-fab,.reel,.site-tools,.cky-btn-revisit-wrapper,#cya11y-container{display:none!important}}

/* ecosistema: Welcome · AI · Digital. Le card si aprono a turno (JS); il mouse non le apre più,
   le ferma. Una card è sempre aperta, le altre restano «logo» con un glitch breve e raro. */
.eco .eco__card--welcome{--bite-offset:0px}
.eco .eco__card--antex{--bite-offset:calc(var(--r) * 2)}
.eco .eco__card--custom{--bite-offset:calc(var(--r) * 4)}
.eco__card--antex .bite__bumps i:nth-child(1),.eco__card--welcome .bite__bumps i:nth-child(2){visibility:visible}
.eco__card--welcome .bite__bumps i:nth-child(1),.eco__card--antex .bite__bumps i:nth-child(2){visibility:hidden}
.js .eco[data-eco] .bite:is(:hover,:focus-visible):not(.is-open) .bite__in{clip-path:circle(var(--r) at var(--bx) var(--r))}
.js .eco[data-eco] .bite:is(:hover,:focus-visible):not(.is-open) .bite__in > *{opacity:0;transition:opacity .2s}
.eco__ctl{align-self:end;justify-self:end}
.eco__glitch{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.eco__sep{align-self:stretch;width:1px;background:var(--line-strong)}
@keyframes eco-glitch{0%,86%,100%{translate:0;clip-path:inset(0);filter:none}
  88%{translate:-7px 0;clip-path:inset(18% 0 36%);filter:drop-shadow(6px 0 var(--accent-ui))}
  90%{translate:6px 0;clip-path:inset(55% 0 6%);filter:drop-shadow(-5px 0 var(--antex))}
  92%{translate:-2px 0;clip-path:inset(0)}}
html:not([data-motion="reduce"]) .eco__card:not(.is-open) .eco__glitch{animation:eco-glitch 3.8s steps(1,end) infinite}
html:not([data-motion="reduce"]) .eco__card--custom:not(.is-open) .eco__glitch{animation-delay:1.9s}
@media (prefers-reduced-motion:reduce){.eco__glitch{animation:none!important}}

/* DigiLab nel visual dell'hero Digital Experience: l'icona sul telefono */
.iv-web__mobile .iv-web__bar .iv-web__icon{width:clamp(14px,2vw,20px);height:auto;margin-left:auto}

/* home: video al posto del nastro di parole. Senza file resta il riquadro «Video in arrivo». */
.reel{position:relative;margin:0 0 clamp(2rem,5vw,3.5rem);aspect-ratio:16/9;max-height:62svh;width:100%;overflow:hidden;
  background:radial-gradient(60% 80% at 75% 30%,var(--glow),transparent),var(--bg-alt);border-block:1px solid var(--line)}
@media (min-width:900px){.reel{aspect-ratio:21/8}}
.slides .reel{max-height:34svh;margin-bottom:clamp(1.25rem,3vh,2.5rem)}
.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel__wait{position:absolute;inset:0;display:none;place-items:center;padding:0}
.reel__wait span{padding:.45rem .9rem;border:1px solid var(--line-strong);border-radius:999px;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
.reel.is-missing .reel__wait{display:grid}
.reel.is-missing .reel__ctl{display:none}
.reel__ctl{position:absolute;right:var(--pad-x);bottom:.85rem;background:var(--card)}

/* Intertech e DigiLab allo stesso livello */
.brands2{display:grid;gap:1px;margin-top:clamp(1.5rem,4vw,2.5rem);background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.brands2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.brand2{display:grid;align-content:start;gap:1rem;padding:clamp(1.5rem,4vw,2.25rem);background:var(--card);color:var(--text);text-decoration:none;transition:background .25s}
a.brand2:hover{background:color-mix(in srgb,var(--card) 88%,var(--accent-fill))}
.brand2 p{margin:0;color:var(--muted)}
.brand2 .link-arrow{color:var(--accent)}
.brand2__logo{height:34px;width:auto;justify-self:start}
.brands2 + .types{margin-top:1.5rem}
.slides .brands2 .brand2{padding-block:min(1.5rem,2.5svh)}

/* home · fascia AI: titolo senza loghi; nel contenuto ANTEX in primo piano, gli altri strumenti intorno */
.aw__star{position:relative;overflow:hidden;display:grid;gap:1rem;justify-items:start;margin-top:1.5rem;padding:1.4rem 1.5rem;border:1px solid var(--line-strong);border-radius:18px;background:var(--card)}
.aw__star::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--antex-grad)}
.antex-teaser .aw__star .aw__logo{margin:0;height:30px}
.aw__star .lead{margin:0;font-size:1.05rem}
.aw__flag,.xp-cards__flag{justify-self:start;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--line-strong);font-size:.72rem;font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--antex)}
.aw__more--grid{margin-top:1rem}
.aw__more--grid a{padding:.7rem .9rem}
.aw__all{margin-top:1.25rem}
.aw__all .link-arrow{color:var(--accent)}
/* home · AI Experience: i quattro strumenti in riquadri (al posto della chat dimostrativa).
   .aw__try: invito a provare l'assistente del sito, nella sezione Chatbot della pagina AI Experience */
.aw__side{display:grid;gap:1rem;min-width:0}
.aw__tiles{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}
@media (min-width:520px){.aw__tiles{grid-template-columns:1fr 1fr}}
@media (max-width:519px){
  /* telefono: righe compatte, icona a sinistra; il riquadro intero è il link */
  .aw__tiles a{grid-template-columns:2.25rem minmax(0,1fr);gap:.15rem .9rem;padding:.9rem 1rem}
  .aw__tiles svg{grid-row:1/span 2;margin:.15rem 0 0}
  .aw__tiles .link-arrow{display:none}
}
.aw__tiles a{display:grid;align-content:start;gap:.45rem;height:100%;padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:16px;
  background:var(--card);color:var(--text);text-decoration:none;transition:border-color .25s,transform .25s}
.aw__tiles a:hover{border-color:var(--accent);transform:translateY(-2px)}
.aw__tiles svg{width:26px;height:26px;color:var(--accent);margin-bottom:.35rem}
.aw__tiles b{font-family:var(--ff-display);font-size:1.12rem;font-weight:600}
.aw__tiles span{font-size:.92rem;line-height:1.5;color:var(--muted)}
.aw__tiles .link-arrow{margin-top:.35rem;font-style:normal}
.aw__tiles .link-arrow svg{width:1.1em;height:1.1em;margin:0;color:inherit}
.aw__try{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem 1rem;align-items:center;
  padding:1.15rem 1.2rem;border:1px dashed var(--line-strong);border-radius:16px}
.aw__try img{width:40px;height:40px;padding:7px;border-radius:50%;background:var(--accent-fill)}
.aw__try p{margin:0;font-size:.95rem;line-height:1.5;color:var(--muted)}
.aw__try b{color:var(--text)}
.aw__try .btn{grid-column:1/-1;justify-self:start}
.checks + .aw__try{margin-top:1.75rem}
@media (prefers-reduced-motion:reduce){.aw__tiles a{transition:none}.aw__tiles a:hover{transform:none}}

/* pagina AI · le soluzioni: ANTEX grande, quattro strumenti accanto */
@media (min-width:900px){
  .xp-cards--lead{grid-template-columns:repeat(4,minmax(0,1fr))}
  .xp-cards--lead .xp-cards__star{grid-column:span 2;grid-row:span 2}
}
.xp-cards__star a{gap:1.1rem;padding:clamp(1.5rem,3vw,2.25rem);border-color:var(--line-strong);overflow:hidden}
.xp-cards__star a::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--antex-grad)}
.xp-cards__star img{height:38px}
.xp-cards__star p{font-size:1.125rem;line-height:1.55;color:var(--text)}
.xp-cards--lead b{font-size:1.35rem}

/* esempi d'uso */
.xp-uses{display:grid;gap:1px;list-style:none;margin:0;padding:0;background:var(--line);border:1px solid var(--line)}
@media (min-width:700px){.xp-uses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.xp-uses{grid-template-columns:repeat(3,minmax(0,1fr))}}
.xp-uses li{display:grid;align-content:start;gap:.6rem;padding:clamp(1.25rem,3vw,1.75rem);background:var(--bg)}
.xp-uses span{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--track);text-transform:uppercase;color:var(--antex)}
.xp-uses h3{margin:0;font-family:var(--ff-display);font-size:var(--fs-h3)}
.xp-uses p{margin:0;color:var(--muted)}

/* totem virtuale per negozio e fast food: menu sullo schermo, lettore di pagamento al posto di badge e QR */
.xp-totem--shop .xp-totem__screen{aspect-ratio:9/15}
.xp-totem__menu{display:grid;gap:.3rem;width:100%}
.xp-totem__menu i{display:flex;align-items:center;gap:.45rem;padding:.3rem .4rem;border-radius:8px;background:rgba(255,255,255,.08);font-style:normal;font-size:.6rem;font-weight:700;color:#fff}
.xp-totem__menu b{width:18px;height:18px;flex:none;border-radius:5px;background:linear-gradient(135deg,#f59e0b,#ef4444)}
.xp-totem__menu i:nth-child(2) b{background:linear-gradient(135deg,#84cc16,#16a34a)}
.xp-totem__menu i:nth-child(3) b{background:linear-gradient(135deg,#fde68a,#f59e0b)}
.xp-totem__pay{display:block;width:34%;height:22px;margin:9% auto 12%;border-radius:5px;background:#2a2a2a;box-shadow:inset 0 0 0 3px #3b3b3b,0 0 10px rgba(99,102,241,.5)}
.eco__ctl[hidden]{display:none}
.xp-cards__star a{display:flex;flex-direction:column;align-items:flex-start}
.xp-cards__star .link-arrow{margin-top:auto}
.eco__duo{flex-wrap:nowrap;gap:clamp(.6rem,1.4vw,1.1rem)}
.eco__duo .eco__brandlogo{height:clamp(22px,2.3vw,30px);min-width:0}

/* showreel al posto di «Cosa facciamo» (2026-10-27): 16:9 su schermi orizzontali, 9:16 sul telefono in verticale */
.showreel{position:relative;padding:clamp(1rem,3vw,2rem) var(--pad-x);background:var(--bg)}
.reel--show{max-width:var(--container);margin:0 auto;aspect-ratio:16/9;max-height:calc(100svh - var(--header-h) - 2rem);
  border:1px solid var(--line);border-radius:20px;background:#121411}
.reel--show video{object-fit:contain}
.reel--show.reel--tall{aspect-ratio:9/16;width:min(100%,calc((100svh - var(--header-h) - var(--bottom-h) - 2rem) * 9 / 16));max-height:none}
.slides main > section.showreel{padding-top:calc(var(--header-h) + .5rem);padding-bottom:calc(var(--bottom-h) + 1rem)}
@media (min-width:1080px){.slides main > section.showreel{padding-bottom:1.5rem}}
.reel__ctls{position:absolute;right:.85rem;bottom:.85rem;display:flex;gap:.5rem}
.reel__ctls .icon-btn{background:rgba(18,20,17,.72);color:#fff;border-color:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.reel.is-missing .reel__ctls{display:none}
.reel__ctls .reel__ctl{position:static}
.slides .reel--show,.reel--show{margin:0 auto;max-height:calc(100svh - var(--header-h) - 2rem)}
@media (min-width:900px){.reel--show{aspect-ratio:16/9}}
.slides .reel--show.reel--tall,.reel--show.reel--tall{max-height:none}

/* Revisione 14 (2026-10-29) ----------------------------------------------------------------- */
/* Digital Experience: card arrotondate su fondo trasparente, come le tessere dell'AI Experience (niente «tabella») */
.brands2{gap:.75rem;background:none;border:0}
.brand2{border:1px solid var(--line);border-radius:16px;transition:background .25s,border-color .25s}
a.brand2:hover{border-color:var(--accent)}
.types:not(.iv-services){gap:.75rem;background:none;border:0}
.types:not(.iv-services) .type,.section--alt .types:not(.iv-services) .type{background:none;border:1px solid var(--line);border-radius:16px;
  padding:1.25rem 1.3rem;transition:border-color .25s,transform .25s}
.types:not(.iv-services) a.type:hover{border-color:var(--accent);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.types:not(.iv-services) a.type:hover{transform:none}}
/* «Scopri di più» delle piattaforme: link verde come gli altri (--accent: 5,37:1 su #fff, 9,44:1 sul fondo scuro) */
.prod .ext{color:var(--accent)}
/* Chi siamo: l'ecosistema a card arriva dalla home, con l'associazione sotto */
.eco__note{margin:clamp(1.5rem,4vw,2.5rem) 0 0;font-size:var(--fs-small);color:var(--muted)}
.eco__note b{font:inherit;color:var(--text)}
