#lead { max-width: 48rem; margin: 2rem 0 0; }
#lead [hidden] { display: none !important; }
#lead fieldset { margin: 0 0 1rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--hair); border-radius: 14px; background: color-mix(in oklab, var(--bog-deep) 66%, transparent); }
#lead legend { padding: 0 .55rem; color: var(--accent); font: 700 clamp(1.15rem, 3vw, 1.45rem)/1.25 var(--display); }
#lead .lead-hint { margin: 0 0 1rem; color: var(--linen-dim); font-size: .95rem; }
#lead .lead-progress { display: none; gap: .45rem; margin: 0 0 1rem; }
#lead.lead-enhanced .lead-progress { display: flex; }
#lead .lead-progress span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--hair); border-radius: 50%; color: var(--linen-dim); font: 700 .75rem/1 var(--mono); }
#lead .lead-progress span[aria-current="step"] { border-color: var(--accent); background: var(--accent); color: var(--bog-deep); }
#lead .lead-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1rem; }
#lead .lead-options label { margin: 0; cursor: pointer; }
#lead .lead-options input[type="radio"], #lead .lead-check input[type="checkbox"] { width: auto; min-height: 0; padding: 0; position: absolute; opacity: 0; }
#lead .lead-options span { display: grid; min-height: var(--touch); place-items: center; padding: .7rem 1rem; border: 2px solid var(--hair); border-radius: 9px; color: var(--linen); }
#lead .lead-options input:checked + span { border-color: var(--accent); background: color-mix(in oklab, var(--accent) 13%, transparent); color: var(--accent); }
#lead .lead-options input:focus-visible + span, #lead .lead-check input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 3px; }
#lead .lead-field { display: block; margin: 0 0 1rem; }
#lead .lead-field small { color: var(--linen-dim); }
#lead .lead-field input { box-sizing: border-box; width: 100%; min-height: var(--touch); margin-top: .35rem; padding: .8rem 1rem; border: 2px solid var(--hair); border-radius: 8px; background: var(--bog); color: var(--linen); font: 300 1.05rem/1.4 var(--body); }
#lead .lead-field input:focus { border-color: var(--accent); }
#lead .lead-contact-choice { margin-bottom: 1rem; }
#lead .lead-check { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; margin: .35rem 0 .7rem; cursor: pointer; }
#lead .lead-check span { position: relative; padding-left: 1.75rem; }
#lead .lead-check span::before { content: ''; position: absolute; left: 0; top: .15rem; width: 1rem; height: 1rem; border: 2px solid var(--hair); border-radius: 4px; }
#lead .lead-check input:checked + span::before { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 3px var(--bog); }
#lead .lead-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.15rem; }
#lead .lead-actions button { margin: 0; }
#lead [data-next], #lead [data-back] { display: none; }
#lead.lead-enhanced [data-next], #lead.lead-enhanced [data-back] { display: inline-flex; }
#lead .lead-error { min-height: 1.35em; margin: .3rem 0; color: #ffd1c7; font-size: .9rem; }
#lead [aria-invalid="true"] { border-color: #ff9b85 !important; }
#lead [data-package-summary] { margin: 1rem 0 0; padding: .75rem 1rem; border-left: 2px solid var(--accent); color: var(--linen-dim); }
#lead output[role="status"] { display: block; min-height: 1.5em; margin-top: .8rem; color: var(--accent); }
#lead .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#lead button[disabled] { cursor: wait; opacity: .7; }
@media (min-width: 35rem) { #lead .lead-options { grid-template-columns: repeat(4, minmax(0, 1fr)); } #lead .lead-options--two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
