/* ============================================================
   DJ 24 — Multi-step inquiry wizard
   ============================================================ */
.wizard-wrap{position:relative;z-index:3;max-width:880px;margin:0 auto;width:100%}
.wiz-head{text-align:center;margin-bottom:30px}
.wiz-head h2{font-size:clamp(28px,4vw,46px);margin-bottom:14px}
.wiz-head p{color:#C9CDD4;font-size:17px;max-width:560px;margin:0 auto}

.wiz{position:relative;background:rgba(13,15,19,.72);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:24px;padding:clamp(22px,3.5vw,40px);overflow:hidden;box-shadow:0 40px 100px -40px rgba(0,0,0,.8)}

/* Progress */
.wiz-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.wiz-count{font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.04em;white-space:nowrap}
.wiz-count b{color:var(--teal-bright)}
.wiz-dots{display:flex;gap:6px;flex-wrap:wrap}
.wiz-dots i{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s;display:block}
.wiz-dots i.done{background:var(--teal-deep)}
.wiz-dots i.cur{background:var(--teal);transform:scale(1.35);box-shadow:0 0 12px rgba(95,210,223,.6)}
.wiz-bar{height:4px;border-radius:4px;background:var(--border);overflow:hidden;margin:14px 0 26px}
.wiz-bar span{display:block;height:100%;width:0;background:var(--grad);border-radius:4px;transition:width .5s cubic-bezier(.2,.8,.2,1)}

/* Step body */
.wiz-body{position:relative;min-height:230px}
.pane{animation:paneIn .45s cubic-bezier(.2,.8,.2,1)}
.pane.back{animation:paneInBack .45s cubic-bezier(.2,.8,.2,1)}
@keyframes paneIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes paneInBack{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.step-title{font-family:'Space Grotesk';font-weight:600;font-size:clamp(20px,2.6vw,27px);letter-spacing:-.02em;margin-bottom:6px}
.step-sub{color:var(--muted);font-size:15px;margin-bottom:22px}
.field+.field{margin-top:22px}
.field>.flabel{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px;display:block}
.field>.flabel small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}

/* Option cards */
.opt-cards{display:grid;gap:12px}
.opt-cards.c2{grid-template-columns:repeat(2,1fr)}
.opt-cards.c3{grid-template-columns:repeat(3,1fr)}
.opt{position:relative;display:flex;flex-direction:column;gap:12px;text-align:left;background:var(--surface);border:1.5px solid var(--border);border-radius:15px;padding:18px;cursor:pointer;transition:border-color .25s,background .25s,transform .2s,box-shadow .25s;color:var(--text);font-family:inherit}
.opt:hover{border-color:rgba(64,181,194,.45);transform:translateY(-2px)}
.opt .ic{width:42px;height:42px;border-radius:11px;background:rgba(64,181,194,.1);color:var(--teal-bright);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.opt .ic svg{width:23px;height:23px;display:block}
.opt .ot{font-weight:600;font-size:16px;font-family:'Space Grotesk'}
.opt .od{color:var(--muted);font-size:13px;margin-top:-6px}
.opt .tick{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:.25s;color:#06191c}
.opt .tick svg{width:12px;height:12px}
.opt.sel{border-color:var(--teal);background:linear-gradient(180deg,rgba(64,181,194,.1),rgba(64,181,194,.03));box-shadow:0 10px 30px -14px rgba(64,181,194,.5)}
.opt.sel .ic{background:var(--grad);color:#06191c}
.opt.sel .tick{opacity:1;transform:none;background:var(--grad);border-color:transparent}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:100px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:500;transition:.22s}
.chip:hover{border-color:rgba(64,181,194,.45)}
.chip .cdot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:.22s}
.chip.sel{border-color:var(--teal);background:rgba(64,181,194,.12);color:#fff}
.chip.sel .cdot{background:var(--teal-bright);box-shadow:0 0 8px var(--teal)}

/* Choice pills (clearly two selectable options) */
.seg{display:flex;flex-wrap:wrap;gap:12px}
.seg button{flex:1 1 0;min-width:160px;display:inline-flex;align-items:center;gap:11px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-size:15px;padding:15px 20px;border-radius:13px;cursor:pointer;transition:border-color .22s,background .22s,color .22s,transform .2s}
.seg button::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--muted);transition:.22s;flex-shrink:0}
.seg button:hover{border-color:rgba(64,181,194,.5);transform:translateY(-2px)}
.seg button.sel{border-color:var(--teal);background:rgba(64,181,194,.12);color:#fff}
.seg button.sel::before{border-color:var(--teal);background:var(--teal-bright);box-shadow:inset 0 0 0 3px var(--bg)}

/* Inputs grid */
.wiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wiz-grid .full{grid-column:1 / -1}
.wiz input,.wiz textarea,.wiz select{background:var(--bg)}

/* Nav */
.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;padding-top:22px;border-top:1px solid var(--border-soft)}
.wiz-back{background:none;border:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 4px;transition:color .2s}
.wiz-back:hover{color:var(--text)}
.wiz-back[disabled]{opacity:0;pointer-events:none}
.wiz-next{min-width:150px;justify-content:center}
.wiz-next[disabled]{opacity:.4;pointer-events:none;box-shadow:none}
.wiz-hint{font-size:12.5px;color:var(--muted);text-align:center;margin-top:14px}

/* Review */
.review{display:flex;flex-direction:column;gap:2px}
.rev-row{display:flex;align-items:flex-start;gap:14px;padding:14px 2px;border-bottom:1px solid var(--border-soft)}
.rev-row:last-child{border-bottom:none}
.rev-row .rk{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px;min-width:170px}
.rev-row .rk svg{width:17px;height:17px;color:var(--teal)}
.rev-row .rv{color:var(--text);font-weight:500;font-size:15px;flex:1}
.rev-row .redit{background:none;border:none;color:var(--teal-bright);font:inherit;font-size:13px;cursor:pointer}
.rev-row .redit:hover{text-decoration:underline}

/* Success */
.wiz-success{text-align:center;padding:18px 10px 6px}
.suc-ring{width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:rgba(64,181,194,.1);display:flex;align-items:center;justify-content:center}
.suc-ring svg{width:46px;height:46px}
.suc-ring .chk{stroke:var(--teal-bright);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:48;stroke-dashoffset:48;animation:chk .6s .2s cubic-bezier(.2,.8,.2,1) forwards}
.suc-ring .cir{stroke:var(--teal);stroke-width:2.5;fill:none;stroke-dasharray:170;stroke-dashoffset:170;animation:chk .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes chk{to{stroke-dashoffset:0}}
.wiz-success h3{font-size:28px;margin-bottom:12px}
.wiz-success p{color:var(--muted);font-size:16px;max-width:440px;margin:0 auto 8px}
.wiz-success .sum{margin-top:24px;text-align:left}
.spark{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--teal);opacity:0;pointer-events:none}

/* Contact row under wizard */
.wiz-contactbar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:24px;color:var(--muted);font-size:14.5px}
.wiz-contactbar a,.wiz-contactbar span{display:inline-flex;align-items:center;gap:8px}
.wiz-contactbar a:hover{color:var(--teal)}
.wiz-contactbar svg{width:16px;height:16px;color:var(--teal)}

/* Fullscreen modal */
.wiz-modal{position:fixed;inset:0;z-index:9800;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.wiz-modal.open{opacity:1;visibility:visible}
.wiz-modal-bg{position:fixed;inset:0;background:rgba(6,7,9,.8);backdrop-filter:blur(12px);opacity:0;transition:opacity .4s}
.wiz-modal.open .wiz-modal-bg{opacity:1}
.wiz-modal-panel{position:relative;z-index:1;width:100%;max-width:840px;margin:auto;transform:translateY(22px) scale(.96);opacity:0;transition:transform .5s cubic-bezier(.2,.9,.3,1),opacity .42s ease}
.wiz-modal.open .wiz-modal-panel{transform:none;opacity:1}
.wiz-modal-panel .wiz-head{margin-bottom:22px}
.wiz-modal-x{position:absolute;top:-10px;right:0;z-index:3;width:42px;height:42px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s,transform .25s,color .25s}
.wiz-modal-x:hover{border-color:var(--teal);color:var(--teal);transform:rotate(90deg)}
.wiz-modal-x svg{width:18px;height:18px}
@media(max-width:680px){
  .opt-cards.c2,.opt-cards.c3{grid-template-columns:1fr}
  .wiz-grid{grid-template-columns:1fr}
  .rev-row{flex-wrap:wrap;gap:4px}
  .rev-row .rk{min-width:0}
  .wiz-modal{padding:20px 12px}
  .wiz-modal-x{top:0;right:0}
}
@media(prefers-reduced-motion:reduce){
  .pane,.pane.back{animation:none}
  .suc-ring .chk,.suc-ring .cir{animation:none;stroke-dashoffset:0}
}
