.esr-app,.esr-result{--ink:#1B1624;--tx:#3C3E49;--az:#5DCDF1;--co:#FD976D;--gi:#FDD46B;--li:#C9B1FB;--ve:#79D287;--b0:#FFFFFF;--b1:#F9F6F3;--b2:#F3EDE9;--b3:#ECE5E1;font-family:'Figtree',Arial,sans-serif;color:var(--tx);max-width:820px;margin:0 auto;box-sizing:border-box}
.esr-app *,.esr-result *{box-sizing:border-box}
.esr-box,.esr-result{background:var(--b0);border:1px solid var(--b3);border-radius:28px;padding:44px;box-shadow:0 20px 50px rgba(27,22,36,.08)}
.esr-app h2,.esr-result h2,.esr-result h3,.esr-result h4{font-family:'Fraunces',Georgia,serif;color:var(--ink);font-weight:600;line-height:1.15;margin:0 0 14px}
.esr-app h2,.esr-result h2{font-size:clamp(28px,4vw,40px)}
.esr-result h3{font-size:26px;margin-top:36px}
.esr-result h4{font-size:21px;margin:8px 0 8px}
.esr-kicker{display:inline-block;background:var(--gi);color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin:0 0 16px}
.esr-lead{font-size:19px;line-height:1.6;margin:0 0 20px}
.esr-points{margin:0 0 28px;padding-left:20px;font-size:17px;line-height:1.7}
.esr-btn{display:inline-block;background:var(--ink);color:#fff!important;border:2px solid var(--ink);font-family:inherit;font-weight:700;font-size:18px;padding:16px 30px;border-radius:99px;cursor:pointer;text-decoration:none;box-shadow:0 6px 0 var(--co);transition:.15s}
.esr-btn:hover{transform:translateY(3px);box-shadow:0 3px 0 var(--co)}
.esr-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:0 6px 0 var(--b3)}
.esr-btn-ghost{background:transparent;color:var(--ink)!important;box-shadow:none}
.esr-btn-ghost:hover{background:var(--b2);transform:none;box-shadow:none}
.esr-progress{height:8px;background:var(--b2);border-radius:99px;margin:0 0 26px;overflow:hidden}
.esr-progress span{display:block;height:100%;background:var(--co);border-radius:99px;transition:width .3s}
.esr-scale-help{display:flex;justify-content:space-between;font-size:13px;color:#6b6a75;margin:0 0 6px}
.esr-q{border:0;border-top:1px solid var(--b3);margin:0;padding:20px 0}
.esr-q legend{font-size:18px;line-height:1.5;color:var(--ink);font-weight:600;padding:0;margin-bottom:12px;width:100%}
.esr-opts{display:flex;gap:10px}
.esr-opt{flex:1;position:relative;cursor:pointer}
.esr-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.esr-opt span{display:flex;align-items:center;justify-content:center;height:52px;border:2px solid var(--b3);border-radius:14px;font-weight:700;font-size:18px;color:var(--ink);background:var(--b1);transition:.15s}
.esr-opt:hover span{border-color:var(--az)}
.esr-opt input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.esr-opt input:focus-visible+span{outline:3px solid var(--az);outline-offset:2px}
.esr-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.esr-hint,.esr-error{color:#b23a1d;font-size:15px;margin:12px 0 0;min-height:1em}
.esr-form{display:flex;flex-direction:column;gap:18px}
.esr-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.esr-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--ink);font-size:16px}
.esr-form input:not([type=checkbox]){border:2px solid var(--b3);border-radius:14px;padding:14px 16px;font-size:17px;font-family:inherit;background:var(--b1);width:100%}
.esr-form input:focus{border-color:var(--az);outline:0}
.esr-form .esr-check{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;font-size:15px;line-height:1.5;color:var(--tx)}
.esr-check input{margin-top:3px;width:20px;height:20px;flex:0 0 20px}
.esr-check a{color:var(--ink)}
.esr-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
/* risultato */
.esr-note{background:#E9F8EC;border-radius:14px;padding:14px 18px;margin:0 0 20px;color:var(--ink);font-weight:600}
.esr-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;margin-top:16px}
.esr-bar{margin:0 0 14px}
.esr-bar-top{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin-bottom:6px;color:var(--ink)}
.esr-bar-top span{color:#6b6a75;font-size:14px;white-space:nowrap}
.esr-track{height:12px;background:var(--b2);border-radius:99px;overflow:hidden}
.esr-fill{height:100%;border-radius:99px}
.esr-fill.esr-basso{background:var(--co)}.esr-fill.esr-medio{background:var(--gi)}.esr-fill.esr-alto{background:var(--ve)}
.esr-weak{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.esr-card{background:var(--b1);border:1px solid var(--b3);border-top:8px solid var(--co);border-radius:20px;padding:22px}
.esr-card-medio{border-top-color:var(--gi)}.esr-card-alto{border-top-color:var(--ve)}
.esr-card p{margin:0;font-size:16px;line-height:1.6}
.esr-tag{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.esr-cta{background:var(--ink);border-radius:24px;padding:34px;margin-top:36px}
.esr-cta h3{color:#fff;margin-top:0}
.esr-cta p{color:#fff;font-size:18px;margin:0 0 20px}
.esr-cta .esr-btn{background:var(--gi);color:var(--ink)!important;border-color:var(--gi);box-shadow:0 6px 0 var(--li)}
@media(max-width:760px){.esr-box,.esr-result{padding:26px 20px;border-radius:22px}.esr-row,.esr-grid,.esr-weak{grid-template-columns:1fr}.esr-opt span{height:48px}.esr-btn{width:100%;text-align:center}.esr-nav{flex-direction:column-reverse}.esr-cta{padding:26px 20px}}
.esr-captcha{margin:16px 0 4px}
.esr-proof{margin:36px 0 8px}.esr-proof h3{margin:0 0 16px}
