.qf-ml{--ml-blue:#0b5bd3;--ml-green:#15803d;box-sizing:border-box;width:100%;max-width:520px;margin:8px auto 18px;padding:22px 18px 20px;border-radius:20px;background:#fff;border:1px solid #dbe6f6;box-shadow:0 14px 40px rgba(16,42,73,.10);text-align:center;font-family:inherit;transition:opacity .3s ease,transform .3s ease}
.qf-ml *{box-sizing:border-box}
.qf-ml-stage{position:relative;width:min(300px,72vw);aspect-ratio:1/1;margin:0 auto 14px}
.qf-ml-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.qf-ml-line{stroke:#9db9e6;stroke-width:.9;stroke-linecap:round;stroke-dasharray:2 4;animation:qfMlFlow 1.1s linear infinite;transition:stroke .3s}
.qf-ml-line.is-ok{stroke:var(--ml-green);stroke-dasharray:none;animation:none;opacity:.55}
@keyframes qfMlFlow{to{stroke-dashoffset:-12}}
.qf-ml-core{position:absolute;left:50%;top:50%;width:38%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(160deg,#0b5bd3,#063f99);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 0 0 0 rgba(11,91,211,.35);animation:qfMlPulse 1.6s ease-out infinite;z-index:2}
.qf-ml-core b{font-size:clamp(11px,3vw,13px);font-weight:800;line-height:1.1}
.qf-ml-core small{font-size:clamp(9px,2.5vw,11px);opacity:.85;font-weight:600}
.qf-ml-avatar svg{width:clamp(20px,6vw,28px);height:clamp(20px,6vw,28px);display:block}
@keyframes qfMlPulse{0%{box-shadow:0 0 0 0 rgba(11,91,211,.35)}100%{box-shadow:0 0 0 22px rgba(11,91,211,0)}}
.qf-ml-node{position:absolute;width:19%;aspect-ratio:1/1;transform:translate(-50%,-50%);perspective:400px;z-index:2}
.qf-ml-face{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;transition:transform .45s ease}
.qf-ml-ico{background:#eef4ff;border:2px solid #c9dafa;color:#3b6fc4}
.qf-ml-ico svg{width:46%;height:46%}
.qf-ml-ok{background:var(--ml-green);color:#fff;font-weight:900;font-size:clamp(15px,4.5vw,20px);transform:rotateY(180deg)}
.qf-ml-node.is-ok .qf-ml-ico{transform:rotateY(180deg)}
.qf-ml-node.is-ok .qf-ml-ok{transform:rotateY(360deg)}
.qf-ml-step{margin:0 0 12px;min-height:2.6em;display:flex;align-items:center;justify-content:center;font-size:clamp(15px,4vw,18px);font-weight:700;color:#0f2742;line-height:1.3}
.qf-ml-bar{height:8px;border-radius:999px;background:#e6edf8;overflow:hidden;max-width:340px;margin:0 auto}
.qf-ml-bar i{display:block;height:100%;width:6%;border-radius:inherit;background:linear-gradient(90deg,#0b5bd3,#15803d);transition-property:width;transition-timing-function:cubic-bezier(.2,.7,.3,1)}
.qf-ml.is-slow .qf-ml-stage{width:min(160px,40vw);transition:width .4s ease}
.qf-ml.is-leaving,.qf-ml-overlay.is-leaving{opacity:0;transform:translateY(-6px)}
.qf-ml-overlay{position:fixed;inset:0;z-index:2147483000;background:#f4f7fc;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;transition:opacity .3s ease,transform .3s ease}
.qf-ml-overlay .qf-ml{margin:auto}
html.qf-ml-lock,html.qf-ml-lock body{overflow:hidden!important}
/* Results reveal */
@keyframes qfMlIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.qf-ml-reveal>*,#qf-ranked-offers.qf-ml-reveal .qf-arn-root{animation:qfMlIn .5s ease both}
.qf-ml-reveal>*:nth-child(2){animation-delay:.05s}.qf-ml-reveal>*:nth-child(3){animation-delay:.1s}.qf-ml-reveal>*:nth-child(n+4){animation-delay:.15s}
/* Quiz: hold results/call card until the reveal (Turnstile stays visible) */
.qf-ml-wait>:not(.qf-ml):not([aria-live]){display:none!important}
.qf-ml-wait>[aria-live]:not(.qf-ml)>:not(.qf-ml-keep){opacity:0!important;pointer-events:none!important;max-height:0!important;overflow:hidden!important;margin:0!important}
.qf-ml-wait.qf-ml-capped>.qf-call{display:block!important}
@media (prefers-reduced-motion:reduce){
 .qf-ml *,.qf-ml-reveal>*,#qf-ranked-offers.qf-ml-reveal .qf-arn-root{animation:none!important}
 .qf-ml-face,.qf-ml-bar i,.qf-ml-stage{transition:none!important}
 .qf-ml-node.is-ok .qf-ml-ico{opacity:0}.qf-ml-ok{transform:none;opacity:0;transition:opacity .2s!important}.qf-ml-node.is-ok .qf-ml-ok{opacity:1;transform:none}
 .qf-ml-reveal>*{animation:qfMlFade .3s ease both!important}
}
@keyframes qfMlFade{from{opacity:0}to{opacity:1}}
/* Carrier line */
.qf-brands{margin:10px auto 0;max-width:640px;font-size:clamp(13px,3.4vw,15px);line-height:1.45;color:#3d5371;font-weight:600}
.qf-results-brands{margin:-8px 0 14px;font-size:13px;font-weight:500;color:#5a6b82}
