:root{--bg:#070914;--panel:#0d1120;--text:#f5f7ff;--muted:#9ba3b5;--line:rgba(139,149,190,.18);--accent:#9f6bff;--danger:#ff7070}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}header{height:76px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font:800 16px Manrope;letter-spacing:2px}.brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:#ffffff}.back{color:#aab1b6;text-decoration:none;font-size:13px}main{max-width:1080px;margin:auto;padding:75px 24px 100px}.intro>span,.stephead>span{font-size:11px;letter-spacing:2.3px;color:#9ea5aa}.intro h1{font:800 clamp(48px,7vw,82px)/.95 Manrope;letter-spacing:-4px;margin:20px 0}.intro em{font-style:normal;color:var(--accent)}.intro p{max-width:650px;color:var(--muted);line-height:1.7}.progress{margin:55px 0 35px}.bar{height:3px;background:#1b2024}.bar i{display:block;height:100%;background:var(--accent);transition:.3s}#progressText{text-align:right;color:#737b81;font-size:11px;margin-top:10px}.wizard{display:none;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px}.wizard.active{display:block}.stephead h2{font:800 clamp(28px,4vw,42px) Manrope;margin:10px 0 30px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#c9ced2;margin-bottom:18px}label small{color:#747c82}input,select,textarea{width:100%;background:#090d18;color:white;border:1px solid #2d3439;border-radius:10px;padding:14px;font:inherit;outline:none}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#7d63d9}.invalid{border-color:var(--danger)!important}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.checks label,.check{flex-direction:row;align-items:center;background:#090d18;border:1px solid var(--line);padding:14px;border-radius:10px;margin:0}.checks input,.check input{width:auto;accent-color:var(--accent)}.helper{color:var(--muted);line-height:1.6;background:#090d18;border:1px solid var(--line);padding:16px;border-radius:10px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.summary div{padding:16px;background:#090d18;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:6px}.summary span{font-size:10px;letter-spacing:1px;color:#747c82}.summary b{font-size:13px;line-height:1.5}.summary .wide{grid-column:1/3}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}button{border:0;background:var(--accent);color:#ffffff;font-weight:800;padding:14px 20px;border-radius:10px;cursor:pointer}button.secondary{background:#12172a;color:#c4c9cd;border:1px solid var(--line)}button:disabled{opacity:.35;cursor:not-allowed}.hide{display:none!important}#status{margin-top:16px;font-size:13px}.err{color:#ff8c8c}@media(max-width:700px){.grid,.checks,.summary{grid-template-columns:1fr}.summary .wide{grid-column:auto}.wizard{padding:22px}.intro h1{letter-spacing:-2px}}

.source-notice{margin:18px 0 0;padding:14px 16px;border:1px solid rgba(159,107,255,.35);background:rgba(159,107,255,.06);border-radius:12px;color:#dfe7dc;font-size:13px;line-height:1.5}.source-notice b{color:var(--accent,#8cff62)}

button:not(.secondary),.brand span{background:linear-gradient(90deg,#9f4dff,#3987ff)!important;color:#fff!important}.wizard{box-shadow:0 24px 80px rgba(20,12,60,.18)}
/* KREVIAX accessibility hardening */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b78cff!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* KREVIAX v2.4 visual polish */
:root{--display:"Sora",sans-serif;--body:"Plus Jakarta Sans",sans-serif}
body,button,input,select,textarea{font-family:var(--body);letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.stephead h2{font-family:var(--display)!important}
h1,h2,h3,p,span,strong,small,label,a,button{min-width:0;overflow-wrap:break-word}
.intro h1{line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.intro p{line-height:1.7;max-width:760px}
.stephead h2{line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.grid>*{min-width:0}
label{line-height:1.4}
input,select,textarea{min-width:0;line-height:1.4}
.checks label{line-height:1.35}
.actions button{line-height:1.2;text-align:center}
@media(max-width:700px){
 .intro h1{font-size:clamp(38px,11vw,54px)!important}
 .stephead h2{font-size:clamp(28px,8vw,38px)!important}
 .grid{grid-template-columns:1fr!important}
}


/* Final visual QA */
:root{--display:"Sora","Plus Jakarta Sans",system-ui,sans-serif;--body:"Plus Jakarta Sans",system-ui,sans-serif}
body,button,input,select,textarea{font-family:var(--body)!important}
.brand,.intro h1,.stephead h2{font-family:var(--display)!important}
main{max-width:1120px!important}
.intro h1{font-weight:650!important;letter-spacing:-.055em!important;line-height:1.02!important}
.intro p{font-size:15px!important;line-height:1.75!important;color:#aab3c7!important}
.wizard{background:linear-gradient(145deg,#0d1120,#0a0e19)!important;border-color:rgba(139,149,190,.2)!important}
.stephead h2{font-weight:600!important;letter-spacing:-.035em!important}
label{font-size:13px!important;line-height:1.45!important;color:#c7cede!important}
input,select,textarea{background:#090d18!important;border-color:rgba(139,149,190,.22)!important;border-radius:12px!important}
.summary div,.helper,.checks label,.check{background:#090d18!important}
button{border-radius:12px!important;min-height:46px}
@media(max-width:700px){main{padding:48px 20px 80px!important}.wizard{padding:22px!important}.actions{flex-direction:column-reverse!important}.actions button{width:100%!important}}

/* Accessibility system */
button,a,input,select,textarea,summary{scroll-margin-top:100px}
button,.btn,.ghost,.back,a[role="button"],summary{min-height:44px}
input,select,textarea{font-size:16px}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:3px solid #c3a9ff!important;outline-offset:4px!important}
@media(prefers-contrast:more){:root{--muted:#c9cfdd;--line:rgba(255,255,255,.34)}input,select,textarea,button,.btn,.ghost,.card,.project-item,.workspace-section{border-width:2px!important}}
@media(forced-colors:active){*{box-shadow:none!important;text-shadow:none!important}}


/* v2.16.6 selected package notice */
.package-notice{
  margin:18px 0 10px;
  padding:14px 16px;
  border:1px solid rgba(159,77,255,.24);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(159,77,255,.08),rgba(57,135,255,.035));
  color:#d8ccff;
  font-size:14px;
  line-height:1.45;
}
.package-notice b{color:#fff}
.package-notice small{display:block;margin-top:4px;color:#9ba3b5;font-size:12px}


/* v2.17 package selection */
.package-notice{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.package-current{display:grid;grid-template-columns:auto auto 1fr;gap:6px 10px;align-items:baseline}
.package-current>span{grid-column:1/-1;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8f98ad}
.package-current>b{font-size:18px}
.package-current>strong{font-size:14px;color:#bca9ff}
.package-current>small{grid-column:1/-1}
.package-switch{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.package-switch button{border:1px solid rgba(151,162,205,.2);background:#0b0f1d;color:#aeb6ca;border-radius:10px;padding:9px 11px;font:700 11px/1 "Plus Jakarta Sans",sans-serif;cursor:pointer}
.package-switch button.active{border-color:rgba(159,77,255,.58);background:linear-gradient(90deg,rgba(159,77,255,.2),rgba(57,135,255,.14));color:#fff}
.package-switch button:focus-visible{outline:2px solid #b78cff;outline-offset:3px}
@media(max-width:700px){.package-notice{grid-template-columns:1fr}.package-switch{justify-content:stretch}.package-switch button{flex:1;min-height:44px}.package-current>b{font-size:17px}}


/* v2.18 pricing engine */
.scope-grid{margin-bottom:14px}
.extras{margin-bottom:14px}
.price-estimate{border:1px solid rgba(121,111,255,.25);border-radius:16px;padding:16px 18px;margin:4px 0 20px;background:linear-gradient(145deg,rgba(120,80,255,.09),rgba(40,120,255,.035))}
.price-estimate>div{display:flex;justify-content:space-between;align-items:center;gap:14px}
.price-estimate span{font-size:10px;letter-spacing:.13em;color:#8e98ae;font-weight:800}
.price-estimate>div>b{font:700 22px/1 "Sora",sans-serif;color:#fff}
.price-estimate>small{display:block;margin-top:7px;color:#9ea7ba;line-height:1.5}
.price-estimate ul{list-style:none;padding:10px 0 0;margin:10px 0 0;border-top:1px solid rgba(255,255,255,.07)}
.price-estimate li{display:flex;justify-content:space-between;gap:14px;padding:5px 0;color:#aab2c5;font-size:12px}
.price-estimate li span{font-size:12px;letter-spacing:0;font-weight:500}
.price-estimate li b{color:#d9dded}
@media(max-width:620px){.price-estimate>div{align-items:flex-start;flex-direction:column;gap:6px}.price-estimate>div>b{font-size:24px}}


/* WCAG 2.2 AA hardening */
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-160%);background:#fff;color:#111!important;border:2px solid currentColor;border-radius:8px;padding:10px 14px;font:700 14px/1.2 system-ui,sans-serif;text-decoration:none}
.skip-link:focus{transform:translateY(0)}
a,button,input,select,textarea,summary{scroll-margin-top:96px}
a[href],button,input[type="button"],input[type="submit"],input[type="checkbox"],input[type="radio"],select,summary{min-block-size:44px}
:focus-visible{outline:3px solid #c6a9ff!important;outline-offset:4px!important}
[aria-invalid="true"]{border-color:#ff7f8b!important;box-shadow:0 0 0 2px rgba(255,127,139,.18)!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}}
@media(prefers-contrast:more){a,button,input,select,textarea,summary{outline-offset:3px}.muted,small{opacity:1!important}}
@media(forced-colors:active){*{box-shadow:none!important;text-shadow:none!important}.skip-link{forced-color-adjust:auto}}
