@font-face{font-family:"Mountains of Christmas";src:url('assets/fonts/mountains-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"Mountains of Christmas";src:url('assets/fonts/mountains-700.woff2') format('woff2');font-weight:700;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#110f0f;color:#b4b4b4;font:700 16px/26px "Mountains of Christmas",serif;letter-spacing:1px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h2{font-size:33.6px;line-height:48px;color:#e4e4e4;letter-spacing:0}h3{font-size:22.4px;line-height:28.8px;font-weight:400;color:#e4e4e4;letter-spacing:0}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,.musician:focus-visible{outline:2px solid white;outline-offset:5px}.main-header{position:fixed;z-index:10;top:0;left:0;width:100%;height:60px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.main-header.scrolled{background:#000}.main-header img{display:block;height:45px;width:auto}.main-header nav{display:flex;gap:30px;color:#fff;letter-spacing:0}.hero{height:100vh;position:relative;margin-bottom:35px;overflow:hidden;color:#fff;text-align:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%)}.hero h1{font-size:clamp(35px,6.56vw,100px);line-height:1;letter-spacing:0;font-weight:700;margin:38px 15px 32px}.hero p{font-size:clamp(14px,3.28vw,50px);line-height:1.75;letter-spacing:0}.play{display:inline-flex;align-items:center;justify-content:center;width:67px;height:67px;color:white}.play:before{content:'';border-left:22px solid currentColor;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:6px}.play-round{background:#fff;border-radius:50%;color:#110f0f}.container{width:100%;max-width:1140px;margin:auto;padding:0 15px}.about{background:#100d0d;padding:105px 0 70px}.introduction{max-width:730px;margin:auto;text-align:center}.introduction h2{margin-bottom:34px}.introduction h3{margin-bottom:35px}.musicians{display:grid;grid-template-columns:1fr 1fr;gap:30px}.musician{height:257.6px;perspective:1000px;border-radius:7px}.musician-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s}.musician:hover .musician-inner,.musician:focus .musician-inner{transform:rotateY(180deg)}.musician-front,.musician-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:7px;overflow:hidden}.musician-front{background-size:cover;background-position:center}.musician-back{transform:rotateY(180deg);background:#110f0f;text-align:center;padding:30px 20px}.musician-back p{margin:10px 0 20px}.video-section{height:60vh;min-height:300px;display:grid;place-items:center;text-align:center;position:relative;background:linear-gradient(#0005,#0005),url('assets/Zampognari-Milano-Bergamo-Lombardia-13.jpg') center/cover}.video-content{position:relative;z-index:1}.video-content h2{margin-bottom:35px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);padding:70px 0;background:#100d0d}.gallery-photo{aspect-ratio:1;position:relative;display:block;overflow:hidden}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.gallery-photo:after{content:'+';position:absolute;inset:0;background:#750101c9;color:white;display:grid;place-items:center;font:40px Arial;opacity:0;transition:opacity .2s}.gallery-photo:hover:after,.gallery-photo:focus-visible:after{opacity:1}.contact{text-align:center;background:url('assets/Zampognari-Milano-Bergamo-Lombardia-25.jpg') center/cover;padding:105px 15px 144px;margin-bottom:-100px;position:relative}.contact h2{margin-bottom:10px}.contact h2:last-child{margin-bottom:0}footer{position:relative;background:#110f0f;text-align:center;padding:40px 15px 65px}.footer-logo{display:block;padding:30px 0}.social{height:110px;display:flex;align-items:center;justify-content:center;gap:35px;font:26px Arial}.copyright{font-size:13px;line-height:26px;margin-top:20px}.scroll-top{position:fixed;bottom:20px;right:20px;display:none;background:#0009;padding:8px 15px;z-index:5;font:26px Arial}.scroll-top.visible{display:block}.lightbox{max-width:none;max-height:none;width:100%;height:100%;border:0;padding:50px;background:#000e;color:#fff}.lightbox::backdrop{background:#000b}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox button{position:absolute;border:0;background:transparent;color:white;font:40px Arial;cursor:pointer;padding:10px;z-index:2}.close{top:8px;right:16px}.previous{left:8px;top:45%}.next{right:8px;top:45%}.media{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.media img{max-width:100%;max-height:100%;object-fit:contain}.media iframe{width:min(1100px,100%);aspect-ratio:16/9;border:0}
@media(min-width:992px) and (max-width:1199px){.container{max-width:960px}.musician{height:230px}.introduction{max-width:610px}}@media(max-width:767px){.main-header{padding:0 20px}.main-header nav{gap:22px}.hero h1{margin:32px 10px}.hero p{padding:0 15px}.about{padding:70px 0}.container{max-width:540px}.introduction{padding:0 10px}.musicians{grid-template-columns:1fr;gap:30px}.musician{height:250px}h2{font-size:28px;line-height:40px}.gallery{grid-template-columns:repeat(2,1fr)}.contact{padding-top:90px}.contact h2{font-size:25px;overflow-wrap:anywhere}.video-section{padding:30px 15px}.lightbox{padding:50px 35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Video di sfondo: ritaglio cover, velo scuro e contenuto in primo piano. */
.video-section{overflow:hidden;isolation:isolate}
.video-background{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.video-background iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;max-width:none;pointer-events:none}
.video-section::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.32);z-index:-1;pointer-events:none}
.video-section .video-content{z-index:1}

/* Hero statica: nessuna animazione ripetuta o zoom automatico. */
.hero,.hero-content,.hero-content>*{animation:none!important;transition:none!important}


/* Lo sfondo si anima una sola volta e mantiene l'inquadratura finale. */
@keyframes hero-background-intro{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}
.hero-image{animation:hero-background-intro 8s ease-out 1 forwards;transform-origin:center;transition:none}
@media(prefers-reduced-motion:reduce){.hero-image{animation:none;transform:scale(1.08)}}

/* Footer: un solo marchio e icone social vettoriali uniformi. */
footer{padding:60px 20px 45px}
.footer-logo{display:inline-block;padding:0;line-height:0}
.footer-logo img{width:50px;height:auto}
.social{height:auto;display:flex;align-items:center;justify-content:center;gap:18px;margin:28px 0}
.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;border-radius:50%;transition:background-color .2s,opacity .2s}
.social svg{display:block;width:25px;height:25px}
.social a:hover{background-color:#ffffff14;opacity:.8}
footer .copyright{margin-top:0}


/* Layout attuale: regole applicate dopo la base. */
/* Direzione alternativa: avorio, bordeaux e fotografia a tutta pagina. */
:root{--paper:#f4eee3;--ink:#29261f;--wine:#692b35;--gold:#d7b77f;--sans:Arial,Helvetica,sans-serif}
body{background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);letter-spacing:0}
h1,h2,h3{font-family:"Mountains of Christmas",serif}h2{font-size:clamp(38px,4.5vw,64px);line-height:1.1;color:var(--ink)}
section[id]{scroll-margin-top:90px}.eyebrow{display:block;font:600 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:2.5px;color:var(--wine);margin-bottom:22px}
.main-header{height:90px;padding:0 5%;border-bottom:1px solid #ffffff26;background:linear-gradient(#100f0d70,transparent)}.main-header.scrolled{background:#1c1b18f5}
.brand{display:flex;align-items:center;gap:15px;color:var(--paper)}.brand>span{font:700 25px/1.1 "Mountains of Christmas",serif}.brand small{display:block;margin-top:7px;font:400 9px var(--sans);letter-spacing:2.5px;text-transform:uppercase}
.main-header nav{align-items:center;gap:30px;font:500 12px var(--sans)}.nav-contact{padding:14px 20px;border:1px solid #ffffff80}.nav-contact span{margin-left:14px}
.hero{height:90svh;min-height:760px;max-height:1100px;margin-bottom:0;text-align:left;background:#1c1b18}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13130fe8 0%,#13130fb3 30%,#13130f10 78%),linear-gradient(0deg,#13130f70,transparent 45%);pointer-events:none}.hero-image{object-position:65% 50%}
.hero-content{z-index:1;left:8%;top:52%;width:84%;max-width:1200px}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(66px,7.7vw,112px);line-height:.99;margin:0 0 28px;max-width:650px;color:var(--paper)}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font:400 16px/1.8 var(--sans);max-width:500px;color:#f4eee3d9;padding:0}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button-primary{padding:17px 24px;background:var(--wine);color:white;font:500 13px/1.4 var(--sans);display:inline-flex;gap:24px;align-items:center}.button-primary:hover{background:#813743}.watch-link{display:inline-flex;align-items:center;gap:12px;font:500 12px var(--sans);color:var(--paper)}.watch-link .play{width:42px;height:42px;background:transparent;border:1px solid #f4eee380;color:var(--paper)}.watch-link .play:before{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}.hero-scroll{position:absolute;bottom:26px;left:8%;z-index:1;font:400 10px var(--sans);letter-spacing:1px;color:#f4eee3b3;display:flex;gap:24px}.hero-scroll span{font-size:20px}
.container{max-width:1240px;padding:0 40px}.about{background:var(--paper);padding:110px 0}.introduction{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:none;text-align:left;align-items:center;margin-bottom:65px;padding:0}.introduction h2{margin:0}.intro-copy{padding-top:24px}.intro-copy p{font:400 17px/1.9 var(--sans);color:#5d594f}.text-link{display:inline-block;border-bottom:1px solid #692b3560;padding-bottom:7px;font:600 12px/1.6 var(--sans);color:var(--wine);margin-top:24px}.text-link span{margin-left:18px}
.musicians{gap:28px}.musician{height:390px;border-radius:0}.musician-front,.musician-back{border-radius:0}.musician-front:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#15130fe6,transparent 60%)}.musician-caption{position:absolute;bottom:26px;left:30px;z-index:1;color:var(--paper)}.musician-caption h3{font-size:40px;line-height:1.1;margin-bottom:8px;color:var(--paper)}.musician-caption span{font:400 11px var(--sans);text-transform:uppercase;letter-spacing:2px}.musician-back{display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--wine);color:var(--paper)}.musician-back h2{color:var(--paper)}.musician-back p{font:400 11px/1.6 var(--sans);letter-spacing:2px;margin:20px 0 28px}
.video-section{height:620px;min-height:420px;background-color:#171612}.video-content{padding:40px 20px}.video-content .eyebrow{color:var(--gold)}.video-content h2{font-size:clamp(42px,6vw,80px);color:var(--paper);margin-bottom:34px}.video-content>.play{border:1px solid #ffffff90;border-radius:50%;width:74px;height:74px}.video-content>.play:before{border-left-width:17px;border-top-width:11px;border-bottom-width:11px}
.gallery{padding:100px max(40px,calc((100% - 1160px)/2));gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper)}.gallery-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.gallery-heading .eyebrow{margin-bottom:16px}.gallery-heading h2{font-size:clamp(34px,4vw,54px)}.gallery-heading p{font:400 13px/1.8 var(--sans);color:#746d61}.gallery-photo{aspect-ratio:1}.gallery-photo:after{background:#692b3599}.gallery-photo:nth-of-type(1),.gallery-photo:nth-of-type(6){grid-column:span 2;aspect-ratio:2.05}
.contact{display:grid;grid-template-columns:1fr 1fr;text-align:left;background:#e8dfcf;padding:0;margin:0}.contact-copy{padding:85px max(40px,calc((100vw - 1160px)/2)) 85px max(40px,calc((100vw - 1160px)/2));padding-right:60px}.contact h2{font-size:clamp(44px,5vw,70px);margin-bottom:25px;color:var(--wine)}.contact p{font:400 15px/1.8 var(--sans);color:#625b50}.contact-links{margin-top:34px}.contact-links a{display:block;position:relative;border-bottom:1px solid #29261f30;padding:15px 30px 15px 0;font:400 clamp(14px,1.35vw,20px)/1.6 var(--sans);overflow-wrap:anywhere}.contact-links a span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-bottom:5px;color:#746d61}.contact-links b{position:absolute;right:0;top:38px;font-weight:400}.contact-photo{background:url('assets/Zampognari-Milano-Bergamo-Lombardia-25.jpg') center/cover;min-height:500px}
footer{background:#1c1b18;padding:55px 25px 35px;color:var(--paper)}footer .copyright{font:400 10px/2 var(--sans);letter-spacing:1px;color:#bfb8a9}.social{margin:22px 0}.social a{color:var(--paper)}a:focus-visible,button:focus-visible,.musician:focus-visible{outline-color:var(--wine)}.hero a:focus-visible,.main-header a:focus-visible,footer a:focus-visible{outline-color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1023px){.main-header nav{gap:18px}.nav-gallery{display:none}.hero{min-height:730px}.introduction{gap:40px}.musician{height:320px}.gallery{padding:80px 30px}.gallery-heading p{display:none}.contact-copy{padding:60px 30px}.contact-photo{min-height:500px}}
@media(max-width:767px){.main-header{height:76px;padding:0 22px}.brand{gap:10px}.brand img{height:38px}.brand>span{font-size:21px}.brand small{font-size:8px;letter-spacing:1.5px}.nav-about{display:none}.main-header .nav-contact{font-size:0;padding:12px}.nav-contact:before{content:'Contattaci';font:500 11px var(--sans)}.nav-contact span{font-size:13px;margin-left:10px}.hero{height:92svh;min-height:700px;max-height:900px}.hero-image{object-position:58% center}.hero:after{background:linear-gradient(90deg,#13130fde,#13130f40),linear-gradient(0deg,#13130f70,transparent)}.hero-content{left:7%;width:86%;top:52%}.hero h1{font-size:clamp(62px,13.5vw,90px);margin:0 0 24px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero p{font-size:14px}.hero-actions{gap:20px;flex-wrap:wrap;margin-top:26px}.button-primary{padding:15px 18px;font-size:12px;gap:18px}.watch-link{font-size:11px}.hero-scroll{left:7%;bottom:20px}.about{padding:70px 0}.container{max-width:none;padding:0 24px}.introduction{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.intro-copy{padding:0}.intro-copy p{font-size:15px}.musicians{gap:20px}.musician{height:340px}.video-section{height:440px;min-height:0}.gallery{padding:65px 20px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-heading{margin-bottom:20px}.gallery-heading .eyebrow{font-size:9px;letter-spacing:1.6px}.gallery-photo:nth-of-type(1),.gallery-photo:nth-of-type(6){grid-column:span 2;aspect-ratio:1.6}.contact{grid-template-columns:1fr}.contact-copy{padding:60px 24px}.contact-links a{font-size:17px}.contact-photo{min-height:260px}.contact .eyebrow{font-size:9px;letter-spacing:1.8px}.contact h2{font-size:52px}footer{padding-top:40px}}

/* Schede dei musicisti statiche, anche al passaggio del mouse. */
.musician{perspective:none}
.musician-inner,.musician:hover .musician-inner,.musician:focus .musician-inner{transform:none;transform-style:flat;transition:none;animation:none}
.musician-front{backface-visibility:visible}

/* Completa l'ultima riga senza lasciare celle vuote. */
@media(min-width:768px){
  .gallery-photo:nth-last-of-type(-n+2){grid-column:span 2;aspect-ratio:2.05}
}

/* Colori espliciti per i link del menu, anche nel canvas Pinegrow. */
.main-header .brand,.main-header .brand:visited,
.main-header nav a,.main-header nav a:link,.main-header nav a:visited{
  color:var(--paper);text-decoration:none;
}
.main-header nav a:hover,.main-header nav a:focus-visible{color:var(--gold);text-decoration:none}

/* Variazioni territoriali e contenuti utili, con risorse condivise. */
.site-lombardia{--wine:#315247;--gold:#deca9f;--paper:#f2f0e6}.site-bergamo{--wine:#80502e;--gold:#e3c397;--paper:#f5eee2}
.hero h1{font-size:clamp(58px,6.5vw,94px)}.site-lombardia .hero-image{object-position:72% center}.site-bergamo .hero-image{object-position:58% center}
.site-lombardia .introduction{grid-template-columns:1.1fr 1fr}.site-bergamo .contact{grid-template-columns:1fr 1fr}.site-bergamo .contact-photo{order:-1}
.event-guide{background:var(--paper);padding:10px 0 90px}.guide-heading{max-width:850px;margin-bottom:38px}.guide-heading h2{font-size:clamp(32px,3.6vw,48px)}.guide-heading>p{color:#625b50;font:400 15px/1.8 var(--sans);margin-top:20px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.guide-grid article{border-top:1px solid #29261f35;padding-top:24px}.guide-number{font:500 11px var(--sans);letter-spacing:2px;color:var(--wine)}.guide-grid h3{font-size:30px;line-height:1.2;color:var(--ink);margin:18px 0}.guide-grid p,.event-questions p{font:400 14px/1.9 var(--sans);color:#625b50}.event-questions{margin-top:55px;max-width:850px}.event-questions>h3{font-size:34px;color:var(--ink);margin-bottom:20px}.event-questions details{border-top:1px solid #29261f30;padding:18px 0}.event-questions summary{cursor:pointer;font:600 14px/1.7 var(--sans);color:var(--wine)}.event-questions p{padding-top:14px}
@media(max-width:767px){.hero h1{font-size:clamp(48px,11vw,70px)}.site-lombardia .introduction{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr;gap:28px}.event-guide{padding-bottom:60px}.guide-grid h3{font-size:29px}.site-bergamo .contact{grid-template-columns:1fr}.site-bergamo .contact-photo{order:0}}
