
.ka-app{
  --ka-primary:#15253b;--ka-secondary:#d5b56a;--ka-surface:#fff;--ka-bg:#f4f6f8;
  --ka-text:#15202b;--ka-muted:#667085;--ka-success:#1e7c5a;--ka-radius:22px;
  background:
    radial-gradient(circle at 90% 4%, color-mix(in srgb,var(--ka-secondary) 16%,transparent), transparent 28%),
    radial-gradient(circle at 6% 90%, color-mix(in srgb,var(--ka-primary) 8%,transparent), transparent 34%),
    var(--ka-bg);
  color:var(--ka-text);
  padding:28px 16px;
  border-radius:calc(var(--ka-radius) + 8px);
  font-family:inherit;
}
.ka-app *{box-sizing:border-box}
.ka-shell{max-width:980px;margin:0 auto}
.ka-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.ka-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}
.ka-brand img{max-height:42px;max-width:210px;object-fit:contain}
.ka-brandmark{width:38px;height:38px;border-radius:12px;background:var(--ka-primary);color:#fff;display:grid;place-items:center;font-weight:900}
.ka-trust{font-size:13px;color:var(--ka-muted);border:1px solid rgba(90,100,120,.18);background:rgba(255,255,255,.65);padding:8px 11px;border-radius:999px}
.ka-progress-wrap{margin-bottom:24px}
.ka-progress-meta{display:flex;justify-content:space-between;color:var(--ka-muted);font-size:12px;font-weight:700;margin-bottom:8px}
.ka-progress{height:7px;background:rgba(100,110,130,.13);border-radius:999px;overflow:hidden}
.ka-progress span{display:block;height:100%;width:17%;background:linear-gradient(90deg,var(--ka-secondary),var(--ka-primary));border-radius:inherit;transition:width .35s ease}
.ka-form{background:rgba(255,255,255,.72);border:1px solid rgba(100,110,130,.13);box-shadow:0 18px 60px rgba(25,35,55,.08);backdrop-filter:blur(10px);border-radius:var(--ka-radius);padding:clamp(22px,4vw,48px)}
.ka-step{display:none;animation:kaFade .3s ease}
.ka-step.is-active{display:block}
@keyframes kaFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ka-eyebrow{display:inline-block;color:var(--ka-primary);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.ka-hero h2,.ka-step>h2,.ka-result h2{font-size:clamp(30px,5vw,50px);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px;color:var(--ka-primary)}
.ka-lead{font-size:clamp(16px,2.3vw,20px);line-height:1.65;color:var(--ka-muted);max-width:760px;margin:0 0 20px}
.ka-assurance{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.ka-assurance span{padding:8px 10px;background:color-mix(in srgb,var(--ka-success) 9%,#fff);border-radius:999px;color:var(--ka-success);font-size:13px;font-weight:700}
.ka-softnote{font-size:13px;color:var(--ka-muted);border-left:3px solid var(--ka-secondary);padding-left:12px;margin-top:22px}
.ka-question{margin-top:36px;padding-top:30px;border-top:1px solid rgba(100,110,130,.13)}
.ka-qhead{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.ka-qnum{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:var(--ka-primary);color:#fff;font-weight:900;font-size:12px}
.ka-qhead h3,.ka-result-card h3,.ka-path h3{margin:0 0 5px;font-size:20px;color:var(--ka-primary);letter-spacing:-.02em}
.ka-qhead p{margin:0;color:var(--ka-muted);font-size:14px}
.ka-grid{display:grid;gap:12px}
.ka-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ka-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ka-choice{display:block;cursor:pointer}
.ka-choice input{position:absolute;opacity:0;pointer-events:none}
.ka-choice-ui{display:flex;flex-direction:column;gap:5px;min-height:74px;justify-content:center;padding:16px 18px;border:1px solid rgba(100,110,130,.18);border-radius:16px;background:var(--ka-surface);transition:.2s ease}
.ka-choice-ui b{font-size:14px;line-height:1.35}
.ka-choice-ui small{font-size:12px;line-height:1.4;color:var(--ka-muted)}
.ka-choice:hover .ka-choice-ui{border-color:color-mix(in srgb,var(--ka-primary) 42%,#fff);transform:translateY(-1px)}
.ka-choice input:checked+.ka-choice-ui{border-color:var(--ka-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ka-primary) 10%,transparent);background:color-mix(in srgb,var(--ka-primary) 4%,#fff)}
.ka-choice input:focus-visible+.ka-choice-ui{outline:3px solid color-mix(in srgb,var(--ka-secondary) 40%,transparent);outline-offset:2px}
.ka-experience-list{display:grid;gap:12px;margin-top:28px}
.ka-exp-row{display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;padding:14px 16px;border:1px solid rgba(100,110,130,.16);background:var(--ka-surface);border-radius:16px}
.ka-exp-check{display:flex;gap:12px;align-items:center;cursor:pointer;font-size:14px;font-weight:650;line-height:1.4}
.ka-exp-check input{position:absolute;opacity:0}
.ka-checkdot{width:24px;height:24px;border:2px solid rgba(100,110,130,.36);border-radius:7px;flex:0 0 24px;position:relative}
.ka-exp-check input:checked+.ka-checkdot{background:var(--ka-primary);border-color:var(--ka-primary)}
.ka-exp-check input:checked+.ka-checkdot:after{content:"✓";color:#fff;position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:900}
.ka-years{display:flex;align-items:center;gap:8px;opacity:.35;pointer-events:none;transition:.2s}
.ka-exp-row.is-selected .ka-years{opacity:1;pointer-events:auto}
.ka-years input{width:78px;border:1px solid rgba(100,110,130,.25);border-radius:10px;padding:10px;background:#fff}
.ka-fit-list{display:grid;gap:14px;margin-top:28px}
.ka-fit-card{padding:18px;border:1px solid rgba(100,110,130,.16);background:var(--ka-surface);border-radius:18px}
.ka-fit-text{display:flex;gap:12px;align-items:flex-start}
.ka-fit-text>span{font-weight:900;color:var(--ka-secondary);font-size:12px;margin-top:4px}
.ka-fit-text p{font-weight:650;line-height:1.5;margin:0;font-size:15px}
.ka-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}
.ka-scale label{cursor:pointer}
.ka-scale input{position:absolute;opacity:0}
.ka-scale label span{height:42px;display:grid;place-items:center;border:1px solid rgba(100,110,130,.18);border-radius:12px;font-weight:800;background:#fff}
.ka-scale input:checked+span{background:var(--ka-primary);border-color:var(--ka-primary);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--ka-primary) 16%,transparent)}
.ka-scale-caption{display:flex;justify-content:space-between;gap:15px;color:var(--ka-muted);font-size:10px;margin-top:7px}
.ka-gate{max-width:760px;margin:0 auto}
.ka-gate-card{margin-top:24px;padding:22px;border-radius:20px;background:var(--ka-surface);border:1px solid rgba(100,110,130,.16)}
.ka-field{margin-bottom:14px}
.ka-field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:var(--ka-primary)}
.ka-field input{width:100%;padding:14px 15px;border:1px solid rgba(100,110,130,.22);border-radius:13px;background:#fff;color:var(--ka-text);font-size:16px}
.ka-field input:focus{outline:none;border-color:var(--ka-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ka-primary) 10%,transparent)}
.ka-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:13px;line-height:1.5;color:var(--ka-muted)}
.ka-consent input{margin-top:3px}
.ka-consent a{color:var(--ka-primary);font-weight:700}
.ka-data-note{font-size:12px;line-height:1.5;color:var(--ka-muted);margin-top:16px;padding:12px 14px;background:var(--ka-bg);border-radius:12px}
.ka-error{color:#b42318;font-size:12px;font-weight:700;margin-top:8px;min-height:2px}
.ka-nav{display:flex;justify-content:space-between;gap:14px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(100,110,130,.12)}
.ka-btn{appearance:none;border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:14px;font-weight:800;font-size:14px;cursor:pointer;transition:.2s ease}
.ka-btn-primary{background:var(--ka-primary);color:#fff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--ka-primary) 22%,transparent)}
.ka-btn-primary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.ka-btn-ghost{background:#fff;color:var(--ka-primary);border:1px solid rgba(100,110,130,.18)}
.ka-btn[disabled]{opacity:.55;cursor:wait;transform:none}
.ka-result-loading{display:grid;place-items:center;text-align:center;min-height:420px}
.ka-result-loading h2{font-size:30px;margin:18px 0 4px}
.ka-result-loading p{color:var(--ka-muted)}
.ka-spinner{width:58px;height:58px;border-radius:50%;border:4px solid rgba(100,110,130,.12);border-top-color:var(--ka-primary);animation:kaSpin 1s linear infinite}
@keyframes kaSpin{to{transform:rotate(360deg)}}
.ka-result-top{display:grid;grid-template-columns:1fr 170px;gap:28px;align-items:center}
.ka-result-top p{color:var(--ka-muted);font-size:17px;line-height:1.65;margin-bottom:0}
.ka-score-ring{--score:75;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ka-secondary) calc(var(--score)*1%),rgba(100,110,130,.12) 0);position:relative}
.ka-score-ring:after{content:"";position:absolute;inset:12px;background:var(--ka-surface);border-radius:50%}
.ka-score-ring div{z-index:1;display:flex;align-items:baseline;gap:3px}
.ka-score-ring strong{font-size:40px;color:var(--ka-primary)}
.ka-score-ring span{font-size:13px;color:var(--ka-muted)}
.ka-insight{margin:26px 0;padding:20px 22px;border-radius:18px;background:color-mix(in srgb,var(--ka-secondary) 10%,#fff);border-left:4px solid var(--ka-secondary)}
.ka-insight span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ka-primary)}
.ka-insight p{margin:6px 0 0;line-height:1.65}
.ka-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ka-result-card,.ka-path{background:var(--ka-surface);border:1px solid rgba(100,110,130,.16);border-radius:18px;padding:20px}
.ka-result-card small{display:block;color:var(--ka-muted);line-height:1.5;margin-top:12px}
.ka-tag{display:block;width:fit-content;padding:8px 10px;border-radius:999px;background:var(--ka-bg);margin:7px 0;font-size:13px;font-weight:750}
.ka-tag-good{background:color-mix(in srgb,var(--ka-success) 10%,#fff);color:var(--ka-success)}
.ka-wide{margin-top:14px}
.ka-bars{display:grid;gap:13px}
.ka-bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:6px}
.ka-bar{height:9px;background:rgba(100,110,130,.12);border-radius:999px;overflow:hidden}
.ka-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--ka-primary),var(--ka-secondary));border-radius:inherit}
.ka-path{margin-top:14px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--ka-primary) 5%,#fff),#fff)}
.ka-path p{color:var(--ka-muted);line-height:1.65;margin-bottom:0}
.ka-result-final{margin-top:16px;padding:24px;border-radius:20px;background:var(--ka-primary);color:#fff;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}
.ka-result-final h3{font-size:22px;margin:0 0 7px}
.ka-result-final p{margin:0;line-height:1.6;opacity:.83}
.ka-result-final .ka-btn-primary{background:var(--ka-secondary);color:var(--ka-primary)!important;box-shadow:none;white-space:nowrap}
.ka-result-note{font-size:11px;color:var(--ka-muted);line-height:1.55;margin-top:16px}
@media(max-width:760px){
  .ka-app{padding:16px 8px;border-radius:18px}
  .ka-form{padding:22px 16px}
  .ka-grid-2,.ka-grid-3,.ka-result-grid,.ka-result-top,.ka-result-final{grid-template-columns:1fr}
  .ka-score-ring{width:128px}
  .ka-exp-row{grid-template-columns:1fr}
  .ka-years{padding-left:36px}
  .ka-trust{display:none}
  .ka-result-final .ka-btn{width:100%}
}

/* v1.0.1 – region selector and button state hardening */
.ka-select-wrap{max-width:100%;}
.ka-select{width:100%;min-height:54px;padding:0 44px 0 16px;border:1px solid rgba(100,110,130,.22);border-radius:14px;background:var(--ka-surface);color:var(--ka-text);font-size:15px;font-weight:700;line-height:1.3;cursor:pointer;appearance:auto;box-shadow:none;}
.ka-select:hover{border-color:var(--ka-primary);}
.ka-select:focus,.ka-select:focus-visible{outline:none!important;border-color:var(--ka-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ka-primary) 10%,transparent)!important;}

.ka-app .ka-btn-primary:hover,
.ka-app .ka-btn-primary:focus,
.ka-app .ka-btn-primary:focus-visible,
.ka-app .ka-btn-primary:active{
  background:var(--ka-primary)!important;
  background-color:var(--ka-primary)!important;
  border-color:var(--ka-primary)!important;
  color:#fff!important;
  outline-color:var(--ka-primary)!important;
  filter:none!important;
  text-decoration:none!important;
}
.ka-app .ka-btn-ghost:hover,
.ka-app .ka-btn-ghost:focus,
.ka-app .ka-btn-ghost:focus-visible,
.ka-app .ka-btn-ghost:active{
  background:var(--ka-primary)!important;
  background-color:var(--ka-primary)!important;
  border-color:var(--ka-primary)!important;
  color:#fff!important;
  outline-color:var(--ka-primary)!important;
  text-decoration:none!important;
}
.ka-app .ka-result-final .ka-btn-primary:hover,
.ka-app .ka-result-final .ka-btn-primary:focus,
.ka-app .ka-result-final .ka-btn-primary:focus-visible,
.ka-app .ka-result-final .ka-btn-primary:active{
  background:var(--ka-primary)!important;
  background-color:var(--ka-primary)!important;
  color:#fff!important;
}
