/* =========================================================
   SERVIZI & FORMAZIONE 2.0 — GLOBAL DESIGN SYSTEM
   ========================================================= */
:root{--sf-navy:#06172c;--sf-navy2:#092846;--sf-blue:#075fae;--sf-blue2:#0c76c7;--sf-cyan:#37cad7;--sf-yellow:#ffcb35;--sf-ink:#15243a;--sf-muted:#65758a;--sf-soft:#f4f8fb;--sf-line:#dce6ed;--sf-white:#fff;--sf-shadow:0 25px 70px rgba(6,23,44,.13);--sf-radius:22px}
html{scroll-behavior:smooth}body.sf2-site{margin:0;color:var(--sf-ink);background:#fff;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.admin-bar .sf2-header.is-sticky{top:32px}
.sf2-site *{box-sizing:border-box}.sf2-site a{text-decoration:none}.sf2-wrap{width:calc(100% - 48px);max-width:1280px;margin:0 auto}.sf2-skip{position:fixed;left:14px;top:-80px;z-index:99999;padding:10px 14px;color:#fff;background:#06172c}.sf2-skip:focus{top:14px}
.sf2-topbar{position:relative;z-index:1020;color:#dce9f3;background:#04111f;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px}.sf2-topbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.sf2-open{display:flex;align-items:center;gap:10px}.sf2-open>span{padding:4px 8px;border-radius:999px;color:#08203b;background:var(--sf-yellow);font-size:9px;font-weight:900;letter-spacing:.08em}.sf2-open a,.sf2-topcontacts a{color:#dce9f3;font-weight:700}.sf2-open a:hover,.sf2-topcontacts a:hover{color:#fff}.sf2-open i{width:3px;height:3px;border-radius:50%;background:#60788d}.sf2-topcontacts{display:flex;gap:18px}
.sf2-header{position:relative;z-index:1010;background:rgba(255,255,255,.98);border-bottom:1px solid #e8eef2;transition:.25s ease}.sf2-header.is-sticky{position:fixed;left:0;right:0;top:0;box-shadow:0 10px 40px rgba(6,23,44,.09);animation:sf2Down .25s ease}.sf2-header-inner{height:88px;display:flex;align-items:center;gap:28px}.sf2-logo{flex:0 0 245px}.sf2-logo img{display:block;max-width:235px;max-height:66px;width:auto;height:auto}.sf2-brand-fallback{display:flex;align-items:center}.sf2-nav{margin-left:auto;display:flex;align-items:center;gap:24px}.sf2-nav>a,.sf2-navdrop>button{position:relative;padding:33px 0;border:0;color:#172a40;background:none;font:700 13px/1 Manrope,Inter,sans-serif;cursor:pointer}.sf2-nav>a:after,.sf2-navdrop>button:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--sf-cyan);transition:.2s}.sf2-nav>a:hover:after,.sf2-navdrop:hover>button:after{right:0}.sf2-navdrop{position:relative}.sf2-navdrop>button span{margin-left:3px;color:#7790a5}.sf2-courses-btn{color:#092846!important}.sf2-courses-btn:before{content:"";position:absolute;left:-10px;right:-10px;top:23px;bottom:22px;border-radius:10px;background:#fff5ce;z-index:-1}.sf2-head-actions{display:flex;align-items:center;gap:9px;margin-left:5px}.sf2-whatsapp{padding:11px 13px;color:#136c54;border:1px solid #bce0d5;border-radius:11px;background:#f1fbf7;font-size:11px;font-weight:800}.sf2-contact{display:inline-flex;align-items:center;gap:8px;padding:13px 15px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--sf-blue),#064783);font-size:11px;font-weight:800;box-shadow:0 10px 26px rgba(7,95,174,.18)}
.sf2-mega{position:absolute;top:76px;left:50%;visibility:hidden;opacity:0;transform:translate(-50%,10px);border:1px solid #dbe7ee;border-radius:18px;background:#fff;box-shadow:0 28px 70px rgba(6,23,44,.16);transition:.2s ease}.sf2-navdrop:hover>.sf2-mega,.sf2-navdrop:focus-within>.sf2-mega{visibility:visible;opacity:1;transform:translate(-50%,0)}.sf2-mega-services{width:720px;display:grid;grid-template-columns:255px 1fr;overflow:hidden}.sf2-mega-intro{padding:27px;color:#fff;background:linear-gradient(145deg,#06172c,#0b416a)}.sf2-mega-intro small{color:#62d6e1;font-size:9px;font-weight:900;letter-spacing:.12em}.sf2-mega-intro strong{display:block;margin-top:12px;font:800 20px/1.25 Manrope,sans-serif}.sf2-mega-intro p{margin:10px 0 20px;color:#b8cbd9;font-size:11.5px;line-height:1.6}.sf2-mega-intro a{color:#fff;font-size:11px;font-weight:800}.sf2-mega-links{display:grid;grid-template-columns:1fr 1fr;padding:13px}.sf2-mega-links a{padding:14px;border-radius:11px;color:#1b2d42}.sf2-mega-links a:hover{background:#f2f8fb}.sf2-mega-links b{display:block;font:800 12px Manrope,sans-serif}.sf2-mega-links span{display:block;margin-top:4px;color:#718397;font-size:9.5px;line-height:1.35}.sf2-mega-courses{width:500px;padding:12px}.sf2-course-link{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:12px;border-radius:12px;color:#1b2d42}.sf2-course-link:hover{background:#f4f8fb}.sf2-course-link em{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#06172c;background:#ffda5e;font:900 11px Manrope,sans-serif}.sf2-course-link small{display:block;color:#ae7100;font-size:8px;font-weight:900;letter-spacing:.08em}.sf2-course-link b{display:block;margin-top:3px;font:800 12px Manrope,sans-serif}.sf2-course-link span{display:block;margin-top:3px;color:#718397;font-size:9.5px}.sf2-mega-foot{padding:8px 12px 4px;border-top:1px solid #edf2f5}.sf2-mega-foot a{color:var(--sf-blue);font-size:11px;font-weight:800}
.sf2-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid #dce7ed;border-radius:12px;background:#fff}.sf2-burger span{display:block;width:20px;height:2px;margin:5px auto;background:#06172c}.sf2-mobile,.sf2-overlay{display:none}.sf2-main{min-height:40vh}
/* Page design */
.sff{--navy:var(--sf-navy);--navy2:var(--sf-navy2);--blue:var(--sf-blue);--blue2:var(--sf-blue2);--cyan:var(--sf-cyan);--cyan2:#83e7ed;--white:#fff;--soft:var(--sf-soft);--soft2:#ebf3f7;--text:var(--sf-ink);--muted:var(--sf-muted);--line:var(--sf-line);--shadow:var(--sf-shadow);width:100%;overflow:hidden;background:#fff;color:var(--text);font-family:Inter,Arial,sans-serif}.sff *{box-sizing:border-box}.sff h1,.sff h2,.sff h3,.sff h4,.sff p,.sff ul,.sff ol{margin:0}.sff a{color:inherit;text-decoration:none}.sff img{display:block;width:100%;height:100%;object-fit:cover}.sff svg{display:block;width:23px;height:23px}.sff .shell{width:calc(100% - 48px);max-width:1220px;margin:0 auto}.sff .section{position:relative;padding:108px 0}.sff .section.soft{background:linear-gradient(180deg,#f8fbfd,#f1f7fa)}.sff .section.dark{color:#fff;background:radial-gradient(circle at 85% 8%,rgba(55,202,215,.18),transparent 26%),linear-gradient(135deg,#06172c,#0a2b49)}.sff .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:var(--blue);font:800 10px Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}.sff .eyebrow:before{content:"";width:34px;height:2px;background:var(--cyan)}.sff .dark .eyebrow,.sff .hero .eyebrow{color:#7ee2ea}.sff .title{max-width:820px;color:var(--navy);font:800 clamp(35px,4vw,54px)/1.06 Manrope,sans-serif;letter-spacing:-.045em}.sff .dark .title{color:#fff}.sff .lead{max-width:760px;margin-top:19px;color:var(--muted);font-size:16px;line-height:1.78}.sff .dark .lead{color:#c2d1dc}.sff .copy{color:var(--muted);font-size:15.5px;line-height:1.82}.sff .copy p+p{margin-top:16px}.sff .actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.sff .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:11px;font:800 12px Manrope,sans-serif;transition:.22s ease}.sff .btn:hover{transform:translateY(-3px)}.sff .btn-primary{color:#06172c;background:linear-gradient(135deg,#47d3df,#8ce9ee);box-shadow:0 16px 36px rgba(55,202,215,.2)}.sff .btn-blue{color:#fff;background:linear-gradient(135deg,var(--blue),#074981);box-shadow:0 15px 34px rgba(7,95,174,.19)}.sff .btn-outline{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05)}.sff .btn svg{width:17px;height:17px}
.sff .hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;color:#fff;background:linear-gradient(115deg,#041426 0%,#082946 58%,#0a3e64 100%)}.sff .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 20%,rgba(55,202,215,.22),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px}.sff .hero:after{content:"";position:absolute;right:-160px;top:-250px;width:700px;height:700px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 100px rgba(255,255,255,.012),0 0 0 200px rgba(255,255,255,.007)}.sff .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.74fr);gap:76px;align-items:center;padding:90px 0 82px}.sff .hero h1{max-width:880px;color:#fff;font:800 clamp(48px,5.3vw,76px)/.98 Manrope,sans-serif;letter-spacing:-.058em}.sff .hero .intro{max-width:720px;margin-top:25px;color:#c8d8e4;font-size:17.5px;line-height:1.75}.sff .hero-panel{position:relative;padding:27px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.055);box-shadow:0 32px 80px rgba(0,10,26,.31);backdrop-filter:blur(9px)}.sff .hero-panel:before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}.sff .hero-panel h2{color:#fff;font:800 25px/1.18 Manrope,sans-serif;letter-spacing:-.035em}.sff .hero-panel p{margin-top:10px;color:#9fb6c8;font-size:12px;line-height:1.6}.sff .hero-points{display:grid;gap:9px;margin-top:22px}.sff .hero-point{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(0,0,0,.08)}.sff .hero-point i{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#06172c;background:linear-gradient(135deg,#8ce9ee,#37cad7)}.sff .hero-point strong{display:block;color:#fff;font-size:12px}.sff .hero-point span{display:block;margin-top:3px;color:#91aabd;font-size:10px;line-height:1.4}
.sf-truststrip{position:relative;z-index:3;margin-top:-24px}.sf-trustgrid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #dae6ed;border-radius:17px;background:#fff;box-shadow:0 18px 50px rgba(6,23,44,.10)}.sf-trustgrid>div{padding:20px 24px;border-right:1px solid #e5edf2}.sf-trustgrid>div:last-child{border-right:0}.sf-trustgrid strong{display:block;color:#06172c;font:800 14px Manrope,sans-serif}.sf-trustgrid span{display:block;margin-top:4px;color:#78899a;font-size:10px}
.sff .split{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:72px;align-items:center}.sff .split.top{align-items:start}.sff .head{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:43px}.sff .head .lead{max-width:510px;margin:0}.sff .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sff .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sff .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.sff .card{position:relative;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.24s ease}.sff .card:before{content:"";position:absolute;left:0;top:28px;width:2px;height:42px;background:transparent;transition:.2s}.sff .card:hover{transform:translateY(-5px);border-color:#bdd8e7;box-shadow:0 20px 55px rgba(6,23,44,.10)}.sff .card:hover:before{background:var(--cyan)}.sff .icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;color:var(--blue);background:linear-gradient(145deg,#e9f7f9,#e8f0fb)}.sff .card h3{color:var(--navy);font:800 17px/1.35 Manrope,sans-serif}.sff .card p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.68}.sff .card .link{display:inline-flex;align-items:center;gap:6px;margin-top:17px;color:var(--blue);font-size:11px;font-weight:800}.sff .card .link svg{width:15px;height:15px}.sff .photo{position:relative;overflow:hidden;border-radius:20px;background:#e2eaf0;box-shadow:var(--shadow)}.sff .photo img{min-height:420px}.sff .photo:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(3,20,39,.78))}.sff .photo-cap{position:absolute;z-index:2;left:22px;right:22px;bottom:19px;color:#fff;font:800 12px Manrope,sans-serif}.sff .gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.sff .gallery figure{position:relative;grid-column:span 4;min-height:285px;overflow:hidden;margin:0;border-radius:17px;background:#e1e9ef}.sff .gallery figure.wide{grid-column:span 6}.sff .gallery img{min-height:285px;transition:.35s ease}.sff .gallery figure:hover img{transform:scale(1.035)}.sff .gallery figcaption{position:absolute;z-index:2;left:17px;right:17px;bottom:15px;color:#fff;font:800 11px Manrope,sans-serif}.sff .gallery figure:after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(transparent,rgba(3,20,39,.8))}.sff .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-top:34px;border:1px solid var(--line);border-radius:17px;background:#fff}.sff .stat{padding:23px;border-right:1px solid var(--line)}.sff .stat:last-child{border-right:0}.sff .stat strong{display:block;color:var(--navy);font:800 28px Manrope,sans-serif;letter-spacing:-.04em}.sff .stat span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.sff .list{display:grid;gap:12px;margin-top:24px}.sff .list-row{display:grid;grid-template-columns:28px 1fr;gap:11px;align-items:start;color:var(--muted);font-size:13.5px;line-height:1.65}.sff .tick{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#06172c;background:var(--cyan)}.sff .tick svg{width:14px;height:14px}
.sff .docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sff .doc{padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:.22s}.sff .doc:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(6,23,44,.09)}.sff .doc .icon{width:44px;height:44px;margin-bottom:14px}.sff .doc small{display:block;margin-bottom:6px;color:var(--blue);font-size:8.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.sff .doc h3{color:var(--navy);font:800 15px/1.4 Manrope,sans-serif}.sff .doc p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}.sff .doc a{display:inline-flex;align-items:center;gap:6px;margin-top:13px;color:var(--blue);font-size:11px;font-weight:800}.sff details{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.sff details+details{margin-top:9px}.sff summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:18px;color:var(--navy);font:800 13px Manrope,sans-serif}.sff summary::-webkit-details-marker{display:none}.sff summary:after{content:"+";color:var(--blue);font-size:18px}.sff details[open] summary:after{content:"−"}.sff .detail{padding:0 18px 18px;color:var(--muted);font-size:12.5px;line-height:1.7}.sff .band{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:44px 48px;border-radius:22px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(55,202,215,.22),transparent 28%),linear-gradient(135deg,#082542,#075d94)}.sff .band h2{max-width:700px;color:#fff;font:800 34px/1.13 Manrope,sans-serif;letter-spacing:-.04em}.sff .band p{max-width:650px;margin-top:9px;color:#d0dfeb;font-size:13px;line-height:1.65}.sff .process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.sff .step{position:relative;padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff}.sff .step b{display:grid;place-items:center;width:37px;height:37px;margin-bottom:16px;border-radius:10px;color:#06172c;background:var(--cyan);font-size:11px}.sff .step h3{color:var(--navy);font:800 15px Manrope,sans-serif}.sff .step p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.62}.sff .badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #d9e7ef;border-radius:999px;color:var(--blue);background:#f7fbfd;font-size:9px;font-weight:850}.sff .course{padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff}.sff .course-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.sff .course h3{color:var(--navy);font:800 16px/1.35 Manrope,sans-serif}.sff .course p{margin-top:9px;color:var(--muted);font-size:12.5px;line-height:1.65}.sff .course-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.sff .notice{padding:16px 18px;border:1px solid #d8e7ef;border-radius:13px;color:#45596e;background:#f7fbfd;font-size:12px;line-height:1.6}
/* active courses */
.sff .open-label{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;color:#06172c;background:var(--sf-yellow);font:900 9px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}.sff .active-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sff .active-course{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(6,23,44,.06);transition:.25s ease}.sff .active-course:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.sff .active-course-media{height:300px;padding:12px;background:linear-gradient(145deg,#eef5f9,#fff);border-bottom:1px solid var(--line)}.sff .active-course-media img{object-fit:contain;border-radius:11px;background:#fff}.sff .active-course-body{padding:22px}.sff .active-course-body h3{margin-top:12px;color:var(--navy);font:800 20px/1.2 Manrope,sans-serif;letter-spacing:-.025em}.sff .active-course-body p{margin-top:9px;color:var(--muted);font-size:12.5px;line-height:1.65}.sff .active-course-body .actions{margin-top:17px}.sff .course-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.68fr);gap:60px;align-items:center}.sff .poster{overflow:hidden;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:19px;background:rgba(255,255,255,.07);box-shadow:0 28px 70px rgba(0,10,30,.28)}.sff .poster img{height:auto;max-height:535px;object-fit:contain;border-radius:10px;background:#fff}.sff .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.sff .fact{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}.sff .fact strong{display:block;color:var(--navy);font:800 18px Manrope,sans-serif}.sff .fact span{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.sff .course-alert{padding:19px 21px;border:1px solid #ecd569;border-radius:14px;background:#fff9df;color:#5d4a08;font-size:12.5px;line-height:1.65}.sff .course-alert strong{color:#4a3900}
/* Contact Form 7 */
.wpcf7{width:calc(100% - 48px);max-width:1220px;margin:0 auto 105px;padding:32px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 22px 62px rgba(6,23,44,.11);font-family:Inter,Arial,sans-serif}.wpcf7 form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.wpcf7 p{margin:0}.wpcf7 p:has(textarea),.wpcf7 p:has(.wpcf7-file),.wpcf7 p:nth-last-child(-n+3){grid-column:1/-1}.wpcf7 label{display:block;color:#06172c;font-size:11px;font-weight:800}.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 select,.wpcf7 textarea,.wpcf7 input[type=file]{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d7e3ea;border-radius:10px;outline:0;color:#17253a;background:#fbfdfe;font:inherit}.wpcf7 textarea{min-height:145px;resize:vertical}.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:#37cad7;box-shadow:0 0 0 4px rgba(55,202,215,.1)}.wpcf7 input[type=submit]{min-height:50px;padding:0 24px;border:0;border-radius:10px;cursor:pointer;color:#06172c;background:linear-gradient(135deg,#37cad7,#8ce9ee);font-size:12px;font-weight:900}
/* Footer */
.sf2-footer{color:#b7c7d4;background:#03101e;border-top:1px solid rgba(255,255,255,.08)}.sf2-footer-top{display:grid;grid-template-columns:1.35fr .8fr .9fr 1fr;gap:58px;padding:74px 0 56px}.sf2-footer-logo img{max-width:250px;max-height:75px;width:auto;height:auto;filter:brightness(0) invert(1);opacity:.96}.sf2-footer-brand p{max-width:390px;margin:22px 0 0;font-size:12.5px;line-height:1.75}.sf2-footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.sf2-footer-social a{padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#d7e4ed;font-size:9.5px;font-weight:700}.sf2-footer-col h3{margin:0 0 18px;color:#fff;font:800 11px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}.sf2-footer-col>a{display:block;margin:10px 0;color:#aebfcc;font-size:11px;line-height:1.45}.sf2-footer-col>a:hover{color:#fff}.sf2-footer-contact p{font-size:11px;line-height:1.65}.sf2-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 0;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}.sf2-footer-cta small{display:block;color:#5edbe3;font-size:8px;font-weight:900;letter-spacing:.12em}.sf2-footer-cta strong{display:block;margin-top:7px;color:#fff;font:800 24px Manrope,sans-serif}.sf2-footer-cta>a{display:inline-flex;gap:12px;align-items:center;padding:13px 17px;border-radius:10px;color:#06172c;background:#5edbe3;font-size:11px;font-weight:800}.sf2-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;color:#73899a;font-size:9.5px}.sf2-footer-bottom div{display:flex;gap:18px}.sf2-footer-bottom a{color:#93a8b8}
/* reveal */
.sf2-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.sf2-reveal.is-visible{opacity:1;transform:none}@keyframes sf2Down{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:1150px){.sf2-nav{gap:17px}.sf2-nav>a,.sf2-navdrop>button{font-size:11.5px}.sf2-whatsapp{display:none}.sf2-logo{flex-basis:210px}.sf2-logo img{max-width:205px}.sff .hero-grid{gap:45px}.sff .grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){body.admin-bar .sf2-header.is-sticky{top:46px}.sf2-topcontacts,.sf2-nav,.sf2-head-actions{display:none}.sf2-topbar-inner{justify-content:center}.sf2-open{overflow:auto;white-space:nowrap}.sf2-header-inner{height:76px}.sf2-logo{flex:0 0 auto}.sf2-logo img{max-width:210px}.sf2-burger{display:block}.sf2-mobile{display:block;position:fixed;z-index:1200;right:0;top:0;bottom:0;width:min(88vw,390px);padding:22px;color:#fff;background:#06172c;transform:translateX(105%);transition:.28s ease}.sf2-mobile.is-open{transform:none}.sf2-overlay{display:block;position:fixed;z-index:1190;inset:0;background:rgba(3,11,20,.56);opacity:0;visibility:hidden;transition:.25s}.sf2-overlay.is-open{opacity:1;visibility:visible}.sf2-mobile-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);font:800 10px Manrope,sans-serif;letter-spacing:.1em}.sf2-mobile-close{border:0;color:#fff;background:none;font-size:28px}.sf2-mobile-links{display:grid;padding:18px 0}.sf2-mobile-links>a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;font:700 15px Manrope,sans-serif}.sf2-mobile-group{display:grid;gap:8px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}.sf2-mobile-group strong{color:#ffda5e;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.sf2-mobile-group a{color:#c4d2dc;font-size:12px}.sf2-mobile-wa{display:block;padding:13px;border-radius:10px;text-align:center;color:#06172c;background:#5edbe3;font-size:11px;font-weight:800}.sff .hero-grid,.sff .course-hero,.sff .split{grid-template-columns:1fr}.sff .grid3{grid-template-columns:repeat(2,1fr)}.sff .process{grid-template-columns:repeat(2,1fr)}.sff .gallery figure,.sff .gallery figure.wide{grid-column:span 6}.sff .active-courses{grid-template-columns:1fr 1fr}.sf2-footer-top{grid-template-columns:1.3fr 1fr 1fr}.sf2-footer-brand{grid-column:1/-1}.sf-trustgrid{grid-template-columns:repeat(2,1fr)}.sf-trustgrid>div:nth-child(2){border-right:0}.sf-trustgrid>div:nth-child(-n+2){border-bottom:1px solid #e5edf2}}
@media(max-width:700px){.sf2-wrap,.sff .shell{width:calc(100% - 28px)}.sf2-topbar{font-size:9px}.sf2-topbar-inner{height:34px}.sf2-open>span{display:none}.sf2-header-inner{height:70px}.sf2-logo img{max-width:180px}.sff .section{padding:74px 0}.sff .hero{min-height:auto}.sff .hero-grid{padding:68px 0 58px}.sff .hero h1{font-size:42px}.sff .hero .intro{font-size:15px}.sff .hero-panel{padding:21px}.sff .head{display:block;margin-bottom:31px}.sff .head .lead{margin-top:15px}.sff .grid2,.sff .grid3,.sff .grid4,.sff .docs,.sff .process,.sff .active-courses,.sff .facts{grid-template-columns:1fr}.sff .gallery{grid-template-columns:1fr}.sff .gallery figure,.sff .gallery figure.wide{grid-column:auto}.sff .band{display:block;padding:31px 23px}.sff .band h2{font-size:28px}.sff .band .btn{margin-top:20px}.sff .poster img{max-height:none}.sf2-footer-top{grid-template-columns:1fr 1fr;gap:34px;padding-top:56px}.sf2-footer-brand{grid-column:1/-1}.sf2-footer-cta{display:block}.sf2-footer-cta>a{margin-top:18px}.sf2-footer-cta strong{font-size:20px}.sf2-footer-bottom{display:block}.sf2-footer-bottom div{margin-top:10px}.wpcf7{width:calc(100% - 28px);padding:22px}.wpcf7 form{grid-template-columns:1fr}.sf-truststrip{margin-top:0}.sf-trustgrid{grid-template-columns:1fr}.sf-trustgrid>div{border-right:0;border-bottom:1px solid #e5edf2}.sf-trustgrid>div:last-child{border-bottom:0}}
@media(max-width:460px){.sf2-footer-top{grid-template-columns:1fr}.sff .hero h1{font-size:37px}.sff .actions{display:grid}.sff .btn{width:100%}.sff .active-course-media{height:255px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf2-site *{animation:none!important;transition:none!important}.sf2-reveal{opacity:1;transform:none}}


/* ==========================================================
   2.0.1 FIX — HOME: CARD CORSI APERTI / ELEMENTOR IMAGE RESET
   ========================================================== */
.sff .active-courses{
  align-items:stretch;
}
.sff .active-course{
  display:flex !important;
  flex-direction:column !important;
  height:100%;
  min-width:0;
  overflow:hidden !important;
}
.sff .active-course-media{
  position:relative;
  display:flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 320px;
  width:100%;
  height:320px !important;
  min-height:320px !important;
  max-height:320px !important;
  overflow:hidden !important;
  padding:12px;
}
.sff .active-course-media img,
.elementor .sff .active-course-media img,
.elementor-widget-container .sff .active-course-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}
.sff .active-course-body{
  position:relative;
  z-index:2;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
  min-height:250px;
  padding:22px;
  background:#fff;
}
.sff .active-course-body .actions{
  margin-top:auto !important;
  padding-top:18px;
}
.sff .active-course-body h3{
  min-height:48px;
}
@media(max-width:980px){
  .sff .active-course-media{
    flex-basis:300px;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }
}
@media(max-width:700px){
  .sff .active-course-media{
    flex-basis:290px;
    height:290px !important;
    min-height:290px !important;
    max-height:290px !important;
  }
  .sff .active-course-body{
    min-height:0;
  }
  .sff .active-course-body h3{
    min-height:0;
  }
}


/* ==========================================================
   2.0.2 — FOOTER LEGAL + WEB DEVELOPMENT CREDIT
   ========================================================== */
.sf2-footer-bottom{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr) auto;
  align-items:center;
  gap:28px;
  padding:20px 0;
  color:#73899a;
  font-size:9.5px;
}
.sf2-footer-legal{
  min-width:0;
  line-height:1.55;
}
.sf2-footer-sep{
  display:inline-block;
  margin:0 5px;
  color:#4e687a;
}
.sf2-footer-credit{
  text-align:center;
  color:#8299aa;
  line-height:1.55;
}
.sf2-footer-credit strong{
  color:#c4d5e1;
  font-weight:800;
}
.sf2-footer-policies{
  display:flex !important;
  justify-content:flex-end;
  gap:18px;
  white-space:nowrap;
}
.sf2-footer-policies a{
  color:#93a8b8;
}
.sf2-footer-policies a:hover,
.sf2-footer-credit strong:hover{
  color:#fff;
}
@media(max-width:900px){
  .sf2-footer-bottom{
    grid-template-columns:1fr auto;
  }
  .sf2-footer-credit{
    grid-column:1/-1;
    grid-row:2;
    text-align:left;
  }
}
@media(max-width:620px){
  .sf2-footer-bottom{
    grid-template-columns:1fr !important;
    gap:10px;
  }
  .sf2-footer-credit{
    grid-column:auto;
    grid-row:auto;
    text-align:left;
  }
  .sf2-footer-policies{
    justify-content:flex-start;
    margin-top:3px !important;
  }
  .sf2-footer-sep{
    display:none;
  }
  .sf2-footer-legal{
    display:grid;
    gap:3px;
  }
}

/* ==========================================================
   2.0.3 — LEGAL PAGES: PRIVACY + COOKIE
   ========================================================== */
.sff .legal-wrap{max-width:980px}
.sff .legal-index{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px
}
.sff .legal-index a{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:15px 16px;border:1px solid var(--line);border-radius:13px;
 color:var(--navy);background:#fff;font:800 11px Manrope,sans-serif;transition:.2s ease
}
.sff .legal-index a:hover{transform:translateY(-2px);border-color:#b8d5e5;box-shadow:0 12px 30px rgba(6,23,44,.07)}
.sff .legal-section{
 padding:30px 0;border-top:1px solid var(--line)
}
.sff .legal-section:first-child{border-top:0;padding-top:0}
.sff .legal-section h2{
 margin-bottom:14px;color:var(--navy);font:800 26px/1.2 Manrope,sans-serif;letter-spacing:-.025em
}
.sff .legal-section h3{
 margin:24px 0 9px;color:var(--navy);font:800 16px/1.35 Manrope,sans-serif
}
.sff .legal-section p,.sff .legal-section li{
 color:var(--muted);font-size:13.5px;line-height:1.78
}
.sff .legal-section p+p{margin-top:11px}
.sff .legal-section ul{margin:13px 0 0;padding-left:20px}
.sff .legal-section li+li{margin-top:7px}
.sff .legal-box{
 margin:18px 0;padding:18px 20px;border:1px solid #d5e6ee;border-radius:14px;
 background:#f7fbfd;color:#506579;font-size:12.5px;line-height:1.7
}
.sff .legal-box strong{color:var(--navy)}
.sff .legal-table{
 width:100%;margin-top:18px;border-collapse:separate;border-spacing:0;
 overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff
}
.sff .legal-table th,.sff .legal-table td{
 padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;
 font-size:11.5px;line-height:1.6
}
.sff .legal-table th{color:var(--navy);background:#f5f9fb;font-weight:850}
.sff .legal-table td{color:#5f7184}
.sff .legal-table tr:last-child td{border-bottom:0}
.sff .legal-date{
 display:inline-flex;margin-top:20px;padding:7px 10px;border-radius:999px;
 color:#446077;background:#eaf4f8;font-size:9.5px;font-weight:800
}
.sff .legal-contact{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px
}
.sff .legal-contact div{
 padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff
}
.sff .legal-contact strong{display:block;color:var(--navy);font-size:11px}
.sff .legal-contact span,.sff .legal-contact a{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.55}
@media(max-width:760px){
 .sff .legal-index{grid-template-columns:1fr}
 .sff .legal-contact{grid-template-columns:1fr}
 .sff .legal-table{display:block;overflow-x:auto}
}


/* ==========================================================
   2.0.4 — ELEMENTOR TRUE FULL WIDTH
   Rimuove il padding/margine del contenitore radice Elementor.
   Le pagine del progetto usano un singolo widget HTML.
   ========================================================== */
body.elementor-page .sf2-main,
body.elementor-page .elementor,
body.elementor-page .elementor-inner,
body.elementor-page .elementor-section-wrap{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.elementor-page .elementor > .e-con.e-parent,
body.elementor-page .elementor > .elementor-element.e-con,
body.elementor-page .elementor-section-wrap > .elementor-section{
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  --container-default-padding-top:0px !important;
  --container-default-padding-right:0px !important;
  --container-default-padding-bottom:0px !important;
  --container-default-padding-left:0px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.elementor-page .elementor-widget-html,
body.elementor-page .elementor-widget-html > .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.elementor-page .elementor-element:has(> .elementor-widget-container > .sff),
body.elementor-page .elementor-element:has(> .elementor-widget-container > .sf3),
body.elementor-page .elementor-element:has(> .elementor-widget-container > .sf4){
  --padding-top:0px !important;
  --padding-right:0px !important;
  --padding-bottom:0px !important;
  --padding-left:0px !important;
  margin:0 !important;
  padding:0 !important;
}
.sf2-main{overflow:hidden}

/* ==========================================================
   2.0.5 — TOPBAR SOCIAL / SETTINGS / FOOTER SOCIAL ICONS
   ========================================================== */
.sf2-topbar{background:linear-gradient(90deg,#03101e,#05233b);border-bottom:1px solid rgba(255,255,255,.075)}
.sf2-topbar-inner{min-height:38px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sf2-topcontacts-left{display:flex;align-items:center;gap:18px;min-width:0}
.sf2-topcontacts-left a,.sf2-topaddress{display:inline-flex;align-items:center;color:#9fb7c7;font-size:9.5px;line-height:1.2;white-space:nowrap}
.sf2-topcontacts-left a:hover{color:#fff}
.sf2-topcontacts-left a:first-child{color:#d8e6ee;font-weight:800}
.sf2-topdot{width:5px;height:5px;margin-right:8px;border-radius:50%;background:#55d8df;box-shadow:0 0 0 4px rgba(85,216,223,.08)}
.sf2-topaddress{max-width:340px;overflow:hidden;text-overflow:ellipsis}
.sf2-top-social-wrap{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.sf2-follow-label{color:#617e91;font-size:7.5px;font-weight:900;letter-spacing:.13em}
.sf2-socials{display:flex;align-items:center;gap:7px}
.sf2-social{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none!important;transition:.2s ease}
.sf2-social svg{width:15px;height:15px;flex:0 0 15px}
.sf2-socials-topbar .sf2-social{width:27px;height:27px;border:1px solid rgba(255,255,255,.10);border-radius:8px;color:#b8cad6;background:rgba(255,255,255,.025)}
.sf2-socials-topbar .sf2-social span{display:none}
.sf2-socials-topbar .sf2-social:hover{color:#06172c;border-color:#55d8df;background:#55d8df;transform:translateY(-2px)}
.sf2-whatsapp{display:inline-flex!important;align-items:center;gap:7px}.sf2-whatsapp svg{width:14px;height:14px}
.sf2-socials-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.sf2-socials-footer .sf2-social{min-height:35px;padding:0 10px;border:1px solid rgba(255,255,255,.13);border-radius:9px;color:#d7e4ed;background:rgba(255,255,255,.015);font-size:9px;font-weight:750}
.sf2-socials-footer .sf2-social:hover{color:#06172c;border-color:#5edbe3;background:#5edbe3;transform:translateY(-2px)}
.sf2-socials-footer .sf2-social svg{width:13px;height:13px}
.sf2-mobile-socials{padding:15px 0 17px}
.sf2-socials-mobile{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sf2-socials-mobile .sf2-social{min-height:45px;border:1px solid rgba(255,255,255,.10);border-radius:10px;color:#d4e2eb;background:rgba(255,255,255,.035)}
.sf2-socials-mobile .sf2-social span{display:none}
.sf2-socials-mobile .sf2-social svg{width:17px;height:17px}

/* Header leggermente più elegante dopo la topbar */
.sf2-header{border-bottom:1px solid #e6edf2;box-shadow:0 9px 35px rgba(5,29,48,.055)}
.sf2-header-inner{height:86px}
.sf2-nav>a,.sf2-navdrop>button{position:relative}
.sf2-nav>a:after,.sf2-navdrop>button:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#55d8df;transition:.2s ease}
.sf2-nav>a:hover:after,.sf2-navdrop:hover>button:after{right:0}

@media(max-width:1180px){
 .sf2-topaddress{display:none}
 .sf2-topcontacts-left{gap:13px}
 .sf2-follow-label{display:none}
}
@media(max-width:980px){
 .sf2-topbar-inner{justify-content:space-between!important}
 .sf2-topcontacts-left{display:flex!important}
 .sf2-topcontacts-left a:not(:first-child),.sf2-topaddress{display:none}
 .sf2-top-social-wrap{display:flex}
 .sf2-socials-topbar .sf2-social{width:25px;height:25px}
}
@media(max-width:560px){
 .sf2-topbar-inner{width:calc(100% - 24px)}
 .sf2-topcontacts-left a:first-child{font-size:9px}
 .sf2-socials-topbar{gap:5px}
 .sf2-socials-topbar .sf2-social{width:24px;height:24px;border-radius:7px}
 .sf2-socials-topbar .sf2-social svg{width:13px;height:13px}
}

/* ==========================================================
   2.0.7 — FOOTER BOTTOM ELEGANT
   Copyright, credit sviluppo e policy compatti e bilanciati
   ========================================================== */
.sf2-footer-bottom{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:26px;
  min-height:70px;
  padding:18px 0 !important;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8095a5;
  font-size:10px;
  letter-spacing:.01em;
}
.sf2-footer-legal{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  min-width:0;
  line-height:1.55;
}
.sf2-footer-legal>span:first-child{
  color:#8ea4b4;
}
.sf2-footer-legal>span:last-child{
  color:#6f8799;
}
.sf2-footer-sep{
  display:inline-block;
  margin:0 10px;
  color:#3d5668;
}
.sf2-footer-credit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#748b9c;
  white-space:nowrap;
}
.sf2-footer-credit-label{
  font-size:9.5px;
}
.sf2-footer-credit strong{
  color:#d8e5ed;
  font-size:10px;
  font-weight:800;
  letter-spacing:.015em;
}
.sf2-footer-policies{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:17px;
  margin:0 !important;
  white-space:nowrap;
}
.sf2-footer-policies a{
  position:relative;
  color:#8fa6b6;
  transition:.2s ease;
}
.sf2-footer-policies a+a:before{
  content:"";
  position:absolute;
  left:-9px;
  top:50%;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#435d6f;
  transform:translateY(-50%);
}
.sf2-footer-policies a:hover{color:#fff}

@media(max-width:1120px){
  .sf2-footer-bottom{
    grid-template-columns:1fr auto;
    gap:13px 24px;
  }
  .sf2-footer-credit{
    grid-column:1/-1;
    grid-row:2;
    justify-self:start;
  }
}
@media(max-width:720px){
  .sf2-footer-bottom{
    grid-template-columns:1fr !important;
    gap:10px;
    padding:18px 0 21px !important;
  }
  .sf2-footer-legal{
    line-height:1.7;
  }
  .sf2-footer-credit{
    grid-column:auto;
    grid-row:auto;
    justify-self:start;
    white-space:normal;
    border-radius:12px;
  }
  .sf2-footer-policies{
    justify-content:flex-start;
  }
}
