/* aaas.boutique — Eligibility Scan funnel (builds on styles.css + lab.css) */

.scan-shell{min-height:100vh;display:flex;flex-direction:column;}
.scan-main{flex:1;display:flex;align-items:center;justify-content:center;padding:100px 24px 60px;}
.scan-card{width:100%;max-width:720px;position:relative;}

/* progress rail */
.scan-prog{display:flex;align-items:center;gap:12px;margin-bottom:26px;}
.scan-prog .bar{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,0.1);overflow:hidden;}
[data-theme="light"] .scan-prog .bar{background:rgba(0,0,0,0.1);}
.scan-prog .fill{height:100%;background:rgb(var(--circuit-glow));box-shadow:0 0 12px rgb(var(--circuit-glow) / 0.5);transition:width 0.5s var(--liquid-ease);}
.scan-prog .step-k{font-family:var(--font-jetbrains);font-size:0.68rem;color:var(--text-muted);white-space:nowrap;letter-spacing:0.05em;}

/* step frame */
.step{animation:stepIn 0.45s var(--liquid-ease);}
@keyframes stepIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.step .eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-jetbrains);font-size:0.65rem;font-weight:500;text-transform:uppercase;letter-spacing:0.18em;color:rgb(var(--accent-red));margin-bottom:14px;}
.step .eyebrow::before{content:"";width:22px;height:2px;background:rgb(var(--accent-red));}
.step .eyebrow.cy{color:rgb(var(--circuit-glow));}
.step .eyebrow.cy::before{background:rgb(var(--circuit-glow));}
.step h2{font-family:var(--font-inter);font-weight:900;text-transform:uppercase;letter-spacing:-0.03em;line-height:0.98;font-size:clamp(1.9rem,3.6vw,2.7rem);margin:0 0 12px;
  background:linear-gradient(180deg,#fff,rgba(224,224,222,0.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
[data-theme="light"] .step h2{background:linear-gradient(180deg,#111,rgba(17,17,19,0.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.step h2 .dot{color:rgb(var(--accent-red));-webkit-text-fill-color:rgb(var(--accent-red));}
.step .sub{font-size:1rem;line-height:1.6;color:var(--text-muted);margin:0 0 26px;max-width:560px;}

/* option grid */
.opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:560px){.opts{grid-template-columns:1fr;}}
.opts.three{grid-template-columns:1fr 1fr 1fr;}
@media(max-width:560px){.opts.three{grid-template-columns:1fr;}}
.opt{display:flex;align-items:center;gap:14px;padding:16px 17px;border-radius:12px;cursor:pointer;text-align:left;
  background:rgb(26 26 28 / 0.5);border:1px solid rgba(255,255,255,0.08);transition:all 0.25s var(--liquid-ease);}
[data-theme="light"] .opt{background:rgba(255,255,255,0.5);border-color:rgba(0,0,0,0.08);}
.opt:hover{border-color:rgb(var(--circuit-glow) / 0.4);transform:translateY(-2px);}
.opt.on{background:rgb(var(--circuit-glow) / 0.1);border-color:rgb(var(--circuit-glow) / 0.65);box-shadow:0 0 0 3px rgb(var(--circuit-glow) / 0.1);}
.opt .ic{width:40px;height:40px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  background:rgb(255 255 255 / 0.05);color:var(--text-muted);transition:all 0.25s var(--liquid-ease);}
.opt.on .ic{background:rgb(var(--circuit-glow));color:rgb(var(--basalt-deep));}
.opt .ttl{display:block;font-family:var(--font-inter);font-weight:600;font-size:0.98rem;color:rgb(var(--text));}
.opt .desc{display:block;font-size:0.8rem;color:var(--text-muted);margin-top:2px;line-height:1.35;}
.opt .chk{margin-left:auto;color:rgb(var(--circuit-glow));opacity:0;transition:opacity 0.2s;}
.opt.on .chk{opacity:1;}

/* toggles (multi) */
.tog{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:11px;cursor:pointer;
  background:rgb(26 26 28 / 0.5);border:1px solid rgba(255,255,255,0.08);transition:all 0.25s var(--liquid-ease);margin-bottom:10px;}
[data-theme="light"] .tog{background:rgba(255,255,255,0.5);border-color:rgba(0,0,0,0.08);}
.tog:hover{border-color:rgb(var(--circuit-glow) / 0.35);}
.tog.on{background:rgb(var(--circuit-glow) / 0.08);border-color:rgb(var(--circuit-glow) / 0.5);}
.tog .box{width:22px;height:22px;flex-shrink:0;border-radius:6px;border:1.5px solid rgba(255,255,255,0.25);display:grid;place-items:center;color:transparent;transition:all 0.2s;}
.tog.on .box{background:rgb(var(--circuit-glow));border-color:rgb(var(--circuit-glow));color:rgb(var(--basalt-deep));}
.tog .lbl{font-size:0.95rem;color:rgb(var(--text));font-weight:500;}
.tog .lbl small{display:block;font-weight:400;color:var(--text-muted);font-size:0.8rem;margin-top:1px;}
.tog .pts{margin-left:auto;font-family:var(--font-jetbrains);font-size:0.68rem;color:rgb(var(--accent-teal));white-space:nowrap;}

/* slider */
.sld-wrap{padding:6px 2px 0;}
.sld-val{font-family:var(--font-inter);font-weight:800;font-size:2.4rem;line-height:1;
  background:linear-gradient(180deg,rgb(var(--circuit-glow)),rgb(var(--circuit-glow) / 0.6));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sld-cap{font-family:var(--font-jetbrains);font-size:0.72rem;color:var(--text-muted);margin-top:4px;letter-spacing:0.04em;}
.rng{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;margin-top:22px;
  background:linear-gradient(90deg,rgb(var(--circuit-glow)) var(--pct,50%),rgba(255,255,255,0.12) var(--pct,50%));outline:none;}
[data-theme="light"] .rng{background:linear-gradient(90deg,rgb(var(--circuit-glow)) var(--pct,50%),rgba(0,0,0,0.12) var(--pct,50%));}
.rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:rgb(var(--circuit-glow));cursor:pointer;box-shadow:0 0 14px rgb(var(--circuit-glow) / 0.6),0 2px 6px rgba(0,0,0,0.4);border:3px solid rgb(var(--basalt-deep));}
.rng::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:rgb(var(--circuit-glow));cursor:pointer;border:3px solid rgb(var(--basalt-deep));}
.sld-scale{display:flex;justify-content:space-between;font-family:var(--font-jetbrains);font-size:0.62rem;color:var(--text-muted);margin-top:10px;}
.sld-sweet{margin-top:16px;font-size:0.82rem;color:rgb(var(--accent-teal));display:flex;align-items:center;gap:8px;}

/* select (bundesland) */
.bl-select{position:relative;}
.bl-select select{width:100%;appearance:none;padding:16px 18px;border-radius:12px;font-family:var(--font-inter);font-size:1rem;
  background:rgb(26 26 28 / 0.5);border:1px solid rgba(255,255,255,0.1);color:rgb(var(--text));cursor:pointer;}
[data-theme="light"] .bl-select select{background:rgba(255,255,255,0.6);border-color:rgba(0,0,0,0.1);}
.bl-select select:focus{outline:none;border-color:rgb(var(--circuit-glow) / 0.5);}
.bl-select .arw{position:absolute;right:18px;top:50%;transform:translateY(-50%);pointer-events:none;color:rgb(var(--circuit-glow));}
.bl-hint{margin-top:14px;padding:14px 16px;border-radius:11px;background:rgb(var(--circuit-glow) / 0.06);border:1px solid rgb(var(--circuit-glow) / 0.18);
  font-size:0.85rem;color:var(--text-muted);line-height:1.5;}
.bl-hint b{color:rgb(var(--text));}

/* nav buttons */
.step-nav{display:flex;gap:12px;margin-top:32px;align-items:center;}
.step-nav .back{background:none;border:none;color:var(--text-muted);font-family:var(--font-jetbrains);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;padding:8px 4px;transition:color 0.2s;}
.step-nav .back:hover{color:rgb(var(--text));}
.step-nav .spacer{flex:1;}
.step-nav .btn[disabled]{opacity:0.4;cursor:not-allowed;}

/* intro */
.intro{text-align:center;}
.intro .badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-jetbrains);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.12em;
  padding:7px 15px;border-radius:999px;background:rgb(var(--accent-red) / 0.1);border:1px solid rgb(var(--accent-red) / 0.3);color:rgb(var(--accent-red));margin-bottom:24px;}
.intro h1{font-family:var(--font-inter);font-weight:900;text-transform:uppercase;letter-spacing:-0.045em;line-height:0.9;font-size:clamp(2.6rem,6vw,4.4rem);margin:0 0 20px;
  background:linear-gradient(180deg,#fff,rgba(224,224,222,0.5));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
[data-theme="light"] .intro h1{background:linear-gradient(180deg,#111,rgba(17,17,19,0.5));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.intro h1 .cy{background:linear-gradient(180deg,rgb(var(--circuit-glow)),rgb(var(--circuit-glow) / 0.6));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.intro h1 .dot{color:rgb(var(--accent-red));-webkit-text-fill-color:rgb(var(--accent-red));}
.intro .lead{font-size:1.1rem;line-height:1.6;color:var(--text-muted);max-width:520px;margin:0 auto 30px;}
.intro .facts{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-bottom:34px;}
.intro .fact{text-align:center;}
.intro .fact .n{font-family:var(--font-inter);font-weight:900;font-size:1.8rem;color:rgb(var(--circuit-glow));line-height:1;}
.intro .fact .l{font-family:var(--font-jetbrains);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);margin-top:6px;}
.intro .reassure{margin-top:22px;font-family:var(--font-jetbrains);font-size:0.72rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;justify-content:center;}

/* ===== RESULTS ===== */
.result{animation:stepIn 0.5s var(--liquid-ease);}
.result-head{text-align:center;margin-bottom:30px;}
.result-head .verdict{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-jetbrains);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;
  padding:8px 16px;border-radius:999px;background:rgb(var(--accent-teal) / 0.12);border:1px solid rgb(var(--accent-teal) / 0.35);color:rgb(var(--accent-teal));margin-bottom:18px;}
.result-head h2{font-family:var(--font-inter);font-weight:900;text-transform:uppercase;letter-spacing:-0.03em;line-height:0.95;font-size:clamp(2rem,4.4vw,3rem);margin:0;
  background:linear-gradient(180deg,#fff,rgba(224,224,222,0.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
[data-theme="light"] .result-head h2{background:linear-gradient(180deg,#111,rgba(17,17,19,0.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.result-head h2 .dot{color:rgb(var(--accent-red));-webkit-text-fill-color:rgb(var(--accent-red));}

.result-graph{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin-bottom:24px;}
@media(max-width:640px){.result-graph{grid-template-columns:1fr;}}

/* score gauge */
.gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;}
.gauge svg{transform:rotate(-90deg);}
.gauge .score-wrap{position:relative;width:200px;height:200px;display:grid;place-items:center;}
.gauge .score-num{position:absolute;text-align:center;}
.gauge .score-num .v{font-family:var(--font-inter);font-weight:900;font-size:3.4rem;line-height:1;
  background:linear-gradient(180deg,rgb(var(--circuit-glow)),rgb(var(--circuit-glow) / 0.55));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.gauge .score-num .l{font-family:var(--font-jetbrains);font-size:0.6rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--text-muted);margin-top:4px;}
.gauge .tier-lbl{margin-top:14px;font-family:var(--font-inter);font-weight:700;font-size:1.05rem;color:rgb(var(--text));text-align:center;}

/* radar */
.radar{padding:6px;}
.radar svg{width:100%;height:auto;overflow:visible;}
.radar .axis-lbl{font-family:var(--font-jetbrains);font-size:9px;fill:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;}
.radar .axis-val{font-family:var(--font-inter);font-weight:700;font-size:10px;fill:rgb(var(--circuit-glow));}

/* matched programs */
.matched{margin:24px 0;}
.matched .mh{font-family:var(--font-jetbrains);font-size:0.65rem;text-transform:uppercase;letter-spacing:0.14em;color:rgb(var(--circuit-glow));margin-bottom:14px;display:flex;align-items:center;gap:9px;}
.prog-match{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:11px;background:rgb(26 26 28 / 0.5);border:1px solid rgba(255,255,255,0.07);margin-bottom:10px;
  animation:stepIn 0.5s var(--liquid-ease) backwards;}
[data-theme="light"] .prog-match{background:rgba(255,255,255,0.5);border-color:rgba(0,0,0,0.07);}
.prog-match .dotwrap{width:36px;height:36px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:rgb(var(--accent-teal) / 0.12);color:rgb(var(--accent-teal));border:1px solid rgb(var(--accent-teal) / 0.25);}
.prog-match .nm{font-family:var(--font-inter);font-weight:600;font-size:0.95rem;color:rgb(var(--text));}
.prog-match .mt{font-size:0.78rem;color:var(--text-muted);margin-top:1px;}
.prog-match .fit-pct{margin-left:auto;font-family:var(--font-jetbrains);font-weight:600;font-size:0.9rem;color:rgb(var(--accent-teal));}

/* lead capture */
.lead-cap{padding:28px;border-radius:16px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 50% 0%,rgb(var(--circuit-glow) / 0.12),transparent 65%),rgb(8 8 9 / 0.6);border:1px solid rgba(255,255,255,0.1);}
[data-theme="light"] .lead-cap{background:radial-gradient(ellipse at 50% 0%,rgb(var(--circuit-glow) / 0.12),transparent 65%),rgba(255,255,255,0.55);}
.lead-cap h3{font-family:var(--font-inter);font-weight:800;font-size:1.4rem;margin:0 0 8px;color:rgb(var(--text));text-align:center;}
.lead-cap .lc-sub{text-align:center;font-size:0.92rem;color:var(--text-muted);margin:0 0 22px;line-height:1.5;}
.lead-form{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto;}
.lead-form input{padding:14px 16px;border-radius:10px;background:rgb(255 255 255 / 0.04);border:1px solid rgba(255,255,255,0.12);color:rgb(var(--text));font-family:var(--font-inter);font-size:0.95rem;}
[data-theme="light"] .lead-form input{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.12);}
.lead-form input:focus{outline:none;border-color:rgb(var(--circuit-glow) / 0.5);box-shadow:0 0 0 3px rgb(var(--circuit-glow) / 0.1);}
.lead-form input::placeholder{color:rgba(224,224,222,0.35);}
.lead-form .btn{margin-top:4px;}
.lead-or{text-align:center;margin:16px 0;font-family:var(--font-jetbrains);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);position:relative;}
.lead-alt{display:flex;justify-content:center;}
.lc-trust{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:20px;font-family:var(--font-jetbrains);font-size:0.66rem;color:var(--text-muted);}
.lc-trust span{display:flex;align-items:center;gap:6px;}
.lc-trust .sdot{width:6px;height:6px;}

/* success */
.lead-done{text-align:center;padding:20px;animation:stepIn 0.5s var(--liquid-ease);}
.lead-done .big-check{width:72px;height:72px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:rgb(var(--accent-teal) / 0.14);color:rgb(var(--accent-teal));border:1px solid rgb(var(--accent-teal) / 0.4);}
.lead-done h3{font-family:var(--font-inter);font-weight:800;font-size:1.5rem;margin:0 0 10px;color:rgb(var(--text));}
.lead-done p{color:var(--text-muted);font-size:0.95rem;line-height:1.6;max-width:400px;margin:0 auto;}

.restart{text-align:center;margin-top:24px;}
.restart button{background:none;border:none;color:var(--text-muted);font-family:var(--font-jetbrains);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;cursor:pointer;}
.restart button:hover{color:rgb(var(--circuit-glow));}
