/* go.joinscalers.com e lp.joinscalers.com/aaw-percorsi
   Design system della landing lp.joinscalers.com/aaw-nov-2 (AAW V7, tema scuro Tirana):
   stessi token, stessi caratteri, stessi componenti (fasce, etichette di vetro, pulsante viola pieno
   con bagliore, schede, ricevuta, domande, piede). Qui i valori scuri sono scritti direttamente,
   senza il passaggio chiaro → scuro di deriva-scura.py. In più: piani, interruttore, tabella, cassa. */

/* Caratteri: le stesse regole @font-face di Google Fonts che usa aaw-nov-2 */
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-stretch: 75% 100%; font-display: swap; src: url(https://fonts.gstatic.com/s/instrumentsans/v4/pxicypc9vsFDm051Uf6KVwgkfoSbQWlBgGygpspO.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-stretch: 75% 100%; font-display: swap; src: url(https://fonts.gstatic.com/s/instrumentsans/v4/pxicypc9vsFDm051Uf6KVwgkfoSbT2lBgGygpg.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Syne"; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/syne/v24/8vIS7w4qzmVxsWxjBZRjr0FKM_3fvg6tTY_vCk5YVqU.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Syne"; font-style: normal; font-weight: 700; font-display: swap; src: url(https://fonts.gstatic.com/s/syne/v24/8vIS7w4qzmVxsWxjBZRjr0FKM_3fvg6jTY_vCk5Y.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Riserve tarate come in aaw-nov-2: il testo occupa lo stesso spazio mentre arrivano i caratteri */
@font-face { font-family: "Riserva Syne"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"); font-weight: 600 900; size-adjust: 112.4%; }
@font-face { font-family: "Riserva Testo"; src: local("Arial"), local("ArialMT"), local("Helvetica Neue"), local("HelveticaNeue"); font-weight: 400 500; size-adjust: 98.5%; }
@font-face { font-family: "Riserva Testo"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"); font-weight: 600 900; size-adjust: 98.5%; }

:root {
  color-scheme: dark;
  /* Token di aaw-nov-2 */
  --ink: #050507;
  --ink-soft: #0B0910;
  --panel: #100017;
  --deep: #351070;
  --hot: #7C3CFF;
  --violet: #9B6CFF;
  --lilac: #D8C9FF;
  --paper: #F8F6FF;
  --muted: #B9B3C9;
  --linea: rgba(216, 201, 255, .15);
  --linea-forte: rgba(216, 201, 255, .32);
  --vetro: rgba(155, 108, 255, .10);
  --scheda: linear-gradient(180deg, rgba(22, 10, 38, .94) 0%, rgba(10, 8, 15, .96) 100%);
  --viola-pieno: linear-gradient(180deg, #7F45FF 0%, #6E2EF5 55%, #5B1FE0 100%);
  --bagliore: inset 0 1px 0 rgba(255, 255, 255, .3), 0 16px 44px -12px rgba(124, 60, 255, .95), 0 0 60px rgba(124, 60, 255, .28);
  --ombra-scheda: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 60px -30px rgba(0, 0, 0, .9);
  --alone-foto: 0 30px 80px -30px rgba(124, 60, 255, .6), 0 0 0 6px rgba(155, 108, 255, .07);
  --griglia: rgba(216, 201, 255, .045);
  --gradiente-testo: linear-gradient(100deg, #FFFFFF 0%, #E4D9FF 35%, #B892FF 100%);
  --f-titoli: "Syne", "Riserva Syne", "Helvetica Neue", Arial, system-ui, sans-serif;
  --f-testo: "Instrument Sans", "Riserva Testo", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --t-min: 1.125rem;
  --t-corpo: clamp(1.1875rem, 1.13rem + 0.25vw, 1.375rem);
  --t-lead: clamp(1.3125rem, 1.15rem + 0.7vw, 1.75rem);
  --t-grande: clamp(1.75rem, 1.25rem + 2.1vw, 3rem);
  --t-h2: clamp(2.125rem, 1.4rem + 3.2vw, 4.25rem);
  --t-h1: clamp(2.375rem, 1.3rem + 3.6vw, 4.5rem);
  --raggio: 20px;
  --spazio: clamp(36px, 22px + 5vw, 120px);
  --larghezza: 1200px;
  --veloce: 150ms cubic-bezier(0.2, 0.6, 0.2, 1);
  /* Solo per stati di sistema (errore, conferma) */
  --ok: #8EE6BE;
  --errore: #FFB3BF;
}

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; background: var(--ink); scroll-padding-top: 84px; }
body {
  margin: 0; color: var(--paper); font-family: var(--f-testo); font-size: var(--t-corpo); line-height: 1.45; overflow-x: clip;
  background-color: var(--ink);
  background-image: radial-gradient(1100px 700px at 85% -10%, rgba(124, 60, 255, .16), transparent 70%), linear-gradient(var(--griglia) 1px, transparent 1px), linear-gradient(90deg, var(--griglia) 1px, transparent 1px);
  background-size: auto, 56px 56px, 56px 56px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
img, video, svg { max-width: 100%; display: block; }
img { height: auto; }
h1, h2, h3, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, .titolo {
  font-family: var(--f-titoli); font-weight: 700; line-height: 1.04; letter-spacing: -0.035em;
  overflow-wrap: break-word; text-wrap: balance; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1;
}
p, li, summary, blockquote, dd, label { overflow-wrap: break-word; text-wrap: pretty; }
a { color: var(--lilac); text-underline-offset: 3px; }
a:hover { color: var(--paper); }
strong { font-weight: 700; }
::selection { background: var(--violet); color: var(--ink); }
:focus-visible { outline: 3px solid var(--lilac); outline-offset: 4px; border-radius: 8px; }
[hidden] { display: none !important; }
.solo-lettori { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; }
.muto { color: var(--muted); }
.lilla { color: var(--lilac); }
.numeri { font-variant-numeric: tabular-nums; }
.segno { background: var(--gradiente-testo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Fasce (le sezioni di aaw-nov-2) */
.fascia { position: relative; background: transparent; }
.fascia + .fascia { border-top: 1px solid var(--linea); }
.fascia--nero { background: radial-gradient(1000px 560px at 10% 0%, rgba(124, 60, 255, .22), transparent 70%), #040306; }
.fascia--giallo { background: radial-gradient(900px 420px at 50% 0%, rgba(124, 60, 255, .18), transparent 70%), rgba(11, 9, 16, .62); }
.fascia--corallo { background: radial-gradient(900px 640px at 100% 25%, rgba(155, 108, 255, .16), transparent 70%), rgba(16, 0, 23, .55); }
.fascia--lilla { background: radial-gradient(900px 600px at 0% 100%, rgba(124, 60, 255, .16), transparent 70%), linear-gradient(180deg, rgba(53, 16, 112, .26), rgba(5, 5, 7, .2)); }
.dentro {
  max-width: var(--larghezza); margin-inline: auto; padding-block: var(--spazio);
  padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width: 768px) { .dentro { padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); } }
.stretto { max-width: 760px; }
.pila { display: grid; gap: 16px; justify-items: start; }
.pila > * { max-width: 100%; }
.testa-sezione { display: grid; gap: 14px; justify-items: start; margin-bottom: clamp(24px, 3vw, 40px); }
.titolo-sezione { font-size: clamp(1.875rem, 1.3rem + 3vw, 4.25rem); max-width: 20ch; }
.titolo-frase { font-size: var(--t-grande); line-height: 1.08; max-width: 26ch; }
.sottotitolo { font-weight: 600; max-width: 46ch; color: var(--paper); }

/* Etichette di vetro */
.etichetta {
  display: inline-flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%;
  font-family: var(--f-testo); font-weight: 700; font-size: var(--t-min); letter-spacing: .08em; text-transform: uppercase; line-height: 1.2;
  padding: 7px 14px; border-radius: 999px; color: var(--lilac); background: var(--vetro); border: 1px solid var(--linea-forte);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
}
.puntino { width: 10px; height: 10px; border-radius: 50%; flex: none; background: #B892FF; box-shadow: 0 0 12px 3px rgba(155, 108, 255, .65); animation: pulsa 2s ease-in-out infinite; }
@keyframes pulsa { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }

/* Pulsante viola pieno con bagliore */
.cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 60px; padding: 12px 28px;
  text-decoration: none; text-align: center; cursor: pointer; color: #FFFFFF; background: var(--viola-pieno);
  border: 1px solid rgba(216, 201, 255, .38); border-radius: 16px; box-shadow: var(--bagliore);
  font-family: var(--f-testo); font-weight: 700; font-size: clamp(1.3125rem, 1.25rem + 0.3vw, 1.5rem); letter-spacing: -0.005em; line-height: 1.1;
  transition: transform var(--veloce), filter var(--veloce), box-shadow var(--veloce);
}
.cta:hover { color: #FFFFFF; transform: translateY(-1px); filter: brightness(1.08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 20px 50px -12px rgba(124, 60, 255, 1), 0 0 80px rgba(124, 60, 255, .4); }
.cta:active { transform: translateY(0); filter: brightness(.96); box-shadow: var(--bagliore); }
.cta:focus-visible { outline: 3px solid var(--lilac); outline-offset: 5px; border-radius: 18px; }
.cta[disabled] { opacity: .6; cursor: progress; transform: none; }
.cta--piccola { min-height: 48px; padding: 8px 16px; font-size: var(--t-min); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 10px 28px -10px rgba(124, 60, 255, .95); }
.cta--vetro { color: var(--paper); background: var(--vetro); border: 1px solid var(--linea-forte); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.cta--vetro:hover { background: rgba(155, 108, 255, .18); box-shadow: 0 0 26px rgba(124, 60, 255, .4); }
.cta--larga { width: 100%; }
.invito { display: grid; justify-items: start; gap: 14px; margin-top: clamp(32px, 4vw, 48px); }
.invito--centro { justify-items: center; text-align: center; }
.invito .cta { width: 100%; max-width: 440px; }
.invito__due { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
.invito__due .cta { flex: 1 1 240px; max-width: 360px; }
.prova { display: flex; align-items: flex-start; gap: 10px; max-width: 440px; font-weight: 700; font-size: var(--t-min); line-height: 1.35; color: var(--lilac); }
.prova::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: #B892FF; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.invito--centro .prova { text-align: left; }

/* Fascia della bozza: si toglie con BOZZA = False in scripts/genera.py */
.bozza { position: relative; z-index: 31; background: var(--viola-pieno); color: #FFFFFF; text-align: center; font-weight: 700; font-size: 1rem; line-height: 1.3; padding: 8px 16px; }

/* Testata fissa */
.testata-fascia { position: sticky; top: 0; z-index: 30; background: rgba(5, 5, 7, .82); border-bottom: 1px solid var(--linea); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.testata {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px;
  max-width: var(--larghezza); margin-inline: auto; min-height: 60px;
  padding: 6px max(12px, env(safe-area-inset-right, 0px)) 6px max(16px, env(safe-area-inset-left, 0px));
}
@media (min-width: 768px) { .testata { gap: 16px; padding-block: 8px; padding-inline: max(32px, env(safe-area-inset-left, 0px)) max(32px, env(safe-area-inset-right, 0px)); } }
.logo {
  display: inline-block; font-family: var(--f-titoli); font-weight: 700; font-size: 1.25rem; letter-spacing: .04em; line-height: 1; text-decoration: none;
  color: var(--paper); padding: 7px 11px; border-radius: 12px; border: 1px solid var(--linea-forte);
  background: linear-gradient(180deg, rgba(155, 108, 255, .26), rgba(124, 60, 255, .1)); box-shadow: 0 0 26px rgba(124, 60, 255, .35), inset 0 1px 0 rgba(255, 255, 255, .1);
}
.logo:hover { color: var(--paper); }
.testata__testo { margin: 0; font-weight: 700; font-size: var(--t-min); line-height: 1.2; color: var(--paper); text-wrap: balance; }
.testata__testo [data-stato-vendite] { color: var(--lilac); }
.testata .cta { min-height: 48px; padding: 6px 14px; }
@media (min-width: 768px) { .testata__testo { text-align: center; } }
@media (max-width: 767.98px) {
  html { scroll-padding-top: 66px; }
  /* Come aaw-nov-2 da telefono: una riga sola, testo a sinistra e pulsante a destra, niente logo */
  .testata { grid-template-columns: minmax(0, 1fr) auto; min-height: 0; padding-block: 6px; gap: 10px; }
  .testata .logo { display: none; }
  .testata__testo { font-size: 1rem; line-height: 1.15; }
  .apertura .etichetta { padding: 4px 12px; font-size: 1rem; letter-spacing: .04em; }
  .apertura .biglietto { display: none; }
  .testata .cta { min-height: 44px; padding: 4px 10px; font-size: 1rem; line-height: 1.05; max-width: 8.2rem; }
}

/* Apertura */
.apertura { isolation: isolate; overflow-x: clip; }
.apertura::before {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(var(--griglia) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, var(--griglia) 1px, transparent 1px) 0 0 / 56px 56px, radial-gradient(60% 70% at 92% 40%, rgba(124, 60, 255, .2) 0%, rgba(53, 16, 112, .1) 45%, transparent 75%), var(--ink);
}
.apertura::after { content: ""; position: absolute; z-index: -1; pointer-events: none; left: -20%; top: 10%; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle, rgba(124, 60, 255, .3) 0%, rgba(53, 16, 112, .16) 42%, transparent 70%); }
.apertura .dentro { padding-block: 24px clamp(40px, 6vw, 104px); }
.apertura__griglia { display: grid; gap: 22px; }
.apertura__griglia > * { min-width: 0; }
.apertura__testo { display: grid; gap: 18px; justify-items: start; }
.titolo-maxi { font-size: var(--t-h1); line-height: 1; letter-spacing: -0.045em; }
.sotto { font-family: var(--f-testo); font-weight: 600; font-size: var(--t-lead); line-height: 1.25; letter-spacing: -0.005em; color: var(--paper); max-width: 40ch; }
.per-chi { font-weight: 600; font-size: var(--t-corpo); line-height: 1.4; color: var(--paper); border-left: 3px solid var(--violet); padding-left: 12px; box-shadow: -10px 0 24px -14px rgba(155, 108, 255, .9); max-width: 52ch; }
.biglietto { display: inline-flex; flex-wrap: wrap; max-width: 100%; border: 1px solid var(--linea-forte); border-radius: 14px; overflow: hidden; font-weight: 700; font-size: var(--t-min); line-height: 1.15; background: rgba(12, 8, 20, .7); box-shadow: 0 0 0 1px rgba(124, 60, 255, .1), 0 18px 40px -20px rgba(124, 60, 255, .8); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.biglietto__giorni { flex: 1 1 auto; background: var(--viola-pieno); color: #FFFFFF; padding: 8px 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.biglietto__resto { flex: 1 1 auto; background: rgba(155, 108, 255, .12); color: var(--lilac); padding: 8px 12px; border-left: 1px dashed var(--linea-forte); }
.gettone { display: inline-block; padding: 0 .22em; border: 1px solid rgba(216, 201, 255, .45); border-radius: 9px; background: var(--viola-pieno); color: #FFFFFF; line-height: 1.12; box-shadow: 0 0 18px rgba(124, 60, 255, .35); }
.telaio { position: relative; border: 1px solid var(--linea-forte); border-radius: 22px; overflow: hidden; background: #0F0B17; box-shadow: var(--alone-foto), inset 0 1px 0 rgba(255, 255, 255, .07); }
.telaio img { width: 100%; height: 100%; object-fit: cover; }
.telaio::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(53, 16, 112, 0) 50%, rgba(53, 16, 112, .5) 100%); }
.telaio figcaption { position: absolute; z-index: 1; left: 12px; bottom: 12px; right: 12px; font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--paper); }
.apertura__foto { position: relative; }
.apertura__foto .telaio { aspect-ratio: 16 / 9; }
@media (min-width: 960px) {
  .apertura .dentro { padding-top: 48px; }
  .apertura__griglia { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); column-gap: 56px; align-items: center; }
  .apertura__foto .telaio { aspect-ratio: 4 / 5; }
  .apertura__foto .telaio img { object-position: 50% 30%; }
  .apertura__foto::before, .apertura__foto::after { content: ""; position: absolute; width: 28px; height: 28px; border: 0 solid var(--violet); pointer-events: none; z-index: 1; }
  .apertura__foto::before { top: -9px; left: -9px; border-width: 2px 0 0 2px; border-top-left-radius: 12px; }
  .apertura__foto::after { bottom: -9px; right: -9px; border-width: 0 2px 2px 0; border-bottom-right-radius: 12px; }
}

/* Chiavi numerate (le tre frasi di aaw-nov-2) */
.chiavi { display: grid; gap: 10px; counter-reset: chiave; }
.chiavi li {
  counter-increment: chiave; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center;
  border: 1px solid var(--linea); border-radius: var(--raggio); background: var(--scheda); box-shadow: var(--ombra-scheda); padding: 12px 16px;
  font-weight: 600; font-size: var(--t-lead); line-height: 1.2; letter-spacing: -0.005em; color: var(--paper);
}
.chiavi li::before {
  content: counter(chiave); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--linea-forte); background: var(--vetro); color: var(--lilac); font-family: var(--f-titoli); font-weight: 700; font-size: 1.375rem; box-shadow: 0 0 18px rgba(124, 60, 255, .3);
}
.chiavi li:nth-child(2)::before { background: rgba(155, 108, 255, .28); color: #FFFFFF; }
.chiavi li:nth-child(3)::before { background: var(--viola-pieno); color: #FFFFFF; }
.chiavi strong { display: block; font-family: var(--f-titoli); font-weight: 700; letter-spacing: -0.02em; }
.chiavi small { display: block; margin-top: 4px; font-size: var(--t-min); font-weight: 500; line-height: 1.35; color: var(--muted); }
@media (min-width: 900px) { .chiavi--tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } .chiavi--tre li { align-items: start; } }

/* Citazione e riquadro viola (soluzione) */
.citazione p { font-weight: 600; font-size: var(--t-lead); line-height: 1.22; letter-spacing: -0.005em; color: var(--paper); }
.citazione::before { content: "\201C"; display: block; font-family: var(--f-titoli); font-weight: 700; font-size: 4.5rem; line-height: .7; height: .42em; color: var(--violet); text-shadow: 0 0 24px rgba(124, 60, 255, .7); }
.citazione footer { margin-top: 10px; font-weight: 700; font-size: var(--t-min); color: var(--lilac); }
.colpi { display: grid; gap: 16px; margin-top: 28px; }
.colpi > * { background: var(--scheda); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 18px 20px; color: var(--paper); font-weight: 600; line-height: 1.4; }
.colpi > :nth-child(odd) { box-shadow: inset 3px 0 0 var(--violet), var(--ombra-scheda); }
.colpi > :nth-child(even) { box-shadow: inset 3px 0 0 var(--lilac), var(--ombra-scheda); }
.colpi h3 { font-size: clamp(1.5rem, 1.25rem + 1.2vw, 2.25rem); margin-bottom: 8px; }
.colpi .etichetta { margin-bottom: 12px; }
@media (min-width: 900px) { .colpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.soluzione {
  margin-top: clamp(40px, 6vw, 72px); color: #FFFFFF; border-radius: 22px; padding: clamp(22px, 3vw, 40px);
  background: radial-gradient(130% 140% at 0% 0%, #5B21D6 0%, #3A1290 48%, #1A0838 100%); border: 1px solid rgba(216, 201, 255, .35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 30px 80px -30px rgba(124, 60, 255, .85);
}
.soluzione h2, .soluzione .titolo { font-size: var(--t-grande); line-height: 1.06; max-width: 24ch; }
.soluzione p { margin-top: 16px; font-weight: 600; max-width: 52ch; }
.soluzione .etichetta { margin-bottom: 14px; color: #FFFFFF; }
.soluzione .segno { background: linear-gradient(100deg, #FFFFFF 0%, #EDE6FF 100%); -webkit-background-clip: text; background-clip: text; }
.firma { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.firma img { width: 72px; height: 72px; object-fit: cover; object-position: 50% 15%; border-radius: 16px; border: 1px solid var(--linea-forte); box-shadow: 0 0 30px rgba(124, 60, 255, .45); }
.firma__saluto { color: var(--lilac); font-weight: 600; font-size: var(--t-min); }
.firma__nome { font-family: var(--f-titoli); font-weight: 700; font-size: 2rem; line-height: 1; background: var(--gradiente-testo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* Segnali con spunta e cartelli (per chi è / non è) */
.segnali { display: grid; gap: 16px; }
@media (min-width: 900px) { .segnali { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.segnale { position: relative; background: var(--scheda); border: 1px solid var(--linea); border-radius: var(--raggio); box-shadow: var(--ombra-scheda); padding: 16px 16px 18px 64px; font-weight: 600; line-height: 1.4; color: var(--paper); }
.spunta { position: absolute; top: -1px; left: -1px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--raggio) 0 14px 0; background: var(--viola-pieno); border: 1px solid rgba(216, 201, 255, .4); box-shadow: 0 0 22px rgba(124, 60, 255, .6); }
.spunta svg { width: 24px; height: 24px; stroke: #FFFFFF; }
.cartelli { display: grid; gap: 16px; }
@media (min-width: 900px) { .cartelli { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cartello { background: var(--scheda); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 20px; box-shadow: var(--ombra-scheda); color: var(--paper); }
.cartello h3 { font-size: clamp(1.5rem, 1.25rem + 1.2vw, 2.25rem); color: var(--lilac); }
.cartello ul { display: grid; gap: 12px; margin-top: 14px; }
.cartello li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: start; font-weight: 600; line-height: 1.4; }
.cartello li svg { width: 30px; height: 30px; padding: 4px; border-radius: 8px; border: 1px solid var(--linea-forte); stroke: var(--lilac); background: var(--vetro); }
@media (min-width: 1000px) { .cartelli--tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cartelli--tre .cartello { display: flex; flex-direction: column; align-items: flex-start; }
.cartelli--tre .cartello .cta { margin-top: auto; }
.scelta-percorso__testo { margin: 12px 0 18px; font-weight: 500; line-height: 1.45; color: var(--paper); }
.cartello--no { background: linear-gradient(180deg, rgba(14, 9, 20, .96), rgba(4, 3, 6, .98)); }
.cartello--no li svg { background: rgba(255, 120, 140, .1); border-color: rgba(255, 160, 175, .5); stroke: #FFB3BF; }

/* Serate: qui le tre fasi del percorso */
.serate { display: grid; gap: 20px; }
@media (min-width: 1000px) { .serate { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; } }
.serata { border: 1px solid var(--linea); border-radius: var(--raggio); overflow: hidden; background: linear-gradient(0deg, rgba(124, 60, 255, .2) 0%, rgba(124, 60, 255, 0) 55%), var(--scheda); box-shadow: var(--ombra-scheda); }
.serata__testa { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--linea); background: rgba(155, 108, 255, .12); color: var(--lilac); }
.serata:nth-child(2) .serata__testa { background: rgba(155, 108, 255, .24); color: #FFFFFF; }
.serata:nth-child(3) .serata__testa { background: var(--viola-pieno); color: #FFFFFF; }
.serata__numero { white-space: nowrap; font-weight: 700; font-size: var(--t-min); letter-spacing: .06em; text-transform: uppercase; }
.serata__corpo { padding: 14px 18px 20px; display: grid; gap: 10px; }
.serata__nome { font-size: clamp(2rem, 1.7rem + 1.4vw, 2.75rem); background: var(--gradiente-testo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.serata__corpo ol { display: grid; gap: 8px; counter-reset: tema; }
.serata__corpo li { counter-increment: tema; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; color: var(--muted); line-height: 1.4; font-size: var(--t-min); }
.serata__corpo li::before { content: counter(tema); font-weight: 700; color: var(--lilac); font-variant-numeric: tabular-nums; }
.schermo { margin-top: 24px; border-radius: var(--raggio); padding: 16px 18px; background: rgba(5, 5, 7, .65); color: var(--paper); border: 1px solid var(--linea-forte); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 50px -14px rgba(124, 60, 255, .55); font-weight: 600; font-size: var(--t-min); line-height: 1.45; }
.schermo strong { color: var(--lilac); }
/* Le 12 sessioni di accelerazione (Matteo 13/11 08:11) */
.sessioni { display: grid; gap: 18px; margin-top: clamp(32px, 4vw, 48px); }
.sessioni__titolo { font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.5rem, 1.25rem + 1vw, 2.125rem); line-height: 1.1; color: var(--paper); }
.sessioni__sotto { margin-top: 8px; font-size: var(--t-corpo); line-height: 1.45; color: var(--paper); max-width: 52ch; }
.sessioni__griglia { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
@media (min-width: 640px) { .sessioni__griglia { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); } }
.sessione { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 10px 12px; border: 1px solid var(--linea-forte); border-radius: 14px; background: rgba(5, 5, 7, .55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
.sessione__n { flex: none; font-family: var(--f-titoli); font-weight: 700; font-size: 1.125rem; color: var(--lilac); font-variant-numeric: tabular-nums; }
.sessione__nome { font-weight: 700; font-size: 1rem; line-height: 1.25; color: var(--paper); min-width: 0; }
@media (min-width: 640px) { .sessione { gap: 14px; min-height: 64px; padding: 12px 16px; } .sessione__nome { font-size: 1.0625rem; } }
.pillole { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pillola { display: inline-flex; align-items: center; gap: 7px; font-size: 1rem; font-weight: 700; line-height: 1.2; padding: 5px 12px; border-radius: 999px; color: var(--lilac); background: var(--vetro); border: 1px solid var(--linea-forte); }
.pillola::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #B892FF; box-shadow: 0 0 8px 2px rgba(155, 108, 255, .6); flex: none; }

/* Ricevuta: le liste di «cosa ricevi» */
.ricevuta { background: var(--scheda); border: 1px solid var(--linea-forte); border-radius: var(--raggio); overflow: hidden; color: var(--paper); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 80px -30px rgba(124, 60, 255, .55); }
.ricevuta li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; padding: 11px 16px; border-top: 1px dashed var(--linea-forte); font-weight: 500; font-size: var(--t-min); line-height: 1.38; }
.ricevuta li:first-child { border-top: 0; }
.ricevuta li::before { content: ""; width: 26px; height: 26px; margin-top: -1px; border-radius: 50%; background: var(--viola-pieno) center / 16px 16px no-repeat; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"), var(--viola-pieno); box-shadow: 0 0 14px rgba(124, 60, 255, .6); }
.ricevuta b, .ricevuta strong { color: var(--lilac); font-weight: 700; }

/* Interruttore unica soluzione / rate (come i filtri delle recensioni) */
.interruttore { display: inline-flex; flex-wrap: wrap; gap: 8px; padding: 6px; border-radius: 18px; background: rgba(5, 5, 7, .55); border: 1px solid var(--linea-forte); }
.interruttore button {
  font: inherit; font-size: var(--t-min); font-weight: 700; line-height: 1.2; min-height: 48px; padding: 10px 18px; cursor: pointer;
  color: var(--paper); background: var(--vetro); border: 1px solid var(--linea-forte); border-radius: 12px; transition: background-color var(--veloce), box-shadow var(--veloce);
}
.interruttore button:hover { background: rgba(155, 108, 255, .22); box-shadow: 0 0 24px rgba(124, 60, 255, .35); }
.interruttore button[aria-pressed="true"] { color: #FFFFFF; background: var(--viola-pieno); border-color: rgba(216, 201, 255, .38); box-shadow: var(--bagliore); }
.interruttore__nota { margin-top: 10px; font-size: var(--t-min); color: var(--muted); }

/* Piani */
.piani { display: grid; gap: 24px; margin-top: 28px; align-items: start; }
@media (min-width: 1000px) { .piani { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.piano { position: relative; display: grid; border: 1px solid var(--linea); border-radius: var(--raggio); overflow: hidden; background: var(--scheda); box-shadow: var(--ombra-scheda); }
.piano--evidenza { border-color: rgba(216, 201, 255, .5); background: linear-gradient(0deg, rgba(124, 60, 255, .22) 0%, rgba(124, 60, 255, 0) 60%), var(--scheda); box-shadow: 0 0 0 1px rgba(124, 60, 255, .25), 0 30px 80px -30px rgba(124, 60, 255, .9); }
@media (min-width: 1000px) { .piano--evidenza { transform: translateY(-12px); } }
.piano__testa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 14px 18px; border-bottom: 1px solid var(--linea); background: rgba(155, 108, 255, .12); color: var(--lilac); }
.piano--evidenza .piano__testa { background: var(--viola-pieno); color: #FFFFFF; }
.piano__sotto { font-weight: 700; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.piano__badge { font-weight: 700; font-size: .9375rem; line-height: 1.1; padding: 4px 10px; border-radius: 999px; background: rgba(5, 5, 7, .45); border: 1px solid rgba(216, 201, 255, .45); color: #FFFFFF; }
.piano__corpo { display: grid; gap: 16px; padding: 18px 18px 22px; }
.piano__nome { font-size: clamp(2rem, 1.7rem + 1.4vw, 2.75rem); background: var(--gradiente-testo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.piano__riga { color: var(--paper); font-weight: 600; line-height: 1.4; }
.prezzo { container-type: inline-size; display: grid; gap: 6px; padding: 14px 16px; border-radius: 16px; background: rgba(5, 5, 7, .55); border: 1px solid var(--linea-forte); }
.prezzo__cifra { font-family: var(--f-titoli); font-weight: 700; font-size: 2.25rem; font-size: clamp(1.75rem, 12cqi, 3rem); white-space: nowrap; line-height: 1; letter-spacing: -0.03em; color: #FFFFFF; font-variant-numeric: lining-nums tabular-nums; }
.prezzo__nota { font-size: 1rem; line-height: 1.4; color: var(--muted); }
.prezzo__nota strong { color: var(--lilac); }
.piano .ricevuta { box-shadow: none; border-color: var(--linea); background: rgba(5, 5, 7, .35); }
.piano .ricevuta li { font-size: 1rem; padding: 9px 12px; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; }
.piano .ricevuta li::before { width: 22px; height: 22px; background-size: 14px 14px; }
.posti { font-weight: 700; font-size: 1rem; color: var(--lilac); font-variant-numeric: tabular-nums; }
.piano .cta { width: 100%; }
.piano__sotto-cta { font-size: 1rem; color: var(--muted); text-align: center; }

/* Tabella «cosa ricevi» */
.tabella-scorri { max-width: 100%; contain: paint; overflow-x: auto; border-radius: var(--raggio); border: 1px solid var(--linea-forte); background: var(--scheda); box-shadow: var(--ombra-scheda); -webkit-overflow-scrolling: touch; }
.tabella-scorri:focus-visible { outline-offset: 2px; }
.tabella { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 1rem; line-height: 1.35; }
.tabella th, .tabella td { padding: 12px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--linea); }
.tabella thead th { border-top: 0; position: sticky; top: 0; background: #120A1F; font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.125rem, 1rem + .5vw, 1.5rem); letter-spacing: -0.02em; color: var(--paper); }
.tabella thead th.col-evidenza { background: var(--viola-pieno); color: #FFFFFF; }
.tabella tbody th { font-weight: 600; color: var(--paper); width: 34%; }
.tabella td { color: var(--muted); }
.tabella td.col-evidenza { background: rgba(124, 60, 255, .1); }
.tabella td.si { color: var(--lilac); font-weight: 700; }
.tabella td.si::before { content: "✓ "; color: #B892FF; }
.tabella td.no { color: rgba(185, 179, 201, .5); }
.tabella td.valore { color: var(--paper); font-weight: 600; }
.tabella tr.gruppo th { padding-top: 18px; font-weight: 700; font-size: .9375rem; letter-spacing: .08em; text-transform: uppercase; color: var(--lilac); background: rgba(155, 108, 255, .08); }
.tabella-nota { margin-top: 12px; font-size: 1rem; color: var(--muted); }

/* Numeri e muro delle recensioni */
.numeroni { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); margin-bottom: clamp(28px, 4vw, 44px); }
.numerone { display: grid; gap: 4px; padding: 18px 20px; border-radius: var(--raggio); background: var(--scheda); border: 1px solid var(--linea); box-shadow: var(--ombra-scheda); }
.numerone strong { font-family: var(--f-titoli); font-weight: 700; font-size: clamp(2.25rem, 1.9rem + 1.6vw, 3.25rem); line-height: 1; letter-spacing: -0.03em; background: var(--gradiente-testo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.numerone span { font-weight: 600; font-size: var(--t-min); color: var(--muted); }
.recmuro { columns: 1; column-gap: 22px; }
@media (min-width: 700px) { .recmuro { columns: 2; } }
@media (min-width: 1060px) { .recmuro { columns: 3; } }
.recmuro__voce { break-inside: avoid; display: block; margin: 0 0 22px; border: 1px solid var(--linea-forte); border-radius: 14px; overflow: hidden; background: var(--ink-soft); box-shadow: var(--ombra-scheda); transition: transform var(--veloce), box-shadow var(--veloce); }
.recmuro__voce:hover { transform: translateY(-2px); box-shadow: var(--ombra-scheda), 0 0 36px -8px rgba(124, 60, 255, .55); }
.recmuro__voce img { width: 100%; }
.recfonte { display: inline-flex; align-items: center; gap: 7px; width: fit-content; font-size: 1rem; font-weight: 700; line-height: 1.2; padding: 4px 11px; border-radius: 999px; color: var(--lilac); background: var(--vetro); border: 1px solid var(--linea-forte); text-decoration: none; }
.recfonte::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #B892FF; box-shadow: 0 0 8px 2px rgba(155, 108, 255, .6); flex: none; }

/* Domande */
.domande { margin-top: 8px; border-top: 1px solid var(--linea-forte); }
.domanda { border-bottom: 1px solid var(--linea-forte); }
.domanda summary { display: grid; grid-template-columns: minmax(0, 1fr) 40px; gap: 14px; align-items: center; cursor: pointer; list-style: none; padding: 14px 2px; font-weight: 600; font-size: var(--t-lead); line-height: 1.2; letter-spacing: -0.005em; color: var(--paper); }
.domanda summary::-webkit-details-marker { display: none; }
.domanda summary:hover { color: var(--lilac); }
.domanda__segno { position: relative; width: 40px; height: 40px; border-radius: 12px; background: var(--vetro); border: 1px solid var(--linea-forte); }
.domanda__segno::before, .domanda__segno::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; background: var(--lilac); transform: translate(-50%, -50%); }
.domanda__segno::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform var(--veloce); }
.domanda[open] .domanda__segno { background: var(--viola-pieno); box-shadow: 0 0 20px rgba(124, 60, 255, .55); }
.domanda[open] .domanda__segno::before, .domanda[open] .domanda__segno::after { background: #FFFFFF; }
.domanda[open] .domanda__segno::after { transform: translate(-50%, -50%) rotate(0deg); }
.domanda__risposta { padding: 0 2px 20px; max-width: 62ch; line-height: 1.5; color: #D3CDE0; }

/* Chiusura */
.chiusura { isolation: isolate; overflow: hidden; }
.chiusura::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(55% 80% at 95% 100%, rgba(124, 60, 255, .28) 0%, rgba(53, 16, 112, .12) 45%, transparent 75%), linear-gradient(var(--griglia) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, var(--griglia) 1px, transparent 1px) 0 0 / 56px 56px, #040306; }
.chiusura__grande { font-size: var(--t-h2); max-width: 18ch; }
.chiusura__stanza { margin-top: 18px; font-weight: 600; font-size: var(--t-lead); color: var(--lilac); }
.zero { display: inline-block; padding: 0 .12em; line-height: 1; border-radius: 12px; background: var(--viola-pieno); color: #FFFFFF; border: 1px solid rgba(216, 201, 255, .45); box-shadow: 0 0 30px rgba(124, 60, 255, .6); }
.ps { margin-top: 18px; font-weight: 600; line-height: 1.45; max-width: 52ch; color: var(--paper); }
.ps strong { background: var(--viola-pieno); color: #FFFFFF; padding: 0 6px; border-radius: 6px; }

/* Fast Action */
.fast { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; border-radius: var(--raggio); padding: 14px 16px; background: rgba(5, 5, 7, .65); border: 1px solid var(--linea-forte); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 50px -14px rgba(124, 60, 255, .55); }
.fast p { flex: 1 1 220px; min-width: 0; font-weight: 600; font-size: var(--t-min); line-height: 1.4; color: var(--paper); }
.fast .etichetta { flex: none; }

/* Piede */
.piede { background: #030304; color: #ADA7BC; border-top: 1px solid var(--linea); }
.piede .dentro { padding-block: 28px calc(28px + var(--spazio-barra, 0px)); display: grid; gap: 6px; font-size: 1rem; line-height: 1.5; }
.piede__nome { color: var(--paper); font-weight: 700; }
.piede a { color: var(--lilac); font-weight: 600; }
.piede nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }

/* Barra in basso con i posti (solo pagina dei percorsi). Matteo 12/11 21:36: «mettili anche nella bottom bar» */
/* Esiste solo nella pagina dei percorsi; niente selettori sul body, che nell'anteprima non c'è. */
.barra ~ .piede { --spazio-barra: 84px; }
.barra {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  background: rgba(8, 6, 13, .9); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
  border-top: 1px solid var(--linea-forte); box-shadow: 0 -20px 40px -24px rgba(124, 60, 255, .6);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .35s ease;
}
.js .barra:not(.barra--su) { transform: translateY(110%); opacity: 0; pointer-events: none; }
.barra__testo { display: grid; gap: 2px; min-width: 0; margin: 0; line-height: 1.2; }
.barra__etichetta { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lilac); }
.barra__posti { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 1.0625rem; color: #FFFFFF; }
.barra__posti strong { font-family: var(--f-titoli); font-weight: 700; color: var(--lilac); margin-right: 4px; }
.barra__punto { color: var(--linea-forte); }
.barra .cta { flex: none; min-height: 50px; padding: 8px 18px; font-size: 1.0625rem; }
@media (min-width: 768px) {
  .barra { justify-content: center; gap: 28px; padding-block: 12px calc(12px + env(safe-area-inset-bottom, 0px)); }
  .barra__testo { display: flex; align-items: baseline; gap: 14px; }
  .barra__posti { font-size: 1.1875rem; }
}
@media (prefers-reduced-motion: reduce) { .barra { transition: none; } }
.scelta__testo .scelta__posti { font-size: .9375rem; font-weight: 700; color: var(--lilac); }

/* ---------------------------------------------------------------- go.joinscalers.com: cassa e moduli */
.cassa { display: grid; gap: 28px; align-items: start; }
@media (min-width: 980px) { .cassa { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 40px; } .cassa > aside { position: sticky; top: 96px; } }
.modulo { display: grid; gap: 26px; }
.passo { display: grid; gap: 12px; border: 0; padding: 0; margin: 0; min-width: 0; }
.passo legend { padding: 0; margin-bottom: 12px; font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.375rem, 1.2rem + .8vw, 1.875rem); letter-spacing: -0.02em; line-height: 1.1; color: var(--paper); }
.passo legend span { color: var(--lilac); }
.scelte { display: grid; gap: 10px; }
.scelta {
  position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: center; cursor: pointer;
  padding: 14px 16px; border-radius: 16px; background: var(--scheda); border: 1px solid var(--linea); box-shadow: var(--ombra-scheda);
  transition: border-color var(--veloce), box-shadow var(--veloce), background-color var(--veloce);
}
.scelta:hover { border-color: var(--linea-forte); }
.scelta input { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; margin: 0; border-radius: 50%; border: 2px solid var(--linea-forte); background: rgba(5, 5, 7, .6); display: grid; place-items: center; cursor: pointer; }
.scelta input::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: #FFFFFF; transform: scale(0); transition: transform var(--veloce); }
.scelta input:checked { background: var(--viola-pieno); border-color: rgba(216, 201, 255, .6); box-shadow: 0 0 16px rgba(124, 60, 255, .7); }
.scelta input:checked::after { transform: scale(1); }
.scelta input:focus-visible { outline: 3px solid var(--lilac); outline-offset: 3px; }
.scelta:has(input:checked) { border-color: rgba(216, 201, 255, .6); background: linear-gradient(0deg, rgba(124, 60, 255, .2) 0%, rgba(124, 60, 255, .04) 100%), var(--scheda); box-shadow: 0 0 0 1px rgba(124, 60, 255, .35), 0 20px 50px -24px rgba(124, 60, 255, .9); }
.scelta__testo { display: grid; gap: 3px; min-width: 0; }
.scelta__testo strong { font-weight: 700; font-size: var(--t-min); line-height: 1.25; color: var(--paper); }
.scelta__testo span { font-size: 1rem; line-height: 1.38; color: var(--muted); }
.scelta__prezzo { font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); letter-spacing: -0.02em; color: #FFFFFF; text-align: right; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.scelta__marchi { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.scelta__testo .rate-opzioni { display: grid; gap: 8px; margin-top: 8px; }
.scelta__testo .rata { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 10px; background: rgba(255, 255, 255, .04); border: 1px solid var(--linea); }
.scelta__testo .rata__testo { display: grid; gap: 2px; min-width: 0; }
.scelta__testo .rata__testo strong { font-size: 1rem; font-weight: 700; line-height: 1.3; color: var(--paper); }
.scelta__testo .rata__testo span { font-size: .875rem; line-height: 1.35; color: var(--muted); }
.scelta__testo .rata__marchi { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; flex: none; }
.scelta__testo .rate-nota { font-size: .8125rem; line-height: 1.4; }
@media (max-width: 520px) { .scelta__testo .rata { flex-direction: column; align-items: flex-start; } .scelta__testo .rata__marchi { justify-content: flex-start; } }
.marchio, .scelta__testo .marchio { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 8px; border-radius: 7px; font-weight: 700; font-size: .8125rem; line-height: 1; letter-spacing: 0; }
.marchio svg { display: block; flex: none; }
.scelta__testo .marchio > span { display: inline; color: inherit; font-size: inherit; font-weight: inherit; line-height: 1; margin: 0; }
.marchio.marchio--chiaro { background: #FFFFFF; color: #111111; }
.marchio.marchio--klarna { background: #FFB3C7; color: #0B051D; }
.marchio.marchio--scalapay { background: #FFC3D0; color: #111111; }
.marchio.marchio--banca { background: rgba(5, 5, 7, .5); color: var(--paper); border: 1px solid var(--linea-forte); }
.marchio-pagamento { font-weight: 700; font-size: .875rem; line-height: 1; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--linea-forte); background: rgba(5, 5, 7, .5); color: var(--paper); }
.scelta--riserva { background: rgba(5, 5, 7, .4); box-shadow: none; border-style: dashed; }
@media (max-width: 520px) { .scelta { grid-template-columns: 26px minmax(0, 1fr); } .scelta__prezzo { grid-column: 2; text-align: left; } }
.campo { display: grid; gap: 7px; min-width: 0; }
.campo label, .campo > span:first-child { font-weight: 700; font-size: 1rem; color: var(--paper); }
.campi-due { display: grid; gap: 14px; }
@media (min-width: 640px) { .campi-due { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea {
  width: 100%; min-height: 52px; padding: 12px 14px; font: inherit; font-size: 1.0625rem; color: var(--paper);
  background: rgba(5, 5, 7, .65); border: 1px solid var(--linea-forte); border-radius: 12px; transition: border-color var(--veloce), box-shadow var(--veloce);
}
textarea { min-height: 120px; resize: vertical; }
select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8C9FF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
select option { background: #120A1F; color: var(--paper); }
input::placeholder, textarea::placeholder { color: rgba(185, 179, 201, .6); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--lilac); box-shadow: 0 0 0 4px rgba(124, 60, 255, .3); }
.aiuto { font-size: 1rem; line-height: 1.4; color: var(--muted); }
.consenso { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; cursor: pointer; font-size: 1rem; line-height: 1.45; color: var(--paper); }
.consenso input { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; margin: 0; border-radius: 7px; border: 2px solid var(--linea-forte); background: rgba(5, 5, 7, .6); cursor: pointer; display: grid; place-items: center; }
.consenso input:checked { background: var(--viola-pieno); border-color: rgba(216, 201, 255, .6); }
.consenso input:checked::after { content: ""; width: 12px; height: 7px; border-left: 3px solid #FFFFFF; border-bottom: 3px solid #FFFFFF; transform: translateY(-2px) rotate(-45deg); }
.trappola { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.messaggio { border-radius: 14px; padding: 12px 14px; font-weight: 600; font-size: 1rem; line-height: 1.45; border: 1px solid var(--linea-forte); background: var(--vetro); color: var(--paper); }
.messaggio--errore { border-color: rgba(255, 160, 175, .55); background: rgba(255, 120, 140, .1); color: var(--errore); }
.messaggio--ok { border-color: rgba(142, 230, 190, .5); background: rgba(142, 230, 190, .08); color: var(--ok); }
.riepilogo { display: grid; gap: 16px; padding: 20px; border-radius: var(--raggio); background: var(--scheda); border: 1px solid var(--linea-forte); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 30px 80px -30px rgba(124, 60, 255, .55); }
.riepilogo__nome { font-size: clamp(1.625rem, 1.4rem + 1vw, 2.25rem); }
.righe { display: grid; gap: 0; border-top: 1px dashed var(--linea-forte); }
.righe > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--linea-forte); font-size: 1rem; }
.righe dt { color: var(--muted); }
.righe dd { font-weight: 700; color: var(--paper); text-align: right; font-variant-numeric: tabular-nums; }
.righe .totale dd { font-family: var(--f-titoli); font-size: clamp(1.125rem, 1rem + 1vw, 1.375rem); letter-spacing: -0.02em; }
.sicuro { display: flex; align-items: center; gap: 8px; font-size: 1rem; color: var(--muted); }
.sicuro svg { width: 18px; height: 18px; stroke: var(--lilac); flex: none; }
.conto-bonifico { display: grid; gap: 0; border-radius: var(--raggio); overflow: hidden; background: var(--scheda); border: 1px solid var(--linea-forte); }
.conto-bonifico > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px dashed var(--linea-forte); }
.conto-bonifico > div:first-child { border-top: 0; }
.conto-bonifico span { display: block; font-size: .9375rem; color: var(--muted); }
.conto-bonifico code { font-family: var(--f-testo); font-weight: 700; font-size: 1.0625rem; color: var(--paper); overflow-wrap: anywhere; }
.copia { flex: none; font: inherit; font-size: .9375rem; font-weight: 700; min-height: 40px; padding: 6px 12px; border-radius: 10px; color: var(--paper); background: var(--vetro); border: 1px solid var(--linea-forte); cursor: pointer; }
.copia:hover { background: rgba(155, 108, 255, .22); }

/* Pagine legali */
.legale { display: grid; gap: 14px; line-height: 1.55; color: #D3CDE0; }
.legale h1 { font-size: var(--t-h2); color: var(--paper); }
.legale h2 { margin-top: 18px; font-size: clamp(1.375rem, 1.2rem + .8vw, 1.875rem); color: var(--paper); }
.legale ul { display: grid; gap: 8px; padding-left: 1.2em; list-style: disc; }
.legale strong { color: var(--paper); }

/* ---------------------------------------------------------------- giro 2 (11/11): più aria, due percorsi, garanzia, storie, cassa in una colonna */
.testa-sezione { gap: 18px; margin-bottom: clamp(36px, 4.5vw, 64px); }
.sottotitolo { line-height: 1.45; }
.apertura__testo { gap: 24px; }
.invito { gap: 18px; }
/* Matteo 13/11 08:02: «crea più spazio negativo». Apertura più corta e più aria tra i blocchi. */
.apertura .apertura__testo { gap: clamp(28px, 3.2vw, 44px); }
.apertura .sotto { max-width: 32ch; line-height: 1.3; }
/* Matteo 13/11 08:07: «inserisci all'inizio, per non rimanere indietro nel 2027, anche se parti da zero» */
.sotto__gancio { display: block; margin-bottom: .45em; color: var(--lilac); }
.apertura .per-chi { padding-left: 16px; max-width: 46ch; }
.apertura .invito { margin-top: clamp(16px, 2.4vw, 32px); justify-self: stretch; }

/* Due percorsi affiancati */
.piani--due { gap: 32px; margin-top: 0; }
@media (min-width: 900px) { .piani--due { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; max-width: 1080px; } }
@media (min-width: 1000px) { .piani--due .piano--evidenza { transform: none; } }
.piano__testa { padding: 16px 24px; }
.piano__corpo { gap: 26px; padding: 26px 24px 30px; }
@media (min-width: 768px) { .piano__testa { padding: 16px 32px; } .piano__corpo { padding: 32px 32px 36px; } }
.piano__intro { display: grid; gap: 10px; }
.prezzo { padding: 18px 20px; gap: 8px; }
.piano .ricevuta li { padding: 13px 16px; gap: 12px; line-height: 1.42; }
.piano__azione { display: grid; gap: 12px; }
.piano__sotto-cta a { font-weight: 700; }
.garanzia-riga { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; font-weight: 600; font-size: 1rem; line-height: 1.4; color: var(--paper); }
.garanzia-riga svg { width: 26px; height: 26px; stroke: #B892FF; }
/* Ore con Matteo e IVA inclusa (Matteo 12/11) */
.ore-riga { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; font-weight: 600; font-size: 1rem; line-height: 1.4; color: var(--paper); }
.ore-riga svg { width: 26px; height: 26px; stroke: #B892FF; }
.prezzo__iva { font-size: var(--t-min); font-weight: 700; letter-spacing: .02em; color: var(--lilac); }
/* Un solo percorso (pagina del Premium) */
.piani--uno { margin-top: 0; }
@media (min-width: 900px) { .piani--uno { grid-template-columns: minmax(0, 560px); justify-content: center; } }
@media (min-width: 1000px) { .piani--uno { grid-template-columns: minmax(0, 560px); } .piani--uno .piano--evidenza { transform: none; } }
.cartelli--uno { margin-top: 32px; }
@media (min-width: 900px) { .cartelli--uno { grid-template-columns: minmax(0, 560px); justify-content: center; } }

/* Garanzia */
.garanzia { margin-top: 0; display: grid; gap: 20px; }
@media (min-width: 800px) { .garanzia { grid-template-columns: 96px minmax(0, 1fr); gap: 32px; align-items: start; padding: 48px; } }
.garanzia__icona { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 20px; background: rgba(5, 5, 7, .35); border: 1px solid rgba(216, 201, 255, .45); }
@media (min-width: 800px) { .garanzia__icona { width: 96px; height: 96px; } }
.garanzia__icona svg { width: 60%; height: 60%; stroke: #FFFFFF; }
.garanzia .titolo { max-width: 22ch; }
.garanzia__nota { font-size: var(--t-min); color: #EDE6FF; }
.garanzia__nota a { color: #FFFFFF; }
.garanzie { display: grid; gap: 14px; margin: 0; }
.garanzie div { display: grid; gap: 4px; padding: 14px 16px; border-radius: 16px; background: rgba(5, 5, 7, .35); border: 1px solid rgba(216, 201, 255, .3); }
@media (min-width: 800px) { .garanzie div { grid-template-columns: 90px minmax(0, 1fr); gap: 16px; align-items: baseline; } }
.garanzie dt { font-family: var(--f-titoli); font-weight: 700; color: #FFFFFF; }
.garanzie dd { margin: 0; line-height: 1.45; color: #EDE6FF; }

/* Storie: i video di Luma, con i componenti di aaw-nov-2 */
.testimonianze { display: grid; gap: 48px; }
@media (min-width: 900px) {
  .testimonianze { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 56px 48px; }
  .testimonianza--gianni { grid-template-columns: minmax(0, 210px) minmax(0, 1fr); align-items: center; }
}
.testimonianza { display: grid; gap: 20px; align-items: center; }
.testimonianza > * { min-width: 0; }
.testimonianza .citazione p { font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.4375rem); line-height: 1.3; }
.video-telaio { position: relative; border: 1px solid var(--linea-forte); border-radius: 22px; overflow: hidden; background: #000; }
.video-telaio video { width: 100%; height: 100%; object-fit: cover; background: #000; }
.video-telaio--verticale { aspect-ratio: 9 / 16; width: min(100%, 240px); box-shadow: var(--alone-foto); }
.video-telaio--orizzontale { aspect-ratio: 16 / 9; width: 100%; box-shadow: var(--alone-foto); }
.video-play { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; background: transparent; border: 0; padding: 0; margin: 0; color: #FFFFFF; font: inherit; pointer-events: none; }
.js .video-play { pointer-events: auto; cursor: pointer; }
.video-play__icona { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; background: rgba(124, 60, 255, .82); border: 1px solid rgba(248, 246, 255, .55); box-shadow: 0 0 40px rgba(124, 60, 255, .6); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform var(--veloce); }
.video-play:hover .video-play__icona, .recvideo__avvia:hover .video-play__icona { transform: scale(1.06); }
.video-play__icona svg { width: 30px; height: 30px; margin-left: 5px; }
.video-play__icona svg path { fill: #FFFFFF; }
.video-play__durata { position: absolute; left: 12px; top: 12px; background: rgba(5, 5, 7, .8); color: #FFFFFF; border: 1px solid rgba(248, 246, 255, .4); border-radius: 10px; padding: 1px 10px; font-weight: 700; font-size: var(--t-min); }
.recvideo__avvia { position: absolute; inset: 0; display: block; }
.recvideo__avvia img { width: 100%; height: 100%; object-fit: cover; }
.recvideo__player { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.recvideo__play { position: absolute; inset: 0; display: grid; place-items: center; }
.video-telaio--loom .recvideo__play { inset: auto 0 0 0; height: 38%; }
.video-telaio--loom .recvideo__play .video-play__icona { width: 56px; height: 56px; }
.video-telaio--loom .video-play__icona svg { width: 24px; height: 24px; margin-left: 4px; }
@media (max-width: 559px) {
  .testimonianza--gianni { grid-template-columns: minmax(0, 150px) minmax(0, 1fr); gap: 16px; }
  .testimonianza--gianni .video-telaio--verticale { width: 100%; }
  .testimonianza--gianni .citazione p { font-size: 1.0625rem; line-height: 1.3; }
  .testimonianza--gianni .citazione::before { font-size: 3.25rem; }
  .testimonianza--gianni .video-play__icona { width: 60px; height: 60px; }
}
.storie__nota { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: clamp(32px, 4vw, 48px); }

/* Recensioni: Trustpilot e Skool */
.numeroni { margin-bottom: 0; }
.recensioni__testa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: clamp(36px, 4.5vw, 56px) 0 22px; }
.recensioni__titolo { font-size: clamp(1.375rem, 1.2rem + .8vw, 1.875rem); color: var(--lilac); }
.recmuro { column-gap: 26px; }
.recmuro__voce { margin-bottom: 26px; }

/* Tabella a due colonne: entra anche su schermi stretti */
.tabella--due { min-width: 540px; }
.tabella--due tbody th { width: 40%; }
.tabella th, .tabella td { padding: 14px 18px; }
.tabella-azioni { margin-top: 28px; }
.tabella-azioni .cta { flex: 1 1 220px; max-width: 320px; }

/* Cartelli, fasi, domande: più respiro */
.cartello { padding: 26px; }
.cartello ul { gap: 14px; margin-top: 18px; }
.serate { gap: 24px; }
.serata__corpo { padding: 18px 22px 24px; gap: 12px; }
.serata__corpo ol { gap: 10px; }
.schermo { margin-top: 32px; padding: 20px 22px; }
.domanda summary { padding: 18px 2px; }
.chiusura__fast { margin-top: 28px; }

/* Cassa in una colonna: percorso, come pagare, riepilogo, dati */
.cassa-colonna { max-width: 760px; }
.indietro { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; font-weight: 700; font-size: 1rem; text-decoration: none; }
.indietro::before { content: "\2190"; }
.modulo { gap: 44px; }
.passo { gap: 16px; }
.passo legend { margin-bottom: 16px; }
.scelte { gap: 14px; }
.scelta { padding: 18px 20px; gap: 14px; }
.scelta__testo { gap: 5px; }
.scelta--piano .scelta__prezzo { font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem); }
.scelta__dettagli { grid-column: 2 / -1; display: grid; gap: 10px; padding-top: 14px; margin-top: 2px; border-top: 1px dashed var(--linea-forte); }
.scelta__voce { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-weight: 500; font-size: 1rem; line-height: 1.4; color: var(--paper); }
.scelta__voce::before { content: ""; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: center / 12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"), var(--viola-pieno); }
.link-riserva { justify-self: start; min-height: 44px; padding: 4px 0; font: inherit; font-size: 1rem; font-weight: 600; color: var(--lilac); background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
.link-riserva:hover { color: var(--paper); }
.riepilogo { gap: 18px; padding: 24px; }
@media (min-width: 640px) { .riepilogo { padding: 28px 32px; } }
.righe > div { padding: 14px 0; }
.righe dd { min-width: 0; overflow-wrap: anywhere; }
.paga { display: grid; gap: 18px; }
.pila--campi { gap: 16px; justify-items: stretch; }
.cassa-fast { margin-top: 40px; }

/* ---------------------------------------------------------------- giro 3 (12/11) */
/* Storie: le 4 di Matteo grandi, le altre in fila sotto */
.fascia--storie .testa-sezione { margin-bottom: 32px; }
.storie-intere { display: grid; gap: 40px; margin-top: 8px; }
.storie-intere + .storie-intere { margin-top: 56px; }
@media (min-width: 760px) { .storie-intere { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 48px; align-items: start; } }
.storia-intera { margin: 0; display: grid; gap: 20px; justify-items: center; text-align: center; }
.storia-intera figcaption { display: grid; gap: 12px; max-width: 34rem; }
.storia-intera .citazione p { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5625rem); line-height: 1.3; }
.storia-intera .citazione::before { margin-inline: auto; }
.storia-intera--loom { justify-items: stretch; }
.storia-intera--loom figcaption { justify-self: center; }
.storia-intera__etichetta { font-size: 1rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--violet); }
.video-telaio--grande { width: min(100%, 380px); border-radius: 26px; }
.storia__chi { display: grid; gap: 2px; font-size: var(--t-min); line-height: 1.35; color: var(--muted); }
.storia__chi strong { color: var(--paper); font-weight: 700; }
.storie__sotto { margin: 72px 0 20px; font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem); line-height: 1.15; color: var(--paper); text-align: center; }
.storie-altre { display: grid; grid-auto-flow: column; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 18px; margin-inline: -4px; scrollbar-width: thin; }
.storie-altre:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; border-radius: 12px; }
.storie-altre--verticali { grid-auto-columns: minmax(240px, 72%); }
.storie-altre--loom { grid-auto-columns: minmax(270px, 86%); margin-top: 18px; }
@media (min-width: 760px) {
  .storie-altre { grid-auto-flow: row; overflow: visible; padding: 0; margin-inline: 0; }
  .storie-altre--verticali { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .storie-altre--loom { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; }
}
@media (min-width: 1100px) { .storie-altre--loom { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.storia { margin: 0; scroll-snap-align: start; display: grid; gap: 14px; align-content: start; padding: 14px; border-radius: var(--raggio); background: var(--scheda); border: 1px solid var(--linea); }
.storia .video-telaio { width: 100%; box-shadow: none; border-radius: 14px; }
.storia figcaption { display: grid; gap: 10px; }
.storia__frase { font-size: 1.0625rem; line-height: 1.42; color: var(--paper); }
.storia__frase::before { content: "«"; } .storia__frase::after { content: "»"; }
.storia--loom .storia__frase::before, .storia--loom .storia__frase::after { content: none; }
.storie__nota { margin-top: 28px; text-align: center; }

/* Card del VIP: il percorso e, sotto, l'anno di Scalers+ */
.gruppo-voci { display: grid; gap: 10px; }
.gruppo-voci + .gruppo-voci { margin-top: 18px; }
.gruppo-voci__titolo { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--lilac); }
.gruppo-voci__piu { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--viola-pieno); color: #FFFFFF; font-size: 1.125rem; line-height: 1; box-shadow: 0 0 14px rgba(124, 60, 255, .6); }
.gruppo-voci--piu .ricevuta { border-color: var(--linea-forte); background: rgba(124, 60, 255, .08); }
.gruppo-voci__link { font-size: 1rem; }
.gruppo-voci__valore { font-size: 1rem; line-height: 1.45; color: var(--paper); }
.gruppo-voci__valore strong { color: var(--lilac); }
.gruppo-voci__prezzo { margin-left: auto; padding: 2px 10px; border: 1px solid var(--linea-forte); border-radius: 999px; font-size: .875rem; letter-spacing: .02em; text-transform: none; color: var(--paper); white-space: nowrap; }
.gruppo-voci__link a { color: var(--lilac); font-weight: 700; text-underline-offset: 3px; }
/* Matteo 15/11: nel VIP la lista delle 12 sessioni del percorso Premium */
.sessioni-mini { counter-reset: sm; list-style: none; margin: 0; padding: 16px 18px; display: grid; gap: 8px 18px; grid-template-columns: minmax(0, 1fr); border: 1px solid var(--linea-forte); border-radius: var(--raggio); background: rgba(124, 60, 255, .08); }
@media (min-width: 520px) { .sessioni-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sessioni-mini li { counter-increment: sm; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; align-items: baseline; font-size: var(--t-min); line-height: 1.35; color: var(--paper); }
.sessioni-mini li::before { content: counter(sm, decimal-leading-zero); font-variant-numeric: tabular-nums; font-size: .8125rem; font-weight: 700; color: var(--lilac); }

/* Scalers+ */
.scalers { display: grid; gap: 32px; }
.scalers__colonne { display: grid; gap: 20px; }
@media (min-width: 820px) { .scalers__colonne { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } }
.scalers__lista { padding: 24px; border-radius: var(--raggio); background: var(--scheda); border: 1px solid var(--linea-forte); box-shadow: var(--ombra-scheda); }
.scalers__lista h3 { font-family: var(--f-titoli); font-weight: 700; font-size: clamp(1.3125rem, 1.15rem + .6vw, 1.625rem); color: var(--paper); margin-bottom: 14px; }
.lista-spunte { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lista-spunte li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; font-size: var(--t-min); line-height: 1.4; color: var(--paper); }
.lista-spunte li::before { content: ""; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; background: center / 14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"), var(--viola-pieno); }
.scalers__prove { display: grid; gap: 14px; justify-items: center; text-align: center; }
.scalers__prove .pillole { justify-content: center; }
.scalers__risultato { font-size: var(--t-corpo); line-height: 1.35; color: var(--paper); }
.scalers__risultato strong { color: var(--lilac); }

/* Recensioni in testo: card chiare, testo grande e leggibile */
.reccard-griglia { display: grid; gap: 18px; margin-top: 18px; }
.cassa-recensioni { display: grid; gap: 0; min-width: 0; }
.cassa-recensioni .recensioni__testa { margin: 4px 0 14px; }
.cassa-recensioni .recensioni__titolo { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); }
.reccard-fila { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 82%); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 16px; margin-inline: -4px; scrollbar-width: thin; }
.reccard-fila > .reccard { scroll-snap-align: start; }
.reccard-fila:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; border-radius: 12px; }
@media (min-width: 640px) { .reccard-fila { grid-auto-columns: minmax(300px, 46%); } }
@media (min-width: 720px) { .reccard-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .reccard-griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.reccard { margin: 0; display: flex; flex-direction: column; gap: 12px; padding: 22px 22px 20px; border-radius: 18px; background: #FBFAFF; color: #16121F; box-shadow: 0 24px 50px -30px rgba(124, 60, 255, .8); }
.reccard__stelle { display: flex; gap: 4px; }
.reccard__stelle span { display: grid; place-items: center; width: 24px; height: 24px; }
.reccard__stelle svg { width: 18px; height: 18px; fill: #FFFFFF; }
.reccard__stelle--tp span { background: #00B67A; border-radius: 3px; }
.reccard__stelle--skool span { width: auto; height: auto; }
.reccard__stelle--skool svg { width: 22px; height: 22px; fill: #F5B400; }
.reccard__titolo { font-weight: 700; font-size: 1.1875rem; line-height: 1.3; color: #16121F; }
.reccard__testo { margin: 0; }
.reccard__testo p { font-size: 1.0625rem; line-height: 1.5; color: #2A2338; }
.reccard__chi { margin-top: auto; padding-top: 10px; border-top: 1px solid #E7E1F5; display: grid; gap: 2px; font-size: 1rem; line-height: 1.35; color: #5B5470; }
.reccard__chi strong { color: #16121F; font-size: 1.0625rem; }

/* Cassa: «Mi serve la fattura» */
.consenso--fattura { margin-top: 6px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--linea-forte); background: var(--vetro); }
.consenso--fattura .muto { display: block; font-size: 1rem; }
[data-campi-fattura] { margin-top: 12px; }
#titolo-cassa:focus { outline: none; }

/* ---------------------------------------------------------------- 13/11: recensioni come foto, video nella cassa */
.recfoto-colonna { display: grid; gap: 18px; margin: 18px auto 0; max-width: 820px; }
@media (min-width: 640px) { .recfoto-colonna { gap: 24px; } }
.recfoto { margin: 0; border-radius: 16px; overflow: hidden; background: #FFFFFF; box-shadow: 0 24px 50px -30px rgba(124, 60, 255, .8); }
.recfoto__link { display: block; }
.recfoto img { display: block; width: 100%; height: auto; }
.recfoto__link:focus-visible { outline: 3px solid var(--violet); outline-offset: -3px; }
.recfoto-altre { max-width: 820px; margin: 24px auto 0; }
.recfoto-altre > summary { list-style: none; display: flex; width: fit-content; margin-inline: auto; cursor: pointer; }
.recfoto-altre > summary::-webkit-details-marker { display: none; }
.recfoto-altre[open] > summary { display: none; }
.recfoto-altre .recfoto-colonna { margin-top: 0; }
.cassa-storie .recfoto-colonna { margin-top: 0; max-width: none; }
.cassa-storie { display: grid; gap: 0; min-width: 0; }
.cassa-storie .recensioni__testa { margin: 4px 0 16px; }
.cassa-storie .recensioni__testa:not(:first-child) { margin-top: 28px; }
.cassa-storie .recensioni__titolo { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); }
.cassa-video { display: grid; gap: 22px; }
.cassa-video__loom { display: grid; gap: 22px; align-content: start; }
.cassa-video__voce { margin: 0; display: grid; gap: 12px; align-content: start; }
.cassa-video__voce figcaption { display: grid; gap: 8px; }
.cassa-video__voce--verticale .video-telaio--verticale { width: min(100%, 300px); justify-self: center; }
.cassa-video__frase { font-size: 1.0625rem; line-height: 1.42; color: var(--paper); }
.cassa-storie__nota { margin-top: 14px; }
@media (min-width: 640px) {
  .cassa-video { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; }
  .cassa-video__voce--verticale .video-telaio--verticale { width: 100%; }
}
/* Matteo 13/11 09:38: «oscura questo» (la foto dell'apertura) e una riga di prova in più sotto i pulsanti */
.apertura__foto .telaio img { filter: brightness(.62) saturate(.85) contrast(1.05); }
.apertura__foto .telaio::after { background: linear-gradient(180deg, rgba(5, 5, 7, .15) 0%, rgba(5, 5, 7, 0) 35%, rgba(53, 16, 112, .55) 100%); }
.prove { display: grid; gap: 10px; }
