/* Witch Night — ingresso cinematografico e reveal allo scroll (complemento a style.css) */
.title-group>*{opacity:0;transform:translateY(26px);will-change:transform,opacity}
body.ready .title-group>*{animation:wnRise 1.1s cubic-bezier(.16,1,.3,1) forwards}
body.ready .title-group>.kicker{animation-delay:.15s}
body.ready .title-group>h1{animation-delay:.3s;animation-duration:1.4s}
body.ready .title-group>.title-sigil{animation:wnRise 1.2s cubic-bezier(.16,1,.3,1) .6s forwards,sigil 55s linear .6s infinite}
body.ready .title-group>.tagline{animation-delay:.85s}
@keyframes wnRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.artwork{opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 2.6s cubic-bezier(.16,1,.3,1)}
body.ready .artwork{opacity:1;transform:none}
.site-header{opacity:0;transition:opacity 1s ease .9s}
body.ready .site-header{opacity:1}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.booking-portal.reveal.in{transform:none}
.audio-toggle[aria-pressed=true] .audio-label{color:var(--green)}
@media(prefers-reduced-motion:reduce){.title-group>*,.artwork,.site-header,.reveal{opacity:1;transform:none;animation:none;transition:none}}
/* il titolo e' piu' largo del suo contenitore: gli span devono avvolgere la parola intera, altrimenti background-clip:text taglia le lettere */
@media(min-width:601px){h1 span{width:max-content;max-width:none;margin-left:auto;margin-right:auto}}
.music-credit{font-size:max(10px,.95cqw)!important;letter-spacing:.14em!important;opacity:.7;margin-top:.7cqw!important}.music-credit a{border-bottom:1px solid #b5c5a94d}
#atmosphere{z-index:3}
.menu-dialog{z-index:50}
/* ---- FAQ ---- */
.faq{position:relative;text-align:center;padding:2cqw 12% 3cqw;max-width:1100px;margin:0 auto}
.faq h2{font-size:2cqw;font-weight:400;letter-spacing:.22em;text-transform:uppercase;margin:0 0 1.2cqw;color:var(--green)}
.faq-intro{font-family:Georgia,serif;font-style:italic;font-size:1.25cqw;line-height:1.7;color:#cfd4c5;margin:0 auto 2cqw;max-width:62ch}
.faq-intro strong{font-style:normal;color:var(--paper);font-weight:500}
.faq dl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.6cqw 2.4cqw;margin:0;text-align:left}
.faq dl>div{border-top:1px solid #8caa7440;padding-top:1cqw}
.faq dt{font-size:1.15cqw;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 .5cqw}
.faq dd{margin:0;font-family:Georgia,serif;font-size:1.05cqw;line-height:1.6;color:#d6dacc}
.faq dd a{color:var(--green);border-bottom:1px solid #b7d5a466}
/* ---- crediti e cookie ---- */
.site-credits{position:absolute;left:0;right:0;bottom:1.6cqw;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4cqw 1cqw;font-size:max(11px,.95cqw);letter-spacing:.1em;color:#a9b3a0;padding:0 5%}
.site-credits a{color:#d2e0c2;border-bottom:1px solid #b5c5a94d;transition:color .25s}.site-credits a:hover{color:var(--green)}
.site-credits .sep{opacity:.5}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid #8caa7455;border-radius:14px;background:linear-gradient(145deg,#0d150ef2,#050706f2);box-shadow:0 20px 60px #000c;backdrop-filter:blur(10px);max-width:760px;margin:0 auto;animation:cookieIn .7s cubic-bezier(.16,1,.3,1) both}
.cookie-bar[hidden]{display:none}
.cookie-bar p{margin:0;font-family:Georgia,serif;font-size:13px;line-height:1.55;color:#d6dacc}
.cookie-bar a{color:var(--green);border-bottom:1px solid #b7d5a466}
.cookie-bar button{flex:none;border:1px solid #b7d5a4;background:#b7d5a4;color:#0b160a;padding:10px 18px;border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cookie-bar button:hover{background:#d0edbb}
@keyframes cookieIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .faq{padding:10px 22px 40px}.faq h2{font-size:17px;margin-bottom:12px}.faq-intro{font-size:13px;margin-bottom:22px}
 .faq dl{grid-template-columns:1fr;gap:14px}.faq dl>div{padding-top:12px}.faq dt{font-size:12px;margin-bottom:5px}.faq dd{font-size:13px}
 .site-credits{position:static;margin-top:28px;font-size:11px;gap:6px 10px}
 .cookie-bar{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;gap:12px;padding:14px}
 .cookie-bar p{font-size:12px}.cookie-bar button{width:100%}
}
@media(max-height:720px) and (min-width:601px){.footer{height:auto;min-height:25cqw;padding-bottom:5cqw}}
