/* Layout: home a bande scure; al centro il gioco "Il suono della tua insegna" come scheda grande a passi. Colori di borealize.it, tema scuro unico. */
:root{
  --bg:#121212; --band:#181818; --card:#1E1E1E; --card2:#262626; --line:#353535; --fg:#FFFFFF; --soft:#D9D9D9; --muted:#A3A3A3; --acc:#F5B000; --acc2:#FFC93D; --ink:#121212;
  --f:'Poppins',ui-sans-serif,system-ui,'Segoe UI',Arial,sans-serif;
  color-scheme:dark;
}



a{color:var(--acc)}a:hover{color:var(--acc2)}
button,input{font:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{background:var(--band)}
section .wrap{padding-block:72px}
.eyebrow{color:var(--acc);font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase}
h1,h2,h3{text-wrap:balance}
h2{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.12;font-weight:800;letter-spacing:-.5px}
.lead{margin:0;color:var(--soft);font-size:18px;max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 24px;border-radius:3px;border:0;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.y{background:var(--acc);color:var(--ink)}.btn.y:hover{background:var(--acc2);color:var(--ink)}
.btn.o{background:none;color:var(--fg);border:1px solid #5A5A5A}.btn.o:hover{border-color:var(--fg);color:var(--fg)}
/* testata */






/* hero */
.hero .wrap{padding-block:64px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:40px;align-items:center}
.hero h1{margin:0;font-size:clamp(42px,7vw,76px);line-height:1;font-weight:900;letter-spacing:-2px}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero .txt{display:flex;flex-direction:column;gap:22px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.mini{font-size:14px;color:var(--muted)}
.eq{background:var(--card);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:18px;min-height:340px;justify-content:space-between}
.eq-bars{display:flex;align-items:flex-end;gap:6px;height:150px}
.eq-bars span{flex:1;background:var(--acc);border-radius:3px 3px 0 0;height:30%;animation:eq 1.2s ease-in-out infinite alternate}
.eq-bars span:nth-child(odd){background:#FFD666}
@keyframes eq{to{height:var(--h,90%)}}
.eq b{font-size:22px;line-height:1.3}
.eq .mini{margin:0}
/* gioco */
.gioco{background:var(--card);border-radius:20px;padding:clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:24px;border:1px solid #2A2A2A}
.g-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dots{display:flex;gap:6px}
.dots i{width:28px;height:6px;border-radius:3px;background:var(--line)}
.dots i.on{background:var(--acc)}
.g-q{margin:0;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.25}
.g-sub{margin:0;color:var(--muted)}
.insegna{width:100%;max-width:560px;background:var(--bg);color:var(--fg);border:2px solid var(--line);border-radius:10px;padding:18px 20px;font-size:22px;font-weight:600}
.insegna:focus{border-color:var(--acc);outline:none}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px}
.tile{background:var(--card2);border:2px solid transparent;color:var(--fg);border-radius:12px;padding:16px 14px;min-height:96px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;cursor:pointer;text-align:left;font-weight:600;transition:transform .12s,border-color .12s}
.tile:hover{transform:translateY(-2px);border-color:#555}
.tile[aria-pressed="true"]{border-color:var(--acc);background:#2E2610}
.tile svg{width:28px;height:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--card2);color:var(--fg);border:1px solid var(--line);border-radius:30px;padding:10px 18px;min-height:46px;cursor:pointer;font-weight:500;transition:transform .12s}
.chip:hover{transform:scale(1.04)}
.chip[aria-pressed="true"]{background:var(--acc);color:var(--ink);border-color:var(--acc);font-weight:600}
.g-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.g-err{margin:0;color:#FF9A6B;font-weight:500;flex:1 1 200px}
.magia{display:flex;flex-direction:column;align-items:center;gap:22px;padding-block:30px;text-align:center}
.magia .eq-bars{width:min(360px,100%);height:110px}
.magia p{margin:0;font-size:20px;font-weight:600;min-height:1.6em}
.prog{width:min(420px,100%);height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.prog span{display:block;height:100%;width:0;background:var(--acc);transition:width .4s}
.res{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px;align-items:stretch}
.disco{background:var(--acc);color:var(--ink);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.disco .k{font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.disco h3{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.05;font-weight:900;letter-spacing:-1px}
.disco p{margin:0;font-size:16px}
.match{font-size:15px;font-weight:600}
.vinile{position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:repeating-radial-gradient(circle,#121212 0 2px,#1d1d1d 2px 5px);opacity:.18;animation:gira 6s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.altro{background:var(--card2);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}
.altro h4{margin:0;font-size:16px;color:var(--muted);font-weight:500}
.altro .pl{display:flex;justify-content:space-between;gap:10px;font-weight:600;border-bottom:1px solid var(--line);padding-block:8px}
.altro .pl span{color:var(--acc)}
.player{display:flex;align-items:center;gap:14px;background:var(--bg);border-radius:12px;padding:12px 14px}
.play{width:48px;height:48px;border-radius:50%;border:2px solid var(--acc);background:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.player .eq-bars{height:34px;flex:1}
.player .eq-bars span{animation-play-state:paused}
.player.on .eq-bars span{animation-play-state:running}
.consiglio{background:#2A2414;border:1px solid #5C4A12;border-radius:12px;padding:14px 16px;font-size:15px;color:var(--soft)}
/* storia */
.storia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:40px;align-items:start}
.storia .txt{display:flex;flex-direction:column;gap:16px}
.storia p{margin:0;color:var(--soft)}
.voci{display:flex;flex-direction:column;gap:12px}
.voce{background:var(--card);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px}
.voce b{font-size:15px;color:var(--acc)}
.voce span{color:var(--soft)}
.pilastri{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin-top:8px}
.pil{background:var(--card);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;border-top:4px solid var(--acc)}
.pil b{font-size:19px}
.pil span{color:var(--soft);font-size:15px}
.caso{background:var(--acc);color:var(--ink);border-radius:20px;padding:clamp(22px,4vw,40px);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.caso .k{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.caso h3{margin:0;font-size:clamp(26px,3.6vw,38px);line-height:1.1;font-weight:900;letter-spacing:-.5px;max-width:20ch}
.caso ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;position:relative}
.caso li{background:rgba(18,18,18,.08);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}
.caso li b{font-size:17px}
.caso li span{font-size:15px;font-weight:500}
.caso li.fine{background:var(--ink);color:var(--fg)}
.caso li.fine b{color:var(--acc)}
.caso .vinile{position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:repeating-radial-gradient(circle,#121212 0 2px,#1d1d1d 2px 5px);opacity:.12;animation:gira 8s linear infinite;pointer-events:none}

/* passi e disdetta */
.passi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;list-style:none;margin:0;padding:0;counter-reset:s}
.passi li{background:var(--card);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px;counter-increment:s}
.passi li::before{content:counter(s);font-size:42px;font-weight:900;color:var(--acc);line-height:1}
.passi b{font-size:19px}.passi span{color:var(--soft);font-size:15px}
.perc{display:flex;flex-direction:column;gap:22px}
.linea{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.binario{position:absolute;left:10%;right:10%;top:27px;height:4px;border-radius:2px;background:var(--line);z-index:0}
.binario span{display:block;height:100%;width:0;background:var(--acc);border-radius:2px;transition:width .45s ease}
.nodo{position:relative;z-index:1;background:none;border:0;color:var(--fg);display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;padding:0 2px;text-align:center}
.nodo .c{width:58px;height:58px;border-radius:50%;background:var(--card2);border:3px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;transition:transform .18s,background .18s,border-color .18s,color .18s}
.nodo:hover .c{transform:scale(1.08);border-color:#777}
.nodo.fatto .c{background:#2E2610;border-color:var(--acc);color:var(--acc)}
.nodo[aria-pressed="true"] .c{background:var(--acc);border-color:var(--acc);color:var(--ink);transform:scale(1.14);box-shadow:0 0 0 8px rgba(245,176,0,.16)}
.nodo .q{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--acc)}
.nodo .t{font-size:15px;font-weight:600;line-height:1.25;color:var(--soft)}
.nodo[aria-pressed="true"] .t{color:var(--fg)}
.tappa-box{background:var(--card);border-radius:18px;padding:clamp(20px,4vw,34px);display:flex;flex-direction:column;gap:20px;border:1px solid #2A2A2A;animation:entra .35s ease}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tappa-box h3{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.2;font-weight:800}
.chi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.chi div{background:var(--bg);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px}
.chi b{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.chi .noi b{color:var(--acc)}
.chi span{color:var(--soft)}
.p-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.p-nota{margin:0;font-size:15px;color:var(--muted)}
.ritorno{border-top:1px solid var(--line);padding-top:16px}
.ritorno summary{cursor:pointer;font-weight:600;color:var(--acc);list-style:none;display:flex;justify-content:space-between;gap:10px;min-height:44px;align-items:center}
.ritorno summary::after{content:"+";font-size:22px;line-height:1}
.ritorno[open] summary::after{content:"−"}
.ritorno div{background:var(--bg);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px;margin-top:8px}
.ritorno p{margin:0;color:var(--soft)}
@media (max-width:620px){.nodo .t{display:none}.nodo .c{width:46px;height:46px;font-size:17px}.binario{top:21px}.nodo .q{font-size:10px;letter-spacing:0;white-space:nowrap}}
.disdetta{background:var(--card);border-radius:20px;padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:30px;align-items:center}
.firma{background:var(--bg);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px}
.firma .riga{display:flex;align-items:center;gap:12px;color:var(--soft)}
.firma .ck{width:26px;height:26px;border-radius:50%;background:var(--acc);display:inline-flex;align-items:center;justify-content:center;flex:none}
.comp{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.comp a{background:var(--card);border-radius:18px;padding:28px;text-decoration:none;color:var(--fg);display:flex;flex-direction:column;gap:10px;border:2px solid transparent;transition:border-color .15s,transform .15s}
.comp a:hover{border-color:var(--acc);transform:translateY(-2px);color:var(--fg)}
.comp b{font-size:24px;line-height:1.25}
.comp span{color:var(--soft)}
.comp i{font-style:normal;color:var(--acc);font-weight:600}
.faq{display:flex;flex-direction:column;gap:10px;max-width:820px}
.faq details{background:var(--card);border-radius:12px}
.faq summary{cursor:pointer;padding:18px 20px;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq p{margin:0;padding:0 20px 18px;color:var(--soft)}
.finale{background:var(--acc);color:var(--ink);border-radius:20px;padding:clamp(26px,5vw,52px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.finale h2{color:var(--ink)}
.finale .btn{background:var(--ink);color:var(--fg)}


@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ---------- telefono ---------- */
#ascolta .wrap{display:flex;flex-direction:column;gap:22px}
@media (max-width:600px){
  section .wrap{padding-block:52px}
  .hero .wrap{padding-block:30px 44px;gap:26px}
  .hero h1{font-size:clamp(40px,12vw,52px);letter-spacing:-1.5px}
  .lead{font-size:16px}
  .cta .btn{flex:1 1 100%}
  .eq{min-height:0;padding:20px;gap:14px}.eq-bars{height:84px}.eq b{font-size:18px}
  .gioco{border-radius:16px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile{min-height:84px;padding:12px}
  .insegna{font-size:19px;padding:15px 16px}
  .g-nav .btn{flex:1 1 auto}
  .res{gap:14px}
  .comp a{padding:22px}.comp b{font-size:20px}
  .disdetta{padding:20px;border-radius:16px}
  .finale{padding:26px;border-radius:16px}.finale .btn{width:100%}
  .faq summary{font-size:16px;padding:16px}
  .caso{border-radius:16px}
  .tappa-box .p-nav .btn,.tappa-box .p-nav a.btn{flex:1 1 auto}
}

.prova-form{flex:1 1 420px;display:flex;flex-direction:column;gap:12px;min-width:0}
.pf-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px}
.prova-form label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;color:var(--ink)}
.prova-form input,.prova-form select{background:#fff;color:#121212;border:2px solid transparent;border-radius:8px;padding:11px 12px;font:400 16px var(--f);min-height:48px;width:100%}
.prova-form input:focus,.prova-form select:focus{border-color:var(--ink);outline:none}
.prova-form .pf-ck{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500}
.prova-form .pf-ck input{width:20px;height:20px;min-height:0;margin-top:2px;flex:none;accent-color:#121212}
.prova-form a{color:var(--ink);font-weight:700}
.pf-err{margin:0;font-weight:600;min-height:1em;color:#5a1a00}
.pf-ok{display:flex;flex-direction:column;gap:4px;background:var(--ink);color:var(--fg);border-radius:12px;padding:18px}
.pf-ok b{color:var(--acc);font-size:20px}
