/* ═══════════════════════════════════════════════════════
   THE LONDON ACADEMY — Lead Capture CSS · Mobile-First
   ═══════════════════════════════════════════════════════ */
:root {
    --navy:      #1A2B4A; --navy-deep: #111E35; --navy-mid: #243660;
    --gold:      #C4922A; --gold-lt:   #D4A84A; --gold-pale: #F5EDD8;
    --cream:     #F7F3EC; --cream-dk:  #EDE8DF; --white:    #FFFFFF;
    --text:      #1A2B4A; --text-mid:  #4A5B78; --text-muted:#7A8BA8;
    --border:    #DDD5C4; --ok:#2A7A4B; --ok-bg:#EAF7EF; --err:#C0392B; --err-bg:#FDECEA;
    --wa:#25D366;
    --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',-apple-system,sans-serif;
    --r-sm:8px; --r-md:14px; --r-lg:20px;
    --shadow:0 8px 32px rgba(26,43,74,.14);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);background:var(--cream);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;}

/* ── LOGO ───────────────────────────────────────────── */
.header-logo-link { display:inline-block; flex-shrink:0; }
.header-logo {
    height: 44px;
    width: auto;
    display: block;
    /* Logo ha sfondo bianco — arrotoniamo leggermente */
    border-radius: 6px;
    background: white;
    padding: 3px 6px;
}
.results-logo {
    height: 36px;
    width: auto;
    display: block;
    border-radius: 5px;
    background: rgba(255,255,255,.9);
    padding: 3px 6px;
    margin-bottom: 1rem;
}

/* ── App & Screens ──────────────────────────────────── */
.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;}
.screen{display:none;width:100%;max-width:780px;background:var(--white);animation:slideUp .35s cubic-bezier(.16,1,.3,1);min-height:100vh;flex-direction:column;}
.screen.active{display:flex;}
@media(min-width:640px){
    .app{padding:1.5rem 1rem;justify-content:center;}
    .screen{min-height:auto;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;}
}
@keyframes slideUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ── Logo ───────────────────────────────────────────── */
.academy-logo{display:flex;align-items:center;gap:.75rem;}
.logo-emblem{width:46px;height:46px;flex-shrink:0;background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:var(--gold);border:2px solid var(--gold);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.78rem;font-weight:700;letter-spacing:.05em;}
.logo-emblem.small{width:30px;height:30px;font-size:.58rem;border-width:1.5px;}
.logo-wordmark{display:flex;flex-direction:column;}
.logo-name{font-family:var(--serif);font-size:.95rem;font-weight:600;color:var(--gold-lt);line-height:1.2;}
.logo-tagline{font-size:.62rem;color:rgba(196,146,42,.6);letter-spacing:.08em;text-transform:uppercase;}

/* ── Buttons ────────────────────────────────────────── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.9rem 1.75rem;width:100%;background:linear-gradient(135deg,var(--navy),var(--navy-mid));color:var(--white);border:none;border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,43,74,.25);}
.btn-primary:disabled{background:var(--cream-dk);color:var(--text-muted);cursor:not-allowed;}
.btn-primary.full{width:100%;}
.btn-primary.btn-unlock{background:linear-gradient(135deg,#1A5C2A,#27803C);font-size:1.05rem;padding:1rem;}
.btn-primary.btn-unlock:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 6px 24px rgba(26,92,42,.3);}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;color:var(--text-mid);border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--sans);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;-webkit-tap-highlight-color:transparent;}
.btn-ghost:hover{background:var(--cream);border-color:var(--text-muted);}
@media(min-width:640px){.btn-primary{width:auto;}}

/* ── Session banner ─────────────────────────────────── */
.resume-banner{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--navy-deep);border-bottom:3px solid var(--gold);animation:slideDown .3s ease;}
.resume-banner.hidden{display:none;}
.resume-inner{max-width:780px;margin:0 auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem;}
.resume-inner p{font-size:.88rem;color:rgba(255,255,255,.85);line-height:1.4;}
.resume-btns{display:flex;gap:.5rem;}
.rbtn{padding:.55rem 1rem;border:none;border-radius:var(--r-sm);font-family:var(--sans);font-size:.82rem;font-weight:600;cursor:pointer;}
.rbtn.primary{background:var(--gold);color:var(--navy);}
.rbtn.ghost{background:rgba(255,255,255,.15);color:white;}
@media(min-width:640px){.resume-inner{flex-direction:row;align-items:center;}.resume-inner p{flex:1;}}
@keyframes slideDown{from{transform:translateY(-100%);}to{transform:translateY(0);}}

/* ── Level toast ────────────────────────────────────── */
.level-toast{position:fixed;top:1rem;left:50%;transform:translateX(-50%) translateY(-80px);z-index:300;max-width:300px;width:90%;padding:.7rem 1.25rem;border-radius:100px;font-size:.85rem;font-weight:600;text-align:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;opacity:0;pointer-events:none;white-space:nowrap;}
.level-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.level-toast.up{background:var(--ok);color:white;}
.level-toast.down{background:var(--navy);color:white;}

/* ── EXIT INTENT MODAL ──────────────────────────────── */
.exit-modal{position:fixed;inset:0;background:rgba(17,30,53,.7);backdrop-filter:blur(5px);z-index:600;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s ease;}
.exit-modal.hidden{display:none;}
.exit-modal-box{background:var(--white);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:1.75rem 1.5rem 2rem;width:100%;max-width:480px;position:relative;animation:slideUp .35s cubic-bezier(.16,1,.3,1);}
@media(min-width:640px){.exit-modal{align-items:center;}.exit-modal-box{border-radius:var(--r-lg);padding:2.5rem;}}
.exit-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:.25rem;}
.exit-emoji{font-size:2.5rem;margin-bottom:.75rem;display:block;}
.exit-modal-box h2{font-family:var(--serif);font-size:1.4rem;color:var(--navy);margin-bottom:.5rem;}
.exit-modal-box p{font-size:.9rem;color:var(--text-mid);line-height:1.65;margin-bottom:1.25rem;}
.exit-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem;}
.exit-form input{padding:.85rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;outline:none;-webkit-appearance:none;}
.exit-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,43,74,.08);}
.exit-skip-link{display:block;text-align:center;font-size:.8rem;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:.25rem;text-decoration:underline;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

/* ── MID-TEST POPUP ─────────────────────────────────── */
.midtest-popup{position:fixed;bottom:0;left:0;right:0;z-index:400;background:var(--white);border-top:3px solid var(--gold);box-shadow:0 -6px 32px rgba(26,43,74,.18);animation:slideUpMid .35s cubic-bezier(.16,1,.3,1);padding:1.1rem 1.25rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));}
.midtest-popup.hidden{display:none;}
.midtest-inner{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;position:relative;}
.midtest-close{position:absolute;top:0;right:0;background:none;border:none;font-size:1.3rem;color:var(--text-muted);cursor:pointer;}
.midtest-emoji{font-size:1.6rem;}
.midtest-title{font-weight:700;color:var(--navy);font-size:.95rem;}
.midtest-sub{font-size:.82rem;color:var(--text-mid);}
.midtest-row{display:flex;gap:.6rem;}
.midtest-row input{flex:1;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;outline:none;-webkit-appearance:none;}
.midtest-row input:focus{border-color:var(--navy);}
.midtest-row .btn-primary{width:auto;padding:.75rem 1.25rem;font-size:.9rem;}
.midtest-skip{background:none;border:none;font-size:.78rem;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-align:left;padding:0;}
@keyframes slideUpMid{from{transform:translateY(100%);}to{transform:translateY(0);}}

/* ── WELCOME SCREEN ─────────────────────────────────── */
.welcome-header{background:linear-gradient(135deg,var(--navy-deep),var(--navy));padding:1.1rem 1.25rem;border-bottom:3px solid var(--gold);flex-shrink:0;display:flex;flex-direction:column;gap:.75rem;}
.social-proof-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.3rem .85rem;border-radius:100px;font-size:.73rem;color:rgba(255,255,255,.8);}
.sp-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex-shrink:0;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.4;}}
@media(min-width:640px){.welcome-header{flex-direction:row;align-items:center;justify-content:space-between;padding:1.5rem 2rem;}}

.welcome-body{flex:1;padding:1.75rem 1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1rem;}
.welcome-badge{display:inline-block;background:var(--gold-pale);color:var(--gold);border:1px solid rgba(196,146,42,.3);font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .85rem;border-radius:100px;}
.welcome-body h1{font-family:var(--serif);font-size:clamp(1.8rem,6vw,2.8rem);font-weight:700;color:var(--navy);line-height:1.15;}
.welcome-body h1 em{font-style:italic;color:var(--gold);}
.subtitle{font-size:.9rem;color:var(--text-mid);font-weight:400;}
.test-stats{display:flex;align-items:center;justify-content:center;gap:1.1rem;padding:1.1rem;background:var(--cream);border:1px solid var(--border);border-radius:var(--r-md);width:100%;}
.stat{text-align:center;}
.stat-n{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--navy);line-height:1;}
.stat-l{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:500;margin-top:3px;}
.stat-div{width:1px;height:32px;background:var(--border);}

/* ★ WELCOME EMAIL CAPTURE */
.welcome-capture{width:100%;max-width:520px;display:flex;flex-direction:column;gap:.6rem;background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-radius:var(--r-md);padding:1.5rem;border:2px solid var(--gold);}
.capture-label{font-size:.85rem;color:rgba(255,255,255,.85);font-weight:500;}
.capture-row{display:flex;flex-direction:column;gap:.6rem;}
.capture-row input{padding:.85rem 1rem;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;background:rgba(255,255,255,.1);color:white;outline:none;-webkit-appearance:none;}
.capture-row input::placeholder{color:rgba(255,255,255,.45);}
.capture-row input:focus{border-color:var(--gold);background:rgba(255,255,255,.15);}
.capture-row .btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-lt));color:var(--navy);font-weight:700;}
.capture-row .btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 5px 16px rgba(196,146,42,.35);}
.skip-link{background:none;border:none;font-size:.75rem;color:rgba(255,255,255,.5);cursor:pointer;text-decoration:underline;text-align:center;padding:.25rem;}
.capture-privacy{font-size:.68rem;color:rgba(255,255,255,.45);text-align:center;}
@media(min-width:480px){.capture-row{flex-direction:row;}.capture-row input{flex:1;}}

.welcome-features{display:flex;flex-direction:column;gap:.35rem;width:100%;}
.wf-item{font-size:.83rem;color:var(--text-mid);text-align:center;}

/* Testimonials */
.testimonials{width:100%;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0;}
.testi-item{padding:1rem 1.25rem;border-bottom:1px solid var(--border);}
.testi-stars{color:var(--gold);font-size:.9rem;margin-bottom:.25rem;}
.testi-item p{font-size:.82rem;color:var(--text-mid);line-height:1.55;font-style:italic;margin-bottom:.25rem;}
.testi-item span{font-size:.72rem;color:var(--text-muted);font-weight:600;}
@media(min-width:640px){.testimonials{flex-direction:row;}.testi-item{flex:1;border-bottom:none;border-right:1px solid var(--border);}.testi-item:last-child{border-right:none;}}

.welcome-footer{padding:.8rem 1.25rem;text-align:center;background:var(--cream);border-top:1px solid var(--border);font-size:.68rem;color:var(--text-muted);}
@media(min-width:640px){.welcome-body{padding:2.5rem 2.5rem;}}

/* ── TEST SCREEN ────────────────────────────────────── */
.test-header{background:var(--navy-deep);padding:.9rem 1.25rem .6rem;flex-shrink:0;position:sticky;top:0;z-index:10;}
.test-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;gap:.5rem;}
.test-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.q-counter{font-size:.75rem;color:rgba(255,255,255,.55);}
.level-pill{display:flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.2rem .7rem;border-radius:100px;font-size:.73rem;color:rgba(255,255,255,.65);}
.level-pill-label{font-size:.65rem;opacity:.7;}
.level-pill strong{color:var(--gold-lt);font-weight:600;}
.timer{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.28rem .7rem;border-radius:100px;font-size:.88rem;font-weight:600;color:rgba(255,255,255,.9);font-variant-numeric:tabular-nums;flex-shrink:0;transition:all .3s;}
.timer.warning{background:rgba(196,146,42,.25);border-color:rgba(196,146,42,.4);color:var(--gold-lt);}
.timer.urgent{background:rgba(192,57,43,.25);border-color:rgba(192,57,43,.4);color:#FF6B6B;animation:pulse 1s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.65;}}
.progress-bar{height:3px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-lt));border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);}

/* Progress encouragement */
.progress-msg{background:linear-gradient(90deg,rgba(42,122,75,.12),rgba(42,122,75,.05));border-left:3px solid var(--ok);padding:.65rem 1.25rem;font-size:.85rem;color:var(--ok);font-weight:600;animation:fadeDown .3s ease;}
.progress-msg.hidden{display:none;}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

.question-area{flex:1;padding:1.5rem 1.25rem;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-y:auto;}
.question-text{font-size:1.02rem;font-weight:500;color:var(--navy);line-height:1.75;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border);}
.options{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;}
.option{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;background:var(--cream);border:2px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:all .18s, border-color .15s, background .15s;min-height:50px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.option:hover{background:var(--gold-pale);border-color:rgba(196,146,42,.3);}
.opt-letter{flex-shrink:0;width:27px;height:27px;background:var(--white);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--text-muted);transition:all .18s;user-select:none;}
.opt-text{font-size:.9rem;color:var(--text);line-height:1.5;padding-top:3px;}
.option.selected{background:rgba(26,43,74,.06);border-color:var(--navy);}
.option.selected .opt-letter{background:var(--navy);border-color:var(--navy);color:white;}
.option.correct{background:var(--ok-bg);border-color:var(--ok);}
.option.correct .opt-letter{background:var(--ok);border-color:var(--ok);color:white;}
.option.incorrect{background:var(--err-bg);border-color:var(--err);}
.option.incorrect .opt-letter{background:var(--err);border-color:var(--err);color:white;}
.option:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.explanation{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:var(--r-sm);animation:fadeUp .25s ease;}
.explanation.hidden{display:none;}
.explanation.correct-bg{background:var(--ok-bg);border:1px solid rgba(42,122,75,.25);}
.explanation.incorrect-bg{background:var(--err-bg);border:1px solid rgba(192,57,43,.25);}
.explanation p{font-size:.83rem;color:var(--text-mid);line-height:1.6;}
@keyframes fadeUp{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.test-footer{position:sticky;bottom:0;background:var(--white);border-top:1px solid var(--border);padding:.8rem 1.25rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom));flex-shrink:0;}
@media(min-width:640px){.test-header{padding:1rem 2rem .75rem;position:static;}.question-area{padding:2rem;padding-bottom:1rem;}.test-footer{position:static;padding:1rem 2rem;display:flex;justify-content:flex-end;}.question-text{font-size:1.1rem;}}

/* ── RESULTS ────────────────────────────────────────── */
.results-hero{background:linear-gradient(150deg,var(--navy-deep),var(--navy));padding:2rem 1.25rem;text-align:center;border-bottom:3px solid var(--gold);flex-shrink:0;}
.results-logo-row{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;color:rgba(196,146,42,.7);font-size:.78rem;font-weight:500;}
.results-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.4);margin-bottom:.5rem;}
.final-level{font-family:var(--serif);font-size:5.5rem;font-weight:700;color:var(--gold);line-height:1;text-shadow:0 4px 20px rgba(196,146,42,.3);margin-bottom:.35rem;}

/* ── GATED CONTENT ──────────────────────────────────── */
.gated-content{filter:blur(8px);user-select:none;pointer-events:none;transition:filter .6s ease,opacity .4s;}
.gated-content.unlocked{filter:none;pointer-events:auto;animation:revealContent .5s ease;}
@keyframes revealContent{from{opacity:.4;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.level-name{font-family:var(--serif);font-size:1.2rem;font-style:italic;color:rgba(255,255,255,.88);margin-bottom:.8rem;}
.level-desc{font-size:.87rem;color:rgba(255,255,255,.58);max-width:440px;margin:0 auto;line-height:1.7;}

/* CEFR scale */
.cefr-scale-wrap{background:var(--navy);padding:1.1rem 1.5rem 1.4rem;flex-shrink:0;}
.cefr-scale{position:relative;max-width:500px;margin:0 auto;}
.cefr-track{position:absolute;top:11px;left:0;right:0;height:2px;background:rgba(255,255,255,.15);border-radius:1px;}
.cefr-nodes{display:flex;justify-content:space-between;position:relative;}
.cefr-node{display:flex;flex-direction:column;align-items:center;gap:.4rem;}
.cefr-dot{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.25);transition:all .4s ease;}
.cefr-node span{font-size:.66rem;color:rgba(255,255,255,.4);font-weight:600;letter-spacing:.05em;transition:color .4s;}
.cefr-node.passed .cefr-dot{background:rgba(196,146,42,.4);border-color:rgba(196,146,42,.6);}
.cefr-node.active .cefr-dot{background:var(--gold);border-color:var(--gold-lt);box-shadow:0 0 0 4px rgba(196,146,42,.25);transform:scale(1.2);}
.cefr-node.active span{color:var(--gold-lt);font-size:.73rem;}
.cefr-node.passed span{color:rgba(196,146,42,.65);}

.results-body{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem;}

/* Gate prompt */
.gate-prompt{background:linear-gradient(135deg,var(--gold-pale),#FFF8EE);border:1.5px solid rgba(196,146,42,.35);border-radius:var(--r-md);padding:1.1rem;}
.gate-prompt-inner{display:flex;align-items:flex-start;gap:.85rem;}
.gate-lock{font-size:1.8rem;flex-shrink:0;}
.gate-prompt-inner strong{display:block;font-size:.95rem;color:var(--navy);margin-bottom:.3rem;}
.gate-prompt-inner p{font-size:.82rem;color:var(--text-mid);line-height:1.6;}

/* Report form */
.report-section{background:var(--cream);border:1px solid var(--border);border-radius:var(--r-md);padding:1.25rem;}
.report-header{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.85rem;}
.report-icon{font-size:1.8rem;flex-shrink:0;}
.report-header h2{font-family:var(--serif);font-size:1.05rem;color:var(--navy);margin-bottom:.2rem;}
.report-header p{font-size:.83rem;color:var(--text-mid);}
.report-perks{list-style:none;padding:.85rem 1rem;background:rgba(196,146,42,.07);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:1rem;display:flex;flex-direction:column;gap:.3rem;}
.report-perks li{font-size:.82rem;color:var(--text-mid);}

/* Social proof near form */
.form-social-proof{display:flex;align-items:center;gap:.65rem;padding:.7rem .9rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:1rem;}
.fsp-avatars{font-size:.9rem;letter-spacing:-2px;}
.form-social-proof span{font-size:.78rem;color:var(--text-mid);}
.form-social-proof strong{color:var(--navy);}

/* Form fields */
.form-row{display:grid;grid-template-columns:1fr;gap:.85rem;margin-bottom:.85rem;}
.form-group{display:flex;flex-direction:column;gap:.38rem;margin-bottom:.85rem;}
.form-group label{font-size:.78rem;font-weight:600;color:var(--navy);}
.req{color:var(--gold);}
.opt-label{font-size:.7rem;color:var(--text-muted);font-weight:400;}
.form-group input{padding:.8rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;color:var(--text);background:var(--white);transition:border-color .2s,box-shadow .2s;outline:none;-webkit-appearance:none;}
.form-group input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,43,74,.08);}
.form-group input::placeholder{color:var(--text-muted);}
.select-wrap{position:relative;}
.select-wrap select{width:100%;padding:.8rem 2.5rem .8rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--sans);font-size:1rem;color:var(--text);background:var(--white);-webkit-appearance:none;appearance:none;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;}
.select-wrap select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,43,74,.08);}
.select-wrap select:invalid{color:var(--text-muted);}
.select-arrow{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;}
.gdpr-wrap{margin-bottom:1.1rem;}
.gdpr-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;}
.gdpr-label input{position:absolute;opacity:0;width:0;height:0;}
.gdpr-box{flex-shrink:0;width:22px;height:22px;margin-top:1px;border:2px solid var(--border);border-radius:4px;background:var(--white);display:flex;align-items:center;justify-content:center;transition:all .18s;}
.gdpr-label input:checked~.gdpr-box{background:var(--navy);border-color:var(--navy);}
.gdpr-label input:checked~.gdpr-box::after{content:'';display:block;width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);}
.gdpr-text{font-size:.77rem;color:var(--text-mid);line-height:1.6;}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}

/* Trust signals */
.trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.75rem;}
.trust-row span{font-size:.72rem;color:var(--text-muted);}

/* WhatsApp alternative */
.wa-alternative{text-align:center;padding-top:1rem;border-top:1px solid var(--border);margin-top:1rem;}
.wa-or{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.65rem;}
.wa-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--wa);color:white;text-decoration:none;border-radius:var(--r-sm);font-size:.88rem;font-weight:600;transition:filter .2s;-webkit-tap-highlight-color:transparent;}
.wa-btn:hover{filter:brightness(1.08);}

.form-error{background:var(--err-bg);border:1px solid rgba(192,57,43,.25);border-left:4px solid var(--err);color:var(--err);font-size:.82rem;padding:.7rem 1rem;border-radius:var(--r-sm);margin-bottom:.85rem;}
.form-error.hidden{display:none;}

/* Unlocked content */
.unlocked-content{display:flex;flex-direction:column;gap:1.5rem;}
.unlocked-content.hidden{display:none;}

.section-title{font-family:var(--serif);font-size:1.05rem;color:var(--navy);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--gold-pale);}
.section-desc{font-size:.85rem;color:var(--text-mid);margin-bottom:1rem;}

/* Course cards */
.course-cards{display:flex;flex-direction:column;gap:.85rem;}
.course-card{display:flex;flex-direction:column;gap:.6rem;padding:1.1rem;background:var(--cream);border:2px solid var(--border);border-radius:var(--r-md);text-decoration:none;color:var(--text);position:relative;overflow:hidden;transition:all .22s;-webkit-tap-highlight-color:transparent;}
.course-card:hover{border-color:var(--navy);box-shadow:0 4px 20px rgba(26,43,74,.1);transform:translateY(-2px);}
.course-badge{display:none;position:absolute;top:0;right:0;background:var(--gold);color:var(--navy);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:0 0 0 var(--r-sm);}
.course-card.recommended{border-color:var(--gold);background:linear-gradient(160deg,var(--gold-pale),var(--cream));}
.course-card.recommended .course-badge{display:block;}
.course-card.recommended .course-cta{color:var(--gold);font-weight:600;}
.course-top{display:flex;align-items:center;gap:.7rem;}
.course-icon{font-size:1.4rem;flex-shrink:0;}
.course-top h3{font-family:var(--serif);font-size:.95rem;color:var(--navy);line-height:1.3;}
.course-tag{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:500;}
.course-card p{font-size:.81rem;color:var(--text-mid);line-height:1.6;}
.course-cta{font-size:.81rem;font-weight:600;color:var(--navy);margin-top:.2rem;}

/* LanguageCert */
.cert-inner{background:linear-gradient(135deg,var(--navy-deep),var(--navy));border-radius:var(--r-md);padding:1.4rem;position:relative;overflow:hidden;}
.cert-inner::after{content:'LanguageCert';position:absolute;right:-8px;top:10px;font-family:var(--serif);font-size:4rem;font-weight:700;color:rgba(255,255,255,.03);pointer-events:none;white-space:nowrap;}
.cert-header{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.9rem;}
.cert-logo{flex-shrink:0;width:44px;height:44px;background:var(--gold);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;}
.cert-logo span{font-family:var(--serif);font-size:.8rem;font-weight:700;color:var(--navy);}
.cert-badge-pill{display:inline-block;margin-bottom:.3rem;background:rgba(196,146,42,.2);border:1px solid rgba(196,146,42,.4);color:var(--gold-lt);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:100px;}
.cert-header h2{font-family:var(--serif);font-size:1rem;color:white;margin-bottom:.18rem;font-weight:600;}
.cert-header p{font-size:.76rem;color:rgba(255,255,255,.5);}
.cert-desc{font-size:.83rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:.9rem;}
.cert-desc strong{color:rgba(255,255,255,.9);}
.cert-features{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:1.1rem;}
.cert-feat{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);padding:.5rem .7rem;font-size:.76rem;color:rgba(255,255,255,.7);}
.cert-feat span:first-child{font-size:.88rem;flex-shrink:0;}
.cert-ctas{display:flex;flex-direction:column;gap:.55rem;}
.cert-btn-gold{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;background:var(--gold);color:var(--navy);text-decoration:none;border-radius:var(--r-sm);font-size:.86rem;font-weight:700;transition:all .2s;-webkit-tap-highlight-color:transparent;}
.cert-btn-gold:hover{background:var(--gold-lt);transform:translateY(-1px);}
.cert-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;background:transparent;color:rgba(255,255,255,.65);border:1.5px solid rgba(255,255,255,.2);text-decoration:none;border-radius:var(--r-sm);font-size:.86rem;font-weight:500;transition:all .2s;}
.cert-btn-ghost:hover{background:rgba(255,255,255,.08);color:white;}
.cert-btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--wa);color:white;text-decoration:none;border-radius:var(--r-sm);font-size:.86rem;font-weight:600;transition:filter .2s;}
.cert-btn-wa:hover{filter:brightness(1.08);}
@media(min-width:640px){.cert-ctas{flex-direction:row;flex-wrap:wrap;}.cert-btn-gold,.cert-btn-ghost,.cert-btn-wa{width:auto;}}

.results-footer-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}

/* SUCCESS */
.success-wrap{flex:1;padding:2rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center;}
.success-check{width:68px;height:68px;background:linear-gradient(135deg,var(--ok),#3AA060);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pop .5s cubic-bezier(.34,1.56,.64,1);}
.success-check svg{width:32px;height:32px;stroke:white;}
@keyframes pop{from{transform:scale(.3);opacity:0;}to{transform:scale(1);opacity:1;}}
.success-wrap h1{font-family:var(--serif);font-size:1.9rem;color:var(--navy);}
.success-wrap>p{font-size:.9rem;color:var(--text-mid);max-width:360px;line-height:1.7;}
.success-note{font-size:.78rem!important;color:var(--text-muted)!important;font-style:italic;}
.success-links{width:100%;max-width:380px;}
.success-links>p{font-size:.8rem;color:var(--text-muted);margin-bottom:.65rem;}
.success-link-grid{display:flex;flex-direction:column;gap:.55rem;}
.slink{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.82rem 1.25rem;border-radius:var(--r-sm);text-decoration:none;font-size:.86rem;font-weight:600;transition:all .2s;-webkit-tap-highlight-color:transparent;}
.slink.navy{background:linear-gradient(135deg,var(--navy),var(--navy-mid));color:white;}
.slink.outline{background:transparent;color:var(--navy);border:1.5px solid var(--border);}
.slink.outline:hover{background:var(--cream);border-color:var(--navy);}
.slink.gold{background:linear-gradient(135deg,var(--gold),var(--gold-lt));color:var(--navy);}
.slink.wa{background:var(--wa);color:white;}
@media(min-width:640px){.success-wrap{padding:3rem 2rem;}}

/* LOADING */
.loading-overlay{position:fixed;inset:0;background:rgba(17,30,53,.65);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:500;}
.loading-overlay.active{display:flex;}
.loading-card{background:var(--white);border-radius:var(--r-md);padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem;}
.spinner{width:38px;height:38px;border:3px solid var(--cream-dk);border-top-color:var(--navy);border-radius:50%;animation:spin .75s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-card p{font-size:.88rem;color:var(--text-mid);}

/* Responsive extras */
@media(min-width:640px){
    .course-cards{flex-direction:row;}
    .course-card{flex:1;}
    .form-row{grid-template-columns:1fr 1fr;}
    .results-hero{padding:2.5rem 2rem;}
    .results-body{padding:1.75rem 2rem;gap:1.75rem;}
    .report-section{padding:1.75rem;}
    .final-level{font-size:6.5rem;}
}
