:root{
  --navy:#1a3a5c;
  --navy2:#22507a;
  --gold:#c9a44a;
  --gold-ink:#8a6d1f;
  --gold-soft:#f6efdc;
  --bg:#eef1f5;
  --bg-soft:#f5f7fa;
  --card:#ffffff;
  --bianco:#ffffff;
  --ink:#1e3a5f;
  --mut:#5f6e80;
  --line:#e7ebf0;
  --line-card:#d8e0ea;
  --ok:#2e9e63;
  --ok-ink:#127440;
  --attesa-ink:#b45309;
  --danger:#c0392b;
  --grad:linear-gradient(160deg, var(--navy2), var(--navy));
  --sans:-apple-system,'Inter','Segoe UI',Arial,sans-serif;
  --lettura:Georgia,serif;
  --sh-sm:0 1px 2px rgba(16,24,40,.05);
  --sh-md:0 8px 24px rgba(16,24,40,.07);
  --sh-lg:0 16px 40px rgba(16,24,40,.10);
  --r-s:10px;
  --r-m:14px;
  --r-l:18px;
  --su-navy:rgba(255,255,255,.86);
  --su-navy-mut:rgba(255,255,255,.74);
}

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

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px}

body{
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  background:var(--card);
  -webkit-font-smoothing:antialiased;
}

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

h1,h2,h3,h4{line-height:1.2;letter-spacing:-.015em;color:var(--ink)}

a{color:var(--navy2);text-underline-offset:3px}
a:hover{color:var(--navy)}

button{font:inherit;cursor:pointer}

:focus-visible{outline:3px solid var(--navy2);outline-offset:3px;border-radius:4px}
.su-scuro :focus-visible{outline-color:var(--gold)}

.salta{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--card);color:var(--ink);
  padding:12px 20px;border-radius:0 0 var(--r-s) 0;font-weight:700;
}
.salta:focus{left:0}

.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.wrap-stretto{max-width:780px;margin:0 auto;padding:0 16px}
@media (min-width:720px){
  .wrap,.wrap-stretto{padding:0 24px}
}

.su-scuro{background:var(--navy);color:var(--su-navy)}
.su-scuro h1,.su-scuro h2,.su-scuro h3,.su-scuro h4{color:var(--bianco)}

.occhiello{
  display:block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;
  color:var(--gold-ink);
  margin-bottom:12px;
}
.su-scuro .occhiello,.oro-fondo .occhiello{color:var(--gold)}
.oro-fondo .occhiello{color:var(--navy)}

.titolo-sez{font-size:clamp(26px,5.2vw,40px);font-weight:800;margin-bottom:16px}
.guida{font-size:17px;color:var(--mut);max-width:680px;margin:0 auto}
.su-scuro .guida{color:var(--su-navy-mut)}

.btn{
  display:inline-block;
  padding:17px 24px;
  border-radius:var(--r-s);border:1px solid transparent;
  font-size:16px;font-weight:700;line-height:1.25;
  text-decoration:none;text-align:center;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn::after{content:"\00A0\00BB"}
.btn-oro{background:var(--gold);color:var(--navy);box-shadow:0 6px 18px rgba(201,164,74,.32)}
.btn-oro:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(201,164,74,.42);color:var(--navy)}
.btn-navy{background:var(--navy2);color:var(--bianco);box-shadow:var(--sh-sm)}
.btn-navy:hover{transform:translateY(-2px);background:var(--navy);color:var(--bianco)}
.btn-grande{padding:20px 32px;font-size:17px}

.testata{
  position:sticky;top:0;z-index:50;
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.testata .riga{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.marchio{display:flex;align-items:center;flex:0 0 auto}
.marchio img{width:132px;height:auto}
.menu{display:none}
.menu a{
  color:var(--su-navy);text-decoration:none;
  font-size:15px;font-weight:600;padding:8px 0;
}
.menu a:hover{color:var(--gold)}
.testata .btn{padding:13px 16px;font-size:14.5px}
@media (min-width:900px){
  .menu{display:flex;gap:28px}
}

.eroe{padding:0}
.scena{
  position:relative;
  min-height:calc(100svh - 64px);
  display:flex;align-items:flex-end;
  overflow:hidden;
  background:var(--navy);
}
.scena .sfondo,.scena .velo{position:absolute;inset:0;pointer-events:none}
.scena .testo{position:relative;z-index:2;width:100%;padding:48px 16px 44px}
@media (min-width:720px){.scena .testo{padding:64px 24px 56px}}

.scena h1{
  font-size:clamp(32px,8vw,56px);
  font-weight:800;line-height:1.08;letter-spacing:-.025em;
  color:var(--bianco);margin-bottom:16px;max-width:15ch;
  text-shadow:0 2px 24px rgba(8,20,38,.5);
}
.scena h1 em{color:var(--gold);font-style:normal}
.eroe-riga{
  font-size:17px;line-height:1.55;color:var(--su-navy);
  max-width:52ch;margin-bottom:28px;
  text-shadow:0 1px 12px rgba(8,20,38,.5);
}
@media (min-width:960px){
  .scena h1{font-size:clamp(48px,5.2vw,68px)}
  .eroe-riga{font-size:19px}
}
.scena .testo>*{animation:entra .9s cubic-bezier(.2,.7,.2,1) both}
.scena .testo h1{animation-delay:.15s}
.scena .testo .eroe-riga{animation-delay:.35s}
.scena .testo .btn{animation-delay:.55s}
@keyframes entra{from{opacity:0;transform:translateY(18px)}}

.muro-riga{display:flex;gap:8px;width:max-content;will-change:transform}
.muro-riga img{
  width:104px;height:150px;object-fit:cover;
  border-radius:6px;flex:0 0 auto;
  box-shadow:0 8px 24px rgba(8,20,38,.45);
}
@media (min-width:720px){
  .muro-riga{gap:12px}
  .muro-riga img{width:126px;height:182px}
}

.eroe .scena{align-items:center}
.eroe .sfondo{perspective:640px;perspective-origin:50% -6%}
.eroe .piano{
  position:absolute;left:50%;bottom:-12%;
  width:4100px;
  transform-origin:50% 100%;
  transform:translateX(-50%) rotateX(62deg) translateY(0);
  display:flex;flex-direction:column;align-items:center;gap:12px;
  animation:avanza 80s linear infinite;
}
.eroe .muro-riga{gap:12px}
.eroe .muro-riga:nth-child(even){transform:translateX(66px)}
.eroe .muro-riga img{width:120px;height:173px}
.eroe .extra{display:none}
@media (min-width:960px){.eroe .muro-riga img{width:170px;height:245px}.eroe .muro-riga{gap:16px}.eroe .piano{gap:16px;width:6600px}.eroe .extra{display:block}}
@keyframes avanza{from{transform:translateX(-50%) rotateX(62deg) translateY(0)}to{transform:translateX(-50%) rotateX(62deg) translateY(16.6667%)}}
.eroe .velo{
  background:
    radial-gradient(60% 46% at 50% 50%,rgba(26,58,92,.88) 0%,rgba(26,58,92,.62) 50%,rgba(26,58,92,0) 100%),
    linear-gradient(180deg,var(--navy) 0%,rgba(26,58,92,.75) 2.5%,rgba(26,58,92,.4) 7%,rgba(26,58,92,.15) 13%,rgba(26,58,92,.08) 40%,rgba(26,58,92,.08) 78%,var(--navy) 100%);
}
.eroe .testo{text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:64px}
.eroe h1{max-width:22ch}
@media (min-width:960px){.eroe h1{max-width:20ch}}

@media (prefers-reduced-motion:reduce){
  .muro-riga,.eroe .piano{animation:none}
  .scena .testo>*{animation:none}
}

.fascia-prova{background:var(--grad);padding:40px 0 0}
.nastro{position:relative;padding-bottom:40px}
.nastro-mask{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  overflow:hidden;
}
.nastro-riga{display:flex;gap:12px;width:max-content;will-change:transform}
.nastro-riga+.nastro-riga{margin-top:12px}
.nastro-a{animation:scorri 68s linear infinite}
.nastro-b{animation:scorri 82s linear infinite reverse}
.nastro:hover .nastro-riga,.nastro:focus-within .nastro-riga{animation-play-state:paused}
@keyframes scorri{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.nastro img{
  width:96px;height:128px;
  object-fit:cover;
  border-radius:6px;
  box-shadow:0 6px 18px rgba(8,20,38,.4);
  flex:0 0 auto;
}
@media (min-width:720px){
  .nastro img{width:120px;height:160px}
  .nastro-riga{gap:16px}
  .nastro-riga+.nastro-riga{margin-top:16px}
}

.numeri{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.14);
}
.numero{
  padding:20px 8px;
  border-bottom:1px solid rgba(255,255,255,.14);
  border-right:1px solid rgba(255,255,255,.14);
}
.numero:nth-child(2n){border-right:none}
.numero:nth-last-child(-n+2){border-bottom:none}
.numero .cifra{
  font-size:clamp(24px,5.6vw,32px);font-weight:800;
  letter-spacing:-.02em;line-height:1.1;color:var(--bianco);
}
.numero .dicitura{
  display:block;margin-top:4px;
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--su-navy-mut);
}
@media (min-width:720px){
  .numeri{grid-template-columns:repeat(4,1fr)}
  .numero{padding:24px 16px;border-bottom:none}
  .numero:nth-child(2n){border-right:1px solid rgba(255,255,255,.14)}
  .numero:last-child{border-right:none}
}

section{padding:56px 0}
@media (min-width:720px){section{padding:80px 0}}
.fondo-tenue{background:var(--bg-soft)}
.oro-fondo{background:var(--gold-soft)}
.testa-sez{text-align:center;max-width:760px;margin:0 auto 40px}
@media (min-width:720px){.testa-sez{margin-bottom:56px}}

.griglia-autori{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:560px){.griglia-autori{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.griglia-autori{grid-template-columns:repeat(4,1fr);gap:24px}}
.autore{
  background:var(--card);border:1px solid var(--line-card);
  border-radius:var(--r-l);padding:24px 20px;
  box-shadow:var(--sh-sm);
  transition:box-shadow .2s ease,transform .2s ease;
}
.autore:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.autore img{
  width:88px;height:88px;border-radius:50%;object-fit:cover;
  margin:0 0 16px;border:3px solid var(--gold-soft);
}
.autore h3{font-size:20px;font-weight:700;margin-bottom:4px}
.autore .ruolo{
  font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--gold-ink);margin-bottom:12px;
}
.autore p{font-size:14.5px;line-height:1.6;color:var(--mut)}

.griglia-motivi{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:720px){.griglia-motivi{grid-template-columns:1fr 1fr;gap:16px}}
.motivo{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--card);border:1px solid var(--line-card);
  border-radius:var(--r-m);padding:20px;
}
.motivo .n{
  flex:0 0 auto;width:36px;height:36px;border-radius:var(--r-s);
  background:var(--gold-soft);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;
}
.motivo h3{font-size:17px;font-weight:700;margin-bottom:6px}
.motivo p{font-size:14.5px;line-height:1.6;color:var(--mut)}

.griglia-strade{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:760px){.griglia-strade{grid-template-columns:1fr 1fr;gap:20px}}
.strada{
  background:var(--card);border:1px solid var(--line-card);
  border-radius:var(--r-l);padding:24px 20px;
  box-shadow:var(--sh-sm);
  display:flex;flex-direction:column;
}
.strada.buona{border:2px solid var(--ok);box-shadow:var(--sh-md)}
.etichetta{
  align-self:flex-start;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  padding:5px 12px;border-radius:999px;margin-bottom:14px;
}
.etichetta.no{background:rgba(192,57,43,.1);color:var(--danger)}
.etichetta.si{background:rgba(46,158,99,.14);color:var(--ok-ink)}
.strada h3{font-size:21px;font-weight:700;margin-bottom:10px}
.strada>p{font-size:15px;line-height:1.65;color:var(--mut);margin-bottom:16px}
.strada ul{list-style:none;margin-top:auto}
.strada li{
  position:relative;padding:10px 0 10px 30px;
  font-size:14.5px;line-height:1.55;
  border-top:1px solid var(--line);
}
.strada li::before{
  position:absolute;left:0;top:10px;
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;
}
.strada.cattiva li::before{content:"\00D7";background:rgba(192,57,43,.1);color:var(--danger)}
.strada.buona li::before{content:"\2713";background:rgba(46,158,99,.14);color:var(--ok-ink)}

.griglia-ricavi{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;background:var(--line-card);
  border:1px solid var(--line-card);border-radius:var(--r-m);overflow:hidden;
}
@media (min-width:760px){.griglia-ricavi{grid-template-columns:repeat(4,1fr)}}
.ricavo{background:var(--card);padding:20px 12px;text-align:center}
.ricavo .cifra{font-size:24px;font-weight:800;letter-spacing:-.025em;color:var(--ok-ink);line-height:1.1}
.ricavo.tu .cifra{color:var(--gold-ink)}
.ricavo .chi{font-size:15px;font-weight:700;margin-top:8px}
.ricavo .campo{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-top:2px}

.griglia-testimonianze{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px}
@media (min-width:720px){.griglia-testimonianze{grid-template-columns:1fr 1fr;gap:20px}}
@media (min-width:1080px){.griglia-testimonianze{grid-template-columns:repeat(3,1fr)}}
.testimonianza{
  background:var(--card);border:1px solid var(--line-card);
  border-radius:var(--r-l);padding:24px 20px;
  box-shadow:var(--sh-sm);
  display:flex;flex-direction:column;
}
.testimonianza blockquote{
  font-size:15.5px;line-height:1.65;color:var(--ink);
  margin-bottom:20px;
}
.testimonianza figcaption{display:flex;align-items:center;gap:12px;margin-top:auto}
.testimonianza img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid var(--gold-soft)}
.testimonianza .chi{font-size:14.5px;font-weight:700;line-height:1.3}
.testimonianza .ruolo{display:block;font-size:12.5px;font-weight:500;color:var(--mut);margin-top:2px}
.altri-autori{
  text-align:center;margin-top:32px;
  font-size:16px;font-weight:700;color:var(--gold-ink);
}

.fasi{list-style:none;max-width:760px;margin:0 auto;position:relative}
.fasi::before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:2px;background:var(--line-card)}
.fase{position:relative;padding:0 0 28px 56px}
.fase:last-child{padding-bottom:0}
.fase .n{
  position:absolute;left:0;top:0;
  width:36px;height:36px;border-radius:50%;
  background:var(--grad);color:var(--bianco);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;
  box-shadow:0 0 0 4px var(--card);
}
.fase h3{font-size:19px;font-weight:700;margin-bottom:6px}
.fase p{font-size:15px;line-height:1.65;color:var(--mut)}

.fondatore{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media (min-width:880px){.fondatore{grid-template-columns:260px 1fr;gap:48px}}
.fondatore-foto{
  width:180px;height:180px;border-radius:50%;object-fit:cover;
  margin:0 auto;border:4px solid var(--card);box-shadow:var(--sh-md);
}
@media (min-width:880px){.fondatore-foto{width:260px;height:260px}}
.fondatore h2{font-size:clamp(24px,4.4vw,36px);font-weight:800;margin-bottom:16px}
.fondatore p{margin-bottom:16px;font-size:16px;line-height:1.7;color:var(--mut)}
.fondatore p strong{color:var(--ink)}
.citazione{
  font-family:var(--lettura);
  font-size:17px;line-height:1.7;font-style:italic;color:var(--ink);
  border-left:3px solid var(--gold);
  padding:4px 0 4px 20px;margin:0 0 20px;
}
.garanzia-box{
  background:var(--card);border:1px solid var(--line-card);
  border-left:4px solid var(--gold);
  border-radius:var(--r-m);padding:20px;
  box-shadow:var(--sh-sm);
}
.garanzia-box .etichetta{background:var(--gold-soft);color:var(--navy)}
.garanzia-box h3{font-size:20px;font-weight:700;margin-bottom:8px}
.garanzia-box p{font-size:14.5px;line-height:1.6;color:var(--mut);margin:0}

.faq{max-width:820px;margin:0 auto}
.domanda{
  background:var(--card);border:1px solid var(--line-card);
  border-radius:var(--r-m);margin-bottom:10px;overflow:hidden;
}
.domanda summary{
  list-style:none;cursor:pointer;
  padding:18px 52px 18px 20px;position:relative;
  font-size:16px;font-weight:700;line-height:1.45;color:var(--ink);
}
.domanda summary::-webkit-details-marker{display:none}
.domanda summary::after{
  content:"";position:absolute;right:22px;top:24px;
  width:9px;height:9px;
  border-right:2px solid var(--navy2);border-bottom:2px solid var(--navy2);
  transform:rotate(45deg);transition:transform .2s ease;
}
.domanda[open] summary::after{transform:rotate(-135deg)}
.domanda summary:hover{background:var(--bg-soft)}
.domanda .risposta{
  padding:0 20px 20px;
  font-size:15px;line-height:1.7;color:var(--mut);
}

.chiusura{
  position:relative;text-align:center;
  background:var(--navy);
  padding:64px 0;
}
.chiusura::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,58,92,.93),rgba(26,58,92,.97)),url('../../index-file/sfondo-palco.jpg') center 30%/cover no-repeat;
}
.chiusura .wrap-stretto{position:relative;z-index:1}
.chiusura h2{font-size:clamp(28px,5.6vw,44px);font-weight:800;color:var(--bianco);margin-bottom:16px}
.chiusura .guida{margin-bottom:28px}
.scarsita{
  display:inline-block;
  background:rgba(201,164,74,.16);border:1px solid rgba(201,164,74,.4);
  color:var(--gold);border-radius:999px;
  padding:7px 18px;margin-bottom:20px;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
}
.chiusura .nota{font-size:13.5px;color:var(--su-navy-mut);margin-top:16px}
.ps{
  max-width:620px;margin:36px auto 0;text-align:left;
  border:1px solid rgba(201,164,74,.4);border-radius:var(--r-m);
  padding:20px;font-size:15px;line-height:1.7;color:var(--su-navy);
}
.ps strong{color:var(--gold)}

footer{background:var(--navy);color:var(--su-navy-mut);padding:40px 0 32px;text-align:center}
footer .marchio{justify-content:center;margin-bottom:20px}
footer .legali{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;
  margin-bottom:20px;
}
footer .legali a{color:var(--su-navy);font-size:14px;font-weight:600;text-decoration:none}
footer .legali a:hover{color:var(--gold);text-decoration:underline}
footer .dati{font-size:13px;line-height:1.7;max-width:640px;margin:0 auto}

.barra-mobile{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(26,58,92,.97);
  border-top:1px solid rgba(255,255,255,.14);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  transform:translateY(120%);transition:transform .25s ease;
}
.barra-mobile .btn{display:block;width:100%}
.barra-mobile.mostra{transform:translateY(0)}
@media (min-width:900px){.barra-mobile{display:none}}
@media (max-width:899px){
  body{padding-bottom:0}
  .barra-mobile.mostra~footer{padding-bottom:88px}
}

.js .rivela{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.js .rivela.vista{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .nastro-riga{animation:none}
  .js .rivela{opacity:1;transform:none}
}
