/* ======================================================
ROOT VARIABLES
====================================================== */

:root{

--ink:#0B1220;
--muted:rgba(11,18,32,.72);

--blue:#115C71;
--blue2:#0D4758;
--teal:#0F766E;

--bg:#F6F8FC;

--shadow:0 26px 60px rgba(2,6,23,.12);
--shadow-soft:0 14px 30px rgba(2,6,23,.10);

--radius-xl:22px;
--radius-lg:18px;

}


/* ======================================================
RESET
====================================================== */

*,
*::before,
*::after{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

margin:0;

font-family:
ui-sans-serif,
system-ui,
-apple-system,
"Segoe UI",
Roboto,
Arial,
sans-serif;

color:var(--ink);

background:
radial-gradient(900px 520px at 12% -5%, rgba(15,118,110,.10), transparent 55%),
radial-gradient(900px 520px at 92% 8%, rgba(11,42,91,.10), transparent 55%),
var(--bg);

line-height:1.65;

overflow-x:hidden;
}

.contactPage * {
  max-width: 100%;
}
main {
  padding-top: 100px;
}
a{
text-decoration:none;
color:inherit;
}

img{
max-width:100%;
display:block;
}

button,
input,
select,
textarea{
font:inherit;
}

.container{
width:100%;
max-width:1280px;
margin:0 auto;
padding:0 20px;
}

.top-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;background:transparent}.top-progress__bar{height:100%;width:0;background:linear-gradient(90deg,var(--teal),rgba(15,118,110,.2))}
.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
padding:14px 22px;
border-radius:999px;
font-size:15px;
letter-spacing:.02em;
font-weight:800;

border:1px solid rgba(11,42,91,.22);background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;font-weight:800;box-shadow:0 18px 34px rgba(11,42,91,.18);cursor:pointer;transition:.2s ease}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.btn--ghost{background:rgba(255,255,255,.72);color:rgba(11,42,91,.92);border:1px solid rgba(11,42,91,.22);box-shadow:none;backdrop-filter:blur(12px)}
.btn--light{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}
.btn--sm{padding:10px 14px;font-size:13px}

/* BODY LOCK */

body.menu-open{
  overflow:hidden;
}

.hero__bg{position:absolute;inset:-2px;pointer-events:none}.blob{position:absolute;width:560px;height:560px;border-radius:999px;filter:blur(30px);opacity:.38;animation:float 10s ease-in-out infinite}.blob--a{left:-160px;top:-240px;background:radial-gradient(circle at 30% 30%, rgba(15,118,110,.55), rgba(15,118,110,0))}.blob--b{right:-220px;top:-260px;background:radial-gradient(circle at 30% 30%, rgba(11,42,91,.58), rgba(11,42,91,0));animation-delay:-3.2s}.grid-noise{position:absolute;inset:0;background:linear-gradient(rgba(11,18,32,.05) 1px, transparent 1px),linear-gradient(90deg, rgba(11,18,32,.05) 1px, transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse at 30% 0%, #000 40%, transparent 72%);opacity:.32}@keyframes float{0%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,28px) scale(1.03)}100%{transform:translate(0,0) scale(1)}}
.hero__grid{
position:relative;
display:grid;
grid-template-columns:1.15fr .85fr;
gap:34px;
align-items:start
}

.hero__content{position:relative;z-index:2;max-width:720px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:rgba(11,42,91,.86)}.eyebrow__dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--teal), rgba(15,118,110,.4));box-shadow:0 0 0 6px rgba(15,118,110,.12)}

.hero__title{
margin:20px 0 16px;
font-size:clamp(48px,5vw,72px);
line-height:1.05;
letter-spacing:-.04em;
font-weight:900;
max-width:16ch;
}

.hero__titleAccent{
background:linear-gradient(90deg,#0B2A5B,#0F766E);
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}

.lead{
margin-top:6px;
max-width:52ch;
color:#4b5563;
font-size:19px;
line-height:1.75;
font-weight:500;
}

.hero__cta{
display:flex;
gap:14px;
margin-top:28px;
flex-wrap:wrap;
}

.audienceCards{padding:34px 0 0}.audienceCards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.audienceCard{

position:relative;

background:#fff;

padding:28px;

border-radius:16px;

box-shadow:0 20px 40px rgba(0,0,0,.06);

cursor:pointer;

transition:
transform .25s ease,
box-shadow .25s ease;

}
.audienceCard::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:3px;

background:linear-gradient(90deg,var(--blue),var(--teal));

opacity:0;

transform:scaleX(.4);

transition:.3s ease;

}
.audienceCard:hover{

transform:translateY(-8px);

box-shadow:0 30px 70px rgba(0,0,0,.14);

}

.audienceCard:hover::before{

opacity:1;

transform:scaleX(1);

}
.audienceCard h3{margin:0 0 10px;font-size:22px}.audienceCard p{margin:0;color:#5a6a7b;line-height:1.5}
.trustline{

margin-top:26px;

display:flex;

gap:14px;

flex-wrap:wrap;

}
.trustline__item{

border:1px solid rgba(11,18,32,.08);

background:#fff;

padding:14px 16px;

border-radius:14px;

box-shadow:0 12px 26px rgba(2,6,23,.08);

transition:
transform .2s ease,
box-shadow .2s ease;

}
.trustline__item:hover{

transform:translateY(-3px);

box-shadow:0 16px 36px rgba(2,6,23,.12);

}
.trustline__item strong{

display:block;

font-weight:800;

font-size:13px;

letter-spacing:.03em;

}.trustline__item span{display:block;font-size:12.5px;color:rgba(11,18,32,.62);margin-top:2px}.hero__note{margin:12px 0 0;color:var(--muted);font-size:13px}

.hero__panel,
.card,
.course,
.stat,
.faqCard{

border:1px solid rgba(11,18,32,.10);
background:rgba(255,255,255,.82);
backdrop-filter:blur(12px);
border-radius:var(--radius-xl);
box-shadow:var(--shadow-soft);}

.hero__panel{

overflow:hidden;

background:rgba(255,255,255,.85);

box-shadow:0 30px 70px rgba(0,0,0,.10);

}

.panelTabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(11,18,32,.08)}.panelTab{border:0;background:transparent;padding:14px;cursor:pointer;text-align:left;font-weight:900;color:rgba(11,18,32,.82);position:relative}.panelTab small{display:block;margin-top:4px;font-weight:700;color:rgba(11,18,32,.56)}.panelTab__chip{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:10px;background:rgba(11,42,91,.35);box-shadow:0 0 0 6px rgba(11,42,91,.08)}.panelTab[data-audience="imprese"] .panelTab__chip{background:rgba(15,118,110,.45);box-shadow:0 0 0 6px rgba(15,118,110,.10)}.panelTab.is-active{background:rgba(11,42,91,.06)}.panelTab.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:2px;background:linear-gradient(90deg,var(--teal),rgba(15,118,110,0))}.panelBody{position:relative;padding:16px 16px 0}.panelCopy{display:none}.panelCopy.is-active{display:block}.panelCopy h3{margin:0 0 6px;font-size:16px}.panelCopy p{margin:0;color:rgba(11,18,32,.66)}.panelActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.pillLink{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(11,18,32,.10);box-shadow:0 10px 18px rgba(2,6,23,.06);color:rgba(11,18,32,.82);font-weight:850;font-size:13px}
.panelHighlight{position:absolute;right:14px;top:14px;width:86px;height:86px;pointer-events:none;opacity:.9}.panelHighlight__line{position:absolute;left:6px;top:40px;width:74px;height:2px;background:linear-gradient(90deg, rgba(15,118,110,0), rgba(15,118,110,.55), rgba(15,118,110,0))}.panelHighlight__dot{position:absolute;left:40px;top:34px;width:14px;height:14px;border-radius:999px;background:rgba(15,118,110,.55);box-shadow:0 0 0 10px rgba(15,118,110,.10)}.panelHighlight__glow{position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 30% 30%, rgba(11,42,91,.18), transparent 55%)}
.heroForm{padding:16px;border-top:1px solid rgba(11,18,32,.08);background:rgba(255,255,255,.72)}.heroForm__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.heroForm h3{margin:0;font-size:16px}.heroForm__step{font-size:12px;font-weight:850;color:rgba(11,18,32,.55)}.progress{height:8px;background:rgba(11,42,91,.08);border-radius:999px;overflow:hidden;margin:10px 0 12px}.bar{height:100%;width:33%;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .25s ease}.field{display:flex;flex-direction:column;gap:6px;margin-top:12px}

.field label{
font-size:12px;
color:rgba(11,18,32,.66);
font-weight:850;
}

input,select,textarea{width:100%;padding:12px;border-radius:14px;border:1px solid rgba(11,18,32,.14);background:rgba(255,255,255,.92);color:var(--ink);outline:none}.field__error{font-size:12px;color:#B42318;min-height:14px}.is-invalid{border-color:rgba(180,35,24,.55)!important;box-shadow:0 0 0 5px rgba(180,35,24,.08)!important}.is-valid{border-color:rgba(15,118,110,.50)!important;box-shadow:0 0 0 5px rgba(15,118,110,.10)!important}.formMeta{margin-top:10px}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:rgba(11,18,32,.62);font-weight:700}.check input{margin-top:2px;width:auto}.formActions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.formHint,.formSummary{margin:12px 0 0;font-size:12px;color:rgba(11,18,32,.56)}.toast{margin-top:10px;font-size:13px;color:rgba(11,42,91,.92);min-height:18px;opacity:0;transform:translateY(4px);transition:.2s ease}.toast.is-show{opacity:1;transform:translateY(0)}
.opportunityFormWrap{margin-top:18px}.opportunityForm{background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.15)}.opportunityForm__head{display:flex;justify-content:space-between;align-items:center}.closeBtn{font-size:28px;border:0;background:none;cursor:pointer}

/* ===== HERO FORM LAYOUT ===== */

#infoForm{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

/* riga 1 */
#infoForm .field:nth-of-type(1){
  grid-column:1;
}

#infoForm .field:nth-of-type(2){
  grid-column:2;
}

/* riga 2 */
#infoForm .field:nth-of-type(3){
  grid-column:1;
}

#infoForm .field:nth-of-type(4){
  grid-column:2;
}

/* campi a tutta larghezza */
#infoForm textarea,
#infoForm .formMeta,
#infoForm .formSummary,
#infoForm .formActions,
#infoForm .formHint,
#infoForm .toast{
  grid-column:1 / -1;
}

@media (max-width:768px){

  #infoForm{
    grid-template-columns:1fr;
  }

  #infoForm .field,
  #infoForm textarea,
  #infoForm .formMeta,
  #infoForm .formSummary,
  #infoForm .formActions,
  #infoForm .formHint,
  #infoForm .toast{
    grid-column:1 / -1;
  }

}

/* ===== FIX CAMPO MESSAGGIO HERO ===== */

#infoForm .field:nth-of-type(5){
grid-column:1 / -1;
}

#infoForm textarea{
min-height:140px;
resize:vertical;
}

.formGrid{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
margin-top:20px;
}

.formGrid .field{
width:100%;
}

.formGrid .field.full{
grid-column:1 / -1;
}
.field.full{grid-column:span 2}

.opportunitySuccess__box{background:#fff;padding:28px;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.15);max-width:640px}
.section{padding:70px 0}.section--soft{background:linear-gradient(180deg, rgba(11,42,91,.04), rgba(255,255,255,0));border-top:1px solid rgba(11,18,32,.06);border-bottom:1px solid rgba(11,18,32,.06)}.section--dark{background:radial-gradient(900px 420px at 10% 0%, rgba(17,92,113,.35), transparent 60%),linear-gradient(180deg,#0D4758,#0A3643);color:#fff}
.section__head h2{margin:0 0 8px;font-size:clamp(26px,2.8vw,42px);letter-spacing:-.02em}
.section__head{

position:relative;

padding-bottom:22px;

margin-bottom:18px;

}

.section__head::after{

content:"";

position:absolute;

left:0;
bottom:0;

width:80px;
height:3px;

border-radius:3px;

background:linear-gradient(90deg,var(--blue),var(--teal));

opacity:.25;

}
.section__head p{margin:0;max-width:78ch;color:rgba(11,18,32,.66)}.section--dark .section__head p{color:rgba(255,255,255,.78)}
.audienceStatus{margin:14px 0 22px;padding:14px 16px;border-radius:16px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft)}.audienceStatus__actions,.filters,.cta__actions{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.74);padding:10px 12px;border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.pill.is-active{border-color:rgba(15,118,110,.22);background:linear-gradient(135deg, rgba(11,42,91,.10), rgba(15,118,110,.10))}
.cards,.courseGrid,.stats,.faqGrid{
margin-top:26px;
display:grid;
gap:20px
}

.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.courseGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.faqGrid{grid-template-columns:repeat(4,minmax(0,1fr))}

.card,
.course{

padding:20px;

transition:
transform .25s ease,
box-shadow .25s ease,
border-color .25s ease;

}

.card:hover,
.course:hover{

transform:translateY(-6px);

box-shadow:0 24px 60px rgba(2,6,23,.14);

border-color:rgba(15,118,110,.18);

}

.card__top,.course__top,.course__bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.card__badge,.tag{font-size:12px;font-weight:950;color:rgba(11,42,91,.92);background:rgba(11,42,91,.10);padding:6px 10px;border-radius:999px}.tag--teal{color:rgba(15,118,110,.98);background:rgba(15,118,110,.12)}.tag--soft{background:rgba(11,42,91,.08);color:#0b2a5b}.meta{font-size:12px;color:rgba(11,18,32,.60)}.meta--soft{font-style:italic}.card__pulse{width:10px;height:10px;border-radius:999px;background:rgba(15,118,110,.55);box-shadow:0 0 0 8px rgba(15,118,110,.10)}

.card h3,
.course h3{

margin:12px 0 8px;

font-size:19px;

line-height:1.35;

font-weight:800;

}

.card p,.course p{margin:0 0 10px;color:rgba(11,18,32,.70)}

.linkBtn{

margin-top:12px;

padding:8px 14px;

border-radius:999px;

border:1px solid rgba(11,42,91,.18);

background:rgba(11,42,91,.04);

color:#0B2A5B;

font-weight:800;

font-size:13px;

cursor:pointer;

transition:.2s;

}

.linkBtn:hover{

background:#0B2A5B;

color:#fff;

}

.section__foot{text-align:center;margin-top:22px}
.section--method{padding:clamp(4rem,8vw,7rem) 0}.methodWrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}.methodMedia{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4/3}.methodCarousel,.methodSlide{position:absolute;inset:0}.methodSlide{opacity:0;transition:opacity 1.2s ease-in-out}.methodSlide.is-active{opacity:1}.methodSlide img{width:100%;height:100%;object-fit:cover}.methodEyebrow{display:block;font-weight:600;color:var(--blue);margin-bottom:.5rem}.methodIntro{font-size:1.1rem;color:var(--muted);margin-bottom:2rem}.methodFlow{list-style:none;padding:0;margin:0 0 2.5rem}.methodFlow li{padding-left:1.2rem;border-left:2px solid rgba(0,0,0,.08);margin-bottom:1.2rem}
.searchBox{margin:20px 0}.searchBox input{width:100%;padding:14px 18px;border-radius:14px;border:1px solid rgba(11,18,32,.14);font-size:15px}
.blogCarousel{position:relative;margin-top:26px;padding:0 22px}.blogViewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;border-radius:18px}.blogViewport::-webkit-scrollbar{height:0}.blogTrack{display:flex;gap:18px}.blogCard{scroll-snap-align:start;flex:0 0 calc((100% - 36px)/3);min-width:260px;background:rgba(255,255,255,.92);border:1px solid rgba(15,35,70,.10);border-radius:18px;overflow:hidden;box-shadow:0 14px 44px rgba(17,40,80,.10)}.blogCardMedia{display:block;aspect-ratio:16/9}.blogCardMedia img{width:100%;height:100%;object-fit:cover}.blogCardBody{padding:14px 16px 16px}.blogMeta{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.blogBtn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(15,35,70,.16);background:rgba(255,255,255,.55);color:var(--ink);font-weight:800}.blogNav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:0;background:rgba(11,42,85,.90);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.blogNav.prev{left:0}.blogNav.next{right:0}
.stat{padding:14px}.stat strong{display:block;font-weight:950;font-size:28px;letter-spacing:-.02em}.stat span{display:block;margin-top:4px;color:rgba(11,18,32,.62);font-size:12.5px}.marquee{margin-top:18px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.75);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}.marquee__track{display:flex;gap:26px;padding:12px 16px;white-space:nowrap;animation:marquee 18s linear infinite;color:rgba(11,18,32,.70);font-weight:850}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}


/* SLIDER WRAPPER */
.slider{
  margin-top:16px;
  display:grid;
  grid-template-columns:44px 1fr 44px;
  gap:12px;
  align-items:center;
}

.slider__btn{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-size:22px;
}

/* QUOTE CARD */
.quote{
  flex:0 0 320px;
  max-width:320px;

  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  border-radius:var(--radius-xl);

  padding:22px;
}

.quote--featured{
  border-color:rgba(15,118,110,.40);
  background:rgba(255,255,255,.10);
}

.quote blockquote{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.92);
}

.quote figcaption{
  margin-top:12px;
  font-weight:950;
  color:rgba(255,255,255,.92);
}

.quote figcaption span{
  display:block;
  font-weight:700;
  color:rgba(255,255,255,.72);
}

/* MEDIA QUERIES */
@media (min-width:768px){
  .quote{
    flex:0 0 calc(50% - 6px);
  }
}

@media (min-width:1100px){
  .quote{
    flex:0 0 360px;
  }
}
/* ===== FAQ TOGGLE ===== */

.faqQ{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;

padding:16px 18px;

border:0;
background:transparent;

cursor:pointer;

text-align:left;

font-weight:900;
font-size:14px;

color:rgba(11,18,32,.92);

transition:background .2s ease;
}

.faqQ:hover{
background:rgba(15,118,110,.06);
border-radius:12px;
}

.faqIcon{
width:34px;
height:34px;

border-radius:12px;

display:flex;
align-items:center;
justify-content:center;

background:rgba(15,118,110,.12);
color:rgba(15,118,110,.98);

font-weight:900;

transition:transform .25s ease;
}

.faqCard.is-open .faqIcon{
transform:rotate(45deg);
}


.cta{background:linear-gradient(135deg,#115C71,#0D4758);color:#fff}.cta h2{margin:0 0 8px;font-size:clamp(28px,3vw,44px)}.cta__block{margin-top:48px;padding-top:36px;border-top:1px solid rgba(255,255,255,.18)}.formIntro{margin:0;font-size:15px;color:rgba(255,255,255,.85)}
.footer{background:#0A3643;color:rgba(255,255,255,.85)}.footer__inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.10);padding:14px 20px}

#backToTop{

position:fixed;

right:24px;
top:50%;

transform:translateY(-50%);

width:46px;
height:46px;

border-radius:50%;

background:#0b2a55;
color:#fff;

border:none;

font-size:18px;

cursor:pointer;

z-index:9999;

display:flex;
align-items:center;
justify-content:center;

opacity:0;
pointer-events:none;

transition:all .3s ease;

box-shadow:0 10px 30px rgba(0,0,0,.2);

}

#backToTop.is-visible{

opacity:1;
pointer-events:auto;

}

#backToTop:hover{

transform:translateY(-50%) scale(1.1);

}

.infoToggle{position:fixed;left:0;top:50%;transform:translateY(-50%);background:#115C71;color:#fff;padding:14px 16px;border:none;border-radius:0 18px 18px 0;font-size:13px;font-weight:700;writing-mode:vertical-rl;cursor:pointer;z-index:1100}.infoPanel{position:fixed;top:0;left:0;width:360px;max-width:calc(100vw - 28px);height:100vh;background:#fff;box-shadow:20px 0 60px rgba(0,0,0,.2);transform:translateX(-100%);transition:transform .35s ease;z-index:1200}.infoPanel.is-open{transform:translateX(0)}.infoPanel__content{padding:28px;display:flex;flex-direction:column;gap:20px}.infoPanel__close{align-self:flex-end;font-size:28px;background:none;border:none;cursor:pointer}.infoFaq__q{width:100%;text-align:left;font-weight:600;background:#f4f6f8;border:none;padding:12px;display:flex;justify-content:space-between;cursor:pointer}.infoFaq__a{display:none;padding:10px 12px;font-size:14px}.infoFaq__item.is-open .infoFaq__a{display:block}.infoPanel__form{display:flex;flex-direction:column;gap:10px}.infoPanel__contacts{display:flex;flex-direction:column;gap:6px;font-size:14px}
.cc-overlay{position:fixed;inset:0;background:rgba(2,6,23,.55);backdrop-filter:blur(6px);z-index:2000}.cc-banner,.cc-modal{position:fixed;z-index:2100;left:50%;transform:translateX(-50%);width:min(980px, calc(100% - 28px));bottom:16px}.cc-modal{top:50%;bottom:auto;transform:translate(-50%,-50%);max-height:calc(100vh - 28px);overflow:auto}.cc-card{border:1px solid rgba(11,18,32,.12);background:rgba(255,255,255,.86);border-radius:22px;box-shadow:0 26px 80px rgba(2,6,23,.20);backdrop-filter:blur(14px);padding:18px}.cc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.cc-badge{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:rgba(11,42,91,.92)}.cc-dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--teal), rgba(15,118,110,.35));box-shadow:0 0 0 6px rgba(15,118,110,.12)}.cc-x{width:40px;height:40px;border-radius:14px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.65);cursor:pointer;font-size:22px;color:rgba(11,18,32,.75)}.cc-text{color:rgba(11,18,32,.70);font-size:14px}.cc-actions,.cc-links{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cc-toggles{margin-top:12px;border:1px solid rgba(11,18,32,.10);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.72)}.cc-row{display:flex;justify-content:space-between;gap:14px;padding:14px;border-top:1px solid rgba(11,18,32,.08)}.cc-row:first-child{border-top:0}.cc-pill{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(11,18,32,.12);background:rgba(255,255,255,.78);font-weight:900;font-size:12px;color:rgba(11,18,32,.70)}.cc-switch{position:relative;width:54px;height:32px;display:inline-block}.cc-switch input{display:none}.cc-slider{position:absolute;inset:0;background:rgba(11,18,32,.14);border-radius:999px;border:1px solid rgba(11,18,32,.14)}.cc-slider::after{content:"";position:absolute;width:26px;height:26px;top:2px;left:2px;border-radius:999px;background:#fff;box-shadow:0 10px 18px rgba(2,6,23,.15);transition:.18s ease}.cc-switch input:checked + .cc-slider{background:rgba(15,118,110,.35);border-color:rgba(15,118,110,.32)}.cc-switch input:checked + .cc-slider::after{left:26px}.cc-fab{position:fixed;right:18px;bottom:78px;z-index:2050;width:46px;height:46px;border-radius:999px;border:1px solid rgba(11,18,32,.10);background:rgba(255,255,255,.86);box-shadow:0 14px 34px rgba(2,6,23,.14);cursor:pointer;font-size:18px}
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease, transform .7s ease;
}

.reveal.is-in{
  opacity:1;
  transform:translateY(0);
}
[data-hidden="true"]{display:none!important}
@media (max-width:1040px){
  .hero__grid,
  .methodWrap{
    grid-template-columns:1fr;
  }
}



@media (max-width:980px){.burger{display:block}.cards,.courseGrid,.faqGrid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}
.slider{grid-template-columns:44px 1fr 44px}
.blogCard{flex-basis:calc((100% - 18px)/2)}
.audienceCards__grid{grid-template-columns:1fr}}
@media (max-width:768px){
  .slider{grid-template-columns:1fr}
  .slider__btn{display:none}
  .formGrid{grid-template-columns:1fr}
  .field.full{grid-column:span 1}
}

@media (max-width:640px){.blogCarousel{padding:0 14px}.blogNav{display:none}.blogTrack{gap:14px}.blogCard{flex-basis:86%}.infoPanel{width:100%}.cc-fab{bottom:70px;right:14px}}

/* SEARCH OVERLAY */

.searchOverlay{
position:fixed;
inset:0;
background:rgba(10,42,67,.75);
backdrop-filter:blur(10px);
z-index:10000;

opacity:0;
pointer-events:none;
transition:opacity .3s ease;

display:flex;
align-items:flex-start;
justify-content:center;

padding-top:12vh;
}

.searchOverlay.is-open{
opacity:1;
pointer-events:auto;
}

.searchBoxPremium{

width:min(760px,92%);
background:#fff;

border-radius:22px;
box-shadow:0 40px 120px rgba(0,0,0,.35);

padding:20px 22px;

}

/* top search */

.searchTop{
display:flex;
align-items:center;
gap:12px;
}

.searchTop input{

flex:1;
border:0;
outline:0;

font-size:18px;

}

.searchIcon{
font-size:20px;
}

#searchClose{
border:0;
background:none;
font-size:22px;
cursor:pointer;
}

/* results */

.searchResults{

margin-top:18px;

display:flex;
flex-direction:column;
gap:10px;

max-height:420px;
overflow:auto;

}

.searchResult{

padding:12px 14px;
border-radius:12px;

background:#f4f7fb;

cursor:pointer;
transition:.2s;

}

.searchResult:hover{
background:#e8eef6;
}

/* ===== FIX STABILITÀ SLIDER TESTIMONIANZE ===== */

.slider{
  position:relative;
}

.slider__viewport{
  overflow:hidden;
  width:100%;
}

.slider__track{
  will-change:transform;
  display:flex;
  align-items:stretch;
}

/* evita card tagliate su mobile */
.quote{
  min-width:0;
}

/* migliora rendering mobile */
@media (max-width:768px){

  .slider{
    grid-template-columns:1fr;
  }

  .slider__btn{
    display:none;
  }

  .slider__viewport{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }

  .slider__track{
    gap:16px;
    padding-left:20px;
  }

  .quote{
    flex:0 0 85%;
    max-width:85%;
    scroll-snap-align:center;
  }

}

/* ===== RECENSIONI ===== */

.reviews{
padding:70px 0;
background:#f5f7fb;
}

.reviews h2{
font-size:34px;
margin-bottom:6px;
}

.reviews-sub{
font-size:18px;
color:#5b6470;
margin-bottom:30px;
}

.reviews-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.review{
background:#fff;
border-radius:18px;
padding:26px;
box-shadow:0 12px 34px rgba(0,0,0,.08);
transition:.25s ease;
}

.review:hover{
transform:translateY(-4px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.stars{
color:#f5b301;
font-size:18px;
letter-spacing:3px;
margin-bottom:12px;
}

.review p{
font-size:16px;
line-height:1.7;
margin-bottom:16px;
color:#2c3440;
max-width:60ch;
}

.review strong{
display:block;
font-size:16px;
font-weight:700;
margin-bottom:2px;
}

.review span{
font-size:14px;
color:#7a838f;
}

/* ===== MOBILE ===== */

@media (max-width:768px){

.reviews-grid{
grid-template-columns:1fr;
gap:20px;
}

.review{
padding:22px;
}

.reviews h2{
font-size:30px;
}

}
/* PUNTEGGIO RECENSIONI */

.reviews-score{
display:flex;
align-items:center;
gap:12px;
margin-bottom:34px;
flex-wrap:wrap;
}

.score-stars{
color:#f5b301;
font-size:20px;
letter-spacing:3px;
}

.score-value{
font-weight:800;
font-size:20px;
color:#0B1220;
}

.score-text{
color:#4b5563;
font-size:14px;

}

/* ===== FAQ TOGGLE STABILE ===== */

.faqQ{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;

padding:16px 18px;

border:0;
background:transparent;

cursor:pointer;

font-weight:900;
font-size:14px;

color:rgba(11,18,32,.92);
}

.faqIcon{
width:34px;
height:34px;

display:flex;
align-items:center;
justify-content:center;

border-radius:10px;

background:rgba(15,118,110,.12);

transition:transform .25s ease;
}

/* lo stato hidden lo gestisce il JS */

.faqA{
padding:0 18px 16px;
color:rgba(11,18,32,.72);
line-height:1.6;
}

/* icona rotazione */

.faqCard.is-open .faqIcon{
transform:rotate(45deg);
}
/* ======================
   GLOBAL FIX 2026-04-02
====================== */

body.menu-open{
  overflow:hidden;
}
.contactPage, .contactPage *{min-width:0}
.topGrid, .formsGrid, .bottomGrid{max-width:100%}
.card p, .card a, .field, .field label, .field input, .field textarea, .field select, .consent, .privacy, .formHint{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.layoutDoc{align-items:start}
@media (max-width: 980px){
  .layoutDoc{grid-template-columns:1fr;gap:28px}
  .docIndex{position:static;top:auto}
}
.formStep {
  display: none;
  flex-direction: column;
  gap: 12px;
}

.formStep.active {
  display: flex;
}
.audience {
  padding: 80px 0;
}

.section-title {
  text-align: center;
  font-size: 32px;
  margin-bottom: 10px;
}

.section-sub {
  text-align: center;
  margin-bottom: 40px;
  color: #666;
}

.audienceGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.audienceCard {
  background: #fff;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
  transition: .2s;
}

.audienceCard:hover {
  transform: translateY(-5px);
}

.audienceCard h3 {
  margin-bottom: 10px;
}

.audienceCard span {
  display: block;
  margin-top: 15px;
  font-weight: bold;
  color: #115C71;
}

/* MOBILE */
@media(max-width: 900px){
  .audienceGrid {
    grid-template-columns: 1fr;
  }
}


/* MOBILE OVERLAY */

body.menu-open{
  overflow:hidden;
}

@media (max-width:980px){
  
  .burger{
    display:block;
  }
}

/* ===== LUXURY ANIMATION ===== */

.luxBlock,
.luxGrid img{
  opacity:0;
  transform:translateY(60px) scale(.96);
  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.22,1,.36,1);
}

.lux-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* delay elegante */

.luxGrid img:nth-child(1){transition-delay:.1s;}
.luxGrid img:nth-child(2){transition-delay:.2s;}
.luxGrid img:nth-child(3){transition-delay:.3s;}

/* hover premium */

.luxBlock img{
  transition:transform 1.2s ease;
}

.luxBlock:hover img{
  transform:scale(1.05);
}
/* ===== LUXURY GALLERY ===== */

.galleryLuxury{
  padding:80px 0;
  background:#f7f9fc;
}

.luxBlock{
  position:relative;
  margin-bottom:60px;
  border-radius:24px;
  overflow:hidden;
}

.luxBlock img{
  width:100%;
  height:520px;
  object-fit:cover;
  transition:1s ease;
}

.luxHero img{
  height:620px;
}

.luxOverlay{
  position:absolute;
  bottom:40px;
  left:40px;
  color:#fff;
}

.luxOverlay h2{
  font-size:36px;
}

/* GRID */

.luxGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:60px;
}

.luxGrid img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:18px;
  cursor:pointer;
  transition:.6s ease;
}

.luxGrid img:hover{
  transform:scale(1.04);
}

.luxGrid .big{
  grid-column:span 2;
  height:420px;
}

/* ===== ANIMAZIONI ===== */

.luxBlock,
.luxGrid img{
  opacity:0;
  transform:translateY(60px) scale(.96);
  transition:
    opacity .8s ease,
    transform 1s cubic-bezier(.22,1,.36,1);
}

.lux-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* ===== LIGHTBOX ===== */

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transition:.3s;
  z-index:9999;
}

.lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}

.lightbox img{
  max-width:90%;
  max-height:85%;
}

.lightboxClose{
  position:absolute;
  top:20px;
  right:30px;
  font-size:40px;
  color:#fff;
  background:none;
  border:0;
  cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){
  .luxGrid{grid-template-columns:1fr;}
  .luxGrid .big{grid-column:span 1; height:300px;}
  .luxBlock img{height:320px;}
}

}
/* ===== AUDIENCE CARDS ENHANCED ===== */

.audienceCard--clickable {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all .3s ease;
}

.audienceCard--clickable:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.audienceCard__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.audienceCard__cta {
  margin-top: 15px;
  font-weight: 600;
  color: var(--primary);
  display: inline-block;
  transition: transform .2s ease;
}

.audienceCard--clickable:hover .audienceCard__cta {
  transform: translateX(5px);
}

/* MOBILE */
@media(max-width:768px){
  .audienceCards__grid{
    gap:20px;
  }
}
/* ===== PERCORSI (STEP 3) ===== */

.card--path {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all .3s ease;
}

.card--path:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.08);
}

.cardList {
  margin: 15px 0;
  padding-left: 0;
  list-style: none;
}

.cardList li {
  margin-bottom: 8px;
  font-size: 14px;
}
/* ===== PREMIUM SECTION ===== */

.premiumGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
  margin-top:40px;
}

.premiumCard{
  background:#fff;
  border-radius:16px;
  padding:30px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  transition:all .3s ease;
  position:relative;
  overflow:hidden;
}

.premiumCard:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 50px rgba(0,0,0,0.1);
}

.premiumCard__icon{
  font-size:32px;
  margin-bottom:15px;
}

.premiumList{
  margin:15px 0;
  padding:0;
  list-style:none;
}

.premiumList li{
  margin-bottom:8px;
  font-size:14px;
}

.premiumLink{
  display:inline-block;
  margin-top:10px;
  font-weight:600;
  color:var(--primary);
  text-decoration:none;
  transition:all .2s ease;
}

.premiumLink:hover{
  transform:translateX(5px);
}

/* MOBILE */
@media(max-width:768px){
  .premiumCard{
    padding:20px;
  }
}
.hero__trust{
  margin-top:15px;
  font-size:14px;
  opacity:.8;
}
/* ===== SPACING SYSTEM ===== */

.section{
  padding:80px 0;
}

.section--soft{
  padding:70px 0;
}

.section__head{
  margin-bottom:40px;
}

@media(max-width:768px){
  .section{
    padding:50px 0;
  }
}
html{
  scroll-behavior:smooth;
}

.btn{
  transition:all .25s ease;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.card, .premiumCard{
  transition:all .3s ease;
}

.card:hover, .premiumCard:hover{
  transform:translateY(-6px);
}

/* ======================
HEADER + MENU DEFINITIVO
====================== */

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:9999;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.header__inner{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.header__logo img{
  height:36px;
}


/* BURGER */
.burger{
  display:none;
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  position:relative;
}

.burger span{
  position:absolute;
  left:10px;
  right:10px;
  height:2px;
  background:#000;
}

.burger span:nth-child(1){top:12px}
.burger span:nth-child(2){top:20px}
.burger span:nth-child(3){top:28px}

/* MOBILE */
.mobile{
  position:fixed;
  inset:0;
  background:#fff;
  z-index:9998;
  overflow-y:auto;
}

.mobile[hidden]{
  display:none;
}
.mobileNav__inner{padding:20px;}

.mobileNav__menu a{
  display:block;
  padding:14px 0;
  font-weight:600;
}

/* RESPONSIVE */
@media (max-width:980px){
 
  .burger{display:block;}
}
/* ======================
HEADER + NAV DEFINITIVO
====================== */
.nav{
  display:flex;
  align-items:center;
  gap:28px;
}

.nav__item{
  position:relative;
  display:flex;
  align-items:center;
}

.nav__link{
  display:flex;
  align-items:center;
  font-size:14px;
  font-weight:600;
  color:#1e293b;
  line-height:1;
  padding:6px 0;
  text-decoration:none;
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0%;
  height:2px;
  background:linear-gradient(90deg,var(--teal),var(--blue));
  transition:.3s ease;
}

.nav__link:hover::after{
  width:100%;
}
/* ======================
MENU DEFINITIVO STABILE
====================== */

.nav{
  display:flex;
  align-items:center;
  gap:26px;
}

.nav__link{
  display:flex;
  align-items:center;
  font-size:14px;
  font-weight:600;
  color:#1e293b;
  text-decoration:none;
  line-height:1;
  padding:6px 0;
}

/* dropdown */
.nav__dropdown{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  padding:10px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  z-index:9999;

  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;

  transition:all .22s ease;
}

/* apertura */
.nav__item:hover .nav__dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* ======================
RESPONSIVE
====================== */

@media (max-width:980px){

  .nav{
    display:none;
  }

  .burger{
    display:block;
  }

  .hero__panel{
    width:100%;
    max-width:100%;
  }

  #infoForm{
    width:100%;
  }

  .hero__content .trustline,
  .hero__content .hero__note{
    display:none;
  }

  .whatsappFloat{
    position:fixed;
    bottom:22px;
    right:22px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    color:#fff;
    text-decoration:none;
    box-shadow:0 10px 25px rgba(0,0,0,.2);
    z-index:999;
  }

}

/* HERO MOBILE FIX */

.hero--compact .heroContent{
  grid-template-columns:1fr;
  gap:28px;
  text-align:center;
}

.heroSide{
  order:-1;
}

.heroSide img{
  max-width:220px;
}

.hero--compact h1{
  font-size:30px;
}

.heroCta{
  margin-top:24px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.heroTrust{
  margin-top:10px;
  font-size:13px;
  opacity:.75;
}
/* ===== HERO PROGRAMMA GOL ===== */

.hero--compact{
  background:none;
}

.hero--compact .heroBg{
  position:relative;
}

.hero--compact .heroBg img{
  position:relative;
  height:auto;
  max-height:none;
  border-radius:18px;
}

.hero--compact .heroOverlay{
  display:none;
}

.hero--compact .heroContent{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:center;
  padding-top:60px;
  padding-bottom:40px;
}

.hero--compact h1{
  font-size:44px;
  line-height:1.1;
}

.heroSide img{
  border-radius:20px;
  box-shadow:0 30px 70px rgba(0,0,0,.12);
}

/* ===== GOL INTRO ===== */

.golIntro{
  background:#f8fafc;
}

.golIntro__box{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:center;
}

.golIntro__content h2{
  margin:10px 0 16px;
  font-size:34px;
}

.golIntro__list{
  margin:20px 0;
  padding:0;
  list-style:none;
}

.golIntro__list li{
  margin-bottom:10px;
  font-weight:500;
}

.golIntro__side{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.golIntro__card{
  background:#fff;
  padding:26px;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.golIntro__card strong{
  display:block;
  font-size:32px;
  color:#0f4c81;
}

/* ===== MODAL ===== */

.golModal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.golModal.active{
  display:flex;
}

.golModal__box{
  background:#fff;
  padding:30px;
  border-radius:16px;
  max-width:480px;
  width:100%;
}

.golModal__box input,
.golModal__box select{
  width:100%;
  margin-bottom:14px;
  padding:12px;
  border-radius:8px;
  border:1px solid #ddd;
}

.golModal__close{
  position:absolute;
  right:20px;
  top:20px;
  background:none;
  border:none;
  font-size:22px;
}

/* ===== MOBILE ===== */

@media(max-width:900px){
  .golIntro__box{
    grid-template-columns:1fr;
  }
}

/* ===== SCROLL FIX ===== */

html {
  scroll-behavior: smooth;
}

#accompagnamento{
  scroll-margin-top: 120px;
}

/* FIX HERO COMPACT (GOL + AUTOFINANZIATI) */
@media (max-width: 900px){
  body:has(.hero--compact) .hero__grid,
  body:has(.hero--compact) .heroContent{
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
  }
}