
:root{--bg:#080808;--card:#171719;--text:#f7f7f7;--muted:#a6a6ad;--soft:#d8d8de;--border:rgba(255,255,255,.10);--orange:#ff7a00;--orange2:#ffb347;--shadow:0 24px 90px rgba(0,0,0,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% -10%,rgba(255,122,0,.17),transparent 34%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.nav{position:sticky;top:0;z-index:99;min-height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,8,8,.72);backdrop-filter:blur(24px);border-bottom:1px solid var(--border)}.brand{font-weight:850;letter-spacing:-.03em;white-space:nowrap}.nav nav{display:flex;gap:18px;align-items:center}.nav nav a{font-size:13px;color:rgba(255,255,255,.75);transition:.2s;white-space:nowrap}.nav nav a:hover,.nav nav a.active{color:#fff}.nav-cta{padding:9px 16px;border-radius:999px;background:linear-gradient(135deg,var(--orange),var(--orange2));font-size:13px;font-weight:850;color:#111}.section,.page-hero{max-width:1200px;margin:0 auto;padding:92px 24px}.page-hero{padding-top:104px;text-align:center}.page-hero.compact{padding-bottom:52px}.eyebrow{display:inline-block;background:linear-gradient(135deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin-bottom:18px}h1{font-size:clamp(46px,7vw,92px);line-height:.94;letter-spacing:-.07em;margin:0 auto 26px;max-width:1080px}.nowrap{white-space:nowrap}h2{font-size:clamp(34px,4.6vw,66px);line-height:1;letter-spacing:-.055em;margin:0}h3{font-size:24px;letter-spacing:-.035em;margin:12px 0 10px}p{color:var(--muted);line-height:1.62}.lead{font-size:clamp(18px,2.1vw,23px);max-width:820px;margin:0 auto 34px;color:#d8d8de}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:14px 22px;border-radius:999px;font-weight:850;cursor:pointer;transition:.22s;min-height:48px}.primary,.gold{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#111}.secondary{background:rgba(255,255,255,.08);border:1px solid var(--border);color:#fff}.button:hover{transform:translateY(-2px);filter:brightness(1.06)}.hero-visual{margin:70px auto 0;max-width:1080px;min-height:590px;border-radius:46px;border:1px solid rgba(255,255,255,.12);background-size:cover;background-position:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-visual:after,.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.58))}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.intro-card,.category-card,.course-card,.text-card,.contact-card,.info-card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));border:1px solid var(--border);border-radius:34px;box-shadow:0 14px 60px rgba(0,0,0,.2);backdrop-filter:blur(14px)}.intro-card{padding:42px}.intro-card h2{font-size:clamp(32px,4vw,56px)}.center{text-align:center;max-width:820px;margin:0 auto 46px}.center p{font-size:19px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-card{overflow:hidden;transition:.25s}.category-card:hover{transform:translateY(-6px);border-color:rgba(255,122,0,.35)}.cover{height:255px;background-size:cover;background-position:center;position:relative}.category-card .content{padding:26px}.category-card small,.course-card small{display:block;background:linear-gradient(135deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.gallery{columns:3 280px;column-gap:18px}.gallery a{display:block;break-inside:avoid;margin:0 0 18px;border-radius:28px;overflow:hidden;border:1px solid var(--border);background:var(--card);box-shadow:0 12px 45px rgba(0,0,0,.25)}.gallery img{width:100%;height:auto;transition:.35s}.gallery a:hover img{transform:scale(1.025)}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.video-frame{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#111;border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:22px}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course-card{padding:0;overflow:hidden;position:relative}.course-card .course-img{height:230px;background-size:cover;background-position:center;position:relative}.course-card .course-body{padding:28px}.course-card.featured{border-color:rgba(255,122,0,.45);box-shadow:0 18px 90px rgba(255,122,0,.08)}.badge{position:absolute;right:20px;top:20px;z-index:2;font-size:12px;font-weight:900;color:#111;background:linear-gradient(135deg,var(--orange),var(--orange2));padding:8px 12px;border-radius:999px}.price{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:18px 0;color:#fff}.course-form{display:grid;gap:10px;margin-top:18px}.course-form label,.contact-form label{font-size:13px;font-weight:800;color:#fff}.course-form input,.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);background:rgba(255,255,255,.07);border-radius:16px;color:#fff;padding:14px;font:inherit}.contact-form textarea{min-height:140px;resize:vertical}.course-form input:focus,.contact-form input:focus,.contact-form textarea:focus{outline:1px solid rgba(255,122,0,.65);border-color:rgba(255,122,0,.65)}.text-card{padding:44px;max-width:980px;margin:0 auto}.text-card p{font-size:19px}.text-card ul{color:var(--soft);line-height:1.75;padding-left:22px}.text-card li{margin:12px 0}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px;align-items:start}.contact-card,.info-card{padding:32px}.contact-list{display:grid;gap:14px;margin-top:18px}.contact-list a,.contact-list span{display:block;color:#fff;font-weight:800}.cta-band{max-width:1120px;margin:50px auto 90px;padding:66px 28px;border-radius:38px;text-align:center;background:linear-gradient(135deg,rgba(255,122,0,.20),rgba(255,255,255,.055));border:1px solid rgba(255,122,0,.22);box-shadow:var(--shadow)}.cta-band h2{max-width:850px;margin:0 auto 18px}.before-after-grid{display:grid;gap:34px;max-width:1050px;margin:0 auto}.before-after{background:var(--card);border:1px solid var(--border);border-radius:32px;padding:18px;box-shadow:var(--shadow)}.ba-wrap{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:16/10;background:#111}.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-after{clip-path:inset(0 0 0 50%)}.ba-slider{width:100%;margin:18px 0 0;accent-color:var(--orange)}.ba-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}.ba-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(var(--orange),var(--orange2));z-index:3}.ba-line:after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#111;font-weight:900}.rich-text{max-width:980px;margin:0 auto}.rich-text p{font-size:18px}.rich-text .question{background:rgba(255,255,255,.06);padding:18px 22px;border:1px solid var(--border);border-radius:22px;margin:12px 0;color:#f1f1f1;font-weight:700}.hidden{display:none!important}footer{padding:34px 24px;text-align:center;border-top:1px solid var(--border);color:var(--muted)}footer p{margin:0}.footer-contact{margin-bottom:8px}.footer-contact a{color:#fff;font-weight:700;margin:0 8px}@media(max-width:1100px){.nav{align-items:flex-start;padding:16px;gap:14px;flex-wrap:wrap}.nav nav{order:3;width:100%;overflow:auto;gap:16px;padding-bottom:4px}}@media(max-width:980px){.section,.page-hero{padding:70px 18px}.hero-visual{min-height:460px;border-radius:32px}.intro-grid,.category-grid,.course-grid,.contact-layout,.video-grid{grid-template-columns:1fr}.gallery{columns:2 220px}.course-card .course-img,.cover{height:220px}h1{font-size:46px}.lead{font-size:18px}}@media(max-width:560px){.nowrap{white-space:normal}.gallery{columns:1}.hero-visual{min-height:360px}.intro-card,.text-card,.contact-card,.info-card{padding:26px}.category-card .content,.course-card .course-body{padding:22px}.button{width:100%}}


/* Lightbox portfolio */
body.lightbox-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s ease;padding:34px}.lightbox.is-open{opacity:1;pointer-events:auto}.lightbox-img{max-width:min(92vw,1500px);max-height:86vh;object-fit:contain;border-radius:20px;box-shadow:0 30px 120px rgba(0,0,0,.65);transform:scale(.985);transition:transform .22s ease}.lightbox.is-open .lightbox-img{transform:scale(1)}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(18px);cursor:pointer;transition:.2s}.lightbox-close{top:22px;right:24px;width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:50%;font-size:48px;line-height:.8;display:grid;place-items:center}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#111;border-color:transparent}.lightbox-counter{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 14px}.gallery-link{cursor:zoom-in}
@media(max-width:700px){.lightbox{padding:16px}.lightbox-img{max-width:96vw;max-height:78vh;border-radius:14px}.lightbox-prev,.lightbox-next{width:46px;height:46px;font-size:38px;top:auto;bottom:20px;transform:none}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-close{top:14px;right:14px;width:44px;height:44px}.lightbox-counter{bottom:24px}}

/* Menu mobile a tendina */
.mobile-menu-toggle{display:none;appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.07);width:46px;height:42px;border-radius:999px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;transition:.2s;margin-left:auto}
.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:#fff;transition:.25s}
.mobile-menu-toggle:hover{border-color:rgba(255,122,0,.45);background:rgba(255,122,0,.10)}
@media(max-width:1100px){
  .nav{min-height:62px;padding:10px 16px;align-items:center;flex-wrap:nowrap;position:sticky}
  .brand{font-size:15px;max-width:calc(100vw - 90px);overflow:hidden;text-overflow:ellipsis}
  .mobile-menu-toggle{display:flex}
  .nav .nav-cta{display:none}
  .nav nav{position:absolute;left:14px;right:14px;top:68px;display:grid;grid-template-columns:1fr;gap:0;padding:10px;background:rgba(18,18,20,.96);border:1px solid var(--border);border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.55);backdrop-filter:blur(26px);opacity:0;transform:translateY(-8px);pointer-events:none;max-height:calc(100vh - 90px);overflow:auto;transition:opacity .2s ease, transform .2s ease}
  .nav.menu-open nav{opacity:1;transform:translateY(0);pointer-events:auto}
  .nav nav a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;border-radius:16px;font-size:16px;color:#fff;border-bottom:0}
  .nav nav a:hover,.nav nav a.active{background:rgba(255,122,0,.12);color:#fff}
  .nav nav a.active:after{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange2));margin-left:12px;flex:0 0 auto}
  .nav.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  .nav.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
@media(max-width:560px){
  .nav nav{left:10px;right:10px;top:66px;border-radius:22px}
  .nav nav a{font-size:15px;min-height:46px}
}


/* Aggiornamenti finali: titoli sfumati, eyebrow bianche, lingua, recensioni */
.page-hero .eyebrow,.center>.eyebrow,.intro-card>.eyebrow{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#fff!important;}
.page-hero h1{background:linear-gradient(135deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent;}
.lang-switch{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:900;margin-left:12px;white-space:nowrap}.lang-switch a{opacity:.62;filter:saturate(.85);transition:.2s}.lang-switch a.active,.lang-switch a:hover{opacity:1;filter:saturate(1.1)}.lang-switch span{color:rgba(255,255,255,.45)}.mobile-lang-switch{display:none}.category-grid.two{grid-template-columns:repeat(2,1fr)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.review-shot{display:block;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:0 16px 60px rgba(0,0,0,.25);transition:.22s}.review-shot:hover{transform:translateY(-5px);border-color:rgba(255,122,0,.32)}.review-shot img{width:100%;height:auto}.about-stack{display:grid;gap:24px;max-width:1100px}.about-card{max-width:none}.card-title-gradient{font-size:clamp(26px,3vw,42px);line-height:1.05;margin:0 0 22px;background:linear-gradient(135deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent}.inline-gold{color:#ffad43;font-weight:900;text-decoration:underline;text-decoration-color:rgba(255,173,67,.35);text-underline-offset:4px}@media(max-width:1100px){.lang-switch{display:none}.mobile-lang-switch{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;color:#fff}.mobile-lang-switch a{font-size:18px;opacity:.65}.mobile-lang-switch a.active{opacity:1}.mobile-lang-switch span{color:rgba(255,255,255,.45)}}@media(max-width:980px){.reviews-grid{grid-template-columns:repeat(2,1fr)}.category-grid.two{grid-template-columns:1fr}}@media(max-width:560px){.reviews-grid{grid-template-columns:1fr}}

/* Desktop nav alignment fix: keep the menu centered on the viewport, independent from brand and actions */
@media (min-width: 1101px) {
  .nav {
    position: sticky;
    justify-content: flex-start;
  }
  .nav .brand {
    position: relative;
    z-index: 2;
  }
  .nav nav {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  .lang-switch {
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
  .nav .nav-cta {
    margin-left: 16px;
    position: relative;
    z-index: 2;
  }
}


/* Definitive desktop navigation centering fix v2 */
@media (min-width: 1101px) {
  header.nav {
    position: sticky;
    top: 0;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 64px;
    padding-left: 28px;
    padding-right: 28px;
  }
  header.nav .brand {
    grid-column: 1;
    justify-self: start;
  }
  header.nav nav {
    grid-column: 2;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 18px;
  }
  header.nav .lang-switch {
    grid-column: 3;
    justify-self: end;
    margin-left: 0 !important;
    margin-right: 96px;
  }
  header.nav .nav-cta {
    position: absolute !important;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0 !important;
  }
}
