/* AI for Business – restyling v3 "Alpino editoriale"
   Si carica dopo style.css e lo ridefinisce. Font: Newsreader + Instrument Sans (licenza OFL, locali).
   Decori: curve di livello e crinale alpino. Movimento: solo transform/opacity, spento con prefers-reduced-motion. */
@font-face{font-family:"Newsreader";font-weight:200 800;font-style:normal;font-display:swap;src:url(fonts/newsreader-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-weight:200 800;font-style:italic;font-display:swap;src:url(fonts/newsreader-latin-wght-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:400 700;font-style:normal;font-display:swap;src:url(fonts/instrument-sans-latin-wght-normal.woff2) format("woff2")}

:root{
  --navy:#194666; --navy-dark:#0A2133; --navy-ink:#0E2B40;
  --paper:#F5F2EB; --paper-2:#ECE8DD; --glacier:#DCE9EE;
  --tint:#E6EEF0; --soft:#F5F2EB; --line:#DAD5C7;
  --blue:#1F6FB5; --blue-hover:#17588F; --sky:#7CC8E8; --red:#D6202A;
  --text:#1D2B36; --muted:#55636F;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --radius:22px; --radius-sm:12px;
  --shadow:none; --shadow-lg:0 24px 60px rgba(10,33,51,.16);
}
html{background:var(--paper)}
body{font-family:var(--sans);font-size:17px;line-height:1.62;color:var(--text);background:var(--paper)}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.018em;line-height:1.08;color:var(--navy-ink)}
h1{font-size:clamp(2.6rem,5.4vw,4.7rem)}
h2{font-size:clamp(2.1rem,4.4vw,3.6rem)}
h3,h4{font-family:var(--sans);font-weight:600;letter-spacing:-.005em;color:var(--navy-ink)}
::selection{background:var(--navy);color:#fff}
.lead{font-size:1.22rem;line-height:1.55;color:var(--muted);max-width:660px}

/* ---- Eyebrow: segno rosso svizzero + testo ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:18px}
.eyebrow::before{content:"";width:14px;height:14px;flex:none;background:
  linear-gradient(var(--red),var(--red)) center/100% 34% no-repeat,
  linear-gradient(var(--red),var(--red)) center/34% 100% no-repeat}
.hero .eyebrow,.dark .eyebrow,.page-hero .eyebrow{color:#fff}

/* ---- Bottoni a pillola con freccia ---- */
.btn{border-radius:999px;font:600 15.5px/1 var(--sans);padding:15px 18px 15px 26px;gap:14px;border-width:1.5px;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn::after{content:"";width:28px;height:28px;border-radius:50%;flex:none;background:rgba(255,255,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--ease)}
.btn:active{transform:scale(.97)}
@media (hover:hover){.btn:hover::after{transform:translateX(4px)}}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-dark);color:#fff}
.btn-blue{background:var(--blue)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost::after{background-color:rgba(25,70,102,.1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23194666' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E")}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-ghost:hover::after{background-color:rgba(255,255,255,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E")}
.btn-light{background:#fff;color:var(--navy-ink)}
.btn-light::after{background-color:var(--navy);}
.btn-light:hover{background:var(--glacier);color:var(--navy-ink)}
.on-dark .btn-ghost,.hero .btn-ghost,.dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.on-dark .btn-ghost::after,.hero .btn-ghost::after,.dark .btn-ghost::after{background-color:rgba(255,255,255,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E")}
.hero .btn-ghost:hover,.dark .btn-ghost:hover{background:#fff;color:var(--navy-ink)}
.btn-sm{padding:10px 12px 10px 18px;font-size:14.5px;gap:10px}
.btn-sm::after{width:22px;height:22px;background-size:12px}

/* ---- Header: barra piena color carta ---- */
.site-header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}
.site-header.scrolled{border-color:var(--line);box-shadow:none}
.header-in{height:80px}
.nav a:not(.btn),.has-sub>button{background:none!important}
.nav a,.has-sub>button{font:500 15px/1 var(--sans);position:relative;border-radius:0;padding:10px 12px}
.nav a:not(.btn)::after,.has-sub>button::before{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1.5px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a[aria-current="page"]:not(.btn)::after,.nav a:not(.btn):hover::after{transform:scaleX(1)}
.nav a.btn-primary{padding:10px 12px 10px 18px;color:#fff}
.sub{border-radius:18px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-lg);padding:10px}
.sub a{border-radius:12px;padding:12px 14px}
.sub a::after{display:none}
.sub a:hover{background:var(--paper-2)!important}

/* ---- Sezioni ---- */
section{padding:120px 0}
.bg-soft{background:var(--paper-2)}
.bg-tint{background:var(--glacier)}
.section-head{margin-bottom:64px;max-width:820px}
.section-head h2{margin-bottom:.35em}

/* Decori */
.decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.decor::before{content:"";position:absolute;inset:-8% -6%;background:url(contours-light.svg) center/cover no-repeat;opacity:.16;animation:drift 60s var(--ease-io) infinite alternate;will-change:transform}
.decor.on-paper::before{background-image:url(contours-dark.svg);opacity:.1}
@keyframes drift{from{transform:translate3d(-1.5%,-1%,0) scale(1.02)}to{transform:translate3d(1.5%,1.2%,0) scale(1.07)}}
.ridge{display:block;width:100%;height:110px;color:var(--navy);overflow:visible}
.ridge path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease)}
.ridge.in path,.no-js .ridge path{stroke-dashoffset:0}
.ridge-wrap{position:relative;line-height:0;padding:0}
.ridge-wrap .cross{position:absolute;width:16px;height:16px;background:linear-gradient(var(--red),var(--red)) center/100% 34% no-repeat,linear-gradient(var(--red),var(--red)) center/34% 100% no-repeat;transform:translate(-50%,-150%);opacity:0;transition:opacity .6s 1.6s var(--ease)}
.ridge-wrap.in .cross{opacity:1}

/* ---- Hero scuro ---- */
.dark{background:var(--navy-dark);color:#DCE9F1;position:relative;overflow:hidden}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .lead,.dark p{color:#B9CEDD}
.hero{background:var(--navy-dark);color:#fff;padding:84px 0 150px;position:relative;overflow:hidden}
.hero::after{display:none}
.hero h1{color:#fff}
.hero .lead{color:#C5D8E6;font-size:1.25rem}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:40px;position:relative;z-index:2}
.chips li{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;padding:8px 14px}
.chips svg{color:var(--sky)}
.hero .ridge-bottom{position:absolute;left:0;right:0;bottom:-1px;z-index:1;color:rgba(255,255,255,.55)}
.hero-paper{position:absolute;left:0;right:0;bottom:0;height:70px;background:var(--paper);clip-path:polygon(0 100%,100% 100%,100% 0,0 100%);z-index:1}

/* Flusso animato (firma) */
.flow{position:relative;z-index:2}
.flow svg{width:100%;height:auto;display:block;overflow:visible}
.flow .dash{stroke:rgba(255,255,255,.4);stroke-width:1.5;fill:none;stroke-dasharray:3 7;animation:march 1.6s linear infinite}
@keyframes march{to{stroke-dashoffset:-20}}
.flow .doc rect{fill:var(--paper);}
.flow .doc text{font:600 13px var(--sans);fill:var(--navy-ink)}
.flow .doc .ln{stroke:#B9B4A4;stroke-width:2;stroke-linecap:round}
.flow .node-ring{fill:none;stroke:var(--sky);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ring 3s var(--ease) infinite}
@keyframes ring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.flow .node-core{fill:var(--paper)}
.flow .node-t{font:italic 500 30px var(--serif);fill:var(--navy-ink)}
.flow .panel-bg{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.28);stroke-width:1.2}
.flow .panel-title{font:600 12px var(--sans);fill:#B9CEDD;letter-spacing:.08em;text-transform:uppercase}
.flow .row-line{stroke:rgba(255,255,255,.14);stroke-width:1}
.flow .row-t{font:500 14px var(--sans);fill:#fff}
.flow .st-ok{font:600 12.5px var(--sans);fill:#8FE3C5}
.flow .st-wait{font:600 12.5px var(--sans);fill:#FFD98A}
.flow-cap{font-size:12.5px;color:#9FB9CC;text-align:right;margin:10px 4px 0;position:relative;z-index:2}

/* Marquee */
.marquee{overflow:hidden;background:var(--paper);padding:34px 0 36px;white-space:nowrap}
.marquee-in{display:inline-flex;gap:0;animation:slide 48s linear infinite;will-change:transform}
.marquee:hover .marquee-in{animation-play-state:paused}
.marquee span{font:italic 500 clamp(2rem,4vw,3.2rem)/1 var(--serif);color:var(--navy);padding:0 .5em;display:inline-flex;align-items:center;gap:1em}
.marquee span::after{content:"";width:12px;height:12px;background:linear-gradient(var(--red),var(--red)) center/100% 34% no-repeat,linear-gradient(var(--red),var(--red)) center/34% 100% no-repeat;flex:none}
@keyframes slide{to{transform:translate3d(-50%,0,0)}}

/* KPI: numeri grandi, senza scatole */
.kpi-band{margin-top:0;background:var(--paper);padding:20px 0 40px}
.kpis{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;gap:40px}
.kpis li{border:0;padding:28px 0 0;position:relative}
.kpis li::before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--line)}
.kpis li::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}
.anim .kpis.in li::after,.no-js .kpis li::after{transform:scaleX(1)}
.kpis b{font:500 clamp(2.4rem,4.4vw,3.8rem)/1 var(--serif);color:var(--navy-ink);margin-bottom:12px}
.kpis li>span{font-size:15px;color:var(--muted)}

/* ---- Il problema: righe tipografiche ---- */
.pain{display:block;border-top:1.5px solid var(--navy-ink)}
.pain .card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:34px 0;transition:padding .45s var(--ease),background .3s}
.pain .card .icon{display:none}
.pain .card h3{font:500 clamp(1.7rem,2.6vw,2.4rem)/1.1 var(--serif);margin:0}
.pain .card p{margin:0;font-size:1.05rem;color:var(--muted)}
@media (hover:hover){.pain .card:hover{padding-left:20px;background:var(--paper-2)}}

/* ---- Card ---- */
.card{background:#fff;border:0;border-radius:var(--radius);box-shadow:none;padding:34px;transition:transform .5s var(--ease),background .3s}
a.card:hover{border-color:transparent;box-shadow:none}
@media (hover:hover){a.card:hover{transform:translateY(-6px)}}
.card h3{font-size:1.3rem}
.icon{background:var(--glacier);border-radius:50%;width:56px;height:56px}
.icon svg{stroke-width:1.5}

/* ---- Servizi: bento ---- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.bento .card{min-height:260px;justify-content:flex-end;position:relative;overflow:hidden}
.bento .card .icon{position:absolute;top:30px;left:34px;margin:0}
.bento .b1{grid-column:span 7;grid-row:span 2;background:var(--navy-ink);color:#fff}
.bento .b1 h3{color:#fff;font:500 clamp(2rem,3.4vw,3rem)/1.05 var(--serif)}
.bento .b1 p{color:#B9CEDD;font-size:1.08rem;max-width:460px}
.bento .b1 .icon{background:rgba(255,255,255,.12);color:#fff}
.bento .b1::before{content:"";position:absolute;inset:0;background:url(contours-light.svg) center/cover;opacity:.13;transition:transform 1.4s var(--ease)}
@media (hover:hover){.bento .b1:hover::before{transform:scale(1.08)}}
.bento .b2{grid-column:span 5;background:var(--glacier)}
.bento .b3{grid-column:span 5;background:#fff}
.bento .b4{grid-column:span 12;background:var(--paper-2);min-height:200px}
.bento .card>*:not(.icon){position:relative}

/* ---- Passi (metodo / formazione) ---- */
.steps{gap:0;border-top:1.5px solid var(--navy-ink)}
.steps li{background:transparent;border:0;border-radius:0;box-shadow:none;padding:30px 26px 10px 0}
.steps li::before{width:auto;height:auto;background:none;color:var(--navy);display:block;font:italic 500 3.6rem/1 var(--serif);margin-bottom:14px}
.steps li h3{font-size:1.25rem}
.rule{background:var(--navy-ink);border-radius:var(--radius);padding:30px 34px;position:relative;overflow:hidden}
.rule::before{content:"";position:absolute;inset:0;background:url(contours-light.svg) center/cover;opacity:.1}
.rule>*{position:relative}

/* ---- Timeline giornata ---- */
#giornata .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
#giornata .section-head{position:sticky;top:120px;margin:0}
.timeline::before{left:109px;background:var(--navy-ink);width:1.5px}
.timeline li::before{background:var(--paper);border:2px solid var(--navy);box-shadow:none;width:12px;height:12px}
.timeline time{font:italic 500 1.9rem/1 var(--serif);color:var(--navy)}
.timeline h3{font-size:1.2rem}

/* ---- Prima/dopo e cruscotto ---- */
.demo-grid .card{background:#fff}
.badge-ex{background:transparent;border:1px solid var(--navy);color:var(--navy);letter-spacing:.08em}
.tbl th{font:600 12px var(--sans);color:var(--muted);letter-spacing:.08em;border-bottom:1.5px solid var(--navy-ink)}
.tbl td{border-bottom:1px solid var(--line)}
.tbl b{color:var(--navy);font-family:var(--serif);font-weight:400;font-size:1.3rem}
.dash{background:var(--navy-ink);border-radius:var(--radius);box-shadow:none;position:relative;overflow:hidden}
.dash::before{content:"";position:absolute;inset:0;background:url(contours-light.svg) center/cover;opacity:.08}
.dash>*{position:relative}
.dash-kpis div{background:rgba(255,255,255,.06);border-radius:14px}
.dash-kpis b{font:500 1.7rem/1.1 var(--serif)}
.bar i{background:var(--sky);border-radius:6px 6px 0 0}
.dash .badge-ex{border-color:rgba(255,255,255,.5);color:#fff}

/* ---- Casi reali ---- */
#casi .grid{grid-template-columns:1.3fr 1fr 1fr}
#casi .card{background:transparent;border-top:1.5px solid var(--navy-ink);border-radius:0;padding:26px 8px 0 0}
#casi .card h3{font:500 clamp(1.9rem,2.8vw,2.6rem)/1.06 var(--serif);margin:10px 0 16px}
#casi .card .eyebrow{font-size:12px;letter-spacing:.06em}

/* ---- Settori ---- */
.sector{background:transparent;border-radius:0;border-bottom:1px solid var(--line);padding:26px 4px;gap:20px;align-items:center}
.sector .icon{background:transparent;border:1px solid var(--navy);color:var(--navy)}
.sector h3{font-size:1.15rem}
.bg-soft .grid.g3{gap:0 48px}
@media (hover:hover){.sector:hover{background:var(--paper)}}

/* ---- Banda calcolatore e CTA ---- */
.calc-band{background:var(--navy-ink);border-radius:30px;padding:70px 60px;position:relative;overflow:hidden}
.calc-band::after{display:none}
.calc-band::before{content:"";position:absolute;inset:0;background:url(contours-light.svg) center/cover;opacity:.14;animation:drift 60s var(--ease-io) infinite alternate}
.calc-band>*{position:relative}
.calc-band h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.calc-band .eyebrow{color:#fff!important}
.cta-final{position:relative;overflow:hidden;background:var(--navy-dark);color:#fff;padding:130px 0}
.cta-final h2{color:#fff;font-size:clamp(2.4rem,5vw,4.4rem);max-width:900px;margin-left:auto;margin-right:auto}
.cta-final .lead,.cta-final .contact-line{color:#B9CEDD}
.cta-final .contact-line a{color:#fff}
.cta-final .eyebrow{color:#fff}
.cta-final .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.cta-final .btn-ghost:hover{background:#fff;color:var(--navy-ink)}
.cta-final .btn-primary{background:#fff;color:var(--navy-ink)}
.cta-final .btn-primary::after{background-color:var(--navy);}
.cta-final .btn-primary:hover{background:var(--glacier)}
.cta-final.bg-tint{background:var(--navy-dark)}
.cta-final .wrap{position:relative;z-index:1}

/* ---- Dati e fiducia ---- */
.panel{background:#fff;border:0;border-radius:var(--radius);box-shadow:none;padding:34px}
.opt{border-color:var(--line)}

/* ---- FAQ ---- */
.faq details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.faq details[open]{box-shadow:none;border-color:var(--navy-ink)}
.faq summary{font:500 1.45rem/1.25 var(--serif);padding:26px 56px 26px 0;color:var(--navy-ink)}
.faq summary::after{background-color:transparent;border:1px solid var(--navy);right:0;transition:transform .4s var(--ease)}
.faq .ans{padding:0 56px 26px 0;font-size:1.05rem}

/* ---- Pagine interne ---- */
.page-hero{background:var(--navy-dark);color:#fff;padding:90px 0 100px;position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{color:#fff;font-size:clamp(2.5rem,5.4vw,4.6rem);max-width:900px}
.page-hero .lead{color:#C5D8E6}
.page-hero .crumbs,.page-hero .crumbs a{color:#9FB9CC}
.page-hero::before{content:"";position:absolute;inset:-8% -6%;background:url(contours-light.svg) center/cover;opacity:.14;animation:drift 60s var(--ease-io) infinite alternate}
.page-hero .btn-primary{background:#fff;color:var(--navy-ink)}
.page-hero .btn-primary::after{background-color:var(--navy)}
.page-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.page-hero .btn-ghost:hover{background:#fff;color:var(--navy-ink)}
.example{border-radius:0 14px 14px 0;background:#fff;border:0;border-left:3px solid var(--red)}
.form input,.form textarea,.form select{border-radius:12px;background:#fff;border:1.5px solid var(--line)}

/* ---- Footer ---- */
.site-footer{background:var(--navy-dark);position:relative;overflow:hidden;padding:90px 0 30px}
.site-footer h4{font:600 12.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.site-footer .wrap{position:relative}

/* ---- Movimento ---- */
.reveal{transform:translate3d(0,28px,0);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--rd,0ms)}
.reveal.in{transform:none}
.anim .hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.anim .hero h1 .w>span{display:inline-block;transform:translate3d(0,105%,0);transition:transform 1s var(--ease);transition-delay:var(--d,0ms)}
.anim.loaded .hero h1 .w>span{transform:none}
.anim .hero .lead,.anim .hero .hero-ctas,.anim .hero .chips,.anim .hero .flow{opacity:0;transform:translate3d(0,24px,0);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.anim .hero .lead{transition-delay:.7s}.anim .hero .hero-ctas{transition-delay:.85s}.anim .hero .chips{transition-delay:1s}.anim .hero .flow{transition-delay:.5s}
.anim.loaded .hero .lead,.anim.loaded .hero .hero-ctas,.anim.loaded .hero .chips,.anim.loaded .hero .flow{opacity:1;transform:none}
.scrollbar{background:var(--red)!important}

@media (max-width:1020px){
  .bento .b1,.bento .b2,.bento .b3{grid-column:span 12}
  #giornata .wrap{grid-template-columns:1fr;gap:30px}
  #giornata .section-head{position:static}
  #casi .grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  section{padding:84px 0}
  .hero{padding:56px 0 110px}
  .hero-grid{grid-template-columns:1fr}
  .pain .card{grid-template-columns:1fr;gap:10px}
  .calc-band{padding:44px 28px}
  .nav{background:var(--paper);border-bottom:1px solid var(--line)}
  .kpis{gap:20px}
  .steps li{padding-right:10px}
}
@media (prefers-reduced-motion:reduce){
  .decor::before,.calc-band::before,.page-hero::before,.marquee-in,.flow .dash,.flow .node-ring{animation:none}
  .ridge path{stroke-dashoffset:0;transition:none}
  .reveal,.anim .hero .lead,.anim .hero .hero-ctas,.anim .hero .chips,.anim .hero .flow{opacity:1;transform:none;transition:none}
  .anim .hero h1 .w>span{transform:none;transition:none}
}

/* correzioni specificità sulle regole .anim di style.css */
.hero h1 .w,.hero h1 .w>span{color:#fff}
.hero h1 .hl .w,.hero h1 .hl .w>span{color:var(--sky);font-style:italic}
.anim .hero h1 .hl,.anim.loaded .hero h1 .hl{background:none}
.anim .kpis b::after{display:none}
.anim .section-head .eyebrow::after{height:1.5px;background:var(--navy)}
.hero .btn-primary{background:#fff;color:var(--navy-ink)}
.hero .btn-primary::after{background-color:var(--navy)}
.hero .btn-primary:hover{background:var(--glacier);color:var(--navy-ink)}
.hero-ctas{gap:14px}
.bento .card .icon{position:static;margin:0 0 auto}
.sector{flex-direction:row}
.timeline li::before{left:103px;top:6px}
.dash-kpis b{font-size:1.5rem}
.dash-kpis b span{font:inherit;color:inherit;display:inline}
.dash-kpis{grid-template-columns:repeat(2,1fr)}
.cta-final .btn-ghost::after,.page-hero .btn-ghost::after{background-color:rgba(255,255,255,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E")}
.cta-final .btn-ghost:hover::after,.page-hero .btn-ghost:hover::after{background-color:rgba(25,70,102,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23194666' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h12M13 7l5 5-5 5'/%3E%3C/svg%3E")}

/* Flusso grande, a tutta larghezza sotto il titolo */
.hero{padding-bottom:170px}
.hero-grid{grid-template-columns:1fr;gap:0}
.hero h1{max-width:980px}
.hero .lead{max-width:720px}
.hero .flow{margin-top:56px}
.flow .doc rect{fill:var(--paper)}
.flow .doc text{font:600 17px var(--sans)}
.flow .doc .ln{stroke-width:3}
.flow .dash{stroke-width:2;stroke:rgba(255,255,255,.5);stroke-dasharray:4 9}
.flow .node-ring{stroke-width:2}
.flow .node-ring.r2{animation-delay:1.5s}
.flow .node-t{font:italic 500 46px var(--serif)}
.flow .node-s{font:500 16px var(--sans);fill:#B9CEDD}
.flow .lane-t{font:600 13px var(--sans);fill:#9FB9CC;letter-spacing:.1em;text-transform:uppercase}
.flow .panel-bg{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.32);stroke-width:1.5}
.flow .panel-title{font:600 14px var(--sans)}
.flow .row-t{font:500 20px var(--sans)}
.flow .st-ok,.flow .st-wait{font:600 17px var(--sans)}
.flow-cap{font-size:13px;text-align:left;margin-top:14px}
@media (max-width:860px){
  .flow{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .flow svg{width:820px;max-width:none}
}

/* ---- Chi siamo ---- */
.cs-hero{background:var(--navy-dark);padding:90px 0 130px}
.cs-hero::after{inset:-8% -6%;right:auto;bottom:auto;width:auto;height:auto;border-radius:0;background:url(contours-light.svg) center/cover;opacity:.14;animation:drift 60s var(--ease-io) infinite alternate}
.cs-hero h1{font-size:clamp(2.5rem,5vw,4.4rem)}
.cs-avatar{box-shadow:0 0 0 14px rgba(255,255,255,.08)}
.cs-chip{border-radius:14px;box-shadow:none}
.cs-stats{margin-top:-70px}
.cs-stat-grid{gap:40px}
.cs-stat{background:transparent;border:0;border-top:1.5px solid var(--navy-ink);border-radius:0;box-shadow:none;padding:24px 0 0;text-align:left}
.cs-stat b{font:500 clamp(2.4rem,4vw,3.6rem)/1 var(--serif);color:var(--navy-ink)}
.cs-dark{background:var(--navy-dark);position:relative;overflow:hidden}
.cs-dark::before{content:"";position:absolute;inset:0;background:url(contours-light.svg) center/cover;opacity:.1}
.cs-dark>*{position:relative}
.cs-card{border-radius:var(--radius);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18)}
.cs-quote{background:var(--navy-ink);border-radius:var(--radius);font:500 1.4rem/1.4 var(--serif)}
.cs-quote .qm{font-family:var(--serif);color:var(--sky)}
.cs-pm{border-radius:999px}
.tl::before{background:var(--navy-ink);height:1.5px}
.tl-dot{border-color:var(--navy)}
.tl li.now .tl-dot{background:var(--red);border-color:var(--red);box-shadow:none}
.net-node,.gx{border:0;border-radius:var(--radius);box-shadow:none;background:#fff}
.net-node.tic{border-top:0}.net-node.mil{border-top:0}
.net-ic{background:var(--glacier);color:var(--navy);border-radius:50%}
.gx-n{background:var(--navy-ink);border-radius:50%}
.gx-bar{background:var(--navy)}.gx-bar.blue{background:var(--blue)}
.cs-side .chips span{background:var(--glacier);color:var(--navy-ink)}
details.more summary{color:var(--navy)}

/* Sezione statistiche PMI */
.stats-grid .card b{display:block;font-family:var(--serif);font-weight:500;font-size:3rem;line-height:1;color:var(--blue);margin-bottom:10px;letter-spacing:-.02em}
.stats-grid .card p{margin:0;color:var(--muted)}
#statistiche .note{color:var(--muted);font-size:.9rem}

/* Anteprima calcolatore nella fascia test */
.calc-meter{background:var(--paper);color:var(--navy-ink);border-radius:22px;padding:26px 26px 24px;min-width:280px}
.calc-meter h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.2;margin:0 0 14px;color:var(--navy-ink)}
.calc-meter .meter{margin-bottom:18px}
.calc-band .act{text-align:left}
.calc-band .calc-meter p,.calc-band .calc-meter span{color:var(--navy-ink)}
.calc-band .calc-meter .meter-cap{color:var(--muted)}
.stats-grid{row-gap:24px}

/* Selettore lingua IT / EN / DE */
.lang-switch{display:flex;align-items:center;gap:0;margin:0 2px 0 6px;padding-left:6px;border-left:1px solid var(--line)}
.nav .lang-switch a{font:600 12.5px/1 var(--sans);letter-spacing:.06em;padding:8px 6px;color:var(--muted)}
.nav .lang-switch a::after{display:none}
.nav .lang-switch a:hover,.nav .lang-switch a[aria-current="true"]{color:var(--navy)}
.nav .lang-switch a[aria-current="true"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
@media (max-width:900px){.lang-switch{border-left:0;padding:10px 0 0;margin:6px 0 0;border-top:1px solid var(--line)}.nav .lang-switch a{padding:12px 14px 12px 8px;font-size:14px}}
.nav a,.has-sub>button{white-space:nowrap}
.header-in .brand{flex-shrink:0}
/* Con tre lingue il menu orizzontale serve da 1180px in su: sotto si usa il menu a scomparsa */
@media (min-width:1181px) and (max-width:1300px){.nav a,.has-sub>button{padding-left:8px;padding-right:8px}}
@media (max-width:1180px){
  .nav-toggle{display:block}
  .nav{position:fixed;inset:76px 0 auto 0;background:var(--paper);flex-direction:column;align-items:stretch;padding:12px 20px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);display:none;max-height:calc(100vh - 76px);overflow:auto}
  .nav.open{display:flex}
  .nav a,.has-sub>button{padding:12px 8px;font-size:16px}
  .nav .btn{margin:10px 0 0}
  .sub{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
  .has-sub>button svg{display:none}
  .lang-switch{border-left:0;padding:10px 0 0;margin:6px 0 0;border-top:1px solid var(--line)}
  .nav .lang-switch a{padding:12px 14px 12px 8px;font-size:14px}
}
