.form-card{color:var(--on-light);color-scheme:light;border-radius:var(--radius-lg);box-shadow:var(--shadow-2);background:#fff;padding:clamp(1.5rem,1rem + 2.5vw,3rem)}.form-card .muted{color:var(--on-light-muted)}.progress{gap:var(--s-2);margin-bottom:var(--s-6);counter-reset:step;display:flex}.progress li{gap:var(--s-2);font-size:var(--fs-xs);color:var(--on-light-muted);flex:1;font-weight:600;display:grid}.progress li:before{content:"";background:var(--bone-200);height:4px;transition:background-color var(--t-med);border-radius:2px}.progress li.done:before,.progress li[aria-current]:before{background:var(--brand)}.progress li[aria-current]{color:var(--on-light)}form:not(.is-stepped) .progress,form:not(.is-stepped) .step-nav [data-next],form:not(.is-stepped) .step-nav [data-back]{display:none}fieldset{border:0;min-width:0;padding:0}fieldset+fieldset{margin-top:var(--s-6)}form.is-stepped fieldset+fieldset{margin-top:0}legend,.form-card h3{font-size:var(--fs-xl);font-variation-settings:"wdth" 112;margin-bottom:var(--s-2);outline:none;font-weight:800}.hint{font-size:var(--fs-sm);color:var(--on-light-muted);margin-bottom:var(--s-5)}.grid-2{gap:var(--s-4) var(--s-5);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--s-2);margin-bottom:var(--s-4);display:grid}.field.full{grid-column:1/-1}.field label,.group-label{font-weight:600;font-size:var(--fs-sm)}.req{color:var(--danger);margin-left:2px}.field input,.field select,.field textarea{width:100%;min-height:50px;color:var(--on-light);border-radius:var(--radius-sm);transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#fff;border:1.5px solid #c5ccd5;padding:12px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #18406c33}.field input[aria-invalid],.field select[aria-invalid],.field textarea[aria-invalid]{border-color:var(--danger)}.field .help{font-size:var(--fs-xs);color:var(--on-light-muted)}.err{color:var(--danger);font-size:var(--fs-sm);font-weight:600}.err:before{content:"⚠ "}.choices{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.choice{position:relative}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice span{align-items:center;gap:var(--s-3);min-height:56px;padding:var(--s-3) var(--s-4);border-radius:var(--radius);transition:border-color var(--t-fast), background-color var(--t-fast);border:1.5px solid #c5ccd5;font-weight:600;display:flex}.choice span svg{color:var(--brand);flex:none}.choice input:checked+span{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:#18406c12}.choice input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}.checks{gap:var(--s-2) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.checks label{align-items:center;gap:var(--s-3);min-height:44px;font-size:var(--fs-sm);cursor:pointer;display:flex}.checks input{width:20px;height:20px;accent-color:var(--brand)}.step-nav{justify-content:space-between;gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.step-nav .btn--ghost{--btn-fg:var(--on-light);box-shadow:inset 0 0 0 1.5px #0e17264d}.summary{padding:var(--s-4) var(--s-5);border:2px solid var(--danger);border-radius:var(--radius);margin-bottom:var(--s-5)}.summary h3{font-size:var(--fs-lg);color:var(--danger)}.summary ul{margin-top:var(--s-2);font-size:var(--fs-sm);padding-left:1.2em}.summary a{color:var(--danger);font-weight:600}.status{margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--radius-sm);color:#7a1f17;background:#fdecea;font-weight:600}.success{text-align:left;padding-block:var(--s-6)}.success .tick{background:var(--success);color:#fff;width:64px;height:64px;margin-bottom:var(--s-5);animation:pop .6s var(--ease-out) both;border-radius:50%;place-items:center;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.hp{position:absolute;left:-9999px}.privacy-note{font-size:var(--fs-xs);color:var(--on-light-muted);margin-top:var(--s-4)}@media (width<=640px){.grid-2{grid-template-columns:1fr}.progress li span{display:none}}
