:root{--black:#080808;--cream:#f6f0e6;--copper:#c97854;--text:#1a1715}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--black);color:var(--text)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.site-header{position:fixed;z-index:50;inset:0 0 auto 0;height:98px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:rgba(10,10,10,.88);border-bottom:1px solid rgba(201,120,84,.35);backdrop-filter:blur(12px)}
.brand{color:#fff;line-height:.9;text-transform:uppercase;letter-spacing:.04em}.brand-main{font-family:Cormorant Garamond,serif;font-size:36px;font-weight:700;display:block}.brand-sub{font-size:12px;color:var(--copper);letter-spacing:.24em}
.nav{display:flex;align-items:center;gap:34px}.nav a{color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.13em;font-weight:700}.nav-cta{color:var(--copper)!important;border:1px solid rgba(201,120,84,.85);padding:15px 24px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;gap:5px;flex-direction:column;justify-content:center;align-items:center}.menu-toggle span{display:block;width:25px;height:2px;background:#fff}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:140px 8vw 90px;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.50),rgba(0,0,0,.78)),url('assets/img/sfondo-lucerne.jpg') center/cover;transform:scale(1.02)}.hero-content{position:relative;max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--copper);font-size:12px;font-weight:800}h1,h2,h3{font-family:Cormorant Garamond,serif;margin:0}h1{font-size:clamp(68px,10vw,132px);line-height:.86;margin:20px 0 28px}h2{font-size:clamp(42px,6vw,76px);line-height:.95;margin:12px 0 28px}h3{font-size:30px;margin-bottom:14px}p{font-size:18px;line-height:1.75}.hero-text{max-width:680px;color:rgba(255,255,255,.88)}
.hero-actions,.info-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:800}.btn-primary{background:var(--copper);color:#fff}.btn-outline{border:1px solid var(--copper);color:#fff}.btn-outline.dark{color:var(--text)}
.container{width:min(1180px,88vw);margin:0 auto}.narrow{max-width:850px;text-align:center}.section-light{background:var(--cream);padding:110px 0}.section-dark{background:#050505;color:#fff;padding:110px 0}.section-light p{color:#4d4741}.section-dark p{color:rgba(255,255,255,.72)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}.timeline article,.cards article{border:1px solid rgba(201,120,84,.42);padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}.timeline span{color:var(--copper);font-weight:800;letter-spacing:.2em}
.split-grid{display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center}.poster-card{padding:14px;border:1px solid rgba(201,120,84,.35);background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.18)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.info-list{padding:0;margin:36px 0;list-style:none;border-top:1px solid rgba(0,0,0,.12)}.info-list li{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.12)}.info-list strong{text-transform:uppercase;letter-spacing:.18em;color:var(--copper);font-size:13px}.info-list span{font-size:20px;font-weight:700}.map-box iframe{width:100%;height:430px;border:0;filter:saturate(.8) contrast(.95)}
.final-cta{padding:120px 0;background:#111;color:white;text-align:center}.final-cta p{color:rgba(255,255,255,.72)}.site-footer{background:#030303;color:#fff;text-align:center;padding:76px 24px;border-top:1px solid rgba(201,120,84,.28)}.footer-logo{font-family:Cormorant Garamond,serif;font-size:42px;font-weight:700;text-transform:uppercase}.site-footer p{font-size:14px;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.65)}.site-footer a{color:var(--copper)}.footer-links{margin:20px 0;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.site-footer small{color:rgba(255,255,255,.5)}
@media(max-width:980px){.site-header{height:84px;padding:0 24px}.brand-main{font-size:30px}.menu-toggle{display:flex}.nav{position:absolute;top:84px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(5,5,5,.98);border-bottom:1px solid rgba(201,120,84,.35);padding:16px 24px 24px}.nav.open{display:flex}.nav a{padding:18px 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}.nav-cta{margin-top:12px}.timeline,.cards,.split-grid,.info-grid{grid-template-columns:1fr}.poster-card{max-width:420px;margin:0 auto}}
@media(max-width:640px){.hero{padding:130px 26px 70px;min-height:92vh}h1{font-size:64px}h2{font-size:44px}.section-light,.section-dark{padding:76px 0}.btn{width:100%}.info-list li{grid-template-columns:1fr}}


.brand.logos{display:flex;align-items:center;gap:18px}
.logo-nv{height:58px;width:auto}
.logo-rad{height:48px;width:auto}
.footer-logo.logos-footer{display:flex;justify-content:center;align-items:center;gap:30px}
.footer-nv{height:80px;width:auto}
.footer-rad{height:65px;width:auto}
@media(max-width:980px){
.logo-nv{height:44px}
.logo-rad{height:36px}
.footer-nv{height:58px}
.footer-rad{height:48px}
}


/* HEADER / FOOTER DEFINITIVI - PULITI */
.site-header{
  position:fixed;
  z-index:50;
  inset:0 0 auto 0;
  height:98px;
  padding:0 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(10,10,10,.88);
  border-bottom:1px solid rgba(201,120,84,.35);
  backdrop-filter:blur(12px);
  overflow:visible;
}

.brand-final-clean{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  width:auto;
  height:98px;
  line-height:0;
}

.brand-final-clean img{
  display:block;
  width:170px;
  height:auto;
  max-width:none;
  object-fit:contain;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
}

.nav a{
  color:#fff;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.13em;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.nav-cta{
  color:var(--copper)!important;
  border:1px solid rgba(201,120,84,.85);
  padding:15px 24px;
}

.menu-toggle{
  display:none;
  background:none;
  border:0;
  width:42px;
  height:42px;
  gap:5px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  cursor:pointer;
}

.menu-toggle span{
  display:block;
  width:25px;
  height:2px;
  background:#fff;
}

.site-footer{
  background:#030303;
  color:#fff;
  text-align:center;
  padding:76px 24px;
  border-top:1px solid rgba(201,120,84,.28);
}

.footer-logo-final-clean{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 auto 24px;
  padding:0;
  text-align:center;
}

.footer-logo-final-clean img{
  display:block;
  width:300px;
  max-width:88vw;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}

@media(max-width:980px){
  .site-header{
    height:84px;
    padding:0 24px;
  }

  .brand-final-clean{
    height:84px;
  }

  .brand-final-clean img{
    width:145px;
  }

  .menu-toggle{
    display:flex;
  }

  .nav{
    position:absolute;
    top:84px;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(5,5,5,.98);
    border-bottom:1px solid rgba(201,120,84,.35);
    padding:16px 24px 24px;
  }

  .nav.open{
    display:flex;
  }

  .nav a{
    padding:18px 0;
    text-align:center;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .nav-cta{
    margin-top:12px;
  }

  .footer-logo-final-clean img{
    width:250px;
  }
}

@media(max-width:520px){
  .brand-final-clean img{
    width:132px;
  }

  .footer-logo-final-clean img{
    width:220px;
  }
}


/* FIX FINALE FOOTER CENTRATO */
.site-footer{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.site-footer .footer-logo-final-clean{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 26px auto !important;
  padding:0 !important;
  text-align:center !important;
}

.site-footer .footer-logo-final-clean img{
  display:block !important;
  width:300px !important;
  max-width:88vw !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  object-fit:contain !important;
}

@media(max-width:980px){
  .site-footer .footer-logo-final-clean img{
    width:250px !important;
  }
}

@media(max-width:520px){
  .site-footer .footer-logo-final-clean img{
    width:220px !important;
  }
}


/* footer final actual */
.footer-final{
display:flex!important;
justify-content:center!important;
align-items:center!important;
width:100%!important;
margin:0 auto 28px!important;
}
.footer-final img{
display:block!important;
margin:0 auto!important;
max-width:320px!important;
width:320px!important;
height:auto!important;
}
@media(max-width:600px){
.footer-final img{max-width:220px!important;width:220px!important;}
}


/* FIX REALE FOOTER: usa un solo logo composto e lo centra */
.site-footer{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.site-footer .footer-final{
  display:none !important;
}

.site-footer .footer-logo-single{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 28px auto !important;
  padding:0 !important;
  text-align:center !important;
}

.site-footer .footer-logo-single img{
  display:block !important;
  width:300px !important;
  max-width:88vw !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
