@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#0b4938;--deep:#072e24;--orange:#f39836;--paper:#f5f7f4;--ink:#18362c;--muted:#596b61;--line:#dce4de;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:white;font:16px/1.65 'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.14}h2{font-size:clamp(2rem,4vw,3.7rem);font-weight:600;letter-spacing:-.04em}h3{font-size:1.35rem}em{font-style:normal;color:var(--orange)}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:0}.demo-bar{padding:8px 5%;display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:white;gap:12px;font-size:.75rem;letter-spacing:.08em}.themes{display:flex;gap:4px}.themes button{color:#dbe7e0;background:transparent;border:0;padding:5px 12px;border-radius:3px;font-size:.8rem;letter-spacing:0}.themes button[aria-pressed=true]{background:var(--orange);color:var(--deep)}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:21px 5%;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{display:flex;gap:12px;align-items:center;font:bold 1.15rem/1 Manrope,Arial;letter-spacing:.08em}.brand-sub{display:block;letter-spacing:.27em;font-size:.68rem;margin-top:7px;font-weight:500}.brand-mark{font-size:2.5rem;letter-spacing:-.15em;color:var(--green);position:relative}.brand-mark span{position:absolute;top:-8px;right:-9px;font-size:.9rem;color:var(--orange)}nav{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:600}nav a:hover{color:#b95708}.nav-cta{padding:11px 23px;border:1px solid var(--green);border-radius:var(--radius)}.menu-button{display:none}.hero{position:relative;min-height:730px;overflow:hidden;background:var(--deep);color:white;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:60% 35%;animation:photoin 1.3s ease-out}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#072e24 5%,#072e24f0 32%,#072e2480 57%,#072e2400 82%)}.hero-content{position:relative;z-index:1;padding:65px 5% 100px;width:62%;animation:fadein .8s ease-out}.eyebrow{font-size:.78rem;letter-spacing:.17em;font-weight:700;margin-bottom:23px;color:var(--green)}.hero .eyebrow{color:#c6ddce}.hero h1{font-size:clamp(3rem,5.2vw,5rem);letter-spacing:-.045em;font-weight:600;line-height:1.06}.hero-description{max-width:440px;margin:25px 0 30px;color:#dbe7df;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 22px;font-weight:700;font-size:.9rem;border-radius:var(--radius);border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:var(--deep)}.light{border-color:#ffffff70;color:white}.green{background:var(--green);color:white}.outline{border-color:var(--green)}.hero-caption{position:absolute;z-index:1;right:5%;bottom:35px;display:flex;flex-direction:column;font-size:.85rem;text-shadow:0 1px 5px #000}.hero-caption span:first-child{font-size:.7rem;letter-spacing:.14em;color:var(--orange)}.hero-side{position:absolute;z-index:1;right:15px;top:40px;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.14em;color:#fff9}.service-strip{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:23px 5%;background:var(--paper);border-bottom:1px solid var(--line);font-size:.83rem;font-weight:600}.service-strip span:before{content:'+';color:#b35508;margin-right:10px}.section{padding:110px 7%;scroll-margin-top:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.section p.copy{margin-top:23px;color:var(--muted);max-width:590px}.section-photo{width:100%;height:510px;object-fit:cover;border-radius:var(--radius)}.photo-label{display:flex;justify-content:space-between;padding-top:14px;font-size:.8rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-heading p{max-width:350px;color:var(--muted)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:65px;padding-top:35px;border-top:1px solid var(--line)}.values span{font-size:.75rem;color:#a84d07}.values h3{margin:14px 0;font-size:1.2rem}.values p{color:var(--muted);font-size:.95rem}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:white;padding:32px;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,transform .2s}.service-card:hover{border-color:var(--green);transform:translateY(-4px)}.service-number{color:#a84d07;font-size:.8rem;letter-spacing:.1em}.service-card h3{margin:23px 0 15px;font-size:1.4rem;max-width:260px}.service-card p{color:var(--muted);font-size:.96rem}.service-card details{margin-top:23px;border-top:1px solid var(--line);padding-top:15px}.service-card summary{cursor:pointer;font-size:.86rem;font-weight:700}.service-card ul{padding-left:19px;font-size:.9rem;color:var(--muted)}.service-card details a{display:inline-block;color:var(--green);font-size:.9rem;font-weight:700;text-decoration:underline}.formation{background:var(--deep);color:white}.formation .eyebrow{color:var(--orange)}.formation p.copy{color:#c9dbd0}.formation .section-photo{height:460px;object-position:50% 40%}.course-list{margin-top:30px}.course-list details{border-top:1px solid #ffffff30;padding:18px 0}.course-list summary{cursor:pointer;font-weight:600}.course-list p{color:#c9dbd0;font-size:.95rem;padding-top:12px}.method{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.method article{border-top:2px solid var(--orange);padding-top:25px}.method .number{font-size:2.6rem;color:var(--green);font-family:Manrope}.method h3{margin:18px 0 12px}.method p{color:var(--muted)}.venue{background:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}.gallery button{padding:0;border:0;background:transparent;text-align:left;color:var(--muted)}.gallery img{height:185px;width:100%;object-fit:cover;border-radius:var(--radius)}.gallery span{display:block;font-size:.8rem;margin-top:8px}.venue-address{margin-top:25px;border-left:3px solid var(--orange);padding-left:20px}.contact{background:var(--green);color:white}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.contact-links{display:flex;flex-direction:column;gap:20px;margin-top:35px}.contact-links a{border-bottom:1px solid #ffffff30;padding-bottom:15px;font-size:clamp(1rem,2vw,1.4rem);overflow-wrap:anywhere}.contact-links small{display:block;font-size:.75rem;color:#c3d8c9;letter-spacing:.1em}.contact-panel{background:#ffffff0b;border:1px solid #ffffff30;padding:35px;border-radius:var(--radius)}.contact-panel h3{font-size:1.7rem}.contact-panel p{margin:17px 0 25px;color:#d4e4d9}.contact-panel .button{margin-bottom:12px}.contact-note{font-size:.85rem;color:#c3d8c9;margin-top:25px}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.8rem;color:var(--muted)}dialog{border:0;padding:15px;background:var(--deep);color:white;width:min(960px,94vw);max-height:94vh;border-radius:5px}dialog::backdrop{background:#000c}dialog img{max-height:78vh;margin:auto;object-fit:contain}dialog p{font-size:.9rem;margin:15px}.close-dialog{position:absolute;right:20px;top:20px;width:44px;height:44px;border:0;background:white;color:var(--deep);font-size:1.8rem;border-radius:50%}.reveal{animation:fadein .7s ease-out}html[data-theme=corporate]{--deep:#123f34;--green:#205d48;--paper:#f1f5f3;--radius:10px}html[data-theme=corporate] .hero{min-height:640px;background:var(--paper);color:var(--ink)}html[data-theme=corporate] .hero:after{background:linear-gradient(90deg,#f1f5f3 4%,#f1f5f3f5 34%,#f1f5f3a0 57%,transparent 85%)}html[data-theme=corporate] .hero h1{font-size:clamp(3rem,4.5vw,4.4rem)}html[data-theme=corporate] .hero h1 em{color:#b95708}html[data-theme=corporate] .hero-description,html[data-theme=corporate] .hero .eyebrow{color:var(--green)}html[data-theme=corporate] .hero .light{color:var(--green);border-color:var(--green)}html[data-theme=impact]{--deep:#092c20;--green:#155537;--orange:#ff9a30;--radius:0px}html[data-theme=impact] .hero{min-height:790px}html[data-theme=impact] .hero-photo{width:100%;object-position:60% 35%}html[data-theme=impact] .hero:after{background:linear-gradient(90deg,#092c20ec 0%,#092c2080 60%,#092c2020 100%)}html[data-theme=impact] .hero h1{font-weight:800;text-transform:uppercase;font-size:clamp(3rem,5.5vw,5.4rem)}html[data-theme=impact] .service-card{border-top:4px solid var(--green)}@keyframes fadein{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes photoin{from{transform:scale(1.04)}to{transform:scale(1)}}
@media(min-width:1600px){.hero-content{padding-left:8%}.hero{min-height:800px}}@media(max-width:1000px){nav{gap:18px}.hero-content{width:75%}.hero-photo{width:70%}.service-grid{grid-template-columns:repeat(2,1fr)}.split{gap:5%}.section{padding:80px 5%}.section-photo{height:440px}.gallery{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap}}@media(max-width:700px){html{scroll-padding-top:95px}.demo-bar{padding:7px 4%;flex-wrap:wrap;gap:3px}.demo-bar>span{font-size:.65rem}.themes button{padding:4px 7px;font-size:.75rem}header{padding:18px 5%}.brand{font-size:.95rem}.brand-mark{font-size:2rem}.brand-sub{font-size:.6rem}.menu-button{display:block;border:1px solid var(--line);background:white;padding:8px 13px;border-radius:var(--radius);font-size:.85rem}nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:22px 5%;box-shadow:0 15px 20px #0001}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.hero,html[data-theme=impact] .hero,html[data-theme=corporate] .hero{min-height:780px;align-items:flex-start}.hero-photo{width:100%;height:100%;object-position:65% 50%;opacity:.65}.hero:after{background:linear-gradient(180deg,#072e24f5 0%,#072e24d0 48%,#072e2430 100%)}.hero-content{width:100%;padding:45px 6% 110px}.hero h1,html[data-theme=impact] .hero h1,html[data-theme=corporate] .hero h1{font-size:clamp(2.7rem,10.5vw,4rem)}.hero-description{max-width:350px}.hero-caption{right:auto;left:6%;bottom:25px}.hero-side{display:none}.actions{gap:10px}.button{font-size:.85rem;padding:12px 16px}.service-strip{padding:22px 6%;gap:13px;display:grid;grid-template-columns:1fr 1fr;font-size:.75rem}.service-strip span:before{margin-right:5px}.section{padding:65px 6%}.split{grid-template-columns:1fr;gap:35px}.section-photo{height:340px}.values{grid-template-columns:1fr;gap:25px;margin-top:40px}.values h3{margin:8px 0}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{padding:26px}.method{grid-template-columns:1fr;gap:25px}.gallery{gap:12px}.gallery img{height:130px}.formation .section-photo{height:350px}.contact-panel{padding:25px}footer{flex-direction:column;align-items:flex-start;padding:35px 6%;gap:22px}html[data-theme=corporate] .hero:after{background:linear-gradient(180deg,#f1f5f3 0%,#f1f5f3ee 48%,#f1f5f330 100%)}.hero .eyebrow{font-size:.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.original-logo{width:68px;height:68px;object-fit:contain}.brand{gap:10px}:root{--orange:#ffad21;--green:#0b5d3b}@media(max-width:700px){.original-logo{width:50px;height:50px}}
/* Hero motion: subtle photo movement and staggered text entrance. */
.hero-photo{animation:hero-drift 22s ease-in-out infinite alternate;transform-origin:65% 45%;will-change:transform}
.hero-content{animation:none}
.hero-content>.eyebrow{animation:hero-entrance .8s ease both}
.hero-content>h1{animation:hero-entrance 1s .15s ease both}
.hero-content>.hero-description{animation:hero-entrance .9s .35s ease both}
.hero-content>.actions{animation:hero-entrance .9s .55s ease both}
.hero-caption{animation:hero-entrance 1s .75s ease both}
.motion-toggle{position:absolute;z-index:2;bottom:28px;left:5%;border:1px solid #ffffff70;color:white;background:#072e24b0;border-radius:4px;padding:8px 14px;font-size:.8rem;min-height:44px}
.hero.motion-paused *{animation-play-state:paused}
html[data-theme=corporate] .motion-toggle{background:#ffffffd9;color:var(--green);border-color:var(--green)}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.065)}}
@keyframes hero-entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.hero-caption{bottom:82px}.motion-toggle{left:6%;bottom:20px}.hero-photo{transform-origin:60% 40%}}
@media(prefers-reduced-motion:reduce){.hero-photo{will-change:auto}.motion-toggle{display:none}}
.palm-wind{pointer-events:none}
/* Preserve the complete training photograph at every viewport size. */
#formazione .section-photo{height:auto;max-height:none;width:100%;object-fit:contain;object-position:center}

.consulting-detail{background:white;border-left:4px solid var(--orange);padding:35px;margin-bottom:40px}.consulting-detail h3{font-size:clamp(1.5rem,3vw,2.1rem)}.consulting-detail p{margin-top:20px;color:var(--muted)}.consulting-detail h4{margin:25px 0 12px;font-size:1.05rem}.consulting-detail ul{padding-left:22px;color:var(--muted)}.consulting-detail li{margin:8px 0}.course-list article{padding:22px 0;border-top:1px solid #ffffff30}.course-list article h3{font-size:1.25rem}.course-list article p{padding-top:12px;color:#c9dbd0}.formation .split{align-items:start}.formation figure{position:sticky;top:140px}@media(max-width:700px){.consulting-detail{padding:25px}.formation figure{position:static}}
/* Mobile Premium: photographs remain prominent and text stays on a solid surface. */
@media(max-width:700px){
 html{scroll-padding-top:90px}
 header{padding:12px 5%}.original-logo{width:44px;height:44px}.brand{font-size:.88rem}.menu-button{min-height:44px}
 .hero{display:block;min-height:0;padding-top:330px}
 .hero-photo{inset:0 0 auto;width:100%;height:340px;opacity:1;object-position:60% 32%;animation:none;will-change:auto}
 .hero:after{inset:0 0 auto;height:342px;background:linear-gradient(180deg,transparent 55%,#072e2490 82%,#072e24 100%)}
 .hero-content{width:100%;padding:24px 6% 35px}
 .hero-content>.eyebrow,.hero-content>h1,.hero-content>.hero-description,.hero-content>.actions,.hero-caption{animation:none}
 .hero .eyebrow{margin-bottom:17px;color:#d4e6dc;font-size:.68rem;letter-spacing:.12em}
 .hero h1{font-size:clamp(2.25rem,9.5vw,3.6rem);line-height:1.08}
 .hero-description{margin:20px 0 24px;max-width:none;font-size:1rem;line-height:1.65}
 .hero .actions{display:grid;grid-template-columns:1fr;gap:10px}.hero .button{min-height:50px;width:100%}
 .hero-caption{top:270px;bottom:auto;left:6%;right:6%;font-size:.78rem}
 .motion-toggle{top:12px;bottom:auto;left:auto;right:5%;font-size:.72rem;background:#072e24d9}
 .service-strip{padding:20px 6%;gap:15px 12px;font-size:.76rem}
 .section{padding:54px 6%}h2{font-size:clamp(1.9rem,8.5vw,2.8rem);line-height:1.12}
 .section .eyebrow{margin-bottom:17px}.split{gap:28px}.section-photo{height:330px;object-position:center 35%}
 .photo-label{gap:15px;font-size:.74rem}.values{gap:20px}.values article{padding:18px 0;border-bottom:1px solid var(--line)}
 .consulting-detail{padding:23px 20px;margin-bottom:25px}.consulting-detail h3{font-size:1.45rem}.consulting-detail p,.consulting-detail li{font-size:.95rem}
 .service-card{padding:25px;border-top:3px solid var(--orange)}.service-card h3{margin:14px 0 12px;max-width:none}.service-card summary{padding:7px 0;min-height:44px}
 .formation figure{grid-row:1;position:static}.formation .section-photo{border-radius:6px}.course-list article{padding:23px 0}
 .method{gap:22px}.method article{padding:20px 0}.method h3{margin:10px 0}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.gallery img{height:170px}.gallery button:first-child{grid-column:1/-1}.gallery button:first-child img{height:240px}.gallery span{font-size:.78rem;line-height:1.4}
 .contact-panel{padding:24px 20px}.contact-panel .button{width:100%}.contact-links a{font-size:1.05rem}
 footer{padding:30px 6%;gap:18px}footer p{max-width:100%;line-height:1.65}
}
@media(max-width:360px){.hero{padding-top:290px}.hero-photo{height:300px}.hero:after{height:302px}.hero-caption{top:235px}.gallery img{height:145px}.brand{font-size:.8rem;gap:7px}}

/* Training catalog, desktop and mobile. */
.formation-intro figure{position:static}.formation .photo-label{color:#c9dbd0}.training-section-heading{margin:52px 0 24px;max-width:850px}.training-section-heading h3{font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:14px}.training-section-heading p:not(.eyebrow){color:#c9dbd0}.training-section-heading .eyebrow{margin-bottom:14px}.training-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.training-modes article{padding:28px;border:1px solid #ffffff30;border-radius:6px;background:#ffffff08}.training-tag{color:var(--orange);font-size:.75rem;letter-spacing:.1em}.training-modes h3{margin:18px 0 14px}.training-modes p,.training-benefits p{color:#c9dbd0;font-size:.96rem}.course-category{border-top:1px solid #ffffff35}.course-category:last-child{border-bottom:1px solid #ffffff35}.course-category summary{display:flex;gap:20px;align-items:center;padding:23px 8px;cursor:pointer;font-weight:700;font-size:1.15rem;list-style:none}.course-category summary::-webkit-details-marker{display:none}.course-category summary>span{color:var(--orange);font-size:.85rem}.course-category summary:after{content:'+';margin-left:auto;color:var(--orange);font-size:1.8rem;line-height:1;flex-shrink:0}.course-category[open] summary:after{content:'−'}.course-content{padding:0 24px 28px 50px}.course-law{font-size:.82rem;color:#c9dbd0}.course-content ul{padding-left:20px;margin:20px 0;color:white}.course-content li{margin:12px 0}.course-delivery{color:#c9dbd0;border-left:3px solid var(--orange);padding:12px 18px;background:#ffffff08}.training-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.training-benefits article{padding-top:20px;border-top:2px solid var(--orange)}.training-benefits h3{margin-bottom:14px}.training-note{margin:35px 0 25px;color:#c9dbd0;font-size:.86rem;max-width:950px}#chi-siamo .section-photo{object-position:55% 30%}#sede>.split>figure .section-photo{object-position:center;object-fit:contain;background:#e8ede7}
@media(max-width:700px){.training-modes,.training-benefits{grid-template-columns:1fr}.training-modes article{padding:24px}.training-section-heading{margin-top:38px}.course-category summary{font-size:1rem;gap:12px;padding:20px 0}.course-content{padding:0 4px 24px}.course-content li{font-size:.95rem}.formation-intro figure{grid-row:1}.training-benefits{gap:24px}#sede>.split>figure .section-photo{height:auto}.training-note{font-size:.83rem}}
