.section {
      padding: 8rem 0;
      background: #f9f9f9;
      margin: 2rem 0;
      border-radius: 12px;
}
section#needs-assessment {
      min-height: 87vh;
      padding-top: 3%;
      padding-bottom: 10%;
}

/* Steps */
.nf-steps{ list-style:none; padding:0; margin:0 0 1rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.nf-steps li{ border:1px solid rgba(26,26,26,.12); border-radius:999px; padding:.35rem .6rem; font-weight:600; font-size:.9rem; color:#666; }
.nf-steps li.is-active{ background:#111; color:#fff; border-color:#111; }

/* Wizard containers */
.needs-form{ display:grid; gap:1rem; }
.nf-group{ border:1px solid rgba(26,26,26,.12); border-radius:12px; padding:1rem; background:#fff; }
.nf-group legend{ font-weight:700; padding:0 .25rem; }
.nf-row{ display:flex; gap:.75rem; flex-wrap:wrap; }
.nf-row label{ display:grid; gap:.25rem; font-size:.95rem; }
.nf-row input, .nf-row select{ border:1px solid rgba(26,26,26,.2); border-radius:8px; padding:.45rem .6rem; font:inherit; }
.nf-wizard .wizard-nav{ display:flex; justify-content:space-between; gap:.5rem; margin-top:.75rem; }

/* Multiple-choice options (practical question style) */
.opt-list{ display:grid; gap:.5rem; }
.opt-card{ display:flex; gap:.6rem; align-items:flex-start; border:1px solid rgba(26,26,26,.12); border-radius:10px; padding:.65rem .75rem; background:#fff; }
.opt-card input[type=radio], .opt-card input[type=checkbox]{ margin-top:.2rem; }
.opt-card .meta{ display:grid; gap:.15rem; }
.opt-card .title{ font-weight:700; }
.opt-card .note{ color:#555; font-size:.9rem; }
.opt-sub{ margin-left:2rem; display:grid; gap:.35rem; }

/* Recommendation/customizer reused as before */
.price-panel{ background:#fff; border:1px solid rgba(26,26,26,.12); border-radius:12px; padding:1rem; box-shadow:0 6px 24px rgba(0,0,0,.06); }
.price-row{ display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin:.5rem 0; }
.price{ font-weight:800; font-size:1.6rem; }
.cust-list{ display:grid; gap:.75rem; }
.cust-group{ border:1px solid rgba(26,26,26,.12); border-radius:12px; padding:.6rem .7rem; background:#fff; }
.cust-group + .cust-group{ margin-top:.75rem; }
.cust-group-title{ margin:.2rem 0 .4rem; font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; color:#333; }
.customizer-grid{ display:grid; gap:.75rem; grid-template-columns: repeat(1, minmax(0,1fr)); }
@media (min-width: 680px){ .customizer-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 980px){ .customizer-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
.cust-item{ display:flex; gap:.6rem; align-items:flex-start; border:1px solid rgba(26,26,26,.12); border-radius:10px; padding:.6rem .7rem; background:#fff; }
.cust-item .meta{ display:grid; gap:.15rem; }
.cust-item .meta small{ color:#555; }
.cust-price{ margin-left:auto; font-weight:700; }
.customizer-totals{ margin-top:.75rem; border-top:1px solid rgba(26,26,26,.1); padding-top:.75rem; display:grid; gap:.25rem; }
.customizer-totals .row{ display:flex; justify-content:space-between; }
.customizer-totals .total{ font-size:1.2rem; font-weight:800; }
