.header{padding-top:14px!important;padding-bottom:14px!important;background-color:transparent!important;background-image:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.30))!important;-webkit-backdrop-filter:blur(18px) saturate(180%)!important;backdrop-filter:blur(18px) saturate(180%)!important;border:1px solid rgba(255,255,255,.7)!important;border-top:0!important;border-radius:0 0 18px 18px!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.5),0 10px 30px rgba(13,61,110,.14)!important}@media (min-width:992px){.header{max-width:1280px;margin-left:auto!important;margin-right:auto!important;left:0;right:0}}@media (max-width:991px){.header{padding:11px 18px!important;margin:0 16px!important}.header .header__logo,.header .header__logo-link,.header .header__logo .w-embed{height:30px!important}.header .header__logo svg{height:30px!important;width:auto!important}.header .header__mobile-toggle{width:38px!important;height:38px!important}}
.esn{--ink:#0d3d6e;--ink2:#3a5470;--muted:#6b7f95;--line:rgba(13,61,110,.14);--sun:#fbd122;--surf:#fff;--surf2:#efece4;--green:#1f7a4d;color:var(--ink);font-family:"Graphik Regular",system-ui,sans-serif}
.esn *{box-sizing:border-box}
.esn-wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
.esn h1,.esn h2,.esn h3{font-family:"Recoleta Regular",Georgia,serif;font-weight:400;letter-spacing:-.01em;text-wrap:balance;margin:0;color:var(--ink)}
.esn-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:"Graphik Medium",system-ui,sans-serif}
.esn-hero{position:relative;isolation:isolate;padding-top:120px}
.esn-hero-img{position:absolute;inset:0 0 -60px 0;z-index:-1;width:100%;height:calc(100% + 60px);object-fit:cover;object-position:35% 78%;opacity:.32;
 -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,.25) 65%,transparent 88%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,.25) 65%,transparent 88%)}
.esn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding-bottom:56px}
.esn-card{background:var(--surf);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line)}
.esn-ph{position:relative;aspect-ratio:4/3;background:var(--surf2)}
.esn-ph img{width:100%;height:100%;object-fit:cover;display:block}
.esn-tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap}
.esn-tag{background:var(--sun);color:var(--ink);font-size:12px;font-family:"Graphik Medium",system-ui,sans-serif;padding:5px 9px;border-radius:999px}
.esn-tag.alt{background:#fff}
.esn-cb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.esn-cb h3{font-size:26px;line-height:1.15}
.esn-what{color:var(--ink2);font-size:15px;margin:0}
.esn-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 18px;font-size:14px;margin:2px 0 0;padding:12px 0 0;border-top:1px dashed var(--line)}
.esn-meta dt{color:var(--muted);font-size:12px}
.esn-meta dd{margin:0;font-family:"Graphik Medium",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.esn-req{font-size:13px;background:var(--surf2);padding:8px 10px;border-radius:10px}
.esn-cta{display:flex;gap:10px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.esn-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:12px 16px;font-family:"Graphik Medium",system-ui,sans-serif;font-size:15px;text-decoration:none;flex:1 1 auto;white-space:nowrap;border:0;cursor:pointer;color:var(--ink)}
.esn-btn.primary{background:var(--sun)}
.esn-btn.ghost{border:1px solid var(--line)}
.esn-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.esn-empty{grid-column:1/-1;background:var(--surf);border:1px dashed var(--line);border-radius:18px;padding:30px;text-align:center;color:var(--ink2)}
.esn-block{padding-block:56px;border-top:1px solid var(--line)}
.esn-block h2{font-size:clamp(28px,3.4vw,40px);margin:6px 0 22px}
.esn-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s;list-style:none;padding:0;margin:0}
.esn-steps li{background:var(--surf);border-radius:16px;padding:18px;border:1px solid var(--line)}
.esn-steps li::before{counter-increment:s;content:counter(s);display:grid;place-content:center;width:34px;height:34px;border-radius:50%;background:var(--sun);font-family:"Graphik Medium",system-ui,sans-serif;margin-bottom:12px}
.esn-steps b{display:block;margin-bottom:4px;font-family:"Graphik Medium",system-ui,sans-serif;font-weight:400}
.esn-steps span{color:var(--ink2);font-size:14.5px}
.esn-parents{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:start}
.esn-parents p{color:var(--ink2);max-width:52ch}
.esn-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.esn-fact{background:var(--surf);border-radius:16px;padding:16px;border:1px solid var(--line)}
.esn-fact b{font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:28px;display:block}
.esn-fact span{font-size:14px;color:var(--ink2)}
.esn-faq details{background:var(--surf);border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
.esn-faq summary{cursor:pointer;padding:16px 18px;font-family:"Graphik Medium",system-ui,sans-serif;list-style:none;display:flex;justify-content:space-between;gap:12px}
.esn-faq summary::-webkit-details-marker{display:none}
.esn-faq summary::after{content:"+";font-size:20px;line-height:1}
.esn-faq details[open] summary::after{content:"–"}
.esn-ans{padding:0 18px 16px;color:var(--ink2);max-width:75ch}
.esn-ans p{margin:0 0 8px}
.esn-final{background:var(--ink);color:#f6f5f1;border-radius:24px;padding:36px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-block:24px 64px}
.esn-final h2{color:#f6f5f1;margin:0}
.esn-final p{margin:6px 0 0;opacity:.8}
.esn-final .esn-btn{flex:0 0 auto}
.esn h1,.esn h2,.esn h3{line-height:1.12}
.esn p{margin-top:0}
.esn-parents p{line-height:1.6;margin:0}
.esn-fact b{margin-bottom:6px;line-height:1.1}
.esn-fact span{display:block;line-height:1.45}
.esn-steps span{display:block;line-height:1.45}
.esn-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.esn-why li{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:20px 20px 22px}
.esn-why .ic{width:46px;height:46px;display:grid;place-content:center;background:var(--sun);border-radius:48% 52% 44% 56% / 56% 44% 56% 44%;margin-bottom:14px}
.esn-why .ic svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.esn-why h3{font-size:22px;margin-bottom:8px}
.esn-why p{color:var(--ink2);font-size:14.5px;line-height:1.55;margin:0}
@media (max-width:900px){.esn-why{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.esn-why{grid-template-columns:1fr}}
@media (max-width:760px){.esn-hero{padding-top:90px}}
.esn-steps{grid-template-columns:1fr 1fr}
.esn-parents{grid-template-columns:1fr}
.esn-final{padding:26px}
@media (prefers-reduced-motion:no-preference){.esn-hero-img{animation:esnIn 1.2s ease-out both}}
@keyframes esnIn{from{transform:scale(1.04)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.esn *{transition:none!important}}
.esn-video{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:32px;align-items:center;background:#fff;border-radius:24px;padding:14px 28px 14px 14px;margin:56px 0 0;box-shadow:0 14px 40px rgba(13,61,110,.10)}
.esn-vline{height:1px;margin-top:56px;background:rgba(13,61,110,.14);box-shadow:0 0 0 100vmax rgba(13,61,110,.14);clip-path:inset(0 -100vmax)}


.esn-video .esn-eyebrow{display:block;margin:0}
.esn-video h3{font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:28px;line-height:1.15;color:#0d3d6e;margin:6px 0 8px}
.esn-video p{font-size:15px;line-height:1.5;color:#3a5470;margin:0}
.esn-player{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0d3d6e;cursor:pointer;border:4px solid #fbd122;padding:0;display:block;box-shadow:0 10px 26px rgba(13,61,110,.16)}
.esn-player img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.esn-player:hover img{transform:scale(1.03)}
.esn-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.esn-play{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:#fbd122;display:grid;place-content:center;box-shadow:0 10px 24px rgba(13,61,110,.3);transition:transform .25s}
.esn-play::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid rgba(251,209,34,.7);animation:esnPulse 2.2s ease-out infinite}
.esn-play svg{width:22px;height:22px;fill:#0d3d6e;margin-left:3px}
.esn-player:hover .esn-play{transform:scale(1.08)}
.esn-player:focus-visible{outline:3px solid #fbd122;outline-offset:4px}
.esn-share{position:relative;display:inline-block;margin-top:18px}
.esn-sharebtn{display:inline-flex;align-items:center;gap:12px;padding:8px 26px 8px 8px;border:0;border-radius:999px;cursor:pointer;background:#0d3d6e;color:#fff;
 font-family:"Graphik Medium",system-ui,sans-serif;font-size:16px;box-shadow:0 12px 28px rgba(13,61,110,.28);transition:transform .2s,box-shadow .2s}
.esn-sharebtn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(13,61,110,.34)}
.esn-sharebtn:focus-visible{outline:3px solid #fbd122;outline-offset:3px}
.esn-sharebtn i{width:42px;height:42px;border-radius:50%;background:#fbd122;display:grid;place-content:center;flex:none}
.esn-sharebtn i svg{width:22px;height:22px;fill:#0d3d6e;animation:esnBeat 1.8s ease-in-out infinite}
@keyframes esnBeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(.96)}}
.esn-sharehint{display:block;margin-top:8px;font-size:13px;color:#6b7f95}
.esn-sharemenu{position:absolute;left:0;bottom:calc(100% + 12px);min-width:240px;background:#fff;border-radius:18px;padding:8px;box-shadow:0 20px 50px rgba(13,61,110,.25);text-align:left;z-index:30;animation:esnFade .18s ease-out}
.esn-sharemenu a,.esn-sharemenu button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;background:none;border-radius:12px;cursor:pointer;color:#0d3d6e;font:15px "Graphik Medium",system-ui,sans-serif;text-decoration:none}
.esn-sharemenu a:hover,.esn-sharemenu button:hover{background:#f3f1ea}
.esn-sharemenu svg{width:22px;height:22px;flex:none}
@keyframes esnFade{from{opacity:0}to{opacity:1}}
@media (max-width:900px){.esn-video{grid-template-columns:1fr;gap:16px;padding:12px 12px 20px;text-align:center}.esn-video h3{font-size:24px}.esn-sharemenu{left:50%;transform:translateX(-50%)}.esn-sharebtn{font-size:15px;padding-right:20px}}
@media (prefers-reduced-motion:reduce){.esn-play::after,.esn-sharebtn i svg{animation:none}}

.esn-sun,.esn-moon{display:inline-block;width:.78em;height:.78em;vertical-align:-.04em;margin:0 .06em 0 .14em}
.esn-sun{animation:esnSpin 14s linear infinite}
.esn-moon{transform-origin:50% 50%;animation:esnRock 4s ease-in-out infinite}
@keyframes esnSpin{to{transform:rotate(360deg)}}
@keyframes esnRock{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@media (prefers-reduced-motion:reduce){.esn-sun,.esn-moon{animation:none}}

.esn-why li{position:relative;overflow:hidden}
.esn-why li>:not(.esn-wdeco){position:relative;z-index:1}
.esn-wdeco{position:absolute;top:12px;right:12px;width:112px;height:112px;pointer-events:none;transition:transform .5s cubic-bezier(.2,.8,.2,1);
 -webkit-mask-image:radial-gradient(ellipse at 85% 15%,#000 35%,rgba(0,0,0,.5) 60%,transparent 85%);mask-image:radial-gradient(ellipse at 85% 15%,#000 35%,rgba(0,0,0,.5) 60%,transparent 85%)}
.esn-why li:hover .esn-wdeco{transform:scale(1.05)}
@media (max-width:760px){.esn-wdeco{width:92px;height:92px;top:10px;right:10px}}
@media (prefers-reduced-motion:reduce){.esn-wdeco{transition:none}}

/* ===== Pagine istituzionali: stesse basi di /esperienze (.esn) + componenti nuovi ===== */
.esn{padding-bottom:8px}
.esn a{color:inherit}
.esn-hero .esn-top{padding-block:clamp(40px,8vw,110px) 34px}
.esn-top h1{font-size:clamp(36px,5.4vw,60px);line-height:1.05;margin-top:8px;max-width:16ch}
.esn h1 em,.esn h2 em{font-style:normal;background:url("https://cdn.prod.website-files.com/63c9012884a16034e719bbd7/63d530adaac0be6a7b2862ca_Vector%20(1).svg") 50% 55%/100% 100% no-repeat;padding:0 .14em}
.esn-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:var(--ink2);max-width:58ch;margin:16px 0 0}
.esn-p{color:var(--ink2);font-size:16px;line-height:1.6;margin:0 0 12px;max-width:62ch}
.esn-p b{color:var(--ink);font-family:"Graphik Medium",system-ui,sans-serif;font-weight:400}
.esn-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.esn-head h2{margin:6px 0 0!important}
.esn-head p{margin:8px 0 0;color:var(--ink2);max-width:52ch}
.esn-link{font-family:"Graphik Medium",system-ui,sans-serif;font-size:15px;text-decoration:none;display:inline-flex;gap:6px;align-items:center;border-bottom:2px solid var(--sun);padding-bottom:2px;white-space:nowrap}
.esn-link:hover{border-color:var(--ink)}
.esn-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.esn-btns .esn-btn{flex:0 0 auto;padding:13px 20px}
.esn-btn.dark{background:var(--ink);color:#fff}
/* Tre strade (hero): dono, volontariato, partner */
.esn-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;max-width:1040px}
.esn-act{position:relative;display:flex;gap:14px;align-items:center;background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:16px 18px;text-decoration:none;box-shadow:0 14px 40px rgba(13,61,110,.10);transition:transform .2s,box-shadow .2s}
.esn-act:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(13,61,110,.16)}
.esn-act .ic{flex:none;width:46px;height:46px;display:grid;place-content:center;background:var(--sun);border-radius:48% 52% 44% 56%/56% 44% 56% 44%}
.esn-act .ic svg,.esn-ic svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.esn-act b{display:block;font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:21px;line-height:1.15}
.esn-act span span{display:block;font-size:14px;color:var(--ink2);margin-top:3px}
.esn-act .ar{margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;background:var(--surf2);display:grid;place-content:center;transition:background .2s}
.esn-act:hover .ar{background:var(--sun)}
.esn-act .ar svg{width:14px;height:14px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Numeri */
.esn-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surf);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.esn-stat{padding:24px 26px}
.esn-stat+.esn-stat{border-left:1px solid var(--line)}
.esn-stat b{display:block;font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:clamp(38px,4.4vw,56px);line-height:1;font-variant-numeric:tabular-nums}
.esn-stat span{display:block;margin-top:8px;font-size:14.5px;color:var(--ink2);line-height:1.4}
/* Testo + foto */
.esn-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.esn-split.rev>:first-child{order:2}
.esn-split h2{margin:6px 0 16px!important}
.esn-photo{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--surf2);box-shadow:0 14px 40px rgba(13,61,110,.12)}
.esn-photo img{width:100%;height:100%;object-fit:cover;display:block}
.esn-photo.tall{aspect-ratio:4/5}
.esn-photo .esn-tag{position:absolute;left:14px;bottom:14px}
.esn-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.esn-duo .esn-photo{aspect-ratio:3/4}
.esn-duo .esn-photo:nth-child(2){margin-top:36px}
/* Card con foto (aree, progetti) */
.esn-areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.esn-area{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:3/4;text-decoration:none;color:#fff!important;background:var(--ink)}
.esn-area img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.esn-area:hover img{transform:scale(1.05)}
.esn-area::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,61,110,0) 40%,rgba(13,61,110,.85))}
.esn-area div{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.esn-area h3{color:#fff!important;font-size:26px}
.esn-area p{margin:4px 0 0;font-size:14px;opacity:.9;line-height:1.4}
.esn-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.esn-pc{background:var(--surf);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.esn-pc:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(13,61,110,.12)}
.esn-pc .esn-ph{aspect-ratio:3/2}
.esn-pc .esn-cb{padding:14px 16px 16px;gap:6px}
.esn-pc h3{font-size:21px!important;line-height:1.2}
.esn-st{font-size:12px;font-family:"Graphik Medium",system-ui,sans-serif;padding:4px 9px;border-radius:999px;background:#fff}
.esn-st.on{background:#e3f1e8;color:var(--green)}
.esn-st.soon{background:var(--sun)}
.esn-st.done{background:var(--surf2);color:var(--ink2)}
.esn-cats{position:sticky;top:84px;z-index:5;display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}
.esn-cats a{display:inline-flex;align-items:center;gap:8px;background:var(--surf);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-family:"Graphik Medium",system-ui,sans-serif;font-size:15px;text-decoration:none;box-shadow:0 6px 18px rgba(13,61,110,.08)}
.esn-cats a:hover{background:var(--sun);border-color:var(--sun)}
.esn-cats i{font-style:normal;font-size:12px;background:var(--surf2);border-radius:999px;padding:1px 8px}
.esn-pcat{scroll-margin-top:150px;padding-top:34px}
.esn-pcat h3.esn-ct{font-size:28px;margin:0 0 6px}
.esn-pcat>p{color:var(--ink2);margin:0 0 18px;max-width:60ch}
/* Paesi */
.esn-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.esn-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surf);border:1px solid var(--line);border-radius:999px;padding:7px 14px 7px 8px;font-size:15px;font-family:"Graphik Medium",system-ui,sans-serif;text-decoration:none}
.esn-chip img{width:22px;height:22px;border-radius:50%;object-fit:cover}
a.esn-chip:hover{background:var(--sun);border-color:var(--sun)}
/* Linea del tempo */
.esn-tl{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin}
.esn-tl li{scroll-snap-align:start;list-style:none;background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:18px;position:relative}
.esn-tl{margin:0;padding-left:0}
.esn-tl b{display:block;font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:34px;line-height:1;margin-bottom:10px}
.esn-tl b::after{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--sun);margin-left:8px;vertical-align:middle}
.esn-tl span{font-size:14.5px;line-height:1.5;color:var(--ink2);display:block}
.esn-tl li.key{background:var(--ink);border-color:var(--ink)}
.esn-tl li.key b,.esn-tl li.key span{color:#f6f5f1}
/* Uso delle risorse */
.esn-bars{display:flex;flex-direction:column;gap:14px;background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:22px}
.esn-bar{display:grid;grid-template-columns:64px 1fr;gap:4px 14px;align-items:center}
.esn-bar b{font-family:"Recoleta Regular",Georgia,serif;font-weight:400;font-size:26px;grid-row:span 2}
.esn-bar span{font-size:14.5px}
.esn-bar i{display:block;height:8px;border-radius:8px;background:var(--surf2);overflow:hidden}
.esn-bar i::before{content:"";display:block;height:100%;width:var(--w);background:var(--sun);border-radius:8px}
/* Riquadro da copiare (IBAN, codice fiscale) */
.esn-copy{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surf);border:1px dashed rgba(13,61,110,.3);border-radius:18px;padding:12px 12px 12px 18px;margin-top:14px;max-width:560px}
.esn-copy small{display:block;font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:"Graphik Medium",system-ui,sans-serif}
.esn-copy code{display:block;font:18px/1.3 "Graphik Medium",system-ui,sans-serif;letter-spacing:.04em;word-break:break-all;color:var(--ink)}
.esn-copy button{margin-left:auto;border:0;border-radius:999px;background:var(--sun);color:var(--ink);padding:10px 16px;font:15px "Graphik Medium",system-ui,sans-serif;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.esn-copy button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.esn-copy button.ok{background:#e3f1e8;color:var(--green)}
/* Calcolatore 5xmille */
.esn-calc{background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 40px rgba(13,61,110,.08)}
.esn-calc label{display:block;font-family:"Graphik Medium",system-ui,sans-serif;margin-bottom:10px}
.esn-calc .row{display:flex;gap:10px;flex-wrap:wrap}
.esn-calc input{flex:1 1 180px;min-width:0;border:1px solid var(--line);border-radius:999px;padding:13px 18px;font:17px "Graphik Regular",system-ui,sans-serif;color:var(--ink);background:var(--surf2)}
.esn-calc input:focus{outline:2px solid var(--sun);outline-offset:1px}
.esn-calc output{display:block;margin-top:18px;font-family:"Recoleta Regular",Georgia,serif;font-size:44px;line-height:1}
.esn-calc output small{display:block;font:14px "Graphik Regular",system-ui,sans-serif;color:var(--ink2);margin-bottom:6px}
.esn-calc p{font-size:13px;color:var(--muted);margin:14px 0 0}
/* Città (volontariato in Italia) */
.esn-cities{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.esn-city{background:var(--surf);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.esn-city .esn-ph{aspect-ratio:16/9}
.esn-city .in{padding:18px 20px 20px}
.esn-city h3{font-size:30px;margin-bottom:12px!important}
.esn-acts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.esn-acts-list li{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:12px;border-radius:14px;background:var(--surf2)}
.esn-acts-list .esn-ic{width:42px;height:42px;border-radius:50%;background:var(--sun);display:grid;place-content:center}
.esn-acts-list .esn-ic svg{width:19px;height:19px}
.esn-acts-list b{display:block;font-family:"Graphik Medium",system-ui,sans-serif;font-weight:400}
.esn-acts-list span{display:block;font-size:14px;color:var(--ink2);line-height:1.45}
.esn-acts-list a.esn-wa{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13.5px;font-family:"Graphik Medium",system-ui,sans-serif;text-decoration:none;color:var(--green)}
.esn-acts-list a.esn-wa svg{width:15px;height:15px;fill:currentColor}
/* Idee (eventi, aziende) */
.esn-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.esn-ideas li{display:flex;align-items:center;gap:12px;background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-family:"Graphik Medium",system-ui,sans-serif;line-height:1.3}
.esn-ideas .esn-ic{flex:none;width:40px;height:40px;border-radius:48% 52% 44% 56%/56% 44% 56% 44%;background:var(--sun);display:grid;place-content:center}
.esn-ideas .esn-ic svg{width:19px;height:19px}
/* Partner */
.esn-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.esn-logos div{background:var(--surf);border:1px solid var(--line);border-radius:16px;aspect-ratio:3/2;display:grid;place-content:center;padding:14px}
.esn-logos img{max-width:100%;max-height:52px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.esn-logos div:hover img{filter:none;opacity:1}
/* Modulo nativo Webflow dentro il nuovo stile */
.esn-form{background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:22px}
.esn-final.light{background:var(--surf);color:var(--ink);border:1px solid var(--line)}
.esn-final.light h2{color:var(--ink)}
.esn-final .esn-btns{margin-top:0}
.esn-hero .esn-ph-badge{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:var(--surf);border-radius:999px;padding:6px 14px 6px 6px;font-size:14px;font-family:"Graphik Medium",system-ui,sans-serif;box-shadow:0 8px 22px rgba(13,61,110,.08)}
.esn-hero .esn-ph-badge i{width:26px;height:26px;border-radius:50%;background:var(--sun);display:grid;place-content:center;font-style:normal}
@media (max-width:991px){
 .esn-acts{grid-template-columns:1fr;max-width:560px}
 .esn-areas{grid-template-columns:1fr 1fr}
 .esn-ideas{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
 .esn-hero .esn-top{padding-top:0}
 .esn-stats{grid-template-columns:1fr}
 .esn-stat+.esn-stat{border-left:0;border-top:1px solid var(--line)}
 .esn-stat{padding:18px 20px;display:flex;align-items:baseline;gap:14px}
 .esn-stat span{margin:0}
 .esn-split{grid-template-columns:1fr}
 .esn-split.rev>:first-child{order:0}
 .esn-cities{grid-template-columns:1fr}
 .esn-ideas{grid-template-columns:1fr}
 .esn-cats{top:70px;flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px}
 .esn-cats a{white-space:nowrap}
 .esn-areas{gap:10px}
 .esn-area h3{font-size:21px}
 .esn-area div{left:12px;right:12px;bottom:12px}
 .esn-area p{display:none}
 .esn-block{padding-block:44px}
 .esn-duo .esn-photo:nth-child(2){margin-top:20px}
}
/* Foto in alto su mobile: come /esperienze */
@media (max-width:760px){
 .esn-hero{padding-top:230px}
 .esn-hero-img{height:400px;bottom:auto;inset:0 0 auto 0;object-position:50% 25%;opacity:.38;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%)}
}
/* v2 */
.esn-lead{margin-top:20px}
.esn-why.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.esn-steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.esn-docs{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.esn-docs a{display:flex;align-items:center;gap:10px;background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-decoration:none;font-size:14.5px;line-height:1.3;transition:background .2s}
.esn-docs a:hover{background:var(--sun);border-color:var(--sun)}
.esn-docs svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.esn-acts.static{margin-top:0;max-width:none}
.esn-cats svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.esn-hero .esn-copy{background:rgba(255,255,255,.92)}
@media (max-width:991px){.esn-why.four{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
 .esn-why.four,.esn-steps.three{grid-template-columns:1fr}
 .esn-docs{grid-template-columns:1fr}
 .esn-act{padding:12px 14px;gap:12px;border-radius:18px}
 .esn-act .ic{width:40px;height:40px}
 .esn-act b{font-size:19px}
 .esn-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .esn-logos div{padding:8px;border-radius:12px}
 .esn-logos img{max-height:34px}
 .esn-copy code{font-size:16px}
 .esn-copy{padding:10px 10px 10px 14px}
}

/* v3: illustrazioni a puntini via CSS (forma = maschera, puntini = sfondo) */
.esn-wdeco{display:block;background:radial-gradient(circle,rgba(13,61,110,.32) 1.5px,transparent 1.8px) 0 0/5.6px 5.6px;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat}
.esn-wdeco.d-heart{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.5-5.3-8.5-11.4A4.7 4.7 0 0 1 12 6.4a4.7 4.7 0 0 1 8.5 3.2C20.5 15.7 12 21 12 21z'/%3E%3C/svg%3E")}
.esn-wdeco.d-globe{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E")}
.esn-wdeco.d-house{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.5 11.5L12 3l9.5 8.5V21h-19z'/%3E%3C/svg%3E")}
.esn-wdeco.d-people{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='6.5' r='3.6'/%3E%3Ccircle cx='17' cy='8' r='3'/%3E%3Cpath d='M1 21c0-4.8 3.1-7.6 7-7.6s7 2.8 7 7.6zM13.6 21c.2-3.7 1.6-6.1 3.4-6.4 3.3 0 6 2.6 6 6.4z'/%3E%3C/svg%3E")}
.esn-wdeco.d-star{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5l3.1 6.6 7.2.9-5.3 5 1.4 7.2L12 17.6l-6.4 3.6L7 14 1.7 9l7.2-.9z'/%3E%3C/svg%3E")}
.esn-wdeco.d-sun{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5.5'/%3E%3Cpath d='M11 0h2v4h-2zM11 20h2v4h-2zM0 11h4v2H0zM20 11h4v2h-4zM3.5 4.9L4.9 3.5l2.8 2.8-1.4 1.4zM16.3 17.7l1.4-1.4 2.8 2.8-1.4 1.4zM3.5 19.1l2.8-2.8 1.4 1.4-2.8 2.8zM16.3 6.3l2.8-2.8 1.4 1.4-2.8 2.8z'/%3E%3C/svg%3E")}
.esn-wdeco.d-book{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.5 4c4.2 0 7.4.6 10.5 2.6C15.1 4.6 18.3 4 22.5 4v15.5c-4.2 0-7.4.6-10.5 2.6-3.1-2-6.3-2.6-10.5-2.6z'/%3E%3C/svg%3E")}
.esn-wdeco.d-box{--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 7l10-5 10 5v10l-10 5-10-5z'/%3E%3C/svg%3E")}
