/* Project qualification + booking wizard */
.qw{padding:96px 0;background:var(--nv);position:relative;overflow:hidden;min-height:60vh}
.qw-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
@media(max-width:900px){.qw-grid{grid-template-columns:1fr}}
.qw-panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:40px}
.qw-steps{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}
.qw-step{flex:1;min-width:100px;height:4px;background:rgba(255,255,255,.15);position:relative}
.qw-step.done,.qw-step.active{background:var(--gd)}
.qw-step-label{font-size:.58rem;font-weight:700;color:rgba(255,255,255,.45);letter-spacing:.14em;text-transform:uppercase;margin-top:8px}
.qw-step-wrap.active .qw-step-label{color:var(--gd)}
.qw-stage{display:none}
.qw-stage.active{display:block}
.qw-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.qw-field label{font-size:.72rem;font-weight:700;color:var(--wh);letter-spacing:.1em;text-transform:uppercase}
.qw-field input,.qw-field select,.qw-field textarea{display:block;padding:0 15px;width:100%;height:50px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:var(--wh);font-family:var(--ff);font-size:1rem;box-sizing:border-box;outline:0}
.qw-field textarea{height:120px;padding:15px;resize:vertical;min-height:100px}
.qw-field select option{background:var(--nv2);color:var(--wh)}
.qw-field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c4943a' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.qw-field input[type=date]{color-scheme:dark}
.qw-field .hint{font-size:.72rem;color:rgba(255,255,255,.4);margin:0}
.qw-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:500px){.qw-row{grid-template-columns:1fr}}
.qw-nav{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.qw-side{color:rgba(255,255,255,.65);font-size:.9rem;line-height:1.7}
.qw-side h3{font-family:var(--fc);color:var(--wh);font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.qw-side ol{padding-left:20px;margin:0 0 24px}
.qw-side li{margin-bottom:8px;list-style:decimal}
.qw-num{font-family:var(--fc);font-size:3rem;color:rgba(196,148,58,.2);line-height:1;margin-bottom:8px}
.qw-success{display:none;padding:24px;border:1px solid var(--gd);background:rgba(196,148,58,.08);margin-bottom:24px}
.qw-success.show{display:block}
.qw-calendar{display:none;margin-top:24px}
.qw-calendar.show{display:block}
.qw-calendar iframe{width:100%;min-height:620px;border:0;background:var(--wh)}
.qw-progress{font-size:.68rem;font-weight:700;color:var(--gd);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
/* Book modal (homepage popup) */
.book-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:10001;display:none;align-items:center;justify-content:center;padding:20px}
.book-modal-overlay.show{display:flex}
.book-modal{background:var(--nv);border-top:3px solid var(--gd);max-width:520px;width:100%;padding:40px;position:relative}
.book-modal-close{position:absolute;top:12px;right:12px;background:0;border:0;color:rgba(255,255,255,.5);font-size:1.5rem;cursor:pointer;line-height:1}
.book-modal h2{font-family:var(--fc);color:var(--wh);font-size:1.6rem;margin:0 0 12px}
.book-modal p{color:rgba(255,255,255,.65);font-size:.9rem;line-height:1.65;margin-bottom:24px}
