.ref-form-page { min-height: 100vh; padding-top: 5.5rem; padding-bottom: 4rem; background: linear-gradient(180deg, var(--ref-bg-secondary) 0%, var(--ref-bg) 12rem); }
@media (min-width: 768px) { .ref-form-page { padding-top: 6rem; } }
.ref-form-hero { padding: 2rem 0 1.5rem; text-align: center; }
.ref-form-hero-label { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ref-accent); margin-bottom: 0.5rem; font-weight: 600; }
.ref-form-hero-title { font-family: 'Oswald', sans-serif; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 500; color: var(--ref-text); margin-bottom: 0.75rem; }
.ref-form-hero-sub { max-width: 32rem; margin: 0 auto; font-size: 1rem; color: var(--ref-text-muted); line-height: 1.6; }
.ref-form-container { max-width: 28rem; margin: 0 auto; }
.ref-form-progress { margin-bottom: 2rem; }
.ref-form-progress-bar { height: 6px; background: var(--ref-border); border-radius: 3px; overflow: hidden; }
.ref-form-progress-bar::after { content: ''; display: block; height: 100%; width: var(--wizard-progress, 12.5%); background: var(--ref-accent); border-radius: 3px; transition: width 0.35s var(--ref-ease); }
.ref-form-progress-text { display: block; margin-top: 0.5rem; font-size: 0.8125rem; color: var(--ref-text-dim); }
.ref-wizard-form { background: var(--ref-bg); border: 1px solid var(--ref-border); border-radius: 12px; padding: 2rem; box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.ref-wizard-step { display: none; }
.ref-wizard-step.is-active { display: block; animation: refWizardFade 0.3s var(--ref-ease); }
@keyframes refWizardFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.ref-wizard-step-title { font-family: 'Oswald', sans-serif; font-size: 1.375rem; font-weight: 500; color: var(--ref-text); margin-bottom: 0.35rem; }
.ref-wizard-step-desc { font-size: 0.9375rem; color: var(--ref-text-muted); margin-bottom: 1.25rem; line-height: 1.5; }
.ref-wizard-form .ref-lead-form-label { margin-bottom: 0.35rem; }
.ref-wizard-form .ref-lead-form-input, .ref-wizard-form .ref-lead-form-textarea { margin-bottom: 0; }
.ref-wizard-select { cursor: pointer; appearance: none; padding-right: 2rem; }
.ref-wizard-checkboxes { display: flex; flex-direction: column; gap: 0.75rem; }
.ref-wizard-check { display: flex; align-items: center; gap: 0.75rem; font-size: 0.9375rem; color: var(--ref-text); cursor: pointer; padding: 0.65rem 0.85rem; border: 1px solid var(--ref-border); border-radius: 8px; transition: border-color 0.2s, background 0.2s; }
.ref-wizard-check:hover { border-color: var(--ref-accent); background: rgba(22, 163, 74, 0.04); }
.ref-wizard-check input[type="checkbox"] { width: 1.125rem; height: 1.125rem; accent-color: var(--ref-accent); flex-shrink: 0; }
.ref-wizard-check:has(input:checked) { border-color: var(--ref-accent); background: rgba(22, 163, 74, 0.08); }
.ref-wizard-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--ref-border); }
.ref-wizard-btn-back { background: transparent; border: 2px solid var(--ref-border-strong); color: var(--ref-text-muted); }
.ref-wizard-btn-back:hover { border-color: var(--ref-text-dim); color: var(--ref-text); }
.ref-wizard-btn-next, .ref-wizard-btn-submit { margin-left: auto; }
.ref-wizard-btn-submit { min-width: 10rem; }
.ref-wizard-success { background: var(--ref-bg); border: 1px solid var(--ref-border); border-radius: 12px; padding: 2.5rem; text-align: center; box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.ref-wizard-success .ref-wizard-step-title { margin-bottom: 0.5rem; }
.ref-wizard-success .ref-wizard-step-desc { margin-bottom: 0; }
.ref-wizard-success a { color: var(--ref-accent); text-decoration: underline; text-underline-offset: 2px; }
.ref-wizard-success a:hover { color: var(--ref-text); }
