
:root{--navy:#050b39;--navy2:#081a4d;--blue:#0f2b72;--gold:#ffec43;--gold2:#d5a516;--cream:#fbf8ee;--white:#fff;--ink:#10192e;--muted:#5f6f8f;--line:rgba(8,26,77,.12);--shadow:0 24px 60px rgba(2,10,44,.18);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}p{margin:0 0 1rem}h1,h2,h3{margin:0 0 .7rem;line-height:1.08}h1,h2{font-family:"Playfair Display",serif}.container{width:min(1180px,calc(100% - 42px));margin:auto}.topbar{background:var(--navy);color:#dce5ff;font-size:.92rem}.topbar__inner{display:flex;justify-content:space-between;gap:16px;padding:9px 0}.topbar a{color:var(--gold)}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header__inner{display:flex;align-items:center;gap:18px;padding:14px 0}.logo{display:flex;align-items:center;flex:0 0 auto}.logo img{height:58px;width:auto;max-width:270px;object-fit:contain}.header-cta{margin-left:auto;background:var(--navy2);color:#fff;padding:11px 17px;border-radius:999px;font-weight:800;font-size:.9rem;border:1px solid rgba(255,255,255,.1)}.nav{margin-left:auto}.menu,.submenu{list-style:none;margin:0;padding:0}.menu{display:flex;align-items:center;gap:4px}.menu>li{position:relative}.menu a{display:flex;align-items:center;gap:8px}.menu>li>a{padding:13px 10px;border-radius:14px;font-weight:800;font-size:.88rem;color:var(--navy2);white-space:nowrap}.menu>li:hover>a{background:#f3f6ff}.has-children>a:after{content:"▾";font-size:.72rem;color:var(--gold2)}.submenu{position:absolute;top:100%;left:0;min-width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s ease}.submenu .submenu{left:100%;top:0}.has-children:hover>.submenu{opacity:1;pointer-events:auto;transform:translateY(0)}.submenu a{padding:10px 12px;border-radius:12px;color:#10265e;font-weight:700;font-size:.92rem}.submenu a:hover{background:#f5f7ff}.nav-toggle{display:none;background:transparent;border:0;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:28px;height:3px;border-radius:4px;background:var(--navy);margin:5px 0}.hero{position:relative;min-height:72vh;display:flex;align-items:center;overflow:hidden}.hero__media,.hero__shade{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__shade{background:linear-gradient(90deg,rgba(5,11,57,.92) 0%,rgba(5,11,57,.80) 42%,rgba(5,11,57,.25) 78%,rgba(5,11,57,.04) 100%)}.hero__content{position:relative;z-index:2;color:#fff;padding:92px 0;max-width:1180px}.hero__content h1{font-size:clamp(2.8rem,5vw,5.7rem);max-width:760px;color:#fff}.hero__content p{max-width:660px;color:rgba(255,255,255,.9);font-size:1.08rem}.kicker{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.78rem;color:var(--gold);margin-bottom:16px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:900;border:1px solid transparent;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn--gold{background:linear-gradient(135deg,var(--gold),#fff08b);color:#07133f;box-shadow:0 18px 40px rgba(255,236,67,.25)}.btn--ghost{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.08)}.btn--navy{background:var(--navy2);color:#fff}.section{padding:78px 0}.section--light{background:#f7f8fd}.section--blue{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}.section--blue h2,.section--blue h3{color:#fff}.section-title{max-width:770px;margin-bottom:30px}.section-title h1,.section-title h2{font-size:clamp(2.1rem,3.5vw,3.8rem);color:var(--navy)}.section-title p{font-size:1.05rem;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(8,26,77,.06)}.course-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.course-card div{padding:22px}.course-card h3{font-size:1.22rem;color:var(--navy2)}.course-card p{color:var(--muted)}.course-card a,.mini-card a{font-weight:900;color:var(--blue);display:inline-flex;margin-top:8px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.check-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}.check-list li{position:relative;padding-left:30px}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold2);font-weight:900}.section--blue .check-list li:before{color:var(--gold)}.glass-box{padding:30px;border-radius:var(--radius);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.2)}.glass-box a{color:inherit}.feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center;background:#fff;border-radius:32px;box-shadow:var(--shadow);overflow:hidden}.feature>div{padding:42px}.feature h2{font-size:clamp(2.2rem,3vw,3.7rem);color:var(--navy)}.feature img{height:100%;width:100%;object-fit:cover}.content-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:34px}.content-main h2{font-size:clamp(2.1rem,3vw,3.5rem);color:var(--navy)}.content-main p{font-size:1.03rem;color:#293752}.content-side{position:sticky;top:110px;align-self:start;background:#fff;border:1px solid rgba(8,26,77,.08);box-shadow:var(--shadow);border-radius:var(--radius);padding:28px}.content-side h3{color:var(--navy2)}.info-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}.info-list li{padding:12px 14px;border-radius:14px;background:#f5f7ff;color:#24345d;font-weight:700}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.mini-card{display:grid;grid-template-columns:190px 1fr;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(8,26,77,.06)}.mini-card img{height:100%;width:100%;object-fit:cover}.mini-card div{padding:20px}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band div{max-width:760px}.cta-band h2{font-size:clamp(2rem,3vw,3.4rem)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px}.contact-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}.contact-card--dark{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}.contact-card--dark h2{color:#fff}.contact-card a{font-weight:800;color:inherit}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:inherit;padding:14px 16px;border-radius:14px;border:1px solid var(--line);outline:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold2);box-shadow:0 0 0 4px rgba(255,236,67,.16)}.narrow{max-width:780px}.footer{background:#050b39;color:#d6def5;margin-top:0}.footer__grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:30px;padding:58px 0}.footer__logo{max-width:300px;margin-bottom:16px}.footer h3{color:#fff}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer a{color:#fff}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:.92rem}.sticky .header{box-shadow:0 10px 30px rgba(6,20,64,.08)}
@media(max-width:1180px){.header-cta{display:none}.menu>li>a{font-size:.82rem;padding:12px 8px}.submenu{min-width:290px}}
@media(max-width:980px){.nav-toggle{display:block;margin-left:auto}.nav{position:fixed;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100vh - 82px);overflow:auto;padding:10px 22px 22px;transform:translateY(-130%);transition:.24s ease}.nav.open{transform:translateY(0)}.menu{display:grid;align-items:stretch}.menu>li>a{white-space:normal;font-size:.95rem}.submenu,.submenu .submenu{position:static;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border:0;display:none;padding:0 0 0 14px;min-width:unset}.has-children.open>.submenu{display:block}.course-grid{grid-template-columns:repeat(2,1fr)}.split,.feature,.content-layout,.contact-grid{grid-template-columns:1fr}.content-side{position:relative;top:0}.mini-grid{grid-template-columns:1fr}.cta-band{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.container{width:min(100% - 28px,1180px)}.topbar__inner{display:grid;text-align:center}.logo img{height:46px;max-width:210px}.hero{min-height:68vh}.hero__content{padding:80px 0}.hero__content h1{font-size:2.55rem}.section{padding:58px 0}.course-grid{grid-template-columns:1fr}.mini-card{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}.btn{width:100%}.hero__actions{width:100%}.hero__shade{background:linear-gradient(90deg,rgba(5,11,57,.94),rgba(5,11,57,.82),rgba(5,11,57,.45))}}

/* Kicker contrast: blu su sfondo chiaro, giallo su sfondo scuro/blu */
.kicker{color:var(--blue)}
.hero .kicker,.section--blue .kicker,.contact-card--dark .kicker,.footer .kicker{color:var(--gold)}

/* Sitewide header/footer color logic */
.header{background:#030633;border-bottom:1px solid rgba(255,255,255,.16)}
.menu>li>a{color:#fff}
.menu>li:hover>a{background:rgba(255,255,255,.12)}
.has-children>a:after{color:#fff}
.nav-toggle span{background:#fff}
@media(max-width:980px){
  .nav{background:#030633;border-bottom:1px solid rgba(255,255,255,.16)}
}

/* Keep yellow buttons readable inside blue sections */
.section--blue .glass-box .btn--gold{color:#050b39}

/* Mobile header fix */
.topbar__inner{justify-content:flex-end;text-align:right;padding-right:17px}
.header-cta{margin-left:8px}
@media(max-width:980px){
  .topbar{font-size:.82rem;line-height:1.2}
  .topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;text-align:left}
  .header__inner{min-height:72px;padding:10px 0}
  .logo img{height:50px;max-width:220px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-left:auto;width:44px;height:44px;color:#fff}
  .nav-toggle span{width:28px;height:3px;margin:3px 0;background:#fff}
  .nav{top:calc(72px + 31px);background:#030633;border-bottom:1px solid rgba(255,255,255,.16);max-height:calc(100vh - 103px)}
}
@media(max-width:680px){
  .topbar__inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;padding:6px 0;text-align:left;padding-right:0}
  .topbar__inner span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar__inner span:last-child{text-align:right}
  .header__inner{min-height:70px;padding:9px 0}
  .logo img{height:48px;max-width:205px}
  .nav{top:calc(70px + 30px);max-height:calc(100vh - 100px)}
  .hero__content{padding-top:70px}
}
@media(max-width:390px){
  .topbar{font-size:.78rem}
  .logo img{height:44px;max-width:190px}
}

/* Hide topbar on mobile */
@media(max-width:680px){
  .topbar{display:none}
  .nav{top:70px;max-height:calc(100vh - 70px)}
}

/* Slightly larger header logo */
.logo img{height:66px;max-width:300px}
@media(max-width:980px){.logo img{height:56px;max-width:235px}}
@media(max-width:680px){.logo img{height:54px;max-width:225px}}
@media(max-width:390px){.logo img{height:50px;max-width:210px}}

/* Header fine tuning */
.topbar{font-size:.82rem}
.topbar__inner{padding-top:6px;padding-bottom:6px}
.logo img{height:74px;max-width:330px}
@media(max-width:980px){.logo img{height:62px;max-width:255px}}
@media(max-width:680px){.logo img{height:58px;max-width:240px}}
@media(max-width:390px){.logo img{height:54px;max-width:220px}}

/* Header final sizing */
.topbar{font-size:.76rem}
.topbar__inner{padding-top:5px;padding-bottom:5px}
.logo img{height:82px;max-width:360px}
@media(max-width:980px){.logo img{height:68px;max-width:280px}}
@media(max-width:680px){.logo img{height:64px;max-width:260px}}
@media(max-width:390px){.logo img{height:58px;max-width:235px}}

/* Topbar right alignment */
.topbar__inner{justify-content:flex-end;text-align:right;gap:18px}

/* Desktop nested menu alignment */
@media(min-width:981px){
  .submenu li{position:relative}
  .submenu .submenu{top:-10px;left:calc(100% - 4px)}
}

/* Global header logo size */
.logo img{height:95px;max-width:420px}
@media(max-width:980px){.logo img{height:68px;max-width:280px}}
@media(max-width:680px){.logo img{height:64px;max-width:260px}}
@media(max-width:390px){.logo img{height:58px;max-width:235px}}
