/* WIZARD — contact form step-by-step */
.wizard-progress{display:flex;align-items:center;gap:.4rem;margin:0 0 1.75rem}
.wizard-progress .dot{flex:1;height:3px;background:rgba(15,18,38,.1);border-radius:999px;overflow:hidden;position:relative;transition:background .25s}
.wizard-progress .dot.done{background:var(--brass,#B08A4A)}
.wizard-progress .dot.current{background:linear-gradient(to right,var(--brass,#B08A4A) 50%, rgba(15,18,38,.1) 50%)}
.wizard-progress .label{font-family:var(--mono,monospace);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(15,18,38,.5);min-width:50px;text-align:right}
.wizard-step{display:none;animation:stepIn .35s var(--ease-fluid, cubic-bezier(.22,1,.36,1))}
.wizard-step.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.wizard-step h3{font-family:var(--serif,Georgia,serif);font-size:1.4rem;font-weight:300;letter-spacing:-.02em;margin:0 0 .25rem;font-variation-settings:"opsz" 144, "SOFT" 50}
.wizard-step h3 em{font-style:italic;color:var(--brass,#B08A4A);font-variation-settings:"opsz" 144, "SOFT" 80}
.wizard-step .sub{color:rgba(15,18,38,.6);font-size:.85rem;margin:0 0 1.5rem}
.wizard-options{display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}
.wizard-options.three{grid-template-columns:1fr 1fr 1fr}
.wizard-options label{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border:1px solid rgba(15,18,38,.15);border-radius:10px;cursor:pointer;transition:border-color .2s, background .2s;font-size:.9rem;line-height:1.3}
.wizard-options label:hover{border-color:var(--brass,#B08A4A)}
.wizard-options input[type=radio]{margin-top:.15rem;accent-color:var(--brass,#B08A4A);flex-shrink:0}
.wizard-options label:has(input:checked){border-color:var(--brass,#B08A4A);background:rgba(176,138,74,.06)}
.wizard-options label small{display:block;color:rgba(15,18,38,.5);font-size:.75rem;margin-top:.15rem;font-weight:400}
.wizard-nav{display:flex;gap:.5rem;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(15,18,38,.08)}
.wizard-btn{padding:.7rem 1.2rem;border-radius:999px;font-weight:500;font-size:.85rem;cursor:pointer;transition:background .2s, color .2s;font-family:inherit;border:none}
.wizard-btn.back{background:transparent;color:var(--ink,#0F1226);border:1px solid rgba(15,18,38,.15)}
.wizard-btn.back:hover{background:rgba(15,18,38,.05)}
.wizard-btn.next{background:var(--ink,#0F1226);color:var(--cream,#F4ECDC);margin-left:auto}
.wizard-btn.next:hover{background:var(--brass,#B08A4A);color:var(--ink,#0F1226)}
.wizard-btn:disabled{opacity:.4;cursor:default}
.wizard-recap{background:rgba(15,18,38,.04);border:1px solid rgba(15,18,38,.08);border-radius:10px;padding:1.25rem;margin-bottom:1rem}
.wizard-recap dl{display:grid;grid-template-columns:120px 1fr;gap:.6rem 1rem;margin:0;font-size:.85rem}
.wizard-recap dt{font-family:var(--mono,monospace);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(15,18,38,.5);padding-top:.15rem}
.wizard-recap dd{margin:0;color:var(--ink,#0F1226)}
.wizard-success{text-align:center;padding:2rem 1rem}
.wizard-success .check{width:5rem;height:5rem;border-radius:999px;background:var(--brass,#B08A4A);color:var(--ink,#0F1226);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.5rem;animation:popIn .5s var(--ease-fluid, cubic-bezier(.22,1,.36,1))}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}
.wizard-success h3{font-family:var(--serif,Georgia,serif);font-size:1.8rem;font-weight:300;letter-spacing:-.02em;margin:0 0 .75rem;font-variation-settings:"opsz" 144, "SOFT" 50}
.wizard-success h3 em{font-style:italic;color:var(--brass,#B08A4A);font-variation-settings:"opsz" 144, "SOFT" 80}
.wizard-success p{color:rgba(15,18,38,.7);margin:0;line-height:1.6}
@media (max-width:520px){
  .wizard-options,.wizard-options.three{grid-template-columns:1fr}
  .wizard-recap dl{grid-template-columns:1fr;gap:.25rem 0}
  .wizard-recap dt{padding-top:.5rem}
}