
/* MADE Outer Sans, servito da Vercel. Non piu' incorporato in base64:
   cosi' il file resta leggero e il font si scarica una volta sola. */
@font-face{font-family:'MADE Outer Sans';font-weight:900;font-style:normal;font-display:swap;
  src:url('https://ep-diagnostica.vercel.app/MADE-Black.woff2?v=4') format('woff2')}
@font-face{font-family:'MADE Outer Sans';font-weight:700;font-style:normal;font-display:swap;
  src:url('https://ep-diagnostica.vercel.app/MADE-Bold.woff2?v=4') format('woff2')}


    .ep-app,.ep-app *,.ep-app *::before,.ep-app *::after{box-sizing:border-box;margin:0;padding:0}

    /* ══ SISTEMA ══════════════════════════════════════════════════════════
       Valori presi dal sito espansionepsicofisica.com, non a memoria:
       display MADE Outer Sans 900, testo Barlow, rosso #B84233, fondo #0A0A0A.
       La diagnostica era rimasta su Barlow Condensed, che il sito non usa
       piu' da nessuna parte: e' per questo che sembrava un'altra cosa. */
    #ep-app {
      --bg:#0A0A0A; --surface:#161616; --card:#1C1B19;
      --w:#EEEBE3; --mid:#BDB9B0; --dim:#8A8680; --faint:#4A4844;
      --border:#1C1C1C; --border-strong:#2A2A2A;
      --red:#B84233;
      --fd:'MADE Outer Sans',-apple-system,sans-serif;   /* display */
      --fb:'Barlow',-apple-system,sans-serif;            /* testo */
      --fs:'Newsreader',Georgia,serif;                   /* le frasi che pesano */
      --fm:'JetBrains Mono','Fira Code',monospace;       /* numeri e sigle */
      --ease:cubic-bezier(0.16,1,0.3,1);
    }
    
    #ep-app{background:var(--bg);color:var(--mid);font-family:var(--fb);font-weight:400;
      -webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;padding-bottom:40px}
    .c{max-width:760px;margin:0 auto;padding:0 28px}

    /* ── MARCHIO ──────────────────────────────────────────────────────────
       Lo stesso della barra del sito: due barre e le due lettere. Piccolo.
       Niente ™: sul sito non c'e', e in cima a una schermata pesa e basta. */
    .ep-mark{--m:20px;display:inline-flex;align-items:center;gap:calc(var(--m) * 0.44)}
    .ep-bars{display:inline-flex;align-items:stretch;height:var(--m);gap:calc(var(--m) * 0.16)}
    .ep-bars i{display:block}
    .ep-bars i:first-child{width:calc(var(--m) * 0.13);background:var(--dim)}
    .ep-bars i:last-child{width:calc(var(--m) * 0.22);background:var(--w)}
    .ep-mark b{font-family:var(--fd);font-weight:700;font-size:calc(var(--m) * 0.9);
      line-height:1;letter-spacing:0.04em;color:var(--w)}
    .ep-mark span{font-family:var(--fb);font-weight:500;font-size:11px;letter-spacing:0.18em;
      text-transform:uppercase;color:var(--faint);margin-left:4px}

    /* ── TIPOGRAFIA ───────────────────────────────────────────────────────── */
    .display{font-family:var(--fd);font-weight:900;text-transform:uppercase;color:var(--w);
      letter-spacing:-0.01em;line-height:0.92}
    /* L'etichetta rossa spaziata: e' la firma tipografica del sito. */
    .label{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:0.3em;
      text-transform:uppercase;color:var(--red);display:block;margin-bottom:18px}
    .label--muto{color:var(--dim)}
    #ep-app p{font-family:var(--fb);color:var(--mid);line-height:1.7}
    .serif{font-family:var(--fs);font-weight:400;font-size:clamp(21px,3.4vw,29px);
      line-height:1.45;color:var(--w)}

    /* ── BOTTONI ──────────────────────────────────────────────────────────
       Fondo scuro e barretta rossa a sinistra: identico al "FAI IL TEST"
       del sito. Il bottone bianco pieno non esiste piu' da nessuna parte. */
    .btn{display:inline-block;padding:18px 32px;background:var(--card);color:var(--w);
      border:none;border-left:4px solid var(--red);cursor:pointer;
      font-family:var(--fd);font-weight:700;font-size:15px;letter-spacing:0.03em;
      text-transform:uppercase;text-decoration:none;text-align:left;border-radius:0;
      -webkit-appearance:none;transition:background 0.2s var(--ease)}
    .btn:hover{background:#252420}
    .btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
    .btn-sm{padding:13px 24px;font-size:13px}
    .btn-full{display:block;width:100%;padding:20px 28px;font-size:16px}
    .btn[disabled]{opacity:0.28;cursor:not-allowed;pointer-events:none}
    /* secondario: il "SCOPRI IL METODO →", filetto rosso sotto */
    .btn-outline{background:none;border:none;border-bottom:1px solid var(--red);
      color:var(--mid);font-family:var(--fb);font-weight:600;font-size:14px;
      letter-spacing:0.14em;text-transform:uppercase;padding:10px 2px;cursor:pointer;
      border-radius:0;transition:color 0.2s var(--ease)}
    .btn-outline:hover{color:var(--w)}
    .back{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:0.14em;
      color:var(--faint);cursor:pointer;text-transform:uppercase;background:none;
      border:none;padding:10px 0;transition:color 0.2s var(--ease)}
    .back:hover{color:var(--mid)}

    /* ── SLIDER ───────────────────────────────────────────────────────────── */
    .slider-wrap{margin-bottom:40px}
    .slider-statement{font-size:17px;color:var(--w);margin:0 0 20px;line-height:1.65;
      font-weight:400;font-family:var(--fb)}
    .slider-container{position:relative;height:44px;display:flex;align-items:center}
    .slider-track{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);
      background:var(--border);pointer-events:none;overflow:hidden}
    .slider-fill{height:100%;width:0;transition:width 0.15s ease}
    .slider-anchors{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
    .slider-anchor{font-family:var(--fb);font-size:11px;font-weight:600;color:var(--faint);
      letter-spacing:0.16em;text-transform:uppercase}
    .slider-val{font-family:var(--fm);font-weight:500;font-size:19px;
      transition:color 0.2s var(--ease);min-width:28px;text-align:center}

    .ep-app input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;cursor:pointer;
      outline:none;background:transparent!important;position:relative;z-index:2}
    .ep-app input[type=range]::-webkit-slider-runnable-track{height:2px;background:transparent;border:none}
    .ep-app input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border:none;
      margin-top:-7px;cursor:pointer;border-radius:0;background:var(--tc,var(--faint))}
    .ep-app input[type=range]::-moz-range-track{height:2px;background:transparent;border:none}
    .ep-app input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:0;
      cursor:pointer;background:var(--tc,var(--faint))}
    .ep-app input[type=range]:focus-visible{outline:none}
    .ep-app input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--red)}

    /* ── CAMPO MAIL ───────────────────────────────────────────────────────── */
    .email-input{width:100%;padding:18px 16px;background:var(--surface);
      border:1px solid var(--border-strong);color:var(--w);font-family:var(--fb);font-size:16px;
      border-radius:0;outline:none;transition:border-color 0.2s var(--ease)}
    .email-input:focus{border-color:var(--red)}
    .email-input::placeholder{color:var(--faint)}
    .email-err{color:var(--red);font-size:13px;font-family:var(--fb);min-height:18px;margin-top:8px}

    .incomplete-msg{font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:0.14em;
      color:var(--faint);text-transform:uppercase;text-align:right;opacity:0;
      transition:opacity 0.3s var(--ease)}
    .incomplete-msg.show{opacity:1;color:var(--red)}

    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
    @keyframes pulse{0%,100%{opacity:0.3}50%{opacity:1}}
    .reveal{opacity:0;animation:fadeUp 0.7s var(--ease) forwards}
    .d1{animation-delay:0.05s}.d2{animation-delay:0.15s}.d3{animation-delay:0.25s}
    .d4{animation-delay:0.35s}.d5{animation-delay:0.45s}
    @media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1}}

    .section{display:none}.section.active{display:block}
    .progress-dots{display:flex;gap:6px;align-items:center}
    .progress-dot{width:7px;height:7px;background:var(--border);transition:all 0.3s var(--ease)}
    .progress-dot.done{background:var(--dim)}.progress-dot.current{transform:scale(1.3)}
    .domain-bar{width:40px;height:3px;margin-bottom:20px}
    .domain-title{font-family:var(--fd);font-weight:900;font-size:clamp(40px,8.4vw,64px);
      line-height:0.92;letter-spacing:-0.01em;text-transform:uppercase;color:var(--w);margin-bottom:12px}
    .domain-question{font-family:var(--fs);font-size:19px;font-style:italic;color:var(--dim);
      margin:0 0 44px;line-height:1.55}
    .card{background:var(--card);padding:22px 20px;margin-bottom:2px}
    .score-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;
      border-bottom:1px solid #141414}
    .score-row:last-child{border-bottom:none}
    .bar-track-r{width:80px;height:3px;background:var(--border);overflow:hidden}
    .bar-fill-r{height:3px;width:0}
    #ep-app footer{border-top:1px solid var(--border);padding:28px 0 48px;display:flex;
      justify-content:space-between;align-items:center;gap:20px}
    .footer-sub{font-family:var(--fb);font-size:10px;color:var(--faint);letter-spacing:0.16em;
      text-transform:uppercase;margin-top:6px}

    @media(max-width:540px){
      .c{padding:0 20px}
      .summary-grid{flex-direction:column!important}
      footer{flex-direction:column;align-items:flex-start;gap:16px}
      .results-btns{flex-direction:column!important}
      .results-btns .btn-outline{width:100%;text-align:center}
      .label{font-size:11px;letter-spacing:0.26em}
    }
    @media(min-width:900px){
      .c{max-width:820px;padding:0 48px}
      .slider-statement{font-size:18px}
      .domain-title{font-size:clamp(56px,6.6vw,76px)}
      .domain-question{font-size:21px}
      .score-row{padding:16px 0}
    }
  