body{margin:0;background:#fff}
a{color:#0F2D5B}
a:hover{color:#0068B2}
.wp-site-blocks{container-type:inline-size;container-name:site;--blu:#0F2D5B;--it:#425563;--acqua:#0068B2;--amb:#2E7D59;--terr:#C68C70;--clima:#D7B77A;--terr-ink:#774E3C;--text:#2E455F;--muted:#425563;--line:#D9DDE0;--line-soft:#ECEEEF;--surf:#F5F7F8;--acqua-t:#EBF3F9;--acqua-t2:#DBEAF4;--amb-t:#EEF5F2;--terr-t:#F9F4F1;--clima-t:#F9F5EC;--ff-h:'League Spartan','Trebuchet MS',Arial,sans-serif;--ff-b:Aptos,'Public Sans','Segoe UI',Arial,sans-serif;font-family:var(--ff-b);color:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;z-index:1;overflow-x:clip}
.wp-site-blocks *,.wp-site-blocks *::before,.wp-site-blocks *::after{box-sizing:border-box}
.wp-site-blocks img{max-width:100%;display:block}
.wp-site-blocks :where(p,ul,ol,dl,figure,h1,h2,h3,h4){margin:0}
.wp-site-blocks :where(ul,ol){padding:0;list-style:none}
.wp-site-blocks :focus-visible{outline:3px solid #0068B2;outline-offset:3px}
.skip-link-idran{position:absolute;left:16px;top:-80px;z-index:60;background:#0F2D5B;color:#fff;padding:12px 18px;font-family:var(--ff-h);font-weight:600}
.skip:focus{top:12px;color:#fff}
.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(20px,4.6cqi,64px);position:relative}
.sec{padding-block:clamp(72px,8.5cqi,128px);position:relative}
.h1,.h2,.h3,.h4{font-family:var(--ff-h);color:var(--blu);font-weight:700;letter-spacing:-.012em;text-wrap:balance}
.h1{font-size:clamp(2.3rem,1.3rem + 3cqi,3.75rem);line-height:1.03}
.h2{font-size:clamp(1.85rem,1.2rem + 2cqi,3rem);line-height:1.06}
.h3{font-size:clamp(1.3rem,1.1rem + .55cqi,1.6rem);line-height:1.15;font-weight:600}
.h4{font-size:1.25rem;line-height:1.2;font-weight:600}
.eyebrow{font-family:var(--ff-h);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;line-height:1.3}
.lead{font-size:clamp(1.1rem,1rem + .32cqi,1.3rem);line-height:1.55;color:var(--text);text-wrap:pretty}
.small{font-size:15px;line-height:1.5}
.cap{font-size:13px;line-height:1.45;color:var(--muted)}
.stack-s{display:flex;flex-direction:column;gap:12px}
.stack-m{display:flex;flex-direction:column;gap:24px}
.row-btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 22px 12px;font-family:var(--ff-h);font-weight:600;font-size:16.5px;line-height:1.15;letter-spacing:.005em;text-decoration:none;border:1.5px solid var(--blu);border-radius:2px;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.wp-block-button.btn>.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 22px 12px;font-family:var(--ff-h);font-weight:600;font-size:16.5px;line-height:1.15;letter-spacing:.005em;text-decoration:none;border:1.5px solid var(--blu);border-radius:2px;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.btn svg{flex:none;transition:transform .18s}
.wp-block-button.btn>.wp-block-button__link svg{flex:none;transition:transform .18s}
.btn:hover svg{transform:translateX(4px)}
.wp-block-button.btn:hover>.wp-block-button__link svg{transform:translateX(4px)}
.btn-primary{background:var(--blu);color:#fff}
.wp-block-button.btn-primary>.wp-block-button__link{background:var(--blu);color:#fff}
.btn-primary:hover{background:var(--acqua);border-color:var(--acqua);color:#fff}
.wp-block-button.btn-primary:hover>.wp-block-button__link{background:var(--acqua);border-color:var(--acqua);color:#fff}
.btn-secondary{background:#fff;color:var(--blu)}
.wp-block-button.btn-secondary>.wp-block-button__link{background:#fff;color:var(--blu)}
.btn-secondary:hover{background:var(--surf);color:var(--blu)}
.wp-block-button.btn-secondary:hover>.wp-block-button__link{background:var(--surf);color:var(--blu)}
.btn-light{background:#fff;color:var(--blu);border-color:#fff}
.wp-block-button.btn-light>.wp-block-button__link{background:#fff;color:var(--blu);border-color:#fff}
.btn-light:hover{background:var(--clima-t);color:var(--blu);border-color:var(--clima-t)}
.wp-block-button.btn-light:hover>.wp-block-button__link{background:var(--clima-t);color:var(--blu);border-color:var(--clima-t)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.wp-block-button.btn-ghost-light>.wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost-light:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.wp-block-button.btn-ghost-light:hover>.wp-block-button__link{background:rgba(255,255,255,.1);color:#fff;border-color:#fff}
.btn[disabled]{opacity:.55;cursor:progress}
.wp-block-button.btn[disabled]>.wp-block-button__link{opacity:.55;cursor:progress}
.link{font-family:var(--ff-h);font-weight:600;font-size:16px;line-height:1.3;color:var(--blu);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;display:inline-flex;align-items:center;gap:8px}
.link svg{transition:transform .18s;flex:none}
.link:hover{color:var(--acqua);text-decoration-thickness:2px}
.link:hover svg{transform:translateX(4px)}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:7px 10px 6px;border-radius:2px}
.tag-real{background:var(--blu);color:#fff}
.tag-example{background:#fff;color:var(--blu);border:1.5px dashed var(--blu)}
.tag-illu{background:rgba(255,255,255,.92);color:var(--muted);border:1px solid var(--line);font-size:11.5px;letter-spacing:.06em}
.cut{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.ph{position:relative;background-color:var(--acqua-t);background-image:url(../img/bg-pattern.svg);background-size:cover;background-position:center;display:flex;align-items:flex-end;min-height:220px}
.ph-cap{margin:14px;background:rgba(255,255,255,.94);padding:10px 12px;display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--muted);max-width:420px}
.ph-cap strong{display:block;font-family:var(--ff-h);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blu);margin-bottom:2px}
.ph-green{background-color:var(--amb-t)}
.ph-terra{background-color:var(--terr-t)}
.ph-sand{background-color:var(--clima-t)}
.ph-grey{background-color:var(--surf)}
.net-host{position:relative;isolation:isolate}
.net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
.net-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:22px;color:var(--muted);font-family:var(--ff-b);font-size:13.5px;cursor:pointer}
.net-toggle:hover{color:var(--blu);border-color:var(--it)}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line-soft)}
.hdr-in{display:flex;align-items:center;gap:28px;min-height:88px}
.logo-link{display:block;flex:none;margin-right:auto}
.logo{height:56px;width:auto;max-width:none;flex:none;object-fit:contain}
.nav{display:flex;align-items:center;gap:2px}
.nav a,.nav-btn{font-family:var(--ff-h);font-size:16.5px;font-weight:500;color:var(--blu);text-decoration:none;padding:12px 12px 10px;min-height:44px;display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;border-bottom:2px solid transparent}
.nav a:hover,.nav-btn:hover{color:var(--acqua);border-bottom-color:var(--acqua)}
.nav-btn[aria-expanded="true"]{border-bottom-color:var(--blu)}
.nav a[aria-current="page"]{border-bottom-color:var(--blu)}
.hdr-cta{min-height:46px;padding:10px 18px 9px}
.burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--blu);border-radius:2px;color:var(--blu);cursor:pointer}
.mega{border-top:1px solid var(--line-soft);background:#fff;box-shadow:0 18px 30px -24px rgba(15,45,91,.35)}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:36px 40px}
.mega-col{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:3px solid var(--line)}
.mega-col.s1{border-top-color:var(--terr)}
.mega-col.s2{border-top-color:var(--acqua)}
.mega-col.s3{border-top-color:var(--amb)}
.mega-col a{text-decoration:none;color:var(--text);font-size:15.5px}
.mega-col a:hover{color:var(--acqua);text-decoration:underline}
.mega-col .mega-lines{font-family:var(--ff-h);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.mega-col .mega-title{font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.2;color:var(--blu)}
.mega-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:16px 24px;border-top:1px solid var(--line-soft)}
.mnav{border-top:1px solid var(--line-soft);background:#fff;padding-block:8px 28px}
.mnav-list>li{border-bottom:1px solid var(--line-soft)}
.mnav-list a,.mnav-acc{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:56px;font-family:var(--ff-h);font-size:20px;font-weight:500;color:var(--blu);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.mnav-sub{padding:4px 0 16px 16px;display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--acqua-t2);margin-bottom:12px}
.mnav-sub a{font-size:16.5px;min-height:44px;font-family:var(--ff-b);font-weight:500}
.mnav-sub .mnav-s{font-size:15px;font-weight:400;color:var(--text);padding-left:14px;min-height:40px}
.mnav-sub .mnav-solnum{font-family:var(--ff-h);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:8px}
.mnav .btn{width:100%;margin-top:20px}
.mnav .wp-block-button.btn>.wp-block-button__link{width:100%;margin-top:20px}
/* hero */
.hero{padding-block:clamp(56px,6.5cqi,104px) clamp(56px,6cqi,96px)}
.hero .net{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.35) 38%,#000 60%);mask-image:linear-gradient(90deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.35) 38%,#000 60%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(40px,5cqi,88px);align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:28px}
.hero-for{display:flex;gap:12px;align-items:flex-start;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.5;max-width:560px}
.hero-map{position:relative;background:#fff;border:1px solid var(--line)}
.hero-map-art svg{display:block;width:100%;height:auto}
.hero-legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 18px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}
.hero-legend span{display:inline-flex;align-items:center;gap:8px}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(40px,5cqi,72px);flex-wrap:wrap}
.hero-map-art{position:relative;background:#fff url(../img/bg-pattern.svg) center/cover;padding:14px}
.hero-map-tag{position:absolute;left:14px;top:14px;z-index:1}
/* roots */
.roots-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6cqi,96px);align-items:stretch}
.roots-ph{min-height:640px}
.roots-copy{display:flex;flex-direction:column;gap:22px;justify-content:center;align-items:flex-start}
.roots-year{font-family:var(--ff-h);font-weight:700;font-size:clamp(4.5rem,2rem + 7cqi,8.5rem);line-height:.78;color:transparent;-webkit-text-stroke:1.4px #0F2D5B;letter-spacing:-.02em;margin-bottom:6px}
.roots-map{display:grid;grid-template-columns:minmax(0,.85fr) auto minmax(0,1.15fr);gap:28px;align-items:start;padding-top:28px;margin-top:6px;border-top:1px solid var(--line);width:100%}
.cap-h{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.roots-list li{padding:10px 0;border-bottom:1px solid var(--line-soft);font-family:var(--ff-h);font-weight:500;font-size:17px;color:var(--blu);line-height:1.3}
.roots-arrow{margin-top:52px;color:var(--it)}
.comp-list>*{display:grid;grid-template-columns:16px minmax(0,1fr);gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
.comp-list .li-b{font-family:var(--ff-h);font-weight:600;color:var(--blu);font-size:16px;line-height:1.3}
.comp-list .li-s{grid-column:2;font-size:14px;color:var(--muted);line-height:1.4}
.comp-list svg{margin-top:4px}
/* soluzioni */
.sol{padding-top:clamp(40px,4cqi,64px)}
.sol-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"intro s3 ." "s2 core s1";gap:64px clamp(28px,3.2cqi,52px);align-items:start}
.sol-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.sol-intro{grid-area:intro;display:flex;flex-direction:column;gap:20px;align-items:flex-start;padding-top:8px}
.sol-card{position:relative;z-index:1;padding:0 30px 30px;display:flex;flex-direction:column;gap:14px;transition:background-color .2s}
.sol-card.s1{grid-area:s1;background:#F9F4F1}
.sol-card.s1:hover{background:#F5EAE5}
.sol-card.s2{grid-area:s2;background:#EBF3F9}
.sol-card.s2:hover{background:#DBEAF4}
.sol-card.s3{grid-area:s3;background:#EEF5F2}
.sol-card.s3:hover{background:#E2EDE8}
.sol-card:focus-within{box-shadow:inset 0 0 0 3px #0068B2}
.sol-bar{display:flex;height:5px;margin:0 -30px 14px}
.sol-num{display:flex;align-items:baseline;gap:12px;font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sol-n{font-size:44px;line-height:1;letter-spacing:-.02em;font-weight:700}
.stretch{color:inherit;text-decoration:none}
.stretch::after{content:"";position:absolute;inset:0;z-index:2}
.stretch:focus-visible{outline:none}
.sol-problem{font-size:16.5px;line-height:1.5}
.sol-subs-h{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 -4px}
.sol-subs{border-top:1px solid rgba(15,45,91,.14);margin-top:0}
.sol-subs li{font-size:14.5px;line-height:1.35;padding:9px 0 8px;border-bottom:1px solid rgba(15,45,91,.1);color:var(--text)}
.sol-more{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-h);font-weight:600;color:var(--blu);margin-top:6px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.sol-more svg{transition:transform .18s}
.sol-card:hover .sol-more svg{transform:translateX(4px)}
.sol-core{grid-area:core;align-self:center;justify-self:center;position:relative;z-index:1;background:#fff;padding:22px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:290px}
/* esigenze */
.needs-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,6cqi,96px);align-items:start}
.needs-intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start;position:sticky;top:120px}
.needs-list{border-top:1.5px solid var(--blu)}
.needs-list>*{border-bottom:1px solid var(--line)}
.need{display:grid;grid-template-columns:16px minmax(0,1fr) minmax(0,14.5rem) 22px;gap:20px;align-items:start;padding:28px 12px 28px 6px;text-decoration:none;color:var(--text);transition:background-color .18s}
.need:hover{background:var(--surf);color:var(--text)}
.need:hover .need-arr{transform:translateX(5px);color:var(--acqua)}
.need-mark{margin-top:9px}
.need-body{display:flex;flex-direction:column;gap:6px}
.need-title{font-family:var(--ff-h);font-weight:600;font-size:clamp(1.3rem,1.1rem + .6cqi,1.65rem);line-height:1.15;color:var(--blu)}
.need-text{font-size:16px;line-height:1.5}
.need-who{font-size:13.5px;color:var(--muted)}
.need-dest{display:flex;flex-direction:column;gap:3px;font-family:var(--ff-h);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--blu);padding-top:4px}
.need-dest-l{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.need-arr{margin-top:6px;transition:transform .18s;color:var(--blu)}
/* metodo */
.method{border-top:1px solid var(--line-soft)}
.method .net{-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.2) 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.2) 100%)}
.method-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5cqi,96px);align-items:end}
.row-links{display:flex;flex-wrap:wrap;gap:12px 32px}
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:72px;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:10px;height:1px;background:rgba(15,45,91,.35)}
.step{position:relative;display:flex;flex-direction:column;gap:10px;padding-right:22px}
.step-node{position:relative;z-index:1;margin-bottom:10px}
.step-n{font-family:var(--ff-h);font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.step-out{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--blu);font-weight:500}
.step-out span{display:block;font-family:var(--ff-h);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.method-foot{display:flex;justify-content:space-between;align-items:center;gap:20px 48px;flex-wrap:wrap;margin-top:56px;padding:22px 24px;background:rgba(245,247,248,.92);border:1px solid var(--line-soft)}
.method-foot p{max-width:640px}
/* progetti */
.work-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5cqi,96px);align-items:end;margin-bottom:56px}
.work-key{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center;padding-top:18px;border-top:1px solid var(--line)}
.work-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto;gap:40px clamp(28px,3.5cqi,56px)}
.work-feature{grid-row:span 2;position:relative;display:flex;flex-direction:column;gap:0}
.work-feature:focus-within,.work-item:focus-within{outline:3px solid #0068B2;outline-offset:6px}
.work-visual{position:relative;background:#fff url(../img/bg-pattern.svg) center/cover;border:1px solid var(--line)}
.work-visual svg{display:block;width:100%;height:auto}
.work-visual-s{padding:34px 10px 6px}
.work-illu{position:absolute;left:12px;top:12px}
.work-legend{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 2px 0;font-size:13px;color:var(--muted)}
.work-legend>*{display:inline-flex;align-items:center;gap:8px}
.work-body{display:flex;flex-direction:column;gap:14px;padding-top:24px}
.work-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.work-sol{font-size:13.5px;color:var(--muted);font-weight:500}
.work-flow{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.work-flow>*{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:7px 12px 6px;background:var(--surf);border:1px solid var(--line-soft);color:var(--text)}
.work-flow .li-b{font-family:var(--ff-h);font-weight:700;color:var(--blu);font-size:13px}
.work-item{position:relative;display:flex;flex-direction:column;gap:12px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.work-ph{min-height:190px}
.work-meta{display:grid;gap:8px;margin:0}
.work-meta div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:12px;font-size:14.5px;line-height:1.4}
.work-meta dt{color:var(--muted)}
.work-meta dd{margin:0}
.phd{background:#F9F5EC;outline:1px dashed #B8975A;outline-offset:1px;padding:0 4px;color:var(--text)}
.work-foot{margin-top:48px}
/* rete */
.rete{border-top:1px solid var(--line-soft)}
.rete-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6cqi,96px);align-items:center}
.rete-copy{align-items:flex-start}
.rete-diagram{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:". ric ." "imp core pro" ". ist .";gap:28px 18px;align-items:center}
.rete-lines{position:absolute;inset:0;width:100%;height:100%}
.rnode{position:relative;background:#fff;border:1px solid var(--line);padding:16px 16px 14px;display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.4}
.rnode-k{display:flex;align-items:center;gap:8px;font-family:var(--ff-h);font-weight:600;font-size:16.5px;color:var(--blu)}
.rnode em{font-style:normal;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-family:var(--ff-h);font-weight:600;padding-top:6px;border-top:1px solid var(--line-soft);margin-top:4px}
.r-ric{grid-area:ric}
.r-imp{grid-area:imp}
.r-pro{grid-area:pro}
.r-ist{grid-area:ist}
.r-core{grid-area:core;background:#fff;border:1.5px solid transparent;text-align:center;align-items:center;padding:18px 14px 14px}
.rnode-core{font-family:var(--ff-h);font-weight:700;font-size:28px;letter-spacing:.02em}
.r-core em{color:#0F2D5B;width:100%}
.collab{margin-top:72px;border-top:1.5px solid var(--blu);padding-top:20px;display:flex;flex-direction:column;gap:16px}
.collab-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.collab-ctrl{display:flex;gap:8px}
.collab-ctrl button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:2px}
.collab-ctrl button[disabled]{opacity:.5}
.collab-empty{border:1.5px dashed #B8C0C7;padding:28px;font-size:15px;color:var(--muted);background:rgba(255,255,255,.9)}
.collab-empty b{color:var(--blu)}
/* contatto */
.contact{background:#0F2D5B;color:#fff;padding-block:clamp(72px,8cqi,120px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6cqi,96px);align-items:start}
.contact-copy{display:flex;flex-direction:column;gap:24px}
.topics{margin-top:8px}
.topic-row{display:flex;flex-wrap:wrap;gap:10px}
.topic{min-height:44px;padding:10px 16px 9px;border:1.5px solid rgba(255,255,255,.55);background:transparent;color:#fff;font-family:var(--ff-h);font-weight:500;font-size:15.5px;border-radius:22px;cursor:pointer}
.topic:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.topic[aria-pressed="true"]{background:#fff;color:#0F2D5B;border-color:#fff}
.contact :focus-visible{outline-color:#D7B77A}
.contact-direct{display:flex;flex-direction:column;gap:6px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);font-size:15px}
.contact-direct p{display:flex;flex-wrap:wrap;gap:8px}
.contact .phd{background:rgba(215,183,122,.16);outline-color:#D7B77A;color:#fff}
.form-panel{background:#fff;color:var(--text);padding:clamp(24px,3cqi,44px)}
.form-panel :focus-visible{outline-color:#0068B2}
.form{display:flex;flex-direction:column;gap:22px}
.f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.f-full{grid-column:1 / -1}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:var(--ff-h);font-weight:600;font-size:15px;color:var(--blu)}
.req{color:#774E3C}
.input{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #7A8794;border-radius:2px;background:#fff;font:inherit;font-size:16px;color:var(--text)}
.input:hover{border-color:var(--it)}
.input:focus{outline:3px solid rgba(0,104,178,.35);outline-offset:0;border-color:#0068B2}
textarea.input{resize:vertical;min-height:120px}
.input.is-invalid{border-color:#A3322B;background:#FDF7F6}
.f-err{display:flex;gap:6px;font-size:14px;color:#A3322B;font-weight:500}
.f-help{font-size:13.5px;color:var(--muted)}
.err-sum{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border:1.5px solid #A3322B;background:#FDF7F6;color:#7A231E;font-size:15px}
.err-sum svg{flex:none;margin-top:2px}
.more-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;background:none;border:0;color:var(--blu);font-family:var(--ff-h);font-weight:600;font-size:15.5px;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.sent{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding-block:24px}
.proto{font-size:13px;color:var(--muted);padding:8px 12px;background:var(--surf);border:1px dashed var(--line)}
/* footer */
.ftr{padding-block:72px 32px;background:#fff}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px}
.ftr-brand{display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:340px}
.ftr-list{display:flex;flex-direction:column;gap:10px;font-size:15px}
.ftr-list a{color:var(--text);text-decoration:none}
.ftr-list a:hover{color:var(--acqua);text-decoration:underline}
.ftr-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line)}
.ftr-legal{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.ftr-legal a{color:var(--muted)}
.ftr-cert a{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.35}
.ftr-cert img{flex:none;width:auto;height:56px}
.ftr-ck{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--muted);text-decoration:underline;cursor:pointer}
.ftr-ck:hover{color:var(--acqua)}
.ftr-ck:focus-visible{outline:3px solid #0068B2;outline-offset:2px}
/* consenso cookie (banner e pannello preferenze) */
.ck-banner{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end;padding:0 16px;pointer-events:none}
.ck-in{pointer-events:auto;position:sticky;bottom:16px;width:100%;max-width:1120px;margin:0 auto 16px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blu);box-shadow:0 12px 40px rgba(15,45,91,.18);padding:22px 64px 22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:end}
.ck-text{display:flex;flex-direction:column;gap:6px}
.ck-text a,.ck-panel a{color:var(--blu)}
.ck-t{font-family:var(--ff-h);font-weight:700;font-size:18px;line-height:1.25;color:var(--blu);margin:0}
.ck-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ck-btn{min-height:44px;padding:10px 18px;font-family:var(--ff-h);font-weight:600;font-size:15px;line-height:1.2;background:var(--blu);color:#fff;border:1.5px solid var(--blu);cursor:pointer}
.ck-btn:hover{background:#0B2347}
.ck-btn:focus-visible,.ck-link:focus-visible,.ck-x:focus-visible,.ck-switch:focus-visible{outline:3px solid #0068B2;outline-offset:2px}
.ck-link{min-height:44px;background:none;border:0;padding:0 8px;font-family:var(--ff-h);font-weight:600;font-size:15px;color:var(--blu);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.ck-x{position:absolute;top:8px;right:8px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--muted);cursor:pointer}
.ck-x:hover{color:var(--blu);background:var(--surf)}
.ck-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,45,91,.45);padding:16px}
.ck-panel{position:sticky;top:16px;margin:0 auto;width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-top:3px solid var(--blu);padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 48px rgba(15,45,91,.25)}
.ck-panel .ck-btns .ck-btn{flex:1 1 auto}
.ck-ph{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-6px -10px 0 0}
.ck-ph .ck-x{position:static}
.ck-cat{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--line)}
.ck-cd{display:flex;flex-direction:column;gap:4px}
.ck-ct{font-family:var(--ff-h);font-weight:600;font-size:16px;color:var(--blu);margin:0}
.ck-rec{margin:0;padding-top:12px;border-top:1px solid var(--line)}
.ck-always{flex:none;font-size:13.5px;font-weight:600;color:#24654A;padding-top:2px}
.ck-switch{flex:none;position:relative;width:52px;height:30px;border-radius:15px;border:1.5px solid var(--muted);background:#fff;cursor:pointer;margin-top:2px;padding:0}
.ck-switch span{position:absolute;top:4px;left:4px;width:19px;height:19px;border-radius:50%;background:var(--muted);transition:transform .15s}
.ck-switch[aria-checked="true"]{background:var(--blu);border-color:var(--blu)}
.ck-switch[aria-checked="true"] span{transform:translateX(22px);background:#fff}
@container site (max-width:700px){.ck-btns .ck-btn{flex:1 1 100%}
.ck-in{grid-template-columns:minmax(0,1fr);padding:20px 18px 18px;margin-bottom:12px}
.ck-in .ck-text{padding-right:36px}
.ck-panel{padding:22px 18px 18px}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;display:flex;gap:10px;align-items:center;background:#0F2D5B;color:#fff;padding:14px 18px;font-size:14.5px;max-width:calc(100% - 32px);box-shadow:0 10px 30px -12px rgba(15,45,91,.5)}
@media (prefers-reduced-motion: reduce){.wp-site-blocks *{transition:none !important}}
/* rete di pagina, logo, trasformazione, carosello */
.net-fixed{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
.core-logo{width:150px;height:auto;display:block}
.core-logo-s{width:112px;margin:0 auto 4px}
.evo{position:relative;background:#F5F7F8 url(../img/bg-pattern.svg) center/cover;display:flex;flex-direction:column;gap:20px;padding:28px}
.evo-stage{position:relative;flex:1;min-height:400px;display:flex;align-items:center;justify-content:center}
.evo-lock{position:relative;width:min(76%,380px);aspect-ratio:640/656.54}
.evo-lock img{position:absolute;height:auto;transition:opacity 2s ease}
.evo-old{left:0;top:51.412%;width:100%;opacity:1}
.evo-new{left:10.178%;top:0;width:79.488%;opacity:0}
.evo.is-new .evo-old{opacity:0;transition-duration:1.8s}
.evo.is-new .evo-new{opacity:1;transition-delay:.4s}
.evo.is-reset .evo-lock img,.evo.is-reset .evo-track i{transition:none}
.evo-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;font-family:var(--ff-h);font-weight:600;font-size:14px;color:var(--blu)}
.evo-end{display:inline-flex;align-items:center;gap:10px}
.evo-end img{height:22px;width:auto}
.evo-track{position:relative;height:2px;background:var(--line);overflow:hidden}
.evo-track i{position:absolute;left:0;top:0;bottom:0;width:0;background:#0F2D5B;transition:width 2.6s cubic-bezier(.2,.7,.2,1)}
.evo.is-new .evo-track i{width:100%}
.evo-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 20px;flex-wrap:wrap}
.evo-cap{font-size:13.5px;line-height:1.45;color:var(--muted);max-width:330px}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq-lr 100s linear infinite}
.mq-track-2{margin-top:16px;animation-duration:120s}
.marquee:hover .mq-track,.marquee:focus-within .mq-track,.marquee.is-paused .mq-track{animation-play-state:paused}
.mq-tile{flex:none;width:192px;height:96px;margin-right:16px;border:1px solid var(--line-soft);background:#fff;display:flex;align-items:center;justify-content:center}
.mq-tile img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes mq-lr{from{transform:translateX(-50%)}
to{transform:translateX(0)}}
@media (prefers-reduced-motion: reduce){.evo-lock img,.evo-track i{transition:none}
.mq-track{animation:none}
.mq-track [aria-hidden="true"]{display:none}
.marquee{overflow-x:auto}}
/* soluzione */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-btn.is-current{border-bottom-color:var(--blu)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 8px;font-size:14px;color:var(--muted);margin-bottom:40px}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li+li::before{content:"/";color:#8E9AA5}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--acqua)}
.s-hero{padding-block:32px clamp(40px,4cqi,64px)}
.s-hero .net{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.35) 40%,#000 75%);mask-image:linear-gradient(90deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.35) 40%,#000 75%)}
.s-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,5cqi,88px);align-items:stretch}
.s-hero-copy{display:flex;flex-direction:column;gap:26px;justify-content:center}
.s-hero-ph{min-height:540px}
.who{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--line)}
.who-list{display:flex;flex-wrap:wrap;gap:8px}
.who-list li{font-size:14px;padding:6px 11px 5px;border:1px solid var(--line);background:#fff;color:var(--text)}
.subnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;border-top:1.5px solid var(--blu);background:rgba(255,255,255,.92)}
.subnav a{display:flex;gap:14px;align-items:baseline;padding:18px 20px 18px 4px;font-family:var(--ff-h);font-weight:600;font-size:17px;line-height:1.25;color:var(--blu);text-decoration:none;border-bottom:1px solid var(--line)}
.subnav a+a{padding-left:20px;border-left:1px solid var(--line)}
.subnav a:hover{color:var(--acqua);background:var(--acqua-t)}
.subnav span{font-size:13px;letter-spacing:.06em;color:var(--muted)}
.contrib{background:rgba(245,247,248,.62)}
.contrib .net{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 55%);mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 55%)}
.contrib-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6cqi,96px);align-items:start}
.contrib-right{display:flex;flex-direction:column;gap:44px}
.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.chain::before{content:"";position:absolute;left:8px;right:24px;top:7px;height:1px;background:rgba(15,45,91,.35)}
.chain>*{position:relative;display:flex;flex-direction:column;gap:4px;padding-right:12px}
.chain svg{position:relative;background:#F5F7F8;padding-right:6px;box-sizing:content-box}
.chain .li-b{font-family:var(--ff-h);font-weight:600;color:var(--blu);font-size:17px;margin-top:10px}
.chain .li-s{font-size:13.5px;color:var(--muted);line-height:1.4}
.qs{display:flex;flex-direction:column}
.qs .cap-h{margin-bottom:6px}
.q{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 4px;border-top:1px solid var(--line);text-decoration:none;color:var(--blu)}
.q:last-child{border-bottom:1px solid var(--line)}
.q:hover{background:#fff;color:var(--acqua)}
.q-n{font-family:var(--ff-h);font-weight:600;font-size:14px;color:var(--muted)}
.q-t{font-family:var(--ff-h);font-weight:500;font-size:clamp(1.15rem,1rem + .5cqi,1.45rem);line-height:1.25}
.svc-stack{display:flex;flex-direction:column;gap:clamp(72px,8cqi,128px)}
.svc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(36px,5cqi,80px);align-items:center;scroll-margin-top:100px}
.svc-rev .svc-media{order:2}
.svc-media{display:flex;flex-direction:column}
.svc-vis{padding:44px 16px 10px}
.svc-body{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.svc-num{font-family:var(--ff-h);font-weight:700;font-size:44px;line-height:1;letter-spacing:-.02em}
.svc-title{font-family:var(--ff-h);font-weight:700;color:var(--blu);font-size:clamp(1.6rem,1.2rem + 1.2cqi,2.3rem);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.svc-q{font-family:var(--ff-h);font-weight:500;font-size:clamp(1.15rem,1rem + .4cqi,1.35rem);line-height:1.3;color:var(--blu)}
.svc-out{width:100%;padding-top:14px;border-top:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:14px;padding:7px 12px 6px;background:var(--acqua-t);color:var(--blu);font-weight:500}
.chips-green li{background:var(--amb-t)}
.svc-use{font-size:15.5px}
.svc-use b{display:block;font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.svc-ex{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:15px}
.svc-x{font-size:14.5px;color:var(--muted)}
.outs{background:var(--surf)}
.outs-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5cqi,96px);align-items:end;margin-bottom:48px}
.otable{width:100%;border-collapse:collapse;font-size:15.5px;background:#fff}
.otable th,.otable td{text-align:left;vertical-align:top;padding:18px 20px;border-bottom:1px solid var(--line)}
.otable thead th{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--blu);background:var(--surf)}
.otable tbody th{font-family:var(--ff-h);font-weight:600;font-size:17px;line-height:1.3;color:var(--blu);width:27%}
.ref{display:inline-block;font-family:var(--ff-h);font-weight:700;font-size:13px;line-height:1;padding:5px 8px 4px;margin:0 4px 4px 0;color:#fff;letter-spacing:.02em}
.ref-a{background:#0068B2}
.ref-g{background:#2E7D59}
.ref-i{background:#425563}
.example{border-bottom:1px solid var(--line-soft)}
.ex-head{display:flex;flex-direction:column;gap:18px;max-width:840px;margin-bottom:48px}
.ex-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5cqi,80px);align-items:start}
.ex-steps{display:flex;flex-direction:column}
.ex-steps>*{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.ex-n{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--blu);border-radius:50%;font-family:var(--ff-h);font-weight:600;color:var(--blu)}
.ex-steps .h4 .ref{margin-left:6px;vertical-align:3px}
.ex-links{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.clarify-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6cqi,96px);align-items:start}
.clarify .stack-m{align-items:flex-start}
.acc{border-top:1.5px solid var(--blu)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 4px;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--ff-h);font-weight:600;font-size:clamp(1.1rem,1rem + .35cqi,1.3rem);line-height:1.25;color:var(--blu)}
.acc-btn:hover{color:var(--acqua)}
.acc-btn svg{flex:none}
.acc-p{padding:0 56px 26px 4px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.others{padding-top:0}
.others-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-top:28px;border-top:1px solid var(--line)}
.others-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.others-grid .sol-card{grid-area:auto}
.useful{display:flex;flex-direction:column;gap:10px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.useful-list{display:flex;flex-direction:column;gap:8px}
.useful-list>*{display:flex;gap:10px;align-items:baseline;font-size:15.5px;color:#E7ECF3}
/* NEXTCSS */
/* pagine: elementi comuni */
.p-hero{padding-block:32px clamp(48px,5cqi,80px)}
.p-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,5cqi,88px);align-items:end}
.p-hero-copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.p-aside{display:flex;flex-direction:column;border-top:1.5px solid var(--blu);background:rgba(255,255,255,.92)}
.p-aside a,.p-aside .p-aside-i{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--blu);font-family:var(--ff-h);font-weight:600;font-size:17px;line-height:1.25}
.p-aside a:hover{color:var(--acqua);background:var(--surf)}
.p-aside span{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--muted);flex:none}
.sec-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5cqi,96px);align-items:end;margin-bottom:48px}
.sec-head .stack-m{align-items:flex-start}
.bg-surf{background:rgba(245,247,248,.72)}
.sec-line{border-top:1px solid var(--line-soft)}
.ref-t{background:#774E3C}
.ref-b{background:#0F2D5B}
.ref-s{background:#6B5A2E}
.chips-terr li{background:var(--terr-t)}
.chips-sand li{background:var(--clima-t)}
.chips-grey li{background:var(--surf)}
.steps-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.lnk-row{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center}
.illu{position:relative;background:#fff url(../img/bg-pattern.svg) center/cover;border:1px solid var(--line);padding:44px 16px 10px}
.illu svg{display:block;width:100%;height:auto}
.illu .work-illu{position:absolute;left:12px;top:12px}
/* hub soluzioni */
.solrows{display:flex;flex-direction:column;gap:28px}
.solrow{position:relative;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:20px clamp(24px,3cqi,48px);padding:0 32px 32px}
.solrow.s1{background:#F9F4F1}
.solrow.s2{background:#EBF3F9}
.solrow.s3{background:#EEF5F2}
.solrow .sol-bar{grid-column:1 / -1;margin:0 -32px 8px}
.solrow-id{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.solrow-id h2{font-family:var(--ff-h);font-weight:700;color:var(--blu);font-size:clamp(1.5rem,1.2rem + .9cqi,2.1rem);line-height:1.1}
.solrow-subs{display:flex;flex-direction:column;border-top:1px solid rgba(15,45,91,.16)}
.solrow-subs a{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 20px;gap:12px;padding:15px 0;border-bottom:1px solid rgba(15,45,91,.16);text-decoration:none;color:var(--blu)}
.solrow-subs a:hover b{color:var(--acqua);text-decoration:underline}
.solrow-subs a svg{margin-top:2px;transition:transform .18s}
.solrow-subs a:hover svg{transform:translateX(4px)}
.solrow-subs .sn{font-family:var(--ff-h);font-weight:600;font-size:13px;color:var(--muted);padding-top:2px}
.solrow-subs b{font-family:var(--ff-h);font-weight:600;font-size:16.5px;line-height:1.25}
.solrow-subs small{display:block;font-family:var(--ff-b);font-size:14px;font-weight:400;line-height:1.45;color:var(--text);margin-top:4px}
.solrow-out{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.solrow .chips li{background:#fff}
/* settori */
.sectors{border-top:1.5px solid var(--blu)}
.sector{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,.9fr);gap:28px;padding:28px 4px;border-bottom:1px solid var(--line);align-items:start}
.sector-name{display:flex;gap:12px;align-items:flex-start}
.sector-name svg{margin-top:8px;flex:none}
.sector-name h3{font-family:var(--ff-h);font-weight:600;font-size:clamp(1.25rem,1.1rem + .5cqi,1.55rem);line-height:1.15;color:var(--blu)}
.sector-body{display:flex;flex-direction:column;gap:12px}
.sector-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sol-tags{display:flex;flex-wrap:wrap;gap:8px}
.sol-tag{display:inline-flex;align-items:center;gap:7px;min-height:36px;font-family:var(--ff-h);font-weight:600;font-size:13.5px;padding:7px 11px 6px;border:1px solid var(--line);background:#fff;color:var(--blu);text-decoration:none}
.sol-tag:hover{border-color:var(--blu);color:var(--blu)}
.sol-tag i{display:block;width:9px;height:9px;flex:none}
.partner-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.partner{display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid var(--line);background:#fff;align-items:flex-start}
.partner h3{font-family:var(--ff-h);font-weight:700;font-size:clamp(1.3rem,1.1rem + .6cqi,1.65rem);line-height:1.12;color:var(--blu)}
.partner .partner-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding-top:8px}
.partner.is-main{background:#0F2D5B;border-color:#0F2D5B;color:#E7ECF3}
.partner.is-main h3{color:#fff}
.partner.is-main .eyebrow{color:#D7B77A}
.partner.is-main .link{color:#fff}
.partner.is-main .link:hover{color:#D7B77A}
.partner.is-main :focus-visible{outline-color:#D7B77A}
.partner-list{display:flex;flex-direction:column;gap:8px;font-size:15px}
.partner-list>*{display:flex;gap:10px;align-items:baseline}
/* progetti */
.filters{display:flex;flex-direction:column;gap:14px;padding:22px 24px;border:1px solid var(--line);background:rgba(255,255,255,.95)}
.fgroup{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:12px;align-items:start}
.fgroup-l{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:13px}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{min-height:44px;padding:9px 15px 8px;border:1.5px solid var(--line);background:#fff;color:var(--blu);font-family:var(--ff-h);font-weight:500;font-size:15px;line-height:1.2;border-radius:22px;cursor:pointer}
.fchip:hover{border-color:var(--blu)}
.fchip[aria-pressed="true"]{background:#0F2D5B;color:#fff;border-color:#0F2D5B}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin:28px 0 20px}
.fcount{font-family:var(--ff-h);font-weight:600;font-size:16px;color:var(--blu)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:24px}
.pcard{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 24px 22px;background:#fff;border:1px solid var(--line);border-top-width:4px;transition:border-color .18s}
.pcard:hover{border-color:#9AA6B1}
.pcard:focus-within{outline:3px solid #0068B2;outline-offset:3px}
.pb-s1{border-top-color:#C68C70}
.pb-s2{border-top-color:#0068B2}
.pb-s3{border-top-color:#2E7D59}
.pb-multi{border-top-color:#0F2D5B}
.pb-none{border-top-color:#B8C0C7}
.pcard.is-ph{border-style:dashed;background:rgba(249,245,236,.75)}
.pcard h3{font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.22;color:var(--blu)}
.pcard-l{font-size:13.5px;font-weight:600;color:var(--muted)}
.pcard-meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--muted)}
.pnone{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:36px;border:1.5px dashed #B8C0C7;background:#fff}
.pnone h3{font-family:var(--ff-h);font-weight:600;font-size:22px;color:var(--blu)}
/* esempio */
.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--blu);margin:0}
.meta-grid div{display:flex;flex-direction:column;gap:6px;padding:16px 20px 16px 0;border-bottom:1px solid var(--line)}
.meta-grid dt{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.meta-grid dd{margin:0;font-size:15px;line-height:1.45;color:var(--text)}
.meta-grid dd a{font-weight:600}
.ocards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ocard{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:3px solid var(--line);align-items:flex-start}
.ocard h3{font-family:var(--ff-h);font-weight:600;font-size:20px;line-height:1.2;color:var(--blu)}
.ocard.o-s1{border-top-color:#C68C70}
.ocard.o-s2{border-top-color:#0068B2}
.ocard.o-s23{border-top-color:#425563}
.limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.limits > div{display:flex;flex-direction:column;gap:10px;padding:24px;background:#fff;border:1px solid var(--line)}
/* come lavoriamo */
.team-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5cqi,80px);padding:clamp(28px,4cqi,56px);background:#0F2D5B;color:#E7ECF3;scroll-margin-top:100px}
.team-block :focus-visible{outline-color:#D7B77A}
.team-block .stack-m{align-items:flex-start}
.def-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0}
.def-list div{display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
.def-list dt{font-family:var(--ff-h);font-weight:600;color:#fff;font-size:17px}
.def-list dd{margin:0;font-size:14.5px;line-height:1.5;color:#C9D3E0}
.ctx-list{display:flex;flex-wrap:wrap;gap:8px}
.ctx-list li{font-size:14px;padding:7px 12px 6px;border:1px solid rgba(255,255,255,.35);color:#fff}
.modes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1.5px solid var(--blu)}
.mode{display:flex;flex-direction:column;gap:10px;padding:24px 22px 24px 0}
.mode + .mode{padding-left:22px;border-left:1px solid var(--line)}
.mode h3{font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.2;color:var(--blu)}
.evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}
.ev{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.ev h3{font-family:var(--ff-h);font-weight:600;font-size:18px;color:var(--blu)}
.fw{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5cqi,80px);align-items:start}
.fw-tabs{display:flex;flex-direction:column;border-top:1.5px solid var(--blu)}
.fw-tab{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);text-align:left;cursor:pointer;font-family:var(--ff-h);font-weight:600;font-size:17px;color:var(--blu)}
.fw-tab:hover{background:var(--surf)}
.fw-tab span{font-size:13px;font-weight:600;color:var(--muted)}
.fw-tab[aria-pressed="true"]{background:#0F2D5B;color:#fff}
.fw-tab[aria-pressed="true"] span{color:#D7B77A}
.fw-panel{display:flex;flex-direction:column;gap:18px}
.fw-panel h3.h3{margin-bottom:2px}
.fw-note{padding:14px 16px;background:var(--clima-t);border:1px solid #E6D6B0;font-size:14.5px;line-height:1.5}
.fw-item-p{display:flex;flex-direction:column;gap:10px}
.fw-item-p b{font-family:var(--ff-h);font-weight:600;color:var(--blu);font-size:14px;letter-spacing:.02em}
.fw-src{font-size:13.5px;color:var(--muted)}
/* chi siamo */
.comp-map .rnode{gap:6px}
.comp-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:56px}
.cd{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:3px solid var(--line)}
.cd h3{font-family:var(--ff-h);font-weight:600;font-size:21px;color:var(--blu)}
.cd.c-acq{border-image:linear-gradient(90deg,#0068B2 50%,#2E7D59 50%) 1}
.cd.c-ter{border-image:linear-gradient(90deg,#C68C70 50%,#D7B77A 50%) 1}
.cd.c-dat{border-top-color:#425563}
.cd.c-ric{border-top-color:#0F2D5B}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tcard{display:flex;flex-direction:column;gap:8px}
.team-label{margin:0 0 16px}
.team-core{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.team-core .tcard{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start;padding:20px;border:1px solid var(--line);background:#fff}
.tphoto{aspect-ratio:4 / 5;background:var(--surf);overflow:hidden}
.tphoto img{display:block;width:100%;height:100%;object-fit:cover}
.tbody{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.t-role{font-family:var(--ff-h);font-weight:600;font-size:15px;line-height:1.3;color:var(--acqua)}
.t-area{font-size:14.5px;line-height:1.45;color:var(--muted)}
.t-det{width:100%}
.t-more{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;margin-top:2px;background:none;border:0;font-family:var(--ff-h);font-weight:600;font-size:14.5px;color:var(--blu);cursor:pointer;text-decoration:underline;text-underline-offset:5px;list-style:none}
.t-more::-webkit-details-marker{display:none}
.t-more:hover{color:var(--acqua)}
.t-det[open] .t-more svg path{d:path("M5 12h14")}
.t-bio{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line-soft)}
.cert-head{display:flex;align-items:center;gap:16px}
.cert-head img{flex:none;width:96px;height:auto}
.cert-std{font-family:var(--ff-h);font-weight:700;font-size:18px;line-height:1.2;color:var(--blu)}
.q-cert{display:flex;flex-direction:column;gap:12px}
.tcard .ph{min-height:0;aspect-ratio:4 / 5;width:50%}
.tcard .ph-cap{margin:6px;padding:5px 7px;font-size:11.5px}
.quality{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.quality > div{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid var(--line);background:#fff;align-items:flex-start}
/* insights */
.ifeat{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);background:#fff;border:1px solid var(--line)}
.ifeat:focus-within{outline:3px solid #0068B2;outline-offset:3px}
.ifeat-body{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3cqi,40px);align-items:flex-start;justify-content:center}
.ifeat-body h2{font-family:var(--ff-h);font-weight:700;font-size:clamp(1.6rem,1.2rem + 1.1cqi,2.3rem);line-height:1.1;color:var(--blu)}
.ifeat .illu{border:0;border-right:1px solid var(--line)}
.igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:24px}
.icard{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-top-width:4px}
.icard:hover{border-color:#9AA6B1}
.icard:focus-within{outline:3px solid #0068B2;outline-offset:3px}
.icard-art{border-top-color:#0068B2}
.icard-pub{border-top-color:#0F2D5B}
.icard-for{border-top-color:#2E7D59}
.icard.is-ph{border-style:dashed;background:rgba(249,245,236,.75)}
.icard h3{font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.22;color:var(--blu)}
.ifmt{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.icard .sol-more{margin-top:auto}
/* articolo */
.art-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(40px,5cqi,96px);align-items:start}
.art-body{display:flex;flex-direction:column;gap:20px;font-size:18px;line-height:1.7;max-width:740px}
.art-body h2{font-family:var(--ff-h);font-weight:700;color:var(--blu);font-size:clamp(1.45rem,1.2rem + .7cqi,1.85rem);line-height:1.15;margin-top:18px;scroll-margin-top:110px}
.art-body .lead{font-size:clamp(1.15rem,1rem + .4cqi,1.35rem)}
.dl{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.dl>*{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.dl .li-b{font-family:var(--ff-h);font-weight:600;color:var(--blu)}
.callout{display:flex;flex-direction:column;gap:12px;padding:24px 26px;background:var(--acqua-t)}
.callout h3{font-family:var(--ff-h);font-weight:600;font-size:20px;color:var(--blu)}
.checklist{display:flex;flex-direction:column;gap:8px;font-size:16px}
.checklist>*{display:flex;gap:10px;align-items:baseline}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14.5px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}
.art-aside{display:flex;flex-direction:column;gap:28px;position:sticky;top:110px}
.toc{display:flex;flex-direction:column;border-top:1.5px solid var(--blu)}
.toc a{padding:12px 2px;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--ff-h);font-weight:500;font-size:16px;color:var(--blu)}
.toc a:hover{color:var(--acqua)}
.aside-box{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);background:#fff;align-items:flex-start}
/* contatti */
.paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.path{position:relative;display:flex;flex-direction:column;gap:12px;padding:0 22px 24px;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);transition:border-color .18s}
.path:hover{border-color:#0F2D5B;color:var(--text)}
.path .sol-bar{margin:0 -22px 10px}
.path h3{font-family:var(--ff-h);font-weight:600;font-size:20px;line-height:1.2;color:var(--blu)}
.path-share{font-size:14px;line-height:1.45;color:var(--muted)}
.path .sol-more{margin-top:auto}
.direct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.direct div{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--line)}
.direct dt{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.direct dd{margin:0;font-size:16px}
/* illustrazioni HTML: matrice, corsie, pacchetti di lavoro, WebGIS */
.mx{width:100%;border-collapse:collapse;background:#fff;font-size:14.5px}
.mx th,.mx td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.mx thead th{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--blu)}
.mx tbody th{font-weight:600;color:var(--blu)}
.st{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.st i{display:block;width:12px;height:12px;border-radius:50%;border:2px solid #0F2D5B}
.st-ok i{background:#0F2D5B}
.st-up i{background:linear-gradient(90deg,#0F2D5B 50%,#fff 50%)}
.st-no i{background:#fff}
.lanes{display:flex;flex-direction:column;gap:14px}
.lane{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:14px;align-items:center;font-size:14px;color:var(--blu);font-weight:500}
.lane-track{position:relative;height:14px;background:var(--line-soft)}
.lane-track i{position:absolute;top:0;bottom:0;display:block}
.lane-axis-l{display:flex;justify-content:space-between;padding-top:8px;border-top:1px solid var(--line);font-family:var(--ff-h);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wp{display:flex;flex-direction:column;gap:18px}
.wp-top{align-self:center;padding:12px 22px;background:#0F2D5B;color:#fff;font-family:var(--ff-h);font-weight:600;font-size:16px}
.wp-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:18px;border-top:1.5px solid #0F2D5B}
.wp-box{display:flex;flex-direction:column;gap:4px;padding:12px;background:#fff;border:1px solid var(--line);font-size:14px;line-height:1.35;color:var(--blu);font-weight:500}
.wp-box b{font-family:var(--ff-h);font-size:11.5px;letter-spacing:.12em;color:#2E7D59}
.wp-sites{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.wp-sites span{font-size:13px;padding:6px 10px;border:1px dashed #2E7D59;background:#EEF5F2;color:var(--blu)}
.gis{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;font-size:13px}
.gis-bar{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;background:#0F2D5B;color:#fff}
.gis-bar b{font-family:var(--ff-h);font-weight:600;font-size:13.5px}
.gis-bar span{color:#C9D3E0}
.gis-body{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 9.5rem;min-height:230px}
.gis-layers,.gis-card{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surf);color:var(--text)}
.gis-layers p,.gis-card p{font-family:var(--ff-h);font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gl{display:flex;align-items:center;gap:8px}
.gl::before{content:"";width:12px;height:12px;border:1.5px solid #425563;background:#fff;flex:none}
.gl.is-on::before{background:#0F2D5B;border-color:#0F2D5B}
.gis-map{background:#fff url(../img/bg-pattern.svg) center/cover;display:flex;align-items:center}
.gis-map svg{display:block;width:100%;height:auto}
.gis-card span{padding-bottom:6px;border-bottom:1px solid var(--line)}
.steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.modes-4{grid-template-columns:repeat(4,minmax(0,1fr))}
/* NEXTCSS *//* aggiunte pagine fase 2 */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text);transition:border-color .18s}
.access a:hover{border-color:var(--blu);color:var(--text)}
.access a:hover svg{transform:translateX(4px)}
.access b{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--ff-h);font-weight:600;font-size:16px;color:var(--blu)}
.access b svg{transition:transform .18s}
.access span{font-size:14px;line-height:1.45;color:var(--muted)}
.link-btn{background:none;border:0;padding:0;cursor:pointer}
.pcard .tag,.icard .tag{align-self:flex-start}
a.ref{text-decoration:none;color:#fff}
a.ref:hover{color:#fff;box-shadow:inset 0 -3px 0 rgba(255,255,255,.55)}
.ex-disclaimer{padding:12px 14px;border-left:3px solid #0F2D5B;background:rgba(255,255,255,.92)}
.ex-steps .step-out{margin-top:6px}
.direct-col{grid-template-columns:minmax(0,1fr);gap:0}
.direct-col div{padding:12px 0;border-top:1px solid var(--line)}
.fw .acc-h{font-size:inherit}
.comp-grid{grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr)}
.comp-map .rnode-k{align-items:flex-start;line-height:1.2}
.comp-map .rnode-k svg{margin-top:4px;flex:none}
/* illustrazioni stilizzate nelle hero delle soluzioni */
.s-hero-art{position:relative;margin:0;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:540px;padding:52px 18px 12px;background:#fff url(../img/bg-pattern.svg) center/cover;border:1px solid var(--line)}
.s-hero-art>svg{display:block;width:100%;height:auto}
.s-hero-art .work-illu{position:absolute;left:12px;top:12px}
.s-hero-art .work-legend{padding-top:4px}
.icard .pcard-meta+.sol-more{margin-top:0}
/* Soluzione 2: mappa dei framework di sostenibilità */
.fwm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fwm-card{display:flex;flex-direction:column;gap:14px;padding:20px 22px 22px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--line)}
.fwm-t{display:flex;align-items:center;gap:10px;font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.2;color:var(--blu)}
.fwm-t svg{flex:none}
.fwm-tags{display:flex;flex-wrap:wrap;gap:6px}
.fwm-tags li{font-family:var(--ff-h);font-weight:600;font-size:13.5px;line-height:1.2;padding:6px 10px 5px;border:1px solid var(--line);background:var(--surf);color:var(--blu)}
.fwm-d{margin-top:auto;font-size:15px;line-height:1.5;color:var(--text)}
.fwm-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.fwm-claim{font-family:var(--ff-h);font-weight:700;font-size:clamp(1.05rem,.95rem + .35cqi,1.25rem);line-height:1.3;color:var(--blu)}
.refs-line{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:15px}
.refs-line b{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
/* Chi siamo: delta delle competenze */
.delta-wrap{container:delta / inline-size}
.delta{position:relative;aspect-ratio:1152/580;margin-top:8px}
.delta-bg{position:absolute;inset:0;width:100%;height:100%;display:block}
.dfam-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dlab{position:absolute;margin:0;font-family:var(--ff-h);font-weight:700;font-size:clamp(9.5px,1cqi,11.5px);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;line-height:1.1}
.dlab-c{transform:translateX(-50%)}
.dlab-r{transform:translateX(-100%)}
.dn{position:absolute;width:11.2%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.dn-ic{width:clamp(26px,2.95cqi,34px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 3px rgba(255,255,255,.9);flex:none}
.dn-ic svg{width:58%;height:58%}
.dn-l{font-family:var(--ff-h);font-weight:600;font-size:clamp(10px,1.13cqi,13px);line-height:1.18;color:var(--blu)}
.dcore{position:absolute;width:clamp(40px,4.6cqi,54px);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line),0 2px 8px rgba(15,45,91,.1);transform:translate(-50%,-50%);display:grid;place-items:center}
.dcore img{width:62%;height:auto}
.delta-key{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-size:14px;color:var(--muted)}
.delta-key span{display:inline-flex;align-items:center;gap:8px}
.delta-key i{display:block;width:12px;height:12px;border-radius:50%}
@container delta (max-width: 820px){.delta{aspect-ratio:auto;display:flex;flex-direction:column;gap:12px}
.delta-bg,.dlab,.dcore{display:none}
.dfam{padding:14px 16px 16px;border-top:3px solid var(--line)}
.dfam-h{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:flex;align-items:center;gap:10px;font-family:var(--ff-h);font-weight:700;font-size:16px;color:var(--blu);margin-bottom:12px}
.dfam-dot{width:12px;height:12px;border-radius:50%;flex:none}
.dfam-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.dn{position:static;transform:none;width:auto;flex-direction:row;align-items:center;gap:10px;text-align:left}
.dn-ic{width:30px;box-shadow:none}
.dn-l{font-size:14px}
.dfam-ric{background:#E8ECF3;border-top-color:#0F2D5B}
.dfam-dat{background:#EDF0F2;border-top-color:#425563}
.dfam-acq{background:#E3EFF8;border-top-color:#0068B2}
.dfam-nat{background:#E4F1E9;border-top-color:#2E7D59}
.dfam-val{background:#F6EAE3;border-top-color:#C68C70}
.dfam-ter{background:#F8F0DF;border-top-color:#D7B77A}

}
@container delta (max-width: 460px){.dfam-list{grid-template-columns:minmax(0,1fr)}}
/* logo storico -> nuovo nella hero di Chi siamo */
.chi-hero{align-items:center}
.chi-hero-more{display:flex;flex-direction:column;gap:20px;align-items:flex-start;margin-top:28px}
.evo-hero{min-height:0;padding:18px 20px;gap:14px;max-width:440px;width:100%;justify-self:end}
.evo-hero .evo-stage{min-height:230px}
.evo-hero .evo-lock{width:min(64%,220px)}
.evo-hero .evo-cap{display:none}
.evo-hero .evo-foot{justify-content:flex-end}
.p-inline{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px}
.p-inline a{font-family:var(--ff-h);font-weight:600;color:var(--blu);text-underline-offset:5px}
.p-inline a:hover{color:var(--acqua)}
.delta-mini{display:none}
@container delta (max-width: 820px){.delta-mini{display:block;width:min(220px,60%);height:auto;margin:0 auto 6px}}
/* linee di intervento e servizi */
.subnav-h{margin:56px 0 0;font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.subnav-h+.subnav{margin-top:10px}
.svc-num{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.svc-kind{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.svcs-head{margin-bottom:clamp(40px,5cqi,72px)}
.svcs-head .sec-head{margin-bottom:0}
.svc-serv{width:100%;padding-top:14px;border-top:1px solid var(--line)}
.serv-mini{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.serv-mini>*{display:flex;gap:10px;align-items:baseline;font-size:15.5px;line-height:1.4;color:var(--text)}
.serv-mini svg{flex:none;transform:translateY(-1px)}
.serv-sec{padding-block:clamp(56px,6cqi,96px)}
.serv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5cqi,88px);align-items:start}
.serv-grid .eyebrow svg{margin-right:2px}
.serv-path{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin-top:4px;font-family:var(--ff-h);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.serv-path>*{display:flex;align-items:center}
.serv-path>*+*::before{content:"";width:22px;height:1px;background:currentColor;margin:0 10px;opacity:.6}
.serv-path a{color:var(--blu)}
.serv-path [aria-current]{color:var(--blu);background:var(--surf);padding:4px 10px 3px}
.serv-list{border-top:2px solid var(--serv-c,var(--blu));counter-reset:none}
.serv-list>*{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:12px;align-items:baseline;padding:18px 4px 17px;border-bottom:1px solid var(--line)}
.serv-n{font-family:var(--ff-h);font-weight:700;font-size:15px;letter-spacing:.04em}
.serv-t{font-family:var(--ff-h);font-weight:600;font-size:clamp(1.05rem,.95rem + .35cqi,1.25rem);line-height:1.3;color:var(--blu)}
.solrow-subs{border-top:0}
.solrow-subs .cap-h{margin:0;padding-bottom:10px;border-bottom:1px solid rgba(15,45,91,.16)}
.offer-path{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin-top:4px}
.offer-path>*{display:flex;align-items:center;font-family:var(--ff-h);font-weight:600;font-size:14.5px;color:var(--blu)}
.offer-path>* .li-s{background:#fff;border:1px solid var(--line);padding:7px 12px 6px}
.offer-path>*+*::before{content:"";width:26px;height:1.5px;background:var(--blu);opacity:.45;margin:0 8px}
.svcs .svc{align-items:start}
.svcs .svc>.svc-media{position:sticky;top:112px}
@container site (max-width:1100px){.hdr-cta{display:none}
.hdr-in{min-height:76px}
.logo{height:48px}
.hero-grid{grid-template-columns:minmax(0,1fr)}

}
@container site (max-width:640px){.wp-site-blocks{font-size:16.5px}
.hdr-in{min-height:68px;gap:16px}
.logo{height:44px}
.btn{width:100%}
.wp-block-button.btn>.wp-block-button__link{width:100%}
.row-btns{flex-direction:column;align-items:stretch}
.hero-legend{padding:12px 14px}

}
@container site (max-width:1100px){.roots-grid{grid-template-columns:minmax(0,1fr)}
.roots-ph{min-height:320px;order:2}

}
@container site (max-width:760px){.roots-map{grid-template-columns:minmax(0,1fr);gap:16px}
.roots-arrow{transform:rotate(90deg);margin:0 0 0 4px}

}
@container site (max-width:1100px){.sol-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"intro intro" "s1 s2" "s3 core";gap:28px}
.sol-lines{display:none}
.sol-intro{margin-bottom:12px}
.sol-core{justify-self:start;text-align:left;align-items:flex-start;background:transparent;padding:22px 4px;border-top:1px solid var(--line)}
.needs-grid{grid-template-columns:minmax(0,1fr)}
.needs-intro{position:static}

}
@container site (max-width:700px){.sol-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "s1" "s2" "s3" "core"}
.sol-card{padding:0 22px 24px}
.sol-bar{margin:0 -22px 12px}
.need{grid-template-columns:14px minmax(0,1fr) 20px;gap:10px 14px;padding:22px 4px}
.need-dest{grid-column:2;grid-row:2}
.need-arr{grid-column:3;grid-row:1}

}
@container site (max-width:1100px){.method-head,.work-head{grid-template-columns:minmax(0,1fr);gap:20px}
.steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:44px}
.steps::before{display:none}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-feature{grid-row:auto;grid-column:1 / -1}

}
@container site (max-width:700px){.steps{grid-template-columns:minmax(0,1fr);row-gap:28px;margin-top:48px}
.steps::before{display:block;left:10px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
.step{padding:0 0 0 44px}
.step-node{position:absolute;left:0;top:0;margin:0;background:#fff}
.method-foot{padding:18px}
.work-grid{grid-template-columns:minmax(0,1fr)}
.work-key{grid-template-columns:minmax(0,1fr);gap:6px}
.work-key .cap{margin-bottom:8px}
.work-meta div{grid-template-columns:minmax(0,1fr);gap:0}

}
@container site (max-width:1100px){.rete-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
.ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

}
@container site (max-width:700px){.rete-diagram{grid-template-columns:minmax(0,1fr);grid-template-areas:"core" "ric" "imp" "pro" "ist";gap:0}
.rete-lines{display:none}
.rnode{border-width:0 0 0 1px;border-color:rgba(15,45,91,.35);margin-left:14px;padding:14px 0 14px 20px}
.r-core{margin-left:0;border-width:0;padding:20px}
.f-grid{grid-template-columns:minmax(0,1fr)}
.ftr-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.collab-empty{padding:20px}

}
@container site (max-width:700px){.team-core .tcard{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:16px}
.cert-head img{width:72px}
.t-bio{margin-left:-110px;width:calc(100% + 110px)}}
@container site (max-width:700px){.core-logo{width:104px}
.core-logo-s{width:92px;margin:0 0 4px}
.r-core{align-items:flex-start;text-align:left;border-width:0 0 0 1.5px}
.evo{padding:20px}
.evo-stage{min-height:300px}
.mq-tile{width:140px;height:70px;margin-right:12px}
.mq-track-2{margin-top:12px}

}
@container site (max-width:1100px){.s-hero-grid,.contrib-grid,.svc,.outs-head,.ex-grid,.clarify-grid{grid-template-columns:minmax(0,1fr)}
.s-hero-ph{min-height:300px}
.svc-body{order:-1}
.svc-rev .svc-media{order:0}
.chain{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
.chain::before{display:none}

}
@container site (max-width:700px){.subnav{grid-template-columns:minmax(0,1fr);margin-top:40px}
.subnav a+a{padding-left:4px;border-left:0}
.chain{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-vis{padding:40px 6px 6px}
.otable thead{display:none}
.otable,.otable tbody,.otable tr,.otable th,.otable td{display:block;width:100%}
.otable tr{padding:16px;border-bottom:1px solid var(--line)}
.otable th,.otable td{padding:3px 0;border:0}
.otable tbody th{width:100%;font-size:18px;margin-bottom:4px}
.otable td:nth-of-type(1)::before{content:"Contiene: ";color:var(--muted)}
.otable td:nth-of-type(2)::before{content:"Serve a: ";color:var(--muted)}
.otable td:nth-of-type(3){padding-top:8px}
.others-grid{grid-template-columns:minmax(0,1fr)}
.acc-p{padding-right:4px}

}
/* NEXTMQ */
@container site (max-width:1100px){
.p-hero-grid,.sec-head,.fw,.art-grid,.team-block,.ifeat{grid-template-columns:minmax(0,1fr)}
.solrow{grid-template-columns:repeat(2,minmax(0,1fr))}
.solrow-out{grid-column:1 / -1}
.partner-grid{grid-template-columns:minmax(0,1fr)}
.sector{grid-template-columns:repeat(2,minmax(0,1fr))}
.sector-cta{grid-column:1 / -1}
.modes{grid-template-columns:repeat(2,minmax(0,1fr))}
.mode,.mode + .mode{padding:20px 20px 20px 0;border-left:0;border-bottom:1px solid var(--line)}
.evidence,.ocards,.limits{grid-template-columns:repeat(2,minmax(0,1fr))}
.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.team-grid,.paths{grid-template-columns:repeat(2,minmax(0,1fr))}
.art-aside{position:static}
.steps-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.modes-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.ifeat .illu{border-right:0;border-bottom:1px solid var(--line)}
.comp-grid{grid-template-columns:minmax(0,1fr)}
.s-hero-art{min-height:0}
.fwm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container site (max-width:700px){.solrow{grid-template-columns:minmax(0,1fr);padding:0 20px 24px}
.solrow .sol-bar{margin:0 -20px 8px}
.sector{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 4px}
.modes,.modes-4,.evidence,.ocards,.limits,.meta-grid,.team-grid,.paths,.comp-detail,.def-list,.direct,.quality{grid-template-columns:minmax(0,1fr)}
.fgroup{grid-template-columns:minmax(0,1fr);gap:6px}
.fgroup-l{padding-top:0}
.filters{padding:16px}
.steps-5,.steps-4{grid-template-columns:minmax(0,1fr)}
.art-body{font-size:17px}
.dl>*{grid-template-columns:minmax(0,1fr);gap:4px}
.team-block{padding:24px 20px}
.partner{padding:22px}
.pnone{padding:24px}
.wp-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.gis-body{grid-template-columns:minmax(0,1fr)}
.gis-layers{flex-direction:row;flex-wrap:wrap}
.lane{grid-template-columns:minmax(0,1fr);gap:6px}
.mx{font-size:13.5px}
.mx th,.mx td{padding:9px 8px}
.access{grid-template-columns:minmax(0,1fr)}
.fwm-grid{grid-template-columns:minmax(0,1fr)}

}
/* NEXTMQ */
@container site (max-width:1100px){.serv-grid{grid-template-columns:minmax(0,1fr)}.svcs .svc>.svc-media{position:static}}
@container site (max-width:700px){.subnav-h{margin-top:40px}
.serv-list>*{grid-template-columns:2.4rem minmax(0,1fr);padding:15px 2px 14px}}




/* ===================== Tema a blocchi: adattamenti ===================== */
[hidden]{display:none !important}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
.wp-site-blocks{padding:0}
:where(.wp-site-blocks)>*{margin-block-start:0}
:where(.wp-site-blocks .is-layout-flow)>*,:where(.wp-site-blocks .wp-block-post-content)>*{margin-block-start:0;margin-block-end:0}
:where(.wp-site-blocks .wp-block-group),:where(.wp-site-blocks .wp-block-heading),:where(.wp-site-blocks p){margin-block:0}
.wp-site-blocks .wp-block-post-content{display:block}
:where(.wp-site-blocks .wp-block-list){padding-inline-start:0;margin:0;list-style:none}

/* pulsanti: il wrapper del blocco non deve disegnare il pulsante */
.wp-block-button.btn,.wp-block-button.btn-primary,.wp-block-button.btn-secondary,.wp-block-button.btn-light,.wp-block-button.btn-ghost-light{
  all:unset;display:inline-block;box-sizing:border-box}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0}
.wp-block-buttons.row-btns{gap:14px}
.wp-block-button__link.wp-element-button{box-shadow:none;text-decoration:none}
.wp-block-button.btn>.wp-block-button__link{border-radius:2px}
.wp-block-button.pick-progetto,.wp-block-button.pick-sito,.wp-block-button.pick-team,.wp-block-button.pick-ricerca{display:inline-block}

/* accordion: core/details con lo stile del design */
.wp-block-details{margin:0}
.acc{border-top:1.5px solid var(--blu)}
.wp-block-details.acc-item{border-bottom:1px solid var(--line)}
.wp-block-details.acc-item>summary,.wp-block-details.fw-panel>summary{list-style:none;cursor:pointer}
.wp-block-details>summary::-webkit-details-marker{display:none}
.wp-block-details.acc-item>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 4px;font-family:var(--ff-h);font-weight:600;font-size:clamp(1.1rem,1rem + .35cqi,1.3rem);line-height:1.25;color:var(--blu)}
.wp-block-details.acc-item>summary:hover{color:var(--acqua)}
.wp-block-details>summary::after{content:"";flex:none;width:20px;height:20px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat}
.wp-block-details[open]>summary::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}
.fw-groups{display:flex;flex-direction:column;border-top:1.5px solid var(--blu)}
.wp-block-details.fw-panel{display:block;border-bottom:1px solid var(--line)}
.wp-block-details.fw-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 14px;font-family:var(--ff-h);font-weight:600;font-size:17px;color:var(--blu);background:rgba(255,255,255,.92)}
.wp-block-details.fw-panel>summary:hover{background:var(--surf)}
.wp-block-details.fw-panel[open]>summary{background:#0F2D5B;color:#fff}
.wp-block-details.fw-panel>.wp-block-group,.wp-block-details.fw-panel>.stack-s,.wp-block-details.fw-panel>.acc{margin-top:18px}
.wp-block-details.fw-panel>*:not(summary){margin-inline:0}
.wp-block-details>.wp-block-group.acc-p{padding:0 56px 26px 4px}

/* intestazione (blocco navigazione) */
.hdr .wp-block-site-logo{margin:0;line-height:0}
.hdr .wp-block-site-logo img{height:56px;width:auto}
.nav .wp-block-navigation__container{gap:2px}
.nav .wp-block-navigation-item__content,.nav .wp-block-navigation-submenu__toggle{font-family:var(--ff-h);font-size:16.5px;font-weight:500;color:var(--blu);text-decoration:none;padding:12px 12px 10px;min-height:44px;display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid transparent}
.nav .wp-block-navigation-item__content:hover,.nav .wp-block-navigation-submenu__toggle:hover{color:var(--acqua);border-bottom-color:var(--acqua)}
.nav .current-menu-item>.wp-block-navigation-item__content,.nav .current-menu-ancestor>.wp-block-navigation-item__content{border-bottom-color:var(--blu)}
.nav .wp-block-navigation__submenu-icon{margin:0;display:inline-flex;align-items:center}
.hdr-in .wp-block-buttons{margin:0}
.hdr .wp-block-navigation__responsive-container-open{border:1.5px solid var(--blu);border-radius:2px;width:48px;height:48px;align-items:center;justify-content:center;color:var(--blu)}
@media (min-width:1101px){
  .hdr .wp-block-navigation__responsive-container-open{display:none !important}
  .hdr .wp-block-navigation__responsive-container:not(.is-menu-open){display:block !important;position:static;background:none}
}
@media (max-width:1100px){
  .hdr .wp-block-navigation__responsive-container-open{display:flex !important}
  .hdr .wp-block-navigation__responsive-container:not(.is-menu-open){display:none !important}
  .hdr-in>.wp-block-buttons{display:none}
  .hdr-in{min-height:76px}
  .hdr .wp-block-site-logo img{height:48px}
}
/* mega menu: il sottomenu "Soluzioni" diventa un pannello a 3 colonne */
@media (min-width:1101px){
  .nav .wp-block-navigation__submenu-container.mega-panel,.nav .has-child.mega>.wp-block-navigation__submenu-container{
    position:fixed;left:0;right:0;top:88px;width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;
    padding:36px max(20px,calc((100% - 1280px)/2 + 64px)) 40px;background:#fff;border:0;border-top:1px solid var(--line-soft);box-shadow:0 18px 30px -24px rgba(15,45,91,.35)}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item{display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--line);padding-top:16px}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item.s1{border-top-color:var(--terr)}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item.s2{border-top-color:var(--acqua)}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item.s3{border-top-color:var(--amb)}
  .nav .mega .has-child .wp-block-navigation__submenu-container{position:static;display:flex;flex-direction:column;opacity:1;visibility:visible;height:auto;width:auto;min-width:0;border:0;padding:0;background:none;box-shadow:none;overflow:visible}
  .nav .mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-family:var(--ff-b);font-weight:500;font-size:15.5px;color:var(--text);padding:4px 0;border:0;min-height:0}
  .nav .mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{color:var(--acqua);text-decoration:underline}
  .nav .mega .has-child>.wp-block-navigation-item__content{font-family:var(--ff-h);font-weight:600;font-size:19px;line-height:1.2;color:var(--blu);padding:0 0 4px}
  .nav .mega .has-child>.wp-block-navigation__submenu-icon{display:none}
}
.hdr .wp-block-navigation__responsive-container.is-menu-open{padding:24px 20px;background:#fff}
.hdr .is-menu-open .wp-block-navigation-item__content{font-family:var(--ff-h);font-size:20px;color:var(--blu)}

/* mega menu: allineamenti */
@media (min-width:1101px){
  .nav .has-child.mega>.wp-block-navigation__submenu-container{inset:88px 0 auto 0 !important;width:auto !important;margin:0 !important;transform:none !important;box-sizing:border-box}
  .nav .mega .wp-block-navigation-item,.nav .mega .wp-block-navigation__submenu-container{align-items:flex-start;text-align:left}
  .nav .mega .wp-block-navigation-item__content{padding-left:0 !important;padding-right:0 !important;justify-content:flex-start;text-align:left;white-space:normal}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:not(.has-child){grid-column:1/-1;border-top:1px solid var(--line-soft);padding-top:16px;display:block}
  .nav .has-child.mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:not(.has-child)>.wp-block-navigation-item__content{font-family:var(--ff-h);font-weight:600;font-size:16px;color:var(--blu);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
}
/* menu mobile (overlay) */
.hdr .is-menu-open .wp-block-navigation__container{align-items:stretch;gap:0;width:100%}
.hdr .is-menu-open .wp-block-navigation-item{align-items:flex-start;width:100%;border-bottom:1px solid var(--line-soft)}
.hdr .is-menu-open .wp-block-navigation-item__content{padding:12px 0;min-height:48px;border:0;justify-content:flex-start;text-align:left;width:100%}
.hdr .is-menu-open .wp-block-navigation__submenu-container{padding:0 0 8px 16px;border-left:2px solid var(--acqua-t2);width:auto;align-items:flex-start}
.hdr .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border-bottom:0}
.hdr .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-family:var(--ff-b);font-weight:500;font-size:16px;color:var(--text);padding:8px 0;min-height:40px}
.hdr .is-menu-open .wp-block-navigation__submenu-container .has-child>.wp-block-navigation-item__content{font-family:var(--ff-h);font-weight:600;color:var(--blu)}
.hdr .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:56px;gap:0;align-items:flex-start}

/* contenuti WordPress */
.filters+.fbar{margin-top:16px}
.site .wp-caption,.wp-site-blocks .wp-element-caption{font-size:13px;color:var(--muted)}
.art-body img{height:auto}
.art-body :where(h2){scroll-margin-top:110px}
.wp-block-post-title.h1,.wp-block-post-excerpt.lead{margin:0}
.wp-block-post-terms a{color:inherit;text-decoration:none}
.wp-site-blocks .wp-block-post-content.art-body>*+*{margin-top:16px}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--blu);text-decoration:none;font-family:var(--ff-h);font-weight:600}
.pagination .page-numbers.current{background:var(--blu);color:#fff;border-color:var(--blu)}
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-direct a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.contact-direct a:hover{color:#D7B77A}
.lang-switch{display:flex;gap:6px;align-items:center;font-family:var(--ff-h);font-weight:600;font-size:14px}
.lang-switch a{color:var(--muted);text-decoration:none;padding:6px 8px;border:1px solid transparent}
.lang-switch a[aria-current],.lang-switch .current-lang a{color:var(--blu);border-color:var(--line)}

/* utilità usate dai template e dai blocchi dinamici */
.wp-site-blocks .st-maxw900{max-width:900px}
.wp-site-blocks .st-maxw760{max-width:760px}
.wp-site-blocks .st-pt16{padding-top:16px !important}
.wp-site-blocks .st-darkbox{background:#0F2D5B;border-color:#0F2D5B}
.wp-site-blocks .st-darkbox .h4{color:#fff}
.wp-site-blocks .st-m0{margin:0 !important}
.wp-site-blocks .st-topics-l{color:#C9D3E0}
.wp-site-blocks .contact-copy .eyebrow{color:#D7B77A}
.wp-site-blocks .contact-copy .h2{color:#fff}
.wp-site-blocks .contact-copy .lead{color:#E7ECF3}
.wp-site-blocks .contact-copy .cap-h,.wp-site-blocks .contact-copy .small{color:#C9D3E0}
.wp-site-blocks .logo-link{margin:0;flex:none;margin-right:auto}
.wp-site-blocks .logo-link img{max-width:none}
.need{position:relative}
.hdr-cta,.hdr-cta .wp-block-button__link{white-space:nowrap}
.nav .wp-block-navigation-item__content{white-space:nowrap}
html:is([lang|="fr"],[lang|="de"],[lang|="es"]) .hdr-in{gap:18px}
html:is([lang|="fr"],[lang|="de"],[lang|="es"]) .nav .wp-block-navigation-item__content,html:is([lang|="fr"],[lang|="de"],[lang|="es"]) .nav .wp-block-navigation-submenu__toggle{font-size:15px;padding-left:8px;padding-right:8px}
html[lang|="zh"],html[lang|="zh"] body{--ff-h:'League Spartan','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC',sans-serif;--ff-b:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC','Noto Sans CJK SC',Aptos,'Public Sans',sans-serif;--wp--preset--font-family--heading:var(--ff-h);--wp--preset--font-family--body:var(--ff-b)}
html[lang|="zh"] body{line-height:1.75;letter-spacing:0}
html[lang|="zh"] .eyebrow,html[lang|="zh"] .cap-h{letter-spacing:.04em;text-transform:none}
.need p{margin:0}
.need-title a{color:inherit}
.need-dest>.need-dest-l{margin:0}

/* pagine legali (privacy e cookie policy) */
.legal-meta{font-size:14px;color:var(--muted);margin:0}
.legal-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(32px,5cqi,80px);align-items:start}
.legal-toc{position:sticky;top:104px;display:flex;flex-direction:column;border-top:1.5px solid var(--blu);padding-top:12px}
.legal-toc a{padding:9px 2px;border-bottom:1px solid var(--line-soft);text-decoration:none;font-family:var(--ff-h);font-weight:500;font-size:15px;line-height:1.3;color:var(--blu)}
.legal-toc a:hover{color:var(--acqua);background:var(--surf)}
.legal-body{display:flex;flex-direction:column;gap:clamp(36px,4cqi,52px);max-width:860px}
.legal-sec{display:flex;flex-direction:column;gap:14px;scroll-margin-top:100px}
.legal-sec > p{max-width:72ch}
.legal-sec a{color:var(--blu)}
.legal-list{display:flex;flex-direction:column;gap:8px;padding-left:1.2em;list-style:disc;font-size:16px}
ol.legal-list{list-style:decimal}
.inline-btn{display:inline;padding:0;font-size:inherit;font-family:inherit;font-weight:600;color:var(--blu);text-decoration:underline;vertical-align:baseline}
.ltable-wrap{width:100%;overflow-x:auto;border-top:1.5px solid var(--blu)}
.ltable{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.ltable th,.ltable td{text-align:left;vertical-align:top;padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.ltable thead th{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ltable tbody th{font-family:var(--ff-h);font-weight:600;color:var(--blu)}
.ltable code{font-size:14px;background:var(--surf);padding:1px 5px}
.form-legal{margin:0}
.cs-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px}
.ck-demo{position:relative;background:var(--surf);border:1px solid var(--line);padding:28px}
.ck-demo .ck-in{position:relative;bottom:auto;margin:0;max-width:none}
.ck-demo .ck-panel{position:relative;top:auto;max-height:none;margin:0;width:100%}
.ck-demo-m{max-width:390px;padding:16px}
.ck-demo-m .ck-in{grid-template-columns:minmax(0,1fr);padding:20px 18px 18px}
.ck-demo-m .ck-text{padding-right:36px}
.ck-demo-m .ck-btn{flex:1 1 100%}
.legal{padding-top:8px}
.ck-status{align-items:flex-start}

/* schede progetto espandibili (dal design: Progetti) */
.psub{display:flex;flex-direction:column;gap:6px;margin:4px 0 20px;max-width:760px}
.pj{gap:14px}
.pj:focus-within{outline:none}
.pj-when{font-size:13.5px;font-weight:600;color:var(--muted);margin:0}
.pj-after{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.pj-after p{max-width:640px}
.pj-lin{display:flex;flex-direction:column;gap:8px}
.pj-lin-l{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.lchips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.lchip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px 7px;border:1px solid var(--line);background:#fff;color:var(--blu);font-family:var(--ff-h);font-weight:500;font-size:14px;line-height:1.2;text-decoration:none}
.lchip:hover{border-color:var(--blu);background:var(--surf)}
.lc-n{font-weight:700}
.pj-more{align-self:flex-start;cursor:pointer}
.pj-det{width:100%}
.pj.is-open,.pj:has(details[open]){grid-column:1 / -1}
.pj-detail{display:flex;flex-direction:column;gap:20px;padding-top:18px;border-top:1px solid var(--line-soft);margin-top:8px}
.pj-body{display:flex;flex-direction:column;gap:20px}
.pj-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:24px 36px}
.pj-col{display:flex;flex-direction:column;gap:8px}
.pj-h{font-family:var(--ff-h);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.pj-list{display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.5;list-style:none;margin:0;padding:0}
.pj-list li{position:relative;padding-left:20px}
.pj-list li::before{content:'';position:absolute;left:0;top:.5em;width:10px;height:9px;background:#D7B77A;clip-path:polygon(50% 0,100% 100%,0 100%)}
.pj-list a{font-weight:600}
.pj-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;border-top:1.5px solid var(--blu);margin:0}
.pj-facts div{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.pj-facts dt{font-family:var(--ff-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pj-facts dd{margin:0;font-size:14.5px;line-height:1.45;color:var(--text)}
.pj-links{display:flex;flex-wrap:wrap;gap:4px 28px;list-style:none;margin:0;padding:0}
.pj-links .link{font-size:15px;min-height:44px}
@container site (max-width:1100px){.pj-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.pj-col-w{grid-column:1 / -1;order:3}.pj-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container site (max-width:700px){.pj-cols,.pj-facts{grid-template-columns:minmax(0,1fr)}.pj-col-w{order:0}}

/* candidatura spontanea (dal design: Chi siamo, Lavora con noi) */
.cv-panel{width:100%;padding:clamp(20px,2.5cqi,32px);border:1px solid var(--line);background:#fff}
.cv-form{gap:18px}
#lavora .sec-head{align-items:start}
.f-lab{font-family:var(--ff-h);font-weight:600;font-size:15px;color:var(--blu);margin:0}
.file-pick{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-height:50px;padding:6px;border:1.5px dashed #7A8794;border-radius:2px;background:#fff}
.file-pick.is-invalid{border-color:#A3322B;border-style:solid}
.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.file-btn{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1.5px solid var(--blu);font-family:var(--ff-h);font-weight:600;font-size:15px;color:var(--blu);background:#fff;cursor:pointer}
.file-btn:hover{background:var(--surf)}
.file-pick:focus-within{outline:3px solid #0068B2;outline-offset:2px}
.cv-fn{font-size:14.5px;color:var(--muted)}
