
body { background: #fff8ef !important; color: #2a0f3d; font-size: 17px; }
main.ch-main { max-width: none !important; padding: 0 !important; }
main.ch-main > div { max-width: none; }

#frase, #comandi, #livelli-soglie, #installa-os, #qr, #faq-voci { width: 100%; box-sizing: border-box; }
#comandi .ch-colonne, #premi .ch-colonne, #installa-os .ch-colonne, #qr .ch-colonne { width: 100% !important; box-sizing: border-box; }
main.ch-main h1, main.ch-main h2, main.ch-main h3 { font-family: Fredoka, Nunito, sans-serif; letter-spacing: -.01em; }


body header.ch-header { border-bottom: 0 !important; background: rgba(27, 10, 40, .92); backdrop-filter: blur(10px); box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .6);
  padding: 0 max(16px, calc((100% - 1160px) / 2)) !important; min-height: 72px; gap: 18px !important; align-items: center !important; }
.ch-header .ch-brand { order: 1 !important; }
.ch-header .ch-brand img { height: 42px !important; width: auto !important; }
.ch-header nav { order: 2 !important; margin-left: auto !important; }
.ch-header nav ul { gap: 22px !important; }
.ch-header nav a { color: #fff !important; font-weight: 700 !important; font-size: 15px !important; opacity: .88; text-transform: none !important; letter-spacing: 0 !important; padding: 0 !important; }
.ch-header nav a:hover { color: #ffd23f !important; opacity: 1; }
.ch-header .ch-lingue { order: 3 !important; display: flex !important; border: 2px solid rgba(255, 255, 255, .4); border-radius: 999px; overflow: hidden; padding: 0 !important; margin: 0 !important; }
.ch-header .ch-lingue li { list-style: none; margin: 0 !important; padding: 0 !important; display: block !important; }
.ch-header .ch-lingue li > * { display: block; padding: 8px 11px; font: 800 0/1 Nunito, sans-serif !important; color: #fff !important; text-decoration: none; background: none; }
.ch-header .ch-lingue li > *::after { font-size: 13px; }
html[lang="it"] .ch-header .ch-lingua-attuale > *::after { content: "IT"; }
html[lang="en"] .ch-header .ch-lingua-attuale > *::after { content: "EN"; }
.ch-header .ch-lingue a[hreflang="it"]::after { content: "IT"; }
.ch-header .ch-lingue a[hreflang="en"]::after { content: "EN"; }
.ch-header .ch-lingue .ch-lingua-attuale, .ch-header .ch-lingue .ch-lingua-attuale > * { opacity: 1 !important; }
.ch-header .ch-lingue .ch-lingua-attuale > * { background: #fff !important; color: #2a0f3d !important; }
.ch-header .ch-header-azioni { order: 4 !important; margin: 0 !important; }
.ch-header .ch-header-cta { background: #ff6a1a !important; color: #fff !important; border-radius: 999px !important; padding: 11px 20px !important;
  font: 700 16px/1 Fredoka, sans-serif !important; box-shadow: 0 6px 18px rgba(255, 106, 26, .45) !important; border: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
html[lang="en"] .ch-header .ch-header-cta { font-size: 0 !important; }
html[lang="en"] .ch-header .ch-header-cta::after { content: "Play"; font-size: 16px; }

@supports (animation-timeline: scroll()) and selector(:has(a)) {
  
  body:has(#inizio) header.ch-header { backdrop-filter: none; animation: ilk-testata linear both; animation-timeline: scroll(root); animation-range: 0 80px; }
  body:has(#inizio) #inizio { margin-top: -72px; }
  @keyframes ilk-testata { from { background-color: rgba(27, 10, 40, 0); box-shadow: none; } to { background-color: rgba(27, 10, 40, .92); box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .6); } }
}


main.ch-main .ch-btn { display: inline-flex !important; align-items: center; gap: 10px; background: #ff6a1a !important; color: #fff !important; border: 0 !important;
  border-radius: 999px !important; padding: 16px 30px !important; font: 700 18px/1 Fredoka, Nunito, sans-serif !important; letter-spacing: 0 !important;
  text-transform: none !important; box-shadow: 0 8px 22px rgba(255, 106, 26, .38) !important; transition: transform .15s ease, box-shadow .15s ease; }
main.ch-main .ch-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255, 106, 26, .5) !important; }


#come .ch-blocco-testo, #oggetti .ch-blocco-testo, #livelli .ch-blocco-testo, #sponsor .ch-blocco-testo,
#trasparenza .ch-blocco-testo, #installa .ch-blocco-testo, #faq .ch-blocco-testo { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#come .ch-blocco-testo > p:first-child, #oggetti .ch-blocco-testo > p:first-child, #livelli .ch-blocco-testo > p:first-child, #sponsor .ch-blocco-testo > p:first-child,
#trasparenza .ch-blocco-testo > p:first-child, #installa .ch-blocco-testo > p:first-child, #faq .ch-blocco-testo > p:first-child {
  font: 700 14px/1 Nunito, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #e95c0c; margin: 0 0 12px; }
#oggetti .ch-blocco-testo > p:first-child, #trasparenza .ch-blocco-testo > p:first-child { color: #ffd23f; }
#come h2, #oggetti h2, #livelli h2, #sponsor h2, #trasparenza h2, #installa h2, #faq h2 { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; margin: 0 0 14px; color: #2a0f3d; }
#oggetti h2, #trasparenza h2 { color: #fff; }
#come .ch-blocco-testo > p + h2 + p, #oggetti h2 + p, #livelli h2 + p, #sponsor h2 + p, #trasparenza h2 + p, #installa h2 + p {
  font-size: 19px; color: #5b4566; max-width: 720px; margin: 0 0 34px; }
#oggetti h2 + p, #trasparenza h2 + p { color: rgba(255, 255, 255, .8); }


#inizio { position: relative; }

#inizio .ch-sezione, #finale .ch-sezione { background: linear-gradient(135deg, #3b1257 0%, #8e2163 38%, #e8553a 70%, #ffbf47 100%) !important; }
#inizio .ch-sezione { padding: 150px 0 110px !important; min-height: 0 !important; position: relative; }
#inizio .ch-sezione::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 90px; background: #fff8ef; clip-path: ellipse(75% 100% at 50% 100%); z-index: 0; }
#inizio .ch-sezione-dentro { position: relative; z-index: 2; display: grid; grid-template-columns: max-content minmax(0, .82fr) minmax(0, 1.18fr); column-gap: 14px; align-items: center;
  grid-template-areas: "logo logo media" "testa testa media" "cta cta2 media" "pill pill media"; max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#inizio .ch-sezione-colonne, #inizio .ch-sezione-col:first-child, #inizio .ch-sezione-col:nth-child(3), #inizio .ch-sezione-col:nth-child(4) { display: contents !important; }
#inizio .ch-sezione-col:nth-child(3) .ch-btn { grid-area: cta2; justify-self: start; background: rgba(255, 255, 255, .14) !important; border: 2px solid rgba(255, 255, 255, .5) !important; box-shadow: none !important; }
#inizio .ch-sezione-col:nth-child(3) .ch-btn:hover { background: rgba(255, 255, 255, .24) !important; }
#inizio .ch-sezione-col:nth-child(4) p { grid-area: pill; justify-self: start; margin: 28px 0 0 !important; background: rgba(27, 10, 40, .28); border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; padding: 6px 16px; font-weight: 700; font-size: 14px; color: #fff; }
#inizio .ch-sezione-col:first-child img { grid-area: logo; width: min(520px, 100%) !important; height: auto !important; margin: 0 !important;
  filter: drop-shadow(0 12px 24px rgba(27, 10, 40, .45)); animation: ilk-galleggia 5s ease-in-out infinite; }
#inizio .ch-sezione-testa { grid-area: testa; margin: 0 !important; text-align: left !important; max-width: none !important; }
#inizio .ch-sezione-testa h1 { font-size: clamp(30px, 3.6vw, 44px) !important; line-height: 1.12; margin: 22px 0 14px !important; text-shadow: 0 3px 12px rgba(27, 10, 40, .35); }
#inizio .ch-sezione-testa p { font-size: 19px !important; opacity: .95; max-width: 520px; margin: 0 0 30px !important; }
#inizio .ch-sezione-col:first-child .ch-btn { grid-area: cta; justify-self: start; }
#inizio .ch-sezione-col:nth-child(2) { grid-area: media; margin-left: 34px; position: relative; padding: 12px !important; background: #120619 !important; border-radius: 26px !important;
  box-shadow: 0 30px 60px -20px rgba(27, 10, 40, .75), inset 0 0 0 2px rgba(255, 255, 255, .08) !important; transform: rotate(2deg); }
#inizio .ch-sezione-col:nth-child(2)::before { content: ""; position: absolute; left: 50%; top: 4px; width: 60px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .15); transform: translateX(-50%); }
#inizio .ch-sezione-col:nth-child(2) img { border-radius: 16px !important; width: 100% !important; height: auto !important; margin: 0 !important; }
@keyframes ilk-galleggia { 50% { transform: translateY(-10px) rotate(-1deg); } }


main.ch-main { position: relative; }
#volanti { position: absolute !important; top: 0; left: 0; width: 100%; height: 800px; margin: 0 !important; padding: 0 !important; z-index: 1; pointer-events: none; overflow: hidden; }
#volanti .ch-galleria { display: block !important; position: relative; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; max-width: none !important; }
#volanti .ch-gal-voce { position: absolute; margin: 0 !important; padding: 0 !important; width: 46px; animation: ilk-vola 9s ease-in-out infinite; }
#volanti .ch-gal-voce img { width: 100% !important; height: auto !important; border-radius: 0 !important; box-shadow: none !important; opacity: .9; }
#volanti .ch-gal-voce:nth-child(1) { left: 6%; top: 24%; width: 30px; }
#volanti .ch-gal-voce:nth-child(2) { left: 44%; top: 16%; animation-delay: -2s; }
#volanti .ch-gal-voce:nth-child(3) { left: 3%; top: 76%; width: 58px; animation-delay: -4s; }
#volanti .ch-gal-voce:nth-child(4) { left: 52%; top: 82%; width: 40px; animation-delay: -1s; }
#volanti .ch-gal-voce:nth-child(5) { left: 92%; top: 14%; width: 52px; animation-delay: -6s; }
#volanti .ch-gal-voce:nth-child(6) { left: 88%; top: 70%; width: 28px; animation-delay: -3s; }
@keyframes ilk-vola { 0%, 100% { transform: translate(0, 0) rotate(0); } 33% { transform: translate(14px, -22px) rotate(25deg); } 66% { transform: translate(-12px, 10px) rotate(-18deg); } }


#passi .ch-sezione-colonne, #regole .ch-sezione-colonne, #oggetti-1 .ch-sezione-colonne, #oggetti-2 .ch-sezione-colonne,
#impegni-1 .ch-sezione-colonne, #impegni-2 .ch-sezione-colonne, #installa-os .ch-colonne { align-items: stretch !important; }
#passi .ch-sezione-col, #regole .ch-sezione-col, #oggetti-1 .ch-sezione-col, #oggetti-2 .ch-sezione-col, #impegni-1 .ch-sezione-col, #impegni-2 .ch-sezione-col, #installa-os .ch-colonna { height: auto !important; align-self: stretch !important; }


#frase { position: relative; z-index: 2; max-width: 1160px; margin: -40px auto 0 !important; padding: 0 16px; }
#frase .ch-girevoli { display: block !important; }
#frase .ch-girevole { width: 100% !important; min-height: 0 !important; height: 150px !important; aspect-ratio: auto !important; }
#frase .ch-gir-piano { min-height: 0 !important; height: 100% !important; }
#frase .ch-gir-faccia { border: 0 !important; border-radius: 22px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55);
  display: grid !important; grid-template-columns: 86px 1fr auto; column-gap: 26px; align-items: center; align-content: center; text-align: left !important; padding: 28px 34px !important; }
#frase .ch-gir-fronte { background-color: #fff !important; background-size: 86px auto !important; background-repeat: no-repeat !important; background-position: 34px center !important; color: #2a0f3d !important; }
#frase .ch-gir-fronte::before, #frase .ch-gir-fronte::after { display: none !important; }
#frase .ch-gir-titolo { grid-column: 2; font: 700 13px/1 Nunito, sans-serif !important; letter-spacing: .1em; text-transform: uppercase; color: #5b4566; margin: 0 0 8px; }
#frase .ch-gir-testo { grid-column: 2; font: 600 clamp(20px, 2.4vw, 26px)/1.3 Fredoka, sans-serif !important; color: #2a0f3d; opacity: 1 !important; }
#frase .ch-gir-fronte::after, #frase .ch-gir-retro::after { display: block !important; grid-column: 3; grid-row: 1 / span 2; background: #2a0f3d; color: #fff; border-radius: 999px; padding: 13px 22px; font: 700 16px/1 Fredoka, sans-serif; white-space: nowrap; }
html[lang="it"] #frase .ch-gir-fronte::after { content: "Pesca un'altra frase"; }
html[lang="en"] #frase .ch-gir-fronte::after { content: "Draw another one"; }
html[lang="it"] #frase .ch-gir-retro::after { content: "Torna alla prima"; }
html[lang="en"] #frase .ch-gir-retro::after { content: "Back to the first"; }
#frase .ch-gir-retro { background: linear-gradient(135deg, #3b1257, #8e2163 45%, #e8553a) !important; color: #fff !important; }
#frase .ch-gir-retro .ch-gir-titolo { color: rgba(255, 255, 255, .8); }
#frase .ch-gir-retro .ch-gir-testo { color: #fff; }
#frase .ch-gir-retro::after { background: #fff; color: #2a0f3d; }


#come { padding: 92px 0 0; }
#passi .ch-sezione, #regole .ch-sezione, #oggetti-1 .ch-sezione, #oggetti-2 .ch-sezione, #impegni-1 .ch-sezione, #impegni-2 .ch-sezione { padding: 0 !important; min-height: 0 !important; background: none !important; }
#passi .ch-sezione-dentro, #regole .ch-sezione-dentro, #oggetti-1 .ch-sezione-dentro, #oggetti-2 .ch-sezione-dentro, #impegni-1 .ch-sezione-dentro, #impegni-2 .ch-sezione-dentro { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#passi .ch-sezione-colonne { counter-reset: passo; gap: 20px !important; }
#passi .ch-sezione-col { counter-increment: passo; background: #fff; border-radius: 22px; padding: 26px 22px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); text-align: left; }
#passi .ch-sezione-col::before { content: counter(passo); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #ffd23f; color: #2a0f3d; font: 700 22px/1 Fredoka, sans-serif; margin-bottom: 14px; }
#passi h3 { font-size: 22px; margin: 0 0 6px; color: #2a0f3d; }
#passi p { margin: 0; color: #5b4566; font-size: 16px; }
#comandi { max-width: 1160px; margin: 0 auto; padding: 44px 16px 92px; }
#comandi .ch-colonne { max-width: none !important; margin: 0 !important; grid-template-columns: 1.15fr 1fr !important; gap: 34px !important; align-items: center; }
#comandi ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; counter-reset: cmd; }
#comandi li { position: relative; padding-left: 66px; min-height: 52px; color: #5b4566; font-size: 16px; margin: 0; }
#comandi li strong { display: block; color: #2a0f3d; }
#comandi li::before { position: absolute; left: 0; top: 0; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: #f3e6ff; font-size: 24px; }
#comandi li:nth-child(1)::before { content: "🖱️"; }
#comandi li:nth-child(2)::before { content: "👆"; }
#comandi li:nth-child(3)::before { content: "📱"; }
#comandi li:nth-child(4)::before { content: "✋"; }
#comandi .ch-colonna img { border-radius: 18px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); width: 100%; height: auto; }


#oggetti { padding-top: 92px; }
#oggetti-1 .ch-sezione-colonne, #oggetti-2 .ch-sezione-colonne { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; }
#oggetti-2 { padding-top: 18px; }
#oggetti-1 .ch-sezione-col, #oggetti-2 .ch-sezione-col { display: grid !important; grid-template-columns: 64px 1fr; column-gap: 16px; align-items: center; text-align: left;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; padding: 22px !important; }
#oggetti-2 .ch-sezione-col:nth-child(3) { grid-column: span 2; }
#oggetti-1 .ch-sezione-col img, #oggetti-2 .ch-sezione-col img { grid-row: 1 / span 2; width: 56px !important; height: 56px !important; object-fit: contain; justify-self: center; margin: 0 !important; border-radius: 0 !important; }
#oggetti-1 h3, #oggetti-2 h3 { font: 700 20px/1.1 Fredoka, sans-serif; margin: 0 0 2px; color: #7dff7a; align-self: end; }
#oggetti-1 .ch-sezione-col:nth-child(4) h3 { color: #ffd23f; }
#oggetti-2 h3 { color: #ff8aa8; }
#oggetti-1 p, #oggetti-2 p { font-size: 14.5px; color: rgba(255, 255, 255, .78); margin: 0; align-self: start; }
#oggetti-nota { padding: 26px 0 92px; }
#oggetti-nota .ch-blocco-testo { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#oggetti-nota p { color: rgba(255, 255, 255, .75); font-size: 15px; margin: 0; }


#livelli { padding-top: 92px; }
#livelli-soglie { max-width: 1160px !important; margin: 0 auto !important; padding: 10px 16px 0; }
#livelli-soglie .ch-numeri { width: 100% !important; min-width: 0 !important; box-sizing: border-box; max-width: none !important; margin: 0 !important; display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 12px !important; align-items: end; padding: 0 !important; background: none !important; }
#livelli-soglie .ch-numero { padding: 0 !important; text-align: center; }
#livelli-soglie .ch-numero-valore { display: grid !important; place-items: end center; color: #fff !important; font: 700 16px/1.15 Fredoka, sans-serif !important;
  padding: 12px 6px; border-radius: 16px 16px 6px 6px; background: linear-gradient(135deg, #3b1257 0%, #8e2163 38%, #e8553a 70%, #ffbf47 100%);
  box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); }
#livelli-soglie .ch-numero:nth-child(1) .ch-numero-valore { height: 70px; }
#livelli-soglie .ch-numero:nth-child(2) .ch-numero-valore { height: 92px; }
#livelli-soglie .ch-numero:nth-child(3) .ch-numero-valore { height: 116px; }
#livelli-soglie .ch-numero:nth-child(4) .ch-numero-valore { height: 142px; }
#livelli-soglie .ch-numero:nth-child(5) .ch-numero-valore { height: 170px; }
#livelli-soglie .ch-numero:nth-child(6) .ch-numero-valore { height: 200px; }
#livelli-soglie .ch-numero:nth-child(7) .ch-numero-valore { height: 232px; background: linear-gradient(180deg, #ffd23f, #ff6a1a); color: #2a0f3d !important; }
#livelli-soglie .ch-numero-etichetta { margin: 10px 0 0 !important; font: 700 15px/1 Nunito, sans-serif !important; color: #2a0f3d; opacity: 1 !important; }
#regole { padding: 48px 0 92px; }
#regole .ch-sezione-colonne { gap: 20px !important; }
#regole .ch-sezione-col { background: #fff; border-radius: 22px; padding: 24px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); border-top: 6px solid #ffd23f; text-align: left; }
#regole .ch-sezione-col:nth-child(2) { border-top-color: #ff6a1a; }
#regole .ch-sezione-col:nth-child(3) { border-top-color: #7a1f63; }
#regole h3 { font-size: 22px; margin: 0 0 6px; color: #2a0f3d; }
#regole p { margin: 6px 0 0; color: #5b4566; font-size: 16px; }


#sponsor { padding-top: 92px; background: linear-gradient(180deg, #fff8ef, #fff3e6) !important; }
#premi { padding: 0 0 92px; background: linear-gradient(180deg, #fff3e6, #ffeedd) !important; }
#premi .ch-colonne { max-width: 1160px !important; margin: 0 auto !important; padding: 0 16px; grid-template-columns: 1.05fr 1fr !important; gap: 44px !important; align-items: center; }
#premi .ch-colonna img { max-width: none !important; border-radius: 18px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); width: 100%; height: auto; }
#premi ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
#premi li { display: grid; grid-template-columns: 70px 1fr; column-gap: 14px; align-items: center; background: #fff; border-radius: 16px; padding: 16px 18px;
  box-shadow: 0 8px 20px -14px rgba(27, 10, 40, .5); color: #5b4566; font-size: 15.5px; margin: 0; }
#premi li strong { grid-row: 1 / span 3; font: 700 22px/1 Fredoka, sans-serif; color: #e95c0c; text-align: center; }
#premi li b { color: #2a0f3d; }
#premi li br { display: none; }
#premi li b + br + * , #premi li b { display: block; }


#trasparenza { padding-top: 92px; }
#impegni-1 .ch-sezione-colonne, #impegni-2 .ch-sezione-colonne { gap: 18px !important; }
#impegni-2 { padding-top: 18px; }
#impegni-1 .ch-sezione-col, #impegni-2 .ch-sezione-col { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; padding: 26px !important; text-align: left; }
#impegni-1 .ch-sezione-col::before, #impegni-2 .ch-sezione-col::before { display: block; font-size: 30px; margin-bottom: 10px; }
#impegni-1 .ch-sezione-col:nth-child(1)::before { content: "🤝"; }
#impegni-1 .ch-sezione-col:nth-child(2)::before { content: "🛡️"; }
#impegni-1 .ch-sezione-col:nth-child(3)::before { content: "🎁"; }
#impegni-2 .ch-sezione-col:nth-child(1)::before { content: "🔒"; }
#impegni-2 .ch-sezione-col:nth-child(2)::before { content: "⚖️"; }
#impegni-2 .ch-sezione-col:nth-child(3)::before { content: "💬"; }
#impegni-1 h3, #impegni-2 h3 { font-size: 22px; color: #fff; margin: 0 0 6px; }
#impegni-1 p, #impegni-2 p { color: rgba(255, 255, 255, .78); font-size: 15.5px; margin: 6px 0 0; }


#mai-nel-gioco { padding: 30px 0 92px; }
#mai-nel-gioco .ch-blocco-testo { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#mai-nel-gioco h3 { color: #ff6b6b !important; font-size: 20px; margin: 0 0 12px; }
#mai-nel-gioco ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
#mai-nel-gioco li { display: inline-flex; align-items: center; gap: 9px; margin: 0; border-radius: 999px; padding: 7px 16px 7px 8px;
  background: rgba(229, 57, 53, .14); border: 1px solid rgba(229, 57, 53, .7); font-weight: 800; font-size: 14.5px; color: #fff;
  text-decoration: line-through; text-decoration-color: #e53935; text-decoration-thickness: 2px; }
#mai-nel-gioco li::before { content: ""; width: 16px; height: 16px; flex: none; border: 3px solid #e53935; border-radius: 50%; background-color: #fff;
  background-image: linear-gradient(45deg, transparent 42%, #e53935 42%, #e53935 58%, transparent 58%); }


#installa { padding-top: 92px; }
#installa-os { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#installa-os .ch-colonne { max-width: none !important; margin: 0 !important; gap: 24px !important; }
#installa-os .ch-colonna { background: #fff; border-radius: 22px; padding: 30px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); }
#installa-os h3 { display: flex; align-items: center; gap: 12px; font-size: 26px; color: #2a0f3d; margin: 0; }
#installa-os h3::before { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #2a0f3d; font-size: 22px; }
#installa-os .ch-colonna:nth-child(1) h3::before { content: "📱"; }
#installa-os .ch-colonna:nth-child(2) h3::before { content: "🤖"; }
#installa-os ol { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: p; display: grid; gap: 14px; }
#installa-os li { counter-increment: p; position: relative; padding: 5px 0 0 50px; min-height: 34px; color: #5b4566; margin: 0; }
#installa-os li::before { content: counter(p); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: #ffd23f; color: #2a0f3d; display: grid; place-items: center; font: 700 17px/1 Fredoka, sans-serif; }
#installa-os li strong { color: #2a0f3d; }
#qr { max-width: 1160px; margin: 26px auto 0; padding: 0 16px 92px; }
#qr .ch-colonne { max-width: none !important; margin: 0 !important; display: grid !important; grid-template-columns: 150px 1fr !important; gap: 26px !important; align-items: center; background: #2a0f3d; color: #fff; border-radius: 22px; padding: 22px 26px; }
#qr .ch-colonna img { width: 150px !important; height: auto !important; background: #fff; border-radius: 14px !important; padding: 8px; margin: 0 !important; }
#qr h3 { color: #fff; font-size: 22px; margin: 0; }
#qr p { color: rgba(255, 255, 255, .8); margin: 4px 0 0; }


#faq { padding-top: 0; }
#faq-voci { max-width: 1160px; margin: 0 auto; padding: 0 16px 92px; }
#faq-voci .ch-fisarmonica { max-width: none !important; margin: 0 !important; }
#faq-voci .ch-fisarmonica-titolo { display: none; }
#faq-voci .ch-piega { background: #fff !important; border: 0 !important; border-radius: 16px !important; box-shadow: 0 8px 20px -14px rgba(27, 10, 40, .5) !important; margin: 0 0 12px !important; padding: 4px 22px !important; }
#faq-voci .ch-piega summary { font: 600 19px/1.3 Fredoka, sans-serif !important; color: #2a0f3d !important; padding: 16px 0 !important; }
#faq-voci .ch-piega-corpo p { color: #5b4566; margin: 0 0 18px; }


#contatti { padding: 92px 0 !important; }
#contatti .ch-modulo-blocco { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#contatti .ch-modulo input:not([type="checkbox"]), #contatti .ch-modulo select, #contatti .ch-modulo textarea {
  background: #fff !important; color: #2a0f3d !important; border: 2px solid transparent !important; border-radius: 12px !important; }
#contatti .ch-modulo input:focus, #contatti .ch-modulo select:focus, #contatti .ch-modulo textarea:focus { border-color: #ffd23f !important; outline: none; }
#contatti .ch-modulo label { color: #fff !important; }
#contatti .ch-modulo button, #contatti .ch-modulo [type="submit"] { background: #ff6a1a !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
  padding: 16px 30px !important; font: 700 18px/1 Fredoka, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: 0 8px 22px rgba(255, 106, 26, .45) !important; }
#contatti .ch-modulo-lato-testo > p:first-child { font: 700 14px/1 Nunito, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #ffd23f; margin: 0 0 12px; }
#contatti .ch-modulo-lato-testo h2 { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; color: #fff; margin: 0 0 14px; }
#contatti .ch-modulo-lato-testo p { color: rgba(255, 255, 255, .8); font-size: 17px; }


#finale .ch-sezione { padding: 100px 0 !important; min-height: 0 !important; }
#finale .ch-sezione-testa h2 { font-size: clamp(34px, 5vw, 56px) !important; margin: 0 0 14px; }
#finale .ch-sezione-testa p { font-size: 19px !important; opacity: .95; margin: 0 0 30px; }
#finale .ch-sezione-dentro { display: flex !important; flex-direction: column; align-items: center; text-align: center; }
#finale .ch-sezione-colonne, #finale .ch-sezione-col { display: contents !important; }
#finale .ch-sezione-col img { order: 1; width: 110px !important; height: auto !important; margin: 0 auto 18px !important; animation: ilk-galleggia 3s ease-in-out infinite; }
#finale .ch-sezione-testa { order: 2; margin: 0 !important; }
#finale .ch-sezione-col .ch-btn { order: 3; }


.ch-footer { margin-top: 0 !important; background: #1b0a28 !important; color: rgba(255, 255, 255, .72) !important; font-size: 14.5px; }
.ch-footer a { color: #fff !important; }

@media (prefers-reduced-motion: reduce) { #inizio .ch-sezione-col img, #finale .ch-sezione-col img, #volanti .ch-gal-voce { animation: none !important; } }

@media (max-width: 980px) {
  #inizio .ch-sezione { padding-top: 120px !important; }
  #inizio .ch-sezione-dentro { grid-template-columns: max-content minmax(0, 1fr); grid-template-areas: "logo logo" "testa testa" "cta cta2" "pill pill" "media media"; }
  #inizio .ch-sezione-col:nth-child(2) { transform: none; margin: 34px 0 0; }
  #volanti { height: 620px; }
  #passi .ch-sezione-colonne, #oggetti-1 .ch-sezione-colonne, #oggetti-2 .ch-sezione-colonne { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #comandi .ch-colonne, #premi .ch-colonne, #installa-os .ch-colonne { grid-template-columns: 1fr !important; }
  #regole .ch-sezione-colonne, #impegni-1 .ch-sezione-colonne, #impegni-2 .ch-sezione-colonne { grid-template-columns: 1fr !important; }
  #livelli-soglie .ch-numeri { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; row-gap: 18px !important; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  main.ch-main .ch-btn { padding: 14px 20px !important; font-size: 16px !important; white-space: nowrap; }
  #inizio .ch-sezione-col:nth-child(4) p { font-size: 13px; }
  #frase .ch-girevole { height: auto; min-height: 280px; }
  #frase .ch-gir-faccia { grid-template-columns: 1fr; text-align: center !important; background-position: center 24px !important; padding-top: 120px !important; }
  #frase .ch-gir-titolo, #frase .ch-gir-testo { grid-column: 1; }
  #frase .ch-gir-fronte::after, #frase .ch-gir-retro::after { grid-column: 1; grid-row: auto; margin: 14px auto 0; }
  #passi .ch-sezione-colonne, #oggetti-1 .ch-sezione-colonne, #oggetti-2 .ch-sezione-colonne { grid-template-columns: 1fr !important; }
  #oggetti-2 .ch-sezione-col:nth-child(3) { grid-column: auto; }
  #livelli-soglie .ch-numeri { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #qr .ch-colonne { grid-template-columns: 1fr !important; text-align: center; }
  #qr .ch-colonna img { margin: 0 auto !important; }
}


#storie-testa { padding: 72px 0 0; }
#storie-testa .ch-blocco-testo, #storie-vere .ch-blocco-testo, #storie-cronache .ch-blocco-testo { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#storie-testa .ch-blocco-testo > p:first-child { font: 700 14px/1 Nunito, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #e95c0c; margin: 0 0 12px; }
#storie-testa h2 { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; margin: 0 0 14px; color: #2a0f3d; text-wrap: balance; }
#storie-testa h2 + p { font-size: 19px; color: #5b4566; max-width: 720px; margin: 0 0 18px; text-wrap: pretty; }
#storie-vere, #storie-cronache { padding-top: 34px; }
#storie-vere h3, #storie-cronache h3 { font-size: 28px; color: #2a0f3d; margin: 0 0 4px; }
#storie-vere h3 + p, #storie-cronache h3 + p { color: #5b4566; margin: 0 0 6px; }
#storie-vere-schede .ch-sezione, #storie-vere-schede-2 .ch-sezione, #storie-cronache-schede .ch-sezione , #storie-cronache-schede-2 .ch-sezione { padding: 22px 0 0 !important; min-height: 0 !important; background: none !important; }
#storie-vere-schede .ch-sezione-dentro, #storie-vere-schede-2 .ch-sezione-dentro, #storie-cronache-schede .ch-sezione-dentro , #storie-cronache-schede-2 .ch-sezione-dentro { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#storie-vere-schede .ch-sezione-colonne, #storie-vere-schede-2 .ch-sezione-colonne, #storie-cronache-schede .ch-sezione-colonne , #storie-cronache-schede-2 .ch-sezione-colonne { gap: 22px !important; align-items: stretch !important; }
#storie-vere-schede .ch-sezione-col, #storie-vere-schede-2 .ch-sezione-col, #storie-cronache-schede .ch-sezione-col , #storie-cronache-schede-2 .ch-sezione-col { display: flex !important; flex-direction: column; height: auto !important; align-self: stretch !important;
  background: #fff; border-radius: 22px; overflow: hidden; padding: 0 0 22px !important; text-align: left; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); }
#storie-vere-schede .ch-sezione-col img, #storie-vere-schede-2 .ch-sezione-col img, #storie-cronache-schede .ch-sezione-col img , #storie-cronache-schede-2 .ch-sezione-col img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; margin: 0 0 16px; border-radius: 0; }
#storie-vere-schede h3, #storie-vere-schede-2 h3, #storie-cronache-schede h3 , #storie-cronache-schede-2 h3 { font-size: 20px; line-height: 1.2; color: #2a0f3d; margin: 0 20px 8px; text-wrap: balance; }
#storie-vere-schede p, #storie-vere-schede-2 p, #storie-cronache-schede p , #storie-cronache-schede-2 p { font-size: 15.5px; color: #5b4566; margin: 0 20px 18px; text-wrap: pretty; }
#storie-vere-schede .ch-btn, #storie-vere-schede-2 .ch-btn, #storie-cronache-schede .ch-btn , #storie-cronache-schede-2 .ch-btn { margin: auto 20px 0 !important; align-self: flex-start; }
.ch-articolo-hero-testo h1 { text-shadow: 0 3px 22px rgba(27, 10, 40, .85); text-wrap: balance; }
#storia .ch-blocco-testo h2 { font-size: 28px; color: #2a0f3d; margin: 34px 0 10px; text-wrap: balance; }
#storia .ch-blocco-testo p, #storia .ch-blocco-testo li { font-size: 18px; line-height: 1.65; text-wrap: pretty; }
#storia .ch-blocco-testo blockquote { margin: 26px 0; padding: 20px 26px; border: 0; border-radius: 18px; background: #2a0f3d; color: #ffd23f;
  font: 600 22px/1.35 Fredoka, sans-serif; text-align: center; }
#storia-fantasia .ch-blocco-testo p { color: #8a6f96; font-size: 15px; margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid #f1d9c4; }
#storia-invito .ch-blocco-testo p { font-size: 19px; color: #e95c0c; }
#storia-altre .ch-blocco-testo { border-top: 2px solid #f1d9c4; padding-top: 22px; margin-top: 18px; }
#storia-altre h3 { font-size: 20px; color: #2a0f3d; }
#storia-altre a { color: #e95c0c; font-weight: 700; }
@media (max-width: 1000px) { #storie-vere-schede .ch-sezione-colonne, #storie-vere-schede-2 .ch-sezione-colonne, #storie-cronache-schede .ch-sezione-colonne , #storie-cronache-schede-2 .ch-sezione-colonne { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { #storie-vere-schede .ch-sezione-colonne, #storie-vere-schede-2 .ch-sezione-colonne, #storie-cronache-schede .ch-sezione-colonne , #storie-cronache-schede-2 .ch-sezione-colonne { grid-template-columns: 1fr !important; } #storie-testa { padding-top: 40px; } }

main.ch-main .ch-blocco-cta { text-align: center; margin: 64px auto 72px !important; padding: 0 16px; }
main.ch-main .ch-blocco-cta .ch-btn { font-size: 24px !important; padding: 20px 52px !important; border-radius: 999px !important; }
@media (max-width: 640px) { main.ch-main .ch-blocco-cta { margin: 44px auto 52px !important; } main.ch-main .ch-blocco-cta .ch-btn { font-size: 20px !important; padding: 16px 40px !important; } }

#passi .ch-sezione, #regole .ch-sezione, #oggetti-1 .ch-sezione, #oggetti-2 .ch-sezione, #impegni-1 .ch-sezione, #impegni-2 .ch-sezione,
#storie-vere-schede .ch-sezione, #storie-vere-schede-2 .ch-sezione, #storie-cronache-schede .ch-sezione , #storie-cronache-schede-2 .ch-sezione { overflow: visible !important; }

#storie-evidenza .ch-sezione { padding: 22px 0 26px !important; min-height: 0 !important; background: none !important; overflow: visible !important; }
#storie-evidenza .ch-sezione-dentro { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#storie-evidenza .ch-sezione-colonne { display: block !important; }
#storie-evidenza .ch-sezione-col { display: grid !important; grid-template-columns: 56% 1fr; grid-template-rows: auto auto 1fr; column-gap: 30px;
  background: #fff; border-radius: 26px; overflow: hidden; padding: 0 !important; text-align: left; height: auto !important;
  box-shadow: 0 24px 50px -20px rgba(27, 10, 40, .6); border-top: 6px solid #e95c0c; }
#storie-evidenza .ch-sezione-col img { grid-column: 1; grid-row: 1 / 4; width: 100%; height: 100%; min-height: 300px; object-fit: cover; margin: 0; border-radius: 0; }
#storie-evidenza h3 { grid-column: 2; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15; color: #2a0f3d; margin: 34px 30px 12px 0; text-wrap: balance; }
#storie-evidenza p { grid-column: 2; font-size: 17px; line-height: 1.55; color: #5b4566; margin: 0 30px 20px 0; text-wrap: pretty; }
#storie-evidenza .ch-btn { grid-column: 2; align-self: end; justify-self: start; margin: 0 0 32px !important; }
@media (max-width: 760px) {
  #storie-evidenza .ch-sezione-col { grid-template-columns: 1fr; grid-template-rows: auto; }
  #storie-evidenza .ch-sezione-col img { grid-column: 1; grid-row: auto; min-height: 0; aspect-ratio: 16 / 9; height: auto; }
  #storie-evidenza h3, #storie-evidenza p, #storie-evidenza .ch-btn { grid-column: 1; margin-left: 22px !important; margin-right: 22px; }
  #storie-evidenza h3 { margin-top: 20px; }
}

#storie-cronache { padding-top: 84px !important; }

.ch-header .ch-header-cta { transition: transform .15s ease, box-shadow .15s ease; }
.ch-header .ch-header-cta:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(255, 106, 26, .6) !important; }
#contatti .ch-modulo button:hover, #contatti .ch-modulo [type="submit"]:hover { box-shadow: 0 12px 28px rgba(255, 106, 26, .6) !important; }

#contatti .ch-modulo-testo > .ch-campo + .ch-campo { margin-top: 16px; }

#stampa-testa { padding: 72px 0 0; }
#stampa-testa .ch-blocco-testo, #stampa-comunicato .ch-blocco-testo, #stampa-immagini-titolo .ch-blocco-testo, #stampa-marchio-titolo .ch-blocco-testo { max-width: 1160px; margin: 0 auto; padding: 0 16px; }
#stampa-testa .ch-blocco-testo > p:first-child { font: 700 14px/1 Nunito, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #e95c0c; margin: 0 0 12px; }
#stampa-testa h2 { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; margin: 0 0 14px; color: #2a0f3d; text-wrap: balance; }
#stampa-testa h2 + p { font-size: 19px; color: #5b4566; max-width: 760px; margin: 0 0 26px; text-wrap: pretty; }
#stampa-scheda .ch-colonne { max-width: 1160px !important; width: 100% !important; box-sizing: border-box; margin: 0 auto; padding: 0 16px; gap: 22px !important; align-items: stretch; }
#stampa-scheda .ch-colonna { background: #fff; border-radius: 22px; padding: 26px 28px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); }
#stampa-scheda h3, #stampa-comunicato h3, #stampa-immagini-titolo h3, #stampa-marchio-titolo h3 { font-size: 26px; color: #2a0f3d; margin: 0 0 12px; }
#stampa-scheda li { font-size: 16px; line-height: 1.5; color: #3d2a47; margin-bottom: 6px; text-wrap: pretty; }
#stampa-comunicato { padding-top: 56px; }
#stampa-comunicato .ch-blocco-testo { max-width: 860px !important; background: #fff; border-radius: 22px; padding: 34px 40px !important; box-shadow: 0 18px 40px -18px rgba(27, 10, 40, .55); border-top: 6px solid #e95c0c; }
#stampa-comunicato p { font-size: 17px; line-height: 1.65; color: #3d2a47; text-wrap: pretty; }
#stampa-comunicato p:nth-of-type(1) strong { font: 700 24px/1.25 Fredoka, sans-serif; color: #2a0f3d; display: block; text-wrap: balance; }
#stampa-immagini-titolo, #stampa-marchio-titolo { padding-top: 56px; }
#stampa-immagini-titolo p { color: #5b4566; max-width: 760px; }
#stampa-immagini .ch-galleria, #stampa-marchio .ch-galleria { max-width: 1160px; margin: 0 auto; padding: 0 16px; gap: 18px !important; }
#stampa-immagini figure, #stampa-marchio figure { background: #fff; border-radius: 16px; overflow: hidden; margin: 0; box-shadow: 0 14px 30px -16px rgba(27, 10, 40, .5); }
#stampa-immagini figcaption, #stampa-marchio figcaption { padding: 10px 14px; font-size: 14px; color: #5b4566; }
#stampa-marchio figure img { background: repeating-conic-gradient(#efe6f2 0% 25%, #fff 0% 50%) 50% / 18px 18px; object-fit: contain; aspect-ratio: 16 / 9; padding: 14px; }
#stampa-marchio, #stampa-immagini { padding-bottom: 8px; }
@supports selector(:has(a)) { body:has(#stampa-testa) #contatti { margin-top: 64px; } }
@media (max-width: 760px) { #stampa-comunicato .ch-blocco-testo { padding: 24px 20px !important; } #stampa-testa { padding-top: 40px; } }

#stampa-scheda .ch-colonne, #stampa-immagini .ch-galleria, #stampa-marchio .ch-galleria { max-width: 1160px !important; width: 100% !important; box-sizing: border-box !important; margin-left: auto !important; margin-right: auto !important; padding-left: 16px !important; padding-right: 16px !important; }

#fascia-stampa .ch-sezione { padding: 0 !important; min-height: 0 !important; background: #2a0f3d !important; border-top: 1px solid rgba(255, 255, 255, .08); overflow: visible !important; }
#fascia-stampa .ch-sezione-dentro { max-width: 1160px; margin: 0 auto; padding: 18px 16px !important; }
#fascia-stampa .ch-sezione-colonne { display: block !important; }
#fascia-stampa .ch-sezione-col { display: flex !important; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; background: none !important; box-shadow: none !important; padding: 0 !important; text-align: left; }
#fascia-stampa .ch-sezione-col p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 16px; text-wrap: pretty; }
#fascia-stampa .ch-btn { padding: 10px 22px !important; font-size: 16px !important; margin: 0 !important; flex: none; }
@media (max-width: 640px) { #fascia-stampa .ch-sezione-col { justify-content: flex-start; } }

#stampa-immagini, #stampa-marchio { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
