
:root{--bg:#070707;--panel:#111;--gold:#d6a83f;--cream:#f4efe5;--muted:#aaa;--line:#2b2b2b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}
header{position:sticky;top:0;z-index:50;background:#070707f2;border-bottom:1px solid #222;display:flex;align-items:center;justify-content:space-between;padding:16px 4vw;backdrop-filter:blur(10px)}
.brand{display:flex;flex-direction:column;color:var(--gold);line-height:1}.brand b{font:700 30px Georgia;letter-spacing:7px}.brand span{font-size:9px;letter-spacing:2px;margin-top:5px}
#nav{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:700}#nav a:hover{color:var(--gold)}.cta,.btn{border:1px solid var(--gold);padding:14px 18px;color:var(--gold);border-radius:7px;font-weight:800}.btn:hover,.cta:hover{background:var(--gold);color:#080808}.outline{background:transparent}#menu{display:none;background:none;border:0;color:var(--gold);font-size:26px}
.hero{min-height:82vh;display:grid;grid-template-columns:1fr 1fr;max-width:1500px;margin:auto}.hero>div:first-child{padding:8vw 5vw 5vw}.eyebrow{color:var(--gold);letter-spacing:2px;font-size:13px;font-weight:700}.hero h1{font:500 clamp(42px,5vw,76px) Georgia;margin:22px 0}.hero h1 em{color:var(--gold);font-style:normal}.lead{max-width:620px;font-size:19px;line-height:1.7;color:#d0d0d0}.actions{display:flex;gap:14px;margin:28px 0}.hero-image{min-height:650px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.social{display:flex;gap:26px;flex-wrap:wrap;margin-top:38px}.social a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--gold);font-size:10px}.social i{width:48px;height:48px;border-radius:12px;border:1px solid #444;display:grid;place-items:center;font-style:normal;font-size:24px;background:#111}
.section{padding:85px 5vw;max-width:1500px;margin:auto}.center{text-align:center}.section h2{text-align:center;font:500 clamp(30px,4vw,52px) Georgia;margin:12px 0 40px}
.services{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.services article{border:1px solid #2b2b2b;background:linear-gradient(#151515,#0d0d0d);padding:30px 18px;text-align:center;border-radius:9px}.services i{font-style:normal;color:var(--gold);font-size:48px}.services h3{font-family:Georgia;margin:20px 0 10px}.services p{color:#bbb;line-height:1.5;min-height:70px}.services strong{font:700 26px Georgia;color:var(--gold)}
.team{display:grid;grid-template-columns:1fr 1fr;gap:28px}.team article{background:#101010;border:1px solid #252525;display:grid;grid-template-columns:45% 55%;min-height:430px}.team img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.team article div{padding:35px}.team small{color:var(--gold);letter-spacing:2px}.team h3{font:500 40px Georgia;margin:12px 0}.team p{color:#bbb;line-height:1.7}
.events{max-width:1600px}.event-block{margin:45px 0 80px;border-top:1px solid #333;padding-top:30px}.event-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.event-title h3{font:500 32px Georgia;color:var(--gold)}.years{display:flex;gap:8px}.years button{background:#111;color:var(--gold);border:1px solid #4b3a14;padding:10px 15px;border-radius:5px;cursor:pointer}.years button.active{background:var(--gold);color:#080808}.years button:disabled{opacity:.35;cursor:default}blockquote{text-align:center;font:italic 22px Georgia;color:#ddd;margin:30px auto;max-width:800px}
.gallery{display:none;grid-template-columns:repeat(4,1fr);gap:12px}.gallery.active{display:grid}.gallery img,.gallery video{width:100%;aspect-ratio:3/4;object-fit:cover;background:#111;border:1px solid #222;border-radius:5px}.gallery img{cursor:zoom-in}
.contacts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #222}.contacts h2{text-align:left}.address{font:500 34px Georgia}.links{display:flex;flex-direction:column;justify-content:center}.links a{border-bottom:1px solid #333;padding:20px 0;color:var(--gold)}
footer{padding:35px 5vw;border-top:1px solid #222;display:flex;justify-content:space-between;color:#888}footer b{color:var(--gold);font:700 26px Georgia;letter-spacing:6px}
.lightbox{position:fixed;inset:0;background:#000e;z-index:100;display:grid;place-items:center;padding:30px}.lightbox img{max-width:95vw;max-height:92vh}.lightbox button{position:absolute;right:20px;top:20px;background:none;border:0;color:white;font-size:40px}
@media(max-width:900px){#menu{display:block}#nav{display:none;position:absolute;top:72px;left:0;right:0;background:#080808;padding:20px;flex-direction:column}#nav.open{display:flex}.hero{grid-template-columns:1fr}.hero>div:first-child{order:2;padding:45px 6vw}.hero-image{order:1;min-height:520px}.services{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.event-title{align-items:flex-start;flex-direction:column}.contacts{grid-template-columns:1fr}.social{gap:14px}footer{flex-direction:column;gap:12px}}
@media(max-width:520px){.services{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.team article{grid-template-columns:1fr}.team img{height:420px}.actions{flex-direction:column}.hero-image{min-height:480px}}

/* V08.61 — fallback esterno coerente con gli override della Home */
main{display:flex;flex-direction:column}.faq-section{order:90}


.event-covers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}
.event-cover{position:relative;min-height:520px;overflow:hidden;border:1px solid #2b2b2b;border-radius:10px;cursor:pointer;background:#111}
.event-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.68);transition:transform .4s ease,filter .4s ease}
.event-cover:hover img{transform:scale(1.03);filter:brightness(.55)}
.event-overlay{position:absolute;inset:auto 0 0 0;padding:34px;background:linear-gradient(transparent,#000d 35%,#000)}
.event-overlay h3{font:500 clamp(28px,3vw,44px) Georgia;margin:8px 0 14px;color:var(--cream)}
.event-overlay span{color:var(--gold);font-size:12px;letter-spacing:1.5px;font-weight:700}
.event-detail{display:none;margin-top:45px}
.event-detail.active{display:block}
.event-back{background:none;border:1px solid #4b3a14;color:var(--gold);padding:12px 16px;border-radius:5px;cursor:pointer;margin-bottom:28px}
.event-detail-head h3{font:500 clamp(32px,4vw,54px) Georgia;margin:8px 0 26px}
.future-events-note{border-top:1px solid #242424;margin-top:50px;padding-top:22px;color:#9b9b9b;font-size:14px;line-height:1.6}
@media(max-width:900px){.event-covers{grid-template-columns:1fr}.event-cover{min-height:420px}}

.archive-label{text-align:center;color:#999;letter-spacing:2px;font-size:11px;margin:20px 0 12px}
.years-large{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0 32px}
.years-large button{min-height:110px!important;border:2px solid var(--gold)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.years-large button b{font:700 44px Georgia;color:var(--gold)}
.years-large button small{font-size:10px;letter-spacing:1px;color:#c9b98c}
.years-large button.active{background:var(--gold)!important}
.years-large button.active b,.years-large button.active small{color:#080808}
.video-card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:5px}.video-card video{width:100%!important;height:100%!important;object-fit:cover!important}.video-card>span{position:absolute;z-index:2;top:10px;left:10px;background:#000d;color:var(--gold);border:1px solid var(--gold);padding:7px;font-size:11px;font-weight:bold}
@media(max-width:700px){.years-large{grid-template-columns:1fr 1fr}.years-large button{min-height:95px!important}.years-large button b{font-size:35px}}

.feature-card,.guest-card{display:grid;grid-template-columns:45% 55%;background:#101010;border:1px solid #292929}.feature-card>img,.guest-card>img{width:100%;height:100%;object-fit:cover}.feature-card>div,.guest-card>div{padding:35px}.feature-card small,.guest-card small{color:var(--gold);letter-spacing:2px}.story-intro{text-align:center;color:#bbb;max-width:800px;margin:0 auto 30px}.faq details{border-bottom:1px solid #292929;padding:18px}.faq summary{color:var(--gold);cursor:pointer}.final-cta{text-align:center;padding:80px 5vw;border-top:1px solid #222}.business-footer{padding:45px 5vw 90px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;border-top:1px solid #222;color:#aaa}.business-footer a{color:var(--gold)}.mobile-actions{display:none}.legal{max-width:800px;margin:auto;padding:80px 6vw}.legal h1{color:var(--gold)}
@media(max-width:900px){.feature-card,.guest-card,.business-footer{grid-template-columns:1fr}.mobile-actions{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(3,1fr);z-index:90;background:#080808;border-top:1px solid #333}.mobile-actions a{text-align:center;padding:14px 5px;color:var(--gold);font-size:10px;font-weight:bold}}
.social-brands i{background:#fff;border-color:#2b2b2b;overflow:hidden;padding:8px}.social-brands i img{width:100%;height:100%;object-fit:contain}.social-brands .welcome-icon{width:64px;padding:4px}.reviews-section{border-top:1px solid #222}.reviews-intro{text-align:center;color:#aaa;max-width:760px;margin:-20px auto 34px;line-height:1.6}.review-platforms{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:auto}.review-card{background:linear-gradient(145deg,#151515,#0b0b0b);border:1px solid #2d2d2d;border-radius:12px;padding:34px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.review-card:hover{border-color:var(--gold);transform:translateY(-2px)}.review-card img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:12px;padding:8px}.review-card .stars{color:#f5b800;font-size:28px;letter-spacing:3px}.review-card strong{font:600 34px Georgia;color:#fff}.review-card b{font-size:17px;color:#ddd}.review-card span{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:1px;margin-top:8px}.review-total{text-align:center;margin-top:28px;color:#aaa;font-size:12px;letter-spacing:1.5px}.review-total strong{color:var(--gold)}
@media(max-width:700px){.review-platforms{grid-template-columns:1fr}.social-brands{justify-content:center}.social-brands a{min-width:78px}}
/* Logo originale */
.brand{display:flex;align-items:center;width:min(210px,38vw);height:48px;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain;filter:invert(78%) sepia(34%) saturate(700%) hue-rotate(2deg) brightness(94%);}
.footer-logo img{width:min(260px,100%);height:auto;filter:invert(78%) sepia(34%) saturate(700%) hue-rotate(2deg) brightness(94%)}
/* Sezioni a scelta: una copertina, poi galleria */
.story-cover{position:relative;max-width:1050px;height:min(68vh,650px);margin:36px auto 0;overflow:hidden;border:1px solid #2b2b2b;border-radius:12px;cursor:pointer;background:#111}
.story-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease;filter:brightness(.78)}
.story-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,5vw,55px);background:linear-gradient(transparent 25%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.94));transition:background .35s ease}
.story-hover small{color:var(--gold);letter-spacing:2px;font-weight:800}.story-hover h3{font:500 clamp(28px,4vw,48px) Georgia;margin:9px 0 10px}.story-hover p{max-width:760px;color:#ddd;line-height:1.65;opacity:0;transform:translateY(12px);transition:.35s ease}.story-hover span{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1.4px;margin-top:8px}
.story-cover:hover>img,.story-cover:focus>img{transform:scale(1.025);filter:brightness(.55)}.story-cover:hover .story-hover p,.story-cover:focus .story-hover p{opacity:1;transform:none}
.story-detail{display:none;max-width:1300px;margin:32px auto 0}.story-detail.active{display:block}.story-back{background:none;border:1px solid #4b3a14;color:var(--gold);padding:12px 16px;border-radius:5px;cursor:pointer;margin-bottom:22px}
@media(max-width:700px){.story-cover{height:520px}.story-hover p{opacity:1;transform:none;font-size:14px}.brand{width:165px;height:40px}}

/* V02: collegamenti ordinati e conversione mobile */
.social-brands{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:20px;width:100%;align-items:start}
.social-brands a{min-width:0;width:100%;justify-self:stretch}
.social-brands i,.social-brands .welcome-icon{width:52px;height:52px;padding:8px}
.social-brands span{min-height:28px;display:flex;align-items:flex-start;justify-content:center}
.open-status{display:inline-block;margin-top:12px;padding:8px 12px;border:1px solid #4b3a14;border-radius:999px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1px}
@media(max-width:1050px){.social-brands{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.social-brands{grid-template-columns:repeat(2,1fr);gap:16px}.mobile-actions{grid-template-columns:1fr}.mobile-actions a{display:none}.mobile-actions a:first-child{display:block;font-size:13px;padding:16px;background:var(--gold);color:#080808}.business-footer{padding-bottom:100px}}

/* V03 - eventi più compatti e footer social */
.seo-intro{max-width:820px;margin:-18px auto 34px;text-align:center;color:#aaa;line-height:1.7}
.event-covers{grid-template-columns:1fr;max-width:900px;width:75%;margin:45px auto 0}
.event-cover{min-height:390px}
.cover-years{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 10px}
.cover-years b{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:6px 12px;font-size:12px;letter-spacing:1px;background:rgba(0,0,0,.35)}
.footer-social{padding-top:48px;padding-bottom:36px;border-top:1px solid #222}
.social-footer{max-width:1040px;margin:28px auto 0}
.social-footer a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;color:#ddd;text-decoration:none;transition:transform .2s ease}
.social-footer a:hover{transform:translateY(-3px)}
.instagram-auto-note{max-width:760px;margin:22px auto 0;text-align:center;color:#777;font-size:11px;line-height:1.5}
@media(max-width:900px){.event-covers{width:92%;max-width:760px}.event-cover{min-height:340px}}
@media(max-width:650px){.event-covers{width:100%}.event-cover{min-height:310px}.cover-years b{font-size:11px;padding:5px 9px}.instagram-auto-note{display:none}}

/* V05 - storia, metodo, team e ottimizzazione immagini */
.hero-signature{margin:18px 0 0;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2.4px}
.story-section{border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d}.story-lead,.method-intro{max-width:900px;margin:-14px auto 38px;text-align:center;color:#bbb;line-height:1.8;font-size:17px}.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.journey article,.method-grid article{background:linear-gradient(145deg,#151515,#0c0c0c);border:1px solid #2a2a2a;border-radius:10px;padding:28px}.journey b{display:block;color:var(--gold);font:600 28px Georgia}.journey span{display:block;margin:9px 0 16px;color:#eee;font-size:10px;font-weight:800;letter-spacing:1.6px}.journey p,.method-grid p{color:#aaa;line-height:1.65;margin:0}.method-section{border-top:1px solid #222}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.method-grid strong{font:600 34px Georgia;color:var(--gold)}.method-grid h3{font:500 22px Georgia;margin:12px 0}.team article{align-items:stretch}.team article div{display:flex;flex-direction:column;justify-content:center}.team p{font-size:15px}.formation-cover>img{object-position:center 18%}.formation-cover{height:min(72vh,700px)}
@media(max-width:1100px){.journey{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.journey,.method-grid{grid-template-columns:1fr}.story-lead,.method-intro{font-size:15px}.team article div{padding:28px}.team p{font-size:14px}.formation-cover{height:560px}.formation-cover>img{object-position:center top}.hero-image img{object-position:center 18%}}


/* V06 - proporzioni Home, eventi 2 per riga, mobile e rifiniture premium */
.section{padding:68px 5vw}
.hero{min-height:auto;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;padding:18px 0 28px}
.hero>div:first-child{padding:5vw}
.hero-image{min-height:0;height:auto;display:flex;align-items:center;justify-content:center;padding:34px 4vw}
.hero-image img{display:block;width:min(100%,430px);height:auto;max-height:555px;object-fit:contain;object-position:center top;border-radius:10px}
.new-location-badge{display:inline-block;margin:16px 0 0;padding:10px 14px;border:1px solid #4b3a14;border-radius:999px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:1.25px}
.event-covers{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;width:100%;gap:22px;margin:32px auto 0}
.event-cover{min-height:0;height:310px;border-radius:10px}
.event-cover img{object-position:center 32%}
.event-overlay{padding:22px}
.event-overlay h3{font-size:clamp(22px,2.3vw,32px);margin:6px 0 10px}
.event-cover,.story-cover,.review-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.event-cover:hover,.story-cover:hover,.review-card:hover{box-shadow:0 14px 36px rgba(0,0,0,.28)}
.story-cover{max-width:920px;height:min(56vh,520px)}
.gallery{grid-template-columns:repeat(3,1fr);gap:14px}
.social-footer{max-width:980px}
.business-footer{padding-top:38px}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:0}
  .hero-image{order:1;padding:22px 6vw 4px}
  .hero-image img{width:min(82vw,390px);max-height:460px}
  .hero>div:first-child{order:2;padding:34px 6vw 46px}
  .event-covers{grid-template-columns:1fr;width:min(88vw,560px)}
  .event-cover{height:280px}
  .gallery{grid-template-columns:1fr 1fr}
  .section{padding:58px 6vw}
}
@media(max-width:650px){
  .hero-image img{width:min(86vw,350px);max-height:420px}
  .event-covers{width:100%}
  .event-cover{height:245px}
  .event-overlay{padding:16px}
  .event-overlay h3{font-size:22px}
  .story-cover{width:100%;height:300px}
  .section{padding:50px 6vw}
}


/* V08.2 - nuova sede compatta con descrizione */
.sede-preview{border-top:1px solid #222}
.sede-layout{
  width:min(1040px,92vw);
  margin:34px auto 0;
  display:grid;
  grid-template-columns:minmax(280px,390px) minmax(0,1fr);
  gap:48px;
  align-items:center
}
.sede-demo{
  width:100%;
  max-width:390px;
  margin:0;
  background:#0d0d0d;
  border:1px solid #2b2b2b;
  border-radius:12px;
  overflow:hidden
}
.sede-demo img{display:block;width:100%;height:auto}
.sede-demo figcaption{
  padding:10px 12px;
  text-align:center;
  color:var(--gold);
  font-size:9px;
  font-weight:800;
  letter-spacing:1.5px
}
.sede-copy{text-align:left}
.sede-copy h3{
  margin:6px 0 18px;
  color:var(--gold);
  font-size:clamp(28px,4vw,42px);
  letter-spacing:.5px
}
.sede-copy p{max-width:620px;line-height:1.75;color:#d5d5d5}
.sede-copy .eyebrow{margin-bottom:0}
.sede-quote{
  margin-top:22px;
  padding-left:18px;
  border-left:2px solid var(--gold);
  color:#fff!important;
  font-family:Georgia,serif;
  font-size:18px;
  font-style:italic
}
@media(max-width:820px){
  .sede-layout{
    grid-template-columns:1fr;
    gap:28px;
    width:min(92vw,620px)
  }
  .sede-demo{
    width:min(100%,340px);
    margin:0 auto
  }
  .sede-copy{text-align:center}
  .sede-copy p{margin-left:auto;margin-right:auto}
  .sede-copy .eyebrow{text-align:center}
  .sede-quote{
    display:inline-block;
    text-align:left
  }
}


/* V08.3 - correzione larghezza smartphone */
html,body{width:100%;min-width:100%;max-width:100%;overflow-x:hidden}
body{position:relative}
header,main,footer,.section,.final-cta,.footer-social,.business-footer{width:100%;max-width:100%}
img,video{max-width:100%}
@media(max-width:900px){
  header{width:100%;max-width:none;margin:0;padding-left:6vw;padding-right:6vw}
  main{width:100%;max-width:none;margin:0}
  .section{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:6vw;padding-right:6vw}
  .review-platforms,.instagram-grid,.contacts,.business-footer,.footer-social,.social-footer{width:100%;max-width:100%;margin-left:auto;margin-right:auto}
  .review-card{width:100%}
  .instagram-feed-section{width:100%}
  .mobile-actions{width:100vw;max-width:100vw}
}

/* V08.9 — fix menu mobile / iPhone Safari */
#menu{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:900px){
  header{position:sticky}
  #nav.open{display:flex;z-index:100}
  #menu{position:relative;z-index:101;min-width:44px;min-height:44px}
}
