:root{
  --blu:#0D47A1; --blu-scuro:#0D47A1; --arancio:#F5A623; --testo:#2B2F36; --grigio:#555B66;
  --sfondo:#fff; --sfondo-soft:#E5E7EB; --linea:#D2D6DD;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--testo);background:var(--sfondo);line-height:1.6;font-size:1.0625rem}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--arancio);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--blu-scuro);margin-bottom:20px}
.lead{font-size:1.2rem;color:var(--grigio);max-width:62ch}

/* bottoni */
.btn{display:inline-block;text-decoration:none;font-weight:700;letter-spacing:.04em;font-size:.95rem;
  padding:14px 28px;border-radius:6px;background:var(--arancio);color:#1b1100;border:2px solid var(--arancio);transition:background .2s,color .2s}
.btn:hover{background:#fff;color:var(--blu-scuro)}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover{background:#fff;color:var(--blu-scuro)}
.btn.sm{padding:10px 20px;font-size:.85rem}

/* header */
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--linea)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.logo{display:inline-block;line-height:0}.logo img{height:46px;width:auto}
nav ul{display:flex;gap:28px;list-style:none;padding:0}
nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--testo)}
nav a:hover{color:var(--blu)}
.menu-btn{display:none;background:none;border:2px solid var(--blu);color:var(--blu);border-radius:6px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--blu);color:#fff;min-height:540px;padding:0}
.hero-testo{display:flex;align-items:center;padding:72px 48px 72px max(24px,calc((100vw - 1180px)/2 + 24px))}
.hero h1{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700;max-width:22ch;margin-bottom:6px}
.hero h1 span{display:block;margin-bottom:6px}
.hero p.chiusura{font-size:1.2rem;max-width:40ch;margin:26px 0 34px;color:#fff}
.hero-foto{position:relative;overflow:hidden;background:var(--blu);border-bottom:8px solid var(--arancio)}
.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-foto::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--blu) 0%,rgba(13,71,161,0) 38%)}
/* perché */
.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}
.tre div{border-top:4px solid var(--blu);padding-top:20px}
.tre div:nth-child(3){border-color:var(--arancio)}
.tre h3{font-size:1.15rem;margin-bottom:10px;color:var(--blu-scuro)}
.tre p{color:var(--grigio);font-size:1rem}
.perche-box{margin-top:44px;padding:26px 30px;background:var(--sfondo-soft);border-left:5px solid var(--arancio);font-size:1.2rem;font-weight:600;color:var(--blu-scuro)}

/* aree */
.aree{background:var(--sfondo-soft)}
.aree-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;margin-top:44px}
.card{grid-column:span 2;background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--linea);display:flex;flex-direction:column}
.card:nth-child(4){grid-column:2 / span 2}
.card:nth-child(5){grid-column:4 / span 2}
.card .thumb{aspect-ratio:3/2;background:var(--blu-scuro);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .segnaposto{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:20px;
  background:repeating-linear-gradient(45deg,#e8eef9,#e8eef9 12px,#f4f7fc 12px,#f4f7fc 24px);color:var(--grigio);font-size:.9rem}
.card .corpo{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--blu)}
.card .domanda{font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--blu-scuro)}
.card p{color:var(--grigio)}
.card .link{margin-top:auto;padding-top:10px;font-weight:700;color:var(--blu);text-decoration:none;letter-spacing:.04em;font-size:.9rem}
.card .link:hover{color:var(--arancio)}
.centro{text-align:center;margin-top:44px}

/* metodo */
.metodo{background:linear-gradient(rgba(255,255,255,.80),rgba(255,255,255,.80)),url(../img/metodo.jpg) center/cover no-repeat}
.metodo h2{text-align:center}
.metodo .lead{margin:0 auto 52px;text-align:center}
.timeline{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;padding:0;position:relative}
.timeline::before{content:"";position:absolute;top:22px;left:8%;right:8%;height:3px;background:linear-gradient(90deg,var(--blu),var(--arancio))}
.timeline li{text-align:center;padding:0 8px;position:relative}
.timeline .n{width:46px;height:46px;border-radius:50%;background:var(--blu);color:#fff;font-weight:700;display:grid;place-items:center;margin:0 auto 14px;border:4px solid #fff;box-shadow:0 0 0 2px var(--blu)}
.timeline li:last-child .n{background:var(--arancio);color:#1b1100;box-shadow:0 0 0 2px var(--arancio)}
.timeline b{display:block;letter-spacing:.06em;font-size:.9rem;color:var(--blu-scuro)}
.metodo .reg{color:#3A3F48;max-width:70ch;margin:48px auto 0;text-align:center;color:var(--grigio)}

/* fasce CTA */
.fascia{background:var(--sfondo-soft);color:var(--blu);text-align:center;padding:64px 0}
.fascia h2{color:var(--blu);margin-bottom:26px}
/*FIN*/.fascia.finale{display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--blu);text-align:left;min-height:440px}
.finale-testo{display:flex;align-items:center;padding:72px 48px 72px max(24px,calc((100vw - 1180px)/2 + 24px))}
.finale-foto{position:relative;overflow:hidden;border-bottom:8px solid var(--arancio)}
.finale-foto img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.finale-foto::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--blu) 0%,rgba(13,71,161,0) 40%)}
.fascia.finale h2{color:#fff;font-size:clamp(1.6rem,3.6vw,2.5rem);letter-spacing:.02em}

/* chi siamo */
.chi{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.chi .img img{width:100%;height:100%;object-fit:cover}
.chi .img{overflow:hidden;aspect-ratio:4/3;border-radius:10px;background:repeating-linear-gradient(45deg,#e8eef9,#e8eef9 12px,#f4f7fc 12px,#f4f7fc 24px);display:grid;place-items:center;text-align:center;padding:24px;color:var(--grigio);font-size:.9rem;border:1px solid var(--linea)}
.chi p{color:var(--grigio);margin-bottom:16px}
.chi p.forte{color:var(--blu-scuro);font-weight:600;font-size:1.15rem}

/* approfondimenti */
.appr{background:var(--sfondo-soft)}
.appr .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.appr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}
.art{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:26px}
.art small{color:var(--arancio);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}
.art h3{margin:10px 0;font-size:1.15rem;color:var(--blu-scuro)}
.art p{color:var(--grigio);font-size:.95rem}
.art a{display:inline-block;margin-top:14px;font-weight:700;color:var(--blu);text-decoration:none;font-size:.9rem}

/* footer */
footer{background:#fff;border-top:1px solid var(--linea);padding:56px 0 28px;font-size:.95rem}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1.4fr 1fr;gap:36px}
footer h4{color:var(--blu-scuro);margin-bottom:12px;font-size:.95rem}
footer ul{list-style:none;padding:0;display:grid;gap:8px}
footer a{text-decoration:none;color:var(--grigio)}
footer a:hover{color:var(--blu)}
.copy{margin-top:40px;padding-top:20px;border-top:1px solid var(--linea);color:var(--grigio);font-size:.85rem}

/* responsive */
@media(max-width:960px){
  .fascia.finale{grid-template-columns:1fr}.finale-testo{padding:56px 24px}.finale-foto{min-height:260px}.finale-foto::before{background:linear-gradient(180deg,var(--blu) 0%,rgba(13,71,161,0) 40%)}
  .hero{grid-template-columns:1fr}.hero-foto{min-height:300px;order:-1}.hero-foto::before{background:linear-gradient(0deg,var(--blu) 0%,rgba(13,71,161,0) 40%)}.hero-testo{padding:56px 24px}
  .menu-btn{display:block}
  nav{position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--linea);display:none;padding:16px 24px}
  nav.aperto{display:block}
  nav ul{flex-direction:column;gap:16px}
  header .btn.sm{display:none}
  .tre,.appr-grid,.chi{grid-template-columns:1fr}
  .aree-grid{grid-template-columns:1fr 1fr}
  .card,.card:nth-child(4),.card:nth-child(5){grid-column:auto}
  .card:nth-child(5){grid-column:1 / -1;max-width:calc(50% - 14px);justify-self:center}
  .timeline{grid-template-columns:1fr;gap:22px;text-align:left}
  .timeline::before{display:none}
  .timeline li{display:flex;align-items:center;gap:16px;text-align:left}
  .timeline .n{margin:0;flex:none}
  .foot{grid-template-columns:1fr 1fr}
  section{padding:64px 0}
}
@media(max-width:600px){
  .aree-grid{grid-template-columns:1fr}
  .card:nth-child(5){max-width:none}
  .foot{grid-template-columns:1fr}
  .hero{padding:80px 0 70px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* pagina contatti */
.hero.piccolo{padding:84px 0 76px}
.hero.piccolo h1{max-width:none}
.hero.piccolo p.chiusura{margin:18px 0 0}
.contatti{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
form{display:grid;gap:20px}
.riga{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-weight:600;font-size:.95rem;color:var(--blu-scuro);margin-bottom:6px}
label small{font-weight:400;color:var(--grigio)}
input,textarea{width:100%;font:inherit;color:var(--testo);padding:13px 14px;border:1.5px solid #B9C4D8;border-radius:6px;background:#fff}
input:focus,textarea:focus{outline:3px solid var(--arancio);outline-offset:1px;border-color:var(--blu)}
textarea{min-height:180px;resize:vertical}
.micro{color:var(--grigio);font-size:.9rem;margin-top:6px}
.consenso{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--grigio)}
.consenso input{width:auto;margin-top:5px;flex:none}
.consenso a{color:var(--blu);font-weight:600}
.trap{position:absolute;left:-9999px;height:0;overflow:hidden}
button.btn{cursor:pointer;font:inherit;font-weight:700;letter-spacing:.04em;justify-self:start}
.esito{padding:16px 20px;border-radius:8px;font-weight:600;margin-bottom:24px}
.esito.ok{background:#E8F5EA;color:#1B5E20;border-left:5px solid #2E7D32}
.esito.errore{background:#FDECEA;color:#8E1B12;border-left:5px solid #C62828}
.diretto{background:var(--sfondo-soft);border-radius:10px;padding:30px}
.diretto h3{color:var(--blu-scuro);margin-bottom:16px}
.diretto ul{list-style:none;padding:0;display:grid;gap:12px}
.diretto a{color:var(--blu);font-weight:600;text-decoration:none}
.diretto a:hover{color:var(--arancio)}
.dopo ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px;counter-reset:s}
.dopo li{border-top:4px solid var(--blu);padding-top:18px;counter-increment:s;font-weight:600;color:var(--blu-scuro);font-size:1.15rem}
.dopo li::before{content:counter(s);display:block;color:var(--arancio);font-size:1.8rem;font-weight:800;margin-bottom:4px}
@media(max-width:960px){.contatti,.dopo ol,.riga{grid-template-columns:1fr}}


/* banda con foto */
.banda{background:url(../img/banda.jpg) center/cover no-repeat,var(--blu);background-blend-mode:multiply;color:#fff;padding:130px 0;text-align:center}
.banda p{text-shadow:0 2px 14px rgba(0,0,0,.35);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;line-height:1.35;max-width:26ch;margin:0 auto;position:relative}
.banda p::before{content:"";display:block;width:64px;height:5px;background:var(--arancio);margin:0 auto 28px}
/* approfondimenti con immagine */
.art{overflow:hidden;transition:transform .3s,box-shadow .3s}
.art:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(13,71,161,.16)}
.art-img{margin:-26px -26px 20px;width:calc(100% + 52px);max-width:none;aspect-ratio:16/10;object-fit:cover}
/* movimento */
header{transition:box-shadow .3s}header.sc{box-shadow:0 4px 18px rgba(0,0,0,.10)}
.card{transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(13,71,161,.18)}
.card .thumb img{transition:transform .7s}.card:hover .thumb img{transform:scale(1.07)}
.btn{transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:no-preference){
  @keyframes su{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
  .hero h1 span{animation:su .8s both}.hero h1 span:nth-child(2){animation-delay:.25s}.hero h1 span:nth-child(3){animation-delay:.5s}
  .hero p.chiusura{animation:su .8s .8s both}.hero .btn{animation:su .8s 1s both}
  .hero-foto img{animation:zoom 2.4s ease-out both}
  .js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .js .rv.in{opacity:1;transform:none}
  .js .card.rv.in:hover{transform:translateY(-6px)}
  .js .timeline li{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s;transition-delay:calc(var(--i)*140ms)}
  .js .timeline.in li{opacity:1;transform:none}
  .js .timeline::before{transform:scaleX(0);transform-origin:left;transition:transform 1.1s ease .1s}
  .js .timeline.in::before{transform:scaleX(1)}
}

/* menu a tendina Aree */
nav>ul{align-items:center}
.has-sub{position:relative;display:flex;align-items:center;gap:2px;height:72px}
.sub-btn{background:none;border:0;cursor:pointer;width:24px;height:24px;padding:0;color:var(--blu);border-radius:4px}
.sub-btn::before{content:"";display:block;margin:0 auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.has-sub.open .sub-btn::before{transform:rotate(-135deg) translate(-2px,-2px)}
.sub{position:absolute;top:100%;left:-18px;min-width:380px;background:#fff;border:1px solid var(--linea);border-top:4px solid var(--arancio);box-shadow:0 14px 30px rgba(0,0,0,.14);display:none;flex-direction:column;gap:0;padding:8px 0;z-index:30}
.sub li a{display:block;padding:11px 22px;font-weight:600;font-size:.93rem;line-height:1.35}
.sub li a:hover,.sub li a:focus-visible{background:var(--sfondo-soft);color:var(--blu)}
.has-sub.open>.sub{display:flex}
@media(hover:hover) and (min-width:961px){.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:flex}}
@media(max-width:960px){
  .has-sub{height:auto;flex-wrap:wrap}
  .sub{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-left:4px solid var(--arancio);margin:8px 0 4px 2px;padding:0}
  .sub li a{padding:9px 14px}
}

/* pagine Area */
nav a[aria-current]{color:var(--blu)}
.hero.area .hero-testo{padding-top:64px;padding-bottom:64px}
.hero.area h1{max-width:19ch;margin:10px 0 16px}
.etichetta{display:inline-block;color:#FFC247;font-weight:800;letter-spacing:.14em;font-size:.85rem;text-transform:uppercase}
.hero.area .sotto{font-size:1.3rem;font-weight:600;margin-bottom:14px;max-width:34ch}
.hero.area .pos{color:#E3EAF7;max-width:54ch;margin-bottom:30px;font-size:1rem}
.azioni{display:flex;gap:14px;flex-wrap:wrap}
.griglia2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.q{background:#fff;border:1px solid var(--linea);border-left:5px solid var(--arancio);border-radius:8px;padding:24px 28px;font-size:1.1rem;font-weight:500}
.visual-sez{background:var(--sfondo-soft)}
.visual-full{margin-top:32px;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px rgba(13,71,161,.22);line-height:0}
.visual-full img{width:100%;height:auto}
.ucard{background:#fff;border:1px solid var(--linea);border-top:5px solid var(--blu);border-radius:8px;padding:28px 30px}
.ucard:nth-child(even){border-top-color:var(--arancio)}
.ucard h3{font-size:.9rem;letter-spacing:.08em;color:var(--blu);margin-bottom:12px}
.ucard p{color:var(--grigio)}
.valore{background:var(--sfondo-soft);padding:60px 0}
.valore h2{font-size:1.5rem;margin-bottom:6px}
.valore ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:26px}
.valore li{padding:6px 0 6px 18px;border-left:4px solid var(--arancio);font-weight:700;color:var(--blu);font-size:1.08rem;line-height:1.35}
.conn{display:grid;grid-template-columns:1.1fr 1fr;gap:56px}
.conn h3{color:var(--blu);font-size:1.15rem;margin-bottom:16px}
.chips a{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border:1px solid var(--linea);border-radius:8px;margin-bottom:10px;font-weight:600;color:var(--blu);text-decoration:none;background:#fff;transition:border-color .2s,transform .2s}
.chips a::after{content:"→";color:var(--arancio);font-weight:800}
.chips a:hover{border-color:var(--arancio);transform:translateX(4px)}
.pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 18px}
.pills li{background:var(--sfondo-soft);color:var(--blu);font-weight:700;font-size:.8rem;letter-spacing:.06em;padding:7px 12px;border-radius:99px}
.conn p{color:var(--grigio);margin-bottom:20px}
.fascia.chiusura{background:var(--blu);color:#fff;padding:88px 0;border-bottom:8px solid var(--arancio)}
.fascia.chiusura h2{color:#fff;font-size:clamp(1.4rem,3vw,2rem);max-width:34ch;margin:0 auto 14px;letter-spacing:.01em}
.fascia.chiusura p{margin:0 auto 30px;max-width:52ch;font-size:1.15rem}
@media(max-width:960px){.griglia2,.conn{grid-template-columns:1fr}.valore ul{grid-template-columns:1fr 1fr}.conn{gap:36px}}
@media(max-width:600px){.valore ul{grid-template-columns:1fr}}

/* pagina Chi siamo / Ecosistema */
.hero.cs h1{max-width:24ch;font-size:clamp(1.55rem,2.8vw,2.3rem);margin:10px 0 18px}
.hero.cs .pos{font-size:1.1rem;color:#E3EAF7;max-width:46ch}
.due{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}.due p{color:var(--grigio);font-size:1.1rem}
.eco{background:var(--sfondo-soft)}
#ecosistema .testo{max-width:72ch}#ecosistema .tag{color:var(--blu);font-weight:800;letter-spacing:.06em;font-size:1.15rem;margin-bottom:14px}
#ecosistema .testo p{color:var(--grigio);margin-bottom:14px}#ecosistema .testo p.chiave{color:var(--blu);font-weight:700;font-size:1.2rem}
.eco-vis{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:22px;margin-top:30px}
.eco-svg{width:100%;height:auto;display:block}.eco-svg text{font-family:"Segoe UI",system-ui,sans-serif}
.g5{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;margin-top:32px}
.g5>*{grid-column:span 2}.g5>:nth-child(4){grid-column:2 / span 2}.g5>:nth-child(5){grid-column:4 / span 2}
.atile{display:block;background:#fff;border:1px solid var(--linea);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--blu);font-weight:700;transition:transform .3s,box-shadow .3s}
.atile img{width:100%;aspect-ratio:3/2;object-fit:cover}.atile span{display:block;padding:14px 16px;font-size:.92rem;line-height:1.35}
.atile:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(13,71,161,.18)}
.sig{background:#fff;border:1px solid var(--linea);border-top:5px solid var(--blu);border-radius:8px;padding:24px 26px}
.sig:nth-child(even){border-top-color:var(--arancio)}.sig h3{font-size:.88rem;letter-spacing:.08em;color:var(--blu);margin-bottom:8px;line-height:1.35}.sig p{color:var(--grigio)}
@media(max-width:960px){.due{grid-template-columns:1fr;gap:0}.g5{grid-template-columns:1fr}.g5>*,.g5>:nth-child(4),.g5>:nth-child(5){grid-column:auto}}
/* pagine Area: componenti consolidati */
.sez-soft{background:#F5F7FA}
.q2{background:#fff;border:1px solid var(--linea);border-left:5px solid var(--arancio);border-radius:8px;padding:24px 28px}
.q2 .lab{display:block;color:var(--blu);font-weight:800;letter-spacing:.08em;font-size:.8rem;margin-bottom:8px}
.q2 strong{display:block;font-size:1.1rem;line-height:1.4;margin-bottom:8px}.q2 p{color:var(--grigio)}
.q2.ampia{padding:34px 36px}.q2.ampia p{font-size:1.18rem;color:var(--testo)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.intro-foto{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center;margin-bottom:34px}
.intro-foto.inv{grid-template-columns:1fr 1.15fr}.intro-foto.inv>:first-child{order:2}
.intro-foto img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 14px 34px rgba(13,71,161,.18)}
.intro-foto h2{margin-bottom:0}
.banda-foto img{width:100%;height:300px;object-fit:cover;display:block}
.ucard{overflow:hidden}.ucard .tc{margin:-28px -30px 18px;width:calc(100% + 60px);max-width:none;aspect-ratio:16/9;object-fit:cover;display:block}
.ucard .sot{font-weight:700;color:var(--testo);margin:-4px 0 8px}
.flusso{display:flex;list-style:none;padding:0;margin:30px 0 0}
.flusso li{flex:1;background:var(--blu);color:#fff;padding:20px 22px 20px 32px;font-weight:700;letter-spacing:.04em;font-size:.86rem;line-height:1.3;display:flex;flex-direction:column;justify-content:center;min-height:88px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%)}
.flusso li+li{margin-left:-6px}
.flusso li:first-child{padding-left:22px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%)}
.flusso li:last-child{background:var(--arancio);color:#1b1100;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,16px 50%)}
.flusso small{font-size:.72rem;opacity:.8;font-weight:600;margin-bottom:2px}
.cat3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.cat3 div{background:#fff;border:2px solid var(--blu);border-radius:10px;padding:16px 18px;font-weight:800;color:var(--blu);text-align:center;letter-spacing:.05em;font-size:.9rem}
.cat3 div:last-child{border-color:var(--arancio)}
.techs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.techs span{background:#fff;border:1px solid var(--linea);color:var(--grigio);font-weight:700;font-size:.78rem;letter-spacing:.06em;padding:6px 12px;border-radius:99px}
.chips a small{display:block;font-weight:400;color:var(--grigio);margin-top:2px}.chips a>span{display:block}
.sub a[aria-current]{color:var(--blu);background:var(--sfondo-soft)}
@media(max-width:960px){.g3,.cat3,.intro-foto,.intro-foto.inv{grid-template-columns:1fr}.intro-foto.inv>:first-child{order:0}.intro-foto{gap:22px}.banda-foto img{height:200px}
 .flusso{flex-direction:column;gap:8px}.flusso li,.flusso li:first-child,.flusso li:last-child{clip-path:none;border-radius:8px;margin-left:0!important;padding:16px 20px;min-height:0}}

.vis-w{padding:28px 0 72px}
.g5{align-items:start}.griglia2:has(.tc){align-items:start}

.intro-foto img.p-sx{object-position:36% center}
.banda-foto.strada img{height:220px;object-position:center 88%}
@media(max-width:960px){.banda-foto.strada img{height:150px}}
.intro-foto img.p-lente{object-position:center 42%}
/* Area 3: seconda riga 2 card affiancate; la quinta con foto laterale */
.g5>:nth-child(4){grid-column:1 / span 3}.g5>:nth-child(5){grid-column:4 / span 3}
.g5>:nth-child(5):has(.tc){display:grid;grid-template-columns:40% 1fr;column-gap:26px;align-items:start}
.g5>:nth-child(5):has(.tc) .tc{grid-row:1 / span 6;grid-column:1;margin:-28px 0 -28px -30px;width:calc(100% + 30px);height:calc(100% + 56px);aspect-ratio:auto;min-height:100%}
.g5>:nth-child(5):has(.tc)>:not(.tc){grid-column:2}
.griglia2.q5>:last-child{grid-column:1 / -1}
@media(max-width:960px){.g5>:nth-child(4),.g5>:nth-child(5){grid-column:auto}.g5>:nth-child(5):has(.tc){display:block}.g5>:nth-child(5):has(.tc) .tc{margin:-28px -30px 18px;width:calc(100% + 60px);height:auto;aspect-ratio:16/9;min-height:0}.griglia2.q5>:last-child{grid-column:auto}}
.intro-foto img.p-rel{object-position:center 40%}
.intro-foto img.p-forum{object-position:center 70%}
.griglia2.s5{align-items:stretch}.griglia2.s5 .tc{aspect-ratio:2/1}
.intro-foto img.p-dash{object-position:center 50%}
/* Area 3 (rev.): 4 card allineate in riga + quinta come verticalizzazione a tutta larghezza */
.g5{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:20px}
.g5>*,.g5>:nth-child(4){grid-column:span 1}
.g5>:nth-child(5){grid-column:1 / -1;margin-top:10px}
.g5>:nth-child(5):has(.tc){display:grid;grid-template-columns:34% 1fr;column-gap:34px;align-items:center}
.g5>:nth-child(5):has(.tc) .tc{grid-row:1 / span 6;grid-column:1;margin:-28px 0 -28px -30px;width:calc(100% + 30px);height:calc(100% + 56px);min-height:260px;object-position:center}
.g5>:nth-child(5):has(.tc)>:not(.tc){grid-column:2}
@media(max-width:1100px){.g5{grid-template-columns:repeat(2,1fr)}.g5>:nth-child(5){grid-column:1 / -1}}
@media(max-width:960px){.g5{grid-template-columns:1fr}.g5>:nth-child(5):has(.tc){display:block}.g5>:nth-child(5):has(.tc) .tc{margin:-28px -30px 18px;width:calc(100% + 60px);height:auto;aspect-ratio:16/9;min-height:0}}
.g5>:nth-child(5){justify-self:center;width:calc(75% - 5px)}
.g5>:nth-child(5):has(.tc){grid-template-columns:38% 1fr;column-gap:28px}
.g5>:nth-child(5):has(.tc) .tc{min-height:210px}
@media(max-width:1100px){.g5>:nth-child(5){width:100%}}
/* Area 3 (finale): 1-4 in griglia 2x2 come le altre Aree, 05 centrata e più piccola */
.g5{grid-template-columns:repeat(2,1fr);gap:24px}
.g5>*,.g5>:nth-child(4){grid-column:auto}
.g5>:nth-child(5){grid-column:1 / -1;justify-self:center;width:72%;margin-top:6px}
@media(max-width:960px){.g5{grid-template-columns:1fr}.g5>:nth-child(5){width:100%}}
/* tecnologie: più enfasi */
.techs{gap:12px;margin-top:24px}
.techs span{background:var(--blu);border:2px solid var(--blu);color:#fff;font-size:.95rem;letter-spacing:.08em;padding:10px 22px;box-shadow:0 6px 16px rgba(13,71,161,.22)}
.techs span:nth-child(even){background:#fff;color:var(--blu)}
.techs span:last-child{background:var(--arancio);border-color:var(--arancio);color:#111}
.cat3{gap:20px}
.cat3 div{padding:28px 22px;font-size:1.1rem;letter-spacing:.06em;border-radius:12px;box-shadow:0 8px 22px rgba(13,71,161,.12)}
/* Area 3: sfondo tecnologico solo dietro riquadri + pillole; percorso staccato nei colori originali */
.rete-sez.bg-tech{padding:72px 0;background:linear-gradient(rgba(13,71,161,.62),rgba(13,71,161,.62)),url(../img/a3-circuito.jpg) center/cover no-repeat}
.rete-sez.bg-tech .cat3{margin-top:0}
.rete-sez.bg-tech .cat3 div{background:#fff}
.rete-sez.bg-tech .techs span{box-shadow:0 6px 18px rgba(0,0,0,.35)}
.rete-sez.percorso-sez{padding:64px 0 72px;background:#fff}
@media(max-width:960px){.rete-sez.bg-tech{padding:48px 0}.rete-sez.percorso-sez{padding:44px 0 52px}}
/* pagine nuove: filtri approfondimenti, testi legali */
.filtri{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.filtri button{font:inherit;font-weight:700;font-size:.85rem;letter-spacing:.04em;color:var(--blu);background:#fff;border:2px solid var(--blu);border-radius:99px;padding:8px 18px;cursor:pointer;transition:background .2s,color .2s}
.filtri button:hover{background:#EAF0FB}
.filtri button.on{background:var(--blu);color:#fff}
.legale{padding:56px 0 84px}
.legale .wrap>*{max-width:820px}
.legale h2{font-size:1.25rem;color:var(--blu);margin:34px 0 10px}
.legale p,.legale li{color:var(--testo)}
.legale ul{padding-left:22px;margin:8px 0 14px}
.legale a{color:var(--blu);text-decoration:underline}
.hero.piccolo{min-height:0;display:block}
.insegna{line-height:0;background:#6f7173}
.insegna img{width:100%;height:clamp(180px,30vw,380px);object-fit:cover;object-position:center 45%;display:block}

/* Articoli */
.art-testa{max-width:860px}
.art-testa h1{margin:10px 0 18px}
.indietro{color:var(--blu);font-weight:700;text-decoration:none;font-size:.9rem}
.art-testa .indietro{display:inline-block;margin-bottom:18px}
.articolo{padding:48px 0 72px}
.articolo .wrap{max-width:820px}
.art-cover{width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover;margin-bottom:38px}
.art-testo h2{margin:42px 0 12px;color:var(--blu-scuro);font-size:1.45rem}
.art-testo p,.art-testo li{font-size:1.06rem;line-height:1.75;color:#2b3340}
.art-testo ul{padding-left:22px;margin:14px 0}
.art-testo li{margin:6px 0}
.art-testo .evid{background:#F5F7FA;border-left:5px solid var(--arancio);padding:16px 20px;border-radius:6px;font-size:1.12rem;color:var(--blu-scuro)}
.art-testa .indietro{color:#fff;opacity:.9}
.art-testo p{margin:0 0 1.15em}
.art-testo h2{margin-top:40px}
.art-testa .indietro,.art-testa .etichetta{display:block}
.art-testa .indietro{margin-bottom:14px}
.hero.piccolo .art-testa p.chiusura{max-width:62ch}
.articolo .wrap{max-width:812px;padding-left:0;padding-right:0}
@media(max-width:860px){.articolo .wrap{padding-left:20px;padding-right:20px}}
.art-testo h3{margin:26px 0 8px;color:var(--blu);font-size:1.1rem}
.tab-w{overflow-x:auto;margin:22px 0 8px}
.art-testo table{width:100%;border-collapse:collapse;font-size:1rem;min-width:520px}
.art-testo th,.art-testo td{padding:12px 14px;border-bottom:1px solid var(--linea);text-align:right;color:#2b3340}
.art-testo thead th{background:var(--blu);color:#fff;font-weight:700}
.art-testo tbody th{text-align:left;font-weight:600;color:var(--blu-scuro)}
.art-testo tbody tr:nth-child(even){background:#F5F7FA}
.art-testo .nota-art{font-size:.92rem;color:var(--grigio);line-height:1.6}

/* Servizi principali (banner sotto l'hero) */
.servizi-sez{padding:36px 0 0}
.servizi-img{border-radius:12px;overflow:hidden;line-height:0;border:1px solid var(--linea);box-shadow:0 10px 28px rgba(13,71,161,.10)}
.servizi-img img{width:100%;height:auto}
@media(max-width:760px){.servizi-img{overflow-x:auto;-webkit-overflow-scrolling:touch}.servizi-img img{min-width:900px}}
.copy .avviso{display:block;margin-bottom:10px}
.ico{display:inline-flex;align-items:center;gap:9px}
.ico svg{width:18px;height:18px;flex:none}
