.demand-wizard{max-width:1120px;margin-inline:auto;padding:clamp(18px,3vw,36px);color:var(--color-text,#071f33)}
.demand-wizard header{border-bottom:1px solid #dbe4ea;padding-bottom:20px;margin-bottom:24px}.demand-wizard h1{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2}.demand-eyebrow{color:#315e85;font-weight:700;letter-spacing:.04em;font-size:.85rem}
.demand-steps{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;gap:12px;margin:24px 0 32px}.demand-steps li{display:flex;align-items:center;gap:8px;color:#546574;font-size:.95rem}.demand-steps span{border-radius:50%;background:#edf2f6;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.demand-steps [aria-current]{color:#123d60;font-weight:700}.demand-steps [aria-current] span{background:#123d60;color:#fff}
.demand-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.demand-card{display:flex;flex-direction:column;text-align:left;gap:8px;border:2px solid #dbe4ea;border-radius:12px;padding:20px;background:#fff;color:#071f33;min-height:124px;cursor:pointer}.demand-card strong{font-size:1.05rem}.demand-card span{font-size:.95rem;line-height:1.5;color:#455e70}.demand-card.selected{border-color:#24618f;background:#eef6fc}.demand-card:hover{border-color:#24618f}.demand-wizard button:focus-visible,.demand-wizard input:focus-visible,.demand-wizard select:focus-visible,.demand-wizard textarea:focus-visible{outline:3px solid #2b70a5;outline-offset:3px}
.demand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.demand-wide{grid-column:1/-1}.demand-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:1rem;font-weight:600}.demand-field input,.demand-field select,.demand-field textarea{width:100%;min-height:46px;padding:10px;border:1px solid #aebfcf;border-radius:8px;background:#fff;color:#071f33;font:inherit;font-weight:400}.demand-field textarea{resize:vertical}.demand-wizard fieldset{border:1px solid #ccd9e4;border-radius:12px;padding:20px;margin:20px 0;min-width:0}.demand-wizard legend{font-weight:700;padding:0 8px}.demand-note{padding:18px;border-left:4px solid #527ba0;background:#f0f5fa;line-height:1.6;margin:20px 0}.demand-note li{margin-bottom:10px}.demand-ready{padding:16px;background:#e7f8ed;color:#14542f}.demand-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demand-summary div{border-bottom:1px solid #dbe4ea;padding-bottom:12px}.demand-summary dt{color:#526778;font-size:.9rem}.demand-summary dd{margin:4px 0 0;font-weight:600}.demand-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;border-top:1px solid #dbe4ea;padding-top:20px;margin-top:24px}.demand-actions .primary-button{background:#06c36c;color:#071f33;border-color:#06c36c;font-weight:700;min-height:46px}.demand-feedback{min-height:26px;line-height:1.5}.demand-feedback[role=alert]{color:#9b2525}.demand-drafts summary{cursor:pointer;font-weight:600}.demand-drafts li{margin:8px 0}.demand-wizard [data-demand-body]:focus{outline:none}
@media(max-width:680px){.demand-cards,.demand-grid,.demand-summary{grid-template-columns:1fr}.demand-steps{gap:6px}.demand-steps li{font-size:.75rem;flex-direction:column;text-align:center}.demand-actions button{flex:1 1 100%;min-height:48px}.demand-wizard{padding:16px}.demand-wizard fieldset{padding:12px}.demand-card{min-height:110px}}

/* Keep progress labels readable at narrow widths; full labels remain in the ordered list for assistive technology. */
.demand-mobile-step{display:none}
@media(max-width:680px){.demand-steps{margin-bottom:8px}.demand-steps li{font-size:0}.demand-steps li span{font-size:.9rem}.demand-mobile-step{display:block;margin:0 0 24px;font-weight:600;color:#123d60;font-size:1rem}}

.demand-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.demand-keyword{display:inline-flex;align-items:center;gap:8px;max-width:100%;overflow-wrap:anywhere;border:1px solid #aebfcf;border-radius:18px;padding:8px 12px;background:#eef6fc;color:#123d60;font:inherit;cursor:pointer}.demand-keyword span{font-size:.85rem}.demand-wizard [data-demand-add-term]{margin-top:8px}

/* Preparatory review remains readable within the tablet workspace. */
@media(min-width:681px) and (max-width:1000px){.demand-steps{margin-bottom:8px}.demand-steps li{font-size:0;justify-content:center}.demand-steps li span{font-size:.9rem}.demand-mobile-step{display:block;margin:0 0 24px;font-weight:600;color:#123d60}}
[data-demand-preparation]:empty{display:none}
